1999-04-15  Michael Meeks  <michael@edenproject.org>

	* ms-excel.c (ms_excelReadWorkbook): Put PRECISION
	output conditional on debug.
	Put escher_hack_get_drawing on condition of --debug

	* ms-formula.c (ms_excel_parse_formula): Added
	'Optimised Choose' functionality.
	(formula_func_data): Inserted CHOOSE.
	(ms_excel_parse_formula): Patch for broken MS files.
	Updated 'Name' records.

1999-04-15  Michael Meeks  <michael@edenproject.org>

	* boot.c: Fixed includes to remove annoying warning.
	(excel_load): Add workbook_set_filename for style.

	* ms-excel.c (ms_excel_workbook_detach): Added debug
	if can't remove sheet for some reason.

	* ms-ole.c (pps_get_text): Hacked in some better
	unicode support. Might work cross-platform now.
	(ms_ole_new): Added name printout to help debug.
	(ms_ole_directory_next): Conditional'd debug.
	(directory_setup): clean debug.

	* ms-excel.c (ms_excel_set_cell_colors): Removed debug.

1999-04-15  Michael Meeks  <michael@edenproject.org>

	* ms-formula.c (ms_excel_parse_formula): PTG_AREAN added,
	and PTG_AREA updated to include 'shared' flag.
	(ms_excel_parse_formula): Added PTG_ARRAY code.

	* ms-formula.h (FORMULA_PTG_ARRAY): Added PTG_ARRAY

	* ms-excel.c (ms_excel_read_cell): Added more sensible
	floating point printing throught.

	* ms-excel.h (MS_EXCEL_DOUBLE_FORMAT): Created to
	standardise number transfer.

1999-04-14  Michael Meeks  <michael@edenproject.org>

	* ms-formula.h: Updated ms_excel_parse_formula prototype.

	* ms-excel.c (ms_excel_read_cell): Added 'shared' flag
	to all ms_excel_parse_formula instances.
	(biff_get_error_text): Set arg to const.
	(ms_excel_sheet_shared_formula): Removed debug.
	(ms_excel_read_cell): Removed debug.
	(ms_excel_sheet_insert): const text arg.

	* ms-excel.h: Updated prototypes.

	* ms-formula.c (ms_excel_parse_formula): RefN replaced.
	updated prototype & args. Updated optimised if call.
	(getRefV8, getRefV7): Attempt at shared formulae.
	Fairly brutal hack: seems to work :-)

1999-04-14  Michael Meeks  <michael@edenproject.org>

	* ms-excel.c (biff_get_text): Remove platform dependance.
	(biff_get_error_text): Changed type.
	(biff_boundsheet_data_new): s/int strlen/int slen/
	(biff_font_data_destroy): Free after last use.
	(biff_get_rk): Changed IEEEx10 to IEEEx100
	(ms_excel_read_cell): COL_INFO: Fixed width cast.
	Thanks to great bug reports by Morton Welinder.

	* ms-excel.h: Add const to biff_error_get_text.

	* ms-ole.c (SET_GUINT8): Fix GET_<TYPE> macros.

	* ms-biff.h (BIFF_GETWORD): Patch from Morten Welinder to
	improve GET<TYPE> macros.

1999-04-14  Michael Meeks  <michael@edenproject.org>

	* ole.c (dump_escher): Fatal Escher cockup removed, makes
	the problem look more complex and realistic.
	Indenting added.

	* ms-escher.c (read_DgContainer): Created.
	(SpgrContainer_new): Created.
	(ms_escher_hack_get_drawing): Add debug.
	(SpContainer_new): Created.
	There must be a good way of doing this recursively.

1999-04-13  Michael Meeks <michael@imaginator.com>

	* ms-escher.c (esh_header_next): Fixedup to use correct lengths.
	Various major bits of work, started parsing the heirarchical
	bitstream. Escher looks better than BIFF, 32bit clean seemingly.
	
	* ole.c: Copied in updates.
	(dump_escher): Recursive dump of structures.

1999-04-13  Michael Meeks <michael@imaginator.com>

	* ms-ole.c(ms_biff_query_copy): Fix nasty bug: duplicate
	stream pos record too.

	* escher-types.h: Created to hold the drawing layer types.

	* ole.c (read_types): Expanded to cope with escher types.
	(get_opcode_name): Duplicated into:
	(get_biff_opcode_name, get_escher_opcode_name): Created.
	(main): Updated biff section.
	Added 'draw' = search for drawings and dump section.

	* README: Updated to doc. 'draw'
	
1999-04-12  Michael Meeks <michael@imaginator.com>

	* ms-objc.c/h renamed ms_obj_read_graphic to
	ms_obj_read_obj, the real graphic lurks elsewhere...

	* ms-escher.c/h: Created to handle the 'Office drawing layer'
	This is a hack and needs better OLE support code.

	* ms-ole.c (ms_ole_stream_duplicate): Created, not too bad a hack
	(ms_biff_query_data_to_stream): Nasty hack for ms-escher
	
1999-04-12  Michael Meeks <michael@imaginator.com>

	* ms-obj.c: Created to deal with the horrors of embedded graphic
	objects !

	* ms-obj.h: Include for the same

	* ms-excel.c: Include ms-obj.h
	(ms_excel_read_sheet): Add call to ms_obj_read_graphic.

	* biff-types.h: Update comments.

	* Makefile.am: Add new files.

	* ole.c: Nice header.
	
1999-04-12  Michael Meeks <michael@imaginator.com>

	* biff-types.h: Fleshed out.

	* ms-excel.c (ms_excel_sheet_set_comment): Created
	(ms_excel_sheet_append_comment): Created
	(ms_excel_read_sheet): Added BIFF_NOTE support.
	(ms_excel_set_cell_xf): Fixed spurious debug, and made more
	robust.
	
1999-04-12  Michael Meeks <michael@imaginator.com>

	* ms-excel.c: Various unneeded BIFF tags implemented for
	completeness.

	* biff-types.h: The tag definitions.

	* ole.c (read_types): Improved.
	(main): Flag duplicates sensibly.

1999-04-12  Michael Meeks <michael@imaginator.com>

	* ole.c: Added 'biff' command.
	Added type file loader/parser and helper function.

	* biff-types.h: Created

	* ms-excel-biff.h: Moved types out.

1999-04-11  Michael Meeks <michael@imaginator.com>

	* ole.c: Major update, interactive mode, help, dump command
	etc.

1999-04-09  Michael Meeks <michael@imaginator.com>

	* ms-excel.c (ms_excel_workbook_detach): Paranoid NULLing
	of pointers.
	Fixed _silly_ bug with g_list_remove !
	(ms_excel_workbook_attach): Paranoia checking.
	(biff_get_text): Converted int lp to guint32 lp.
	(ms_excelReadWorkBook): BIFF_SST: Added overrun check,
	some idiot splits the SST table for seemingly no good reason.
	Cleaned debug.
	(ms_excel_read_cell): Cleaned debug.
	(ms_excel_palette_get): Added magic multiplying factor to get
	colors to work...
	(ms_excel_set_cell_font): Now returns font color
	(ms_excel_set_cell_xf): Updated to pass on foregnd col to:
	(ms_excel_set_cell_colors): Added priority foregnd col.
	BIFF_XF_DATA: Updated colours to pattern colours, and updated
	names throughout adding pal_ prefix.

	* ole.c: Added, basic OLE2/BIFF helper program

	* Makefile.am: Updated to include ole.c
	
1999-04-06  Michael Meeks <michael@imaginator.com>

	* ms-formula.h: Add PTG_AREAN, PTG_REFN.

	* ms-formula.c: Debug for these cases.
	(ms_excel_parse_formula): Added shared row/col.
	Updated ms_excel_sheet_shared_formula call.

	* ms-excel.c (ms_excel_sheet_shared_formula): Include
	new arguments.
	(ms_excel_read_cells): Update all parse_formula calls.
	(ms_excel_set_cell_xf): Set auto_return argument to 0 for
	cell_set_alignment.
	move cell_set_colors to last thing.
	
	* ms-excel.h: Update prototype.

1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ms-ole.c (biff_getdouble): Move biff_getdouble here, and apply
	fix from Tung Nguyen (tung.nguyen@pgs.com)

1999-04-03  Michael Meeks  <michael@imaginator.com>

	* ms-excel.c (ms_excel_read_sheet): removed fixup_array_formulae.
	(ms_excel_read_cell): Large SHRFMLA / ARRAY fixups.
	(biff_share_formula_new,destroy,hash,equal): Implemented.
	(ms_excel_sheet_new): Removed GList array_formulae and insert
	shared formula hash table.
	(ms_excel_sheet_destroy): Deal with hash table.
	(ms_excel_sheet_shared_formula): Returns shared formula text
	(ms_excel_set_cell_xf): Cleaned unused variables.
	
	* ms-excel.h: Added ms_excel_sheet_shared_formula prototype
	
	* ms-formula.c (ms_excel_fixup_array_formula): Removed.
	(ms_excel_parse_formula): Sorted FORMULA_PTG_EXP.
	
	* ms-formula.h: Removed prototype.

1999-04-02  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c (ms_excel_parse_formula): PTG_ATTR: corrected
	debug output semantics.
	Set IF to var-arg ( fn: 0x1 ).
	Various Debug bits made conditional.
	Implemented 'optimised' = 'hopelessly obfuscated' IF function.
	Ignored 'Volatile' PTG_ATTR.
	Added INT to table.

	* ms-excel.c (ms_excel_set_cell_xf): Made static for safety.
	(ms_excelReadWorkbook): BIFF_SST: fixed up a few types.
	(biff_get_text): Fixed types.
	
	* ms-excel.h: removed prototype for same.
	fixed biff_get_text type.
	
1999-04-01  Michael Meeks  <michael@imaginator.com>

	* ms-excel.c (ms_excelReadWorkbook): Major string table fix
	should now work internationally.
	(biff_get_text): Major arguments change, now returns the rather
	grim byte length field if needed through a guint32 *
	Changed all references to biff_get_text throughout.

	* ms-excel.h: Updated biff_get_text prototype.

	* ms-formula.c: Changed all references to biff_get_text throughout.

1999-03-31  Michael Meeks  <michael@imaginator.com>

	* ms-excel.c (ms_excel_read_sheet): Added SELECTION support.
	Added basic WINDOW2 support.
	(ms_excel_read_cell): COLINFO, fixed fatal bug in hidden column code.

	* ms-formula.c (ms_excel_parse_formula): Removed debug.
	
1999-03-30  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c (ms_excel_parse_formula): Rehashed function
	and operator search function so it uses a flat array instead
	of a linear search.
	fully populated formula_func_data array, and removed unused /
	constant fields.

	* ms-formula.h: Removed dead wood from OP_DATAa & FUNC_DATA
	structs.

1999-03-26  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c: Removed duplicate for fn 0x65
	
1999-03-24  Thomas Meeks  <thomas@imaginator.com>

	* ms-formula.c: Added mappings for Address, Area, Hyperlink,
	Offset, Column, Columns.
	
1999-03-12  Michael Meeks  <michael@imaginator.com>

	* ms-excel.c (biff_name_data_new, biff_name_data_get_name),
	(biff_name_data_destroy, ms_excel_read_cell): Implemented
	the BIFF_EXTERNNAME case.
	(ms_excel_workbook_new, ms_excel_workbook_destroy):
	Name table hashing functions.
	(ms_excel_read_cell): Cleaned debug on BIFF_HEADER / FOOTER.
	
	* ms-formula.c (ms_excel_parse_formula): Large API change to
	simplify several cases, and clean dirty code.
	(make_function): Special 0xff case on functions. For use with 
	external functions, the names of which come in via:
	(_excel_parse_formula): FORMULA_PTG_NAME_X, hacked into
	rough shape.

	* ms-excel.c: All instances of ms_excel_parse_formula updated.
	
1999-03-11  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_destroy, ms_ole_new): Killed debug
	output before we are sure its an OLE file.

1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ms-excel.c (find_workbook): Use g_strncasecmp here.

1999-03-10  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c: Inserted all the statistics formulae from
	5.0a into the translation table.
	
1999-03-09  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c (ms_excel_parse_formula): Hacked out the
	bad array formula support. Moved most of it to ms-excel.c

	* ms-excel.c (ms_excel_read_cell): Updated BIFF_ARRAY and
	BIFF_FORMULA cases; splitting and adding array loop.
	BIFF_COLINFO, BIFF_ROW: Updated fudge factors in sizing
	and implemented column sizing.

1999-03-07  Michael Meeks  <michael@imaginator.com>

	* ms-formula.c: Changed FORMULA_PTG_STR to cope with both
	versions of string properly.
	Inserted innumerable time and text functions into the
	translation table.

1999-03-07  Michael Meeks  <michael@imaginator.com>

	* ms-excel.c: Changed to use cell_set_text_simple to save
	many redundant re-draws: big speedup.
	hacked up a set_row_height call

1999-03-05  Michael Meeks <michael@imaginator.com>

	* ms-ole.c: Variously made debug conditional on OLE_DEBUG
	* ms-excel.c: ditto for EXCEL_DEBUG

1999-02-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_write_sb): Do not use C++ comments.

1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_destroy): Free the correct pointer (we were
	releasing the same pointer twice).

1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_destroy): Free f->header_root_list if set.

1999-01-03  Jeff Garzik  <jgarzik@Pobox.com>

	* ms-excel.c, ms-formula.c:
	A printf fix.
	Warning fixes.

1998-12-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* boot.c (excel_init): New file, adds the excel booting
	mechanism. 

