1999-09-05  Jody Goldberg <jgoldberg@home.com>

	* ms-excel-write.c (write_value) : Always use mode 2 for ints.
	  Add a comment to the write float code suggesting an extension to use
	  mode 3 for doubles with only 2 digits after the decimal.

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

	* ms-escher.c (biff_to_flat_data): Added back the full conditions
	on merging drawing groups.

	* ole.c (dump_escher): Realised it is a vanillaish container.

	* ms-escher.c (BSE_new): Fix silly buglets.
	(esh_header_new, esh_header_next): prettyify;
	(ms_escher_read): Update length type.

1999-08-25  Michael Meeks  <michael@imaginator.com>

	* ms-escher.c (esh_header_next): re-order for clarity.
	(BSE_new): Fiddling with bits: thanks to Caolan.

1999-08-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): Fixed the number of
 	arguments in ISPMT to four.

1999-08-20  Michael Meeks  <michael@imaginator.com>

	* ms-formula-write.c (get_formula_index): Added a comment about 
	Excel's add-in formula names.

1999-08-17  Michael Meeks  <michael@imaginator.com>

	* ms-excel-read.[ch]: Remove sheet blank bit.

	* ms-chart.c (BC_R): Remove sheet->blank reference.

1999-08-16  Jody Goldberg <jgoldberg@home.com>

	* ms-formula-write.c (write_node) : Add OPER_PERCENT
	* ms-formula-read.c (ms_excel_parse_formula) : Ditto.

	* ms-obj.c : Make less verbose.

	* ms-excel-read.c : Add several new biff-types and do more
	  checking for 'odd-balls' with most significant byte == 1.
	  Disable the 'blank sheet' optimization for now to avoid memory
	  errors when a 'blank' sheet gets put into the externsheet hash.

1999-08-16  Jody Goldberg <jgoldberg@home.com>

	* ms-formula-write.c (write_node) : correct typo.
	  We can now write & read samples/logfuns.xls without
	  loosing formulas or values.

1999-08-15  Jody Goldberg <jgoldberg@home.com>

	* ms-excel-write.c (write_value) : Add support for VALUE_BOOLEAN,
	  VALUE_ERROR, VALUE_EMPTY.
	(write_formula) : Ditto.
	* ms-formula-write.c (write_node) : Ditto.

1999-08-15  Morten Welinder  <terra@diku.dk>

	* ms-excel-read.c (ms_excel_read_workbook): First use, then
 	destroy.

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

	* ole.c (enter_dir): Major re-work, to use paths.

1999-08-12  Jody Goldberg <jgoldberg@home.com>

	* ms-formula-read.c (ms_excel_parse_formula) :
	FORMULA_PTG_PERCENT is expr/100 not expr*100.
	(excel_builtin_formats) : Correct typo.

1999-08-09  Miguel de Icaza  <miguel@gnu.org>

	* boot.c (excel_load): Changed calling conventions.

	* ms-excel-read.c (ms_excel_read_workbook): Adjusted to use the
	new file-open convention

1999-08-08  Michael Meeks  <michael@imaginator.com>

	* ole.c (dump_vba_module): Kill leak & fix logic.
	(dump_vba): destroy correct directory.

1999-08-06  Michael Meeks  <michael@imaginator.com>

	* ole.c (list_files): Fix so it shows directories...
	(get_file_handle, list_files, really_put, main): Use current_directory.
	(enter_dir): Implemented 'cd' command
	(do_copyout: Implemented splitting (really_get): from (do_get).
	(dump_vba): Started.

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

	* ms-summary.c (ms_summary_read): Trivial fix to kill warning.

1999-08-02  Jody Goldberg <jgoldberg@home.com>

	* ms-obj.c (ms_obj_read_pre_biff8_obj) : New function to catch
          charts.
	(ms_obj_read_obj) : Use ms_obj_read_pre_biff8_obj.

	* ms-excel-read.c (ms_excel_read_cell) : Catch use of chart
          records when we expect a cell.
	(ms_excel_read_formula) : Clarify error message.
	(biff_name_data_new) : Partial support for local vs global names.
	(biff_name_data_get_name) : Reformat to improve readability.
	(ms_excel_read_formula) : Ditto.

	* ms-chart.c (ms_excel_biff_dimensions) : Don't print unless
          we're debugging.

	* ms-obj.c (ms_obj_read_biff8_obj) : Don't print checkbox link
          unless we're debugging.

1999-07-30  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (ms_excel_read_error) : Delete
          (ms_excel_read_cell) : Use VALUE_ERROR, and VALUE_EMPTY.
	  (ms_excel_read_selection) : Split out into seperate function.

	* ms-formula-read.c (ms_excel_parse_formula,
          make_function) : VALUE_ERROR.

1999-07-31  Morten Welinder  <terra@diku.dk>

	* ms-excel-read.c (ms_excel_read_formula): Kill warning that is no
 	longer valid.
	(ms_excel_read_error): Fix leak that I introduced.

1999-07-31  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (biff_get_text): Hacked to deal with continues
	nicely.
	(ms_excel_read_workbook): Fixed up nasty version stuff.
	Commented out ms_bug_padd stuff.

	* ms-biff.[ch]: Commented out all padding and quirks stuff.

1999-07-30  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_formula): quiet wierd
	warning... why is this suddenly prevalent.

1999-07-28  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (biff_put_text): kill warnings.

	* ms-escher.c (read_DgContainer, SpgrContainer_new): ditto.

	* ms-biff.c (ms_biff_put_var_next): Remove padding, daft,
	(ms_biff_put_set_quirk): ditto.
	(ms_biff_query_peek_next): Implemented.


1999-07-28  Michael Meeks  <michael@edenproject.org>

	* ms-biff.c (no_quirks, ms_biff_query_new):
	New quirk support :-)
	(ms_bug_get_padding): Moved into ms-excel-read.c
	(ms_biff_put_var_next, ms_biff_merge_continues): Cleaner quirk stuff.
	(ms_biff_put_set_quirk): I pray this is never used =)
	(ms_biff_put_new, ms_biff_put_var_next): Quirky.

1999-07-28  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (ms_excel_read_cell) : Correct the error message
          for SST overflow.

1999-07-27  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (ms_excel_read_supporting_wb) : Make this
          quieter, and add some comments explaining that we have no idea
          what this does or how it works.

1999-07-26  Jody Goldberg  <jgoldberg@home.com>

	* ms-chart.c (BC_R(chartline)) : More state checking.
	  (BC_R(legend)) : Implement.
	  (BC_R(series)) : Store series in chart objects.
	  (ms_excel_biff_dimensions) :

	* ms-obj.c : Closer ties with ms-escher.c.

	* ms-formula-read.c : Changes for VALUE_ERROR. COUNTBLANK
	  takes 1 argument.

1999-07-26  Michael Meeks  <michael@edenproject.org>

	* ms-summary.c (ms_summary_read): Update to ms_ole_summary_close.

	* ole.c (do_summary): ditto.

	* ms-excel-read.c (ms_excel_read_workbook): Comment out
	dependencies freeze/thaw.

	* ms-excel-write.c (write_cell): Update to new PP code.

	* ms-excel-read.c (find_workbook): Remove ms_ole_directory_new.
	(biff_name_data_get_name): Update to new PP code.

	* ole.c (get_file_handle, list_files): ditto.

1999-07-25  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_workbook): Add freeze / thaw
	dependencies.

1999-07-22  Michael Meeks  <michael@edenproject.org>

	* ole.c: Major summary hack, cleaned old cruft & made beautiful.

	* ms-summary.c: Re-write to use new summary stuff in libole2.

1999-07-19  Michael Meeks  <michael@edenproject.org>

	* *.[ch]: Big macro prettify. Moved biff type handling macros into
	libole2/ms-ole.h, and renamed:
		s/BIFF_GET_GUINT/MS_OLE_GET_GUINT/g
		s/BIFF_SET_GUINT/MS_OLE_SET_GUINT/g
	
1999-07-14  Michael Meeks  <michael@edenproject.org>

	* ms-summary.c: Big clean, quiet and sensible handling of
	errors.

	* boot.c (excel_load): Put summary call back in.
	Add excel_read_debug, dump summary info if > 0

1999-07-13  Michael Meeks  <michael@edenproject.org>

	* Makefile.am: Added ms-summary.[ch]

	* ms-summary.[ch]: Created.

	* boot.c (excel_load): Add summary hook.
	Update comments 
	
1999-07-13  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (ms_excel_read_formula): Improve handling of failure
	  cases to ensure that we set the values and formats even if formulas
	  get confused.
	(ms_excel_formula_shared): Back out change to set value on error.
	(ms_excel_get_xf) : 0 and 15 may be defaults but we now have their
	  records so no need to treat them specially.  Seems to be no need
	  to check for StyleXF vs CellXF...
	(ms_excel_set_cell_xf) : It may be the default but we have the XF data
	  for it now so USE IT.
	(biff_name_data_new, biff_name_data_destroy) : Const add flag to
	  log NAME vs EXTERNNAME.
	(biff_name_data_get_name) : Remove vile hack for 1 vs 0 based names.
	(ms_excel_read_name) : More version madness.
	(BIFF_BOF) : More detailed version info.

	ms-formula-read.c : ARRRGGGGHHHHH!  both NAME and NAME_X are 1 based.
	(PTG_NAME) : Different versions, very different sizes.

1999-07-13  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_formula_shared): Fixup previous patch.
	(ms_excel_read_formula): Re-arrange logic.
	(ms_excel_set_cell_xf): Add check on 'xf' back in ...

1999-07-11  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_formula): Catch NULL cell->text
	(ms_excel_formula_shared): Check on cell... & add position to debug.
	(ms_excel_sheet_append_comment): Add paranoid blank text setting.

1999-07-13  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (ms_excel_read_workbook SST) : Zero sized strings use
	  3 bytes (length + header) not 2.
	(ms_excel_read_cell LABELSST) : Blank strings should have value
	  wrappers.
	(ms_excel_parse_formula) : Support missing trailing args for
	  builtin functions.

	* ms-formula-read.c : Keep stack by prepending and popping, rather
	  than appending.
	(INDEX) : correct missing number of args.

1999-07-12  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.[ch] : Remove XF_style_records.  All XF records are
	  kept in one list.  The fixes the indexing problems we've been
	  having with XF records. No more XF_MAGIC_OFFSET !!
	(biff_name_data_get_name) : Pre-Biff5 seems to use 0 based names, post
	  seems to be 1 base ??  Check this.

	* ms-formula-read.c (excel_formula_build_dummy_handler) : New function.
	(make_function) : split out from here and used for external and builtin
	  functions.
	(MATCH) : correct the number of arguments.
	(ms_excel_parse_formula) : The size of the array is stored at the end
	  too.  This fixes formulas with multiple arrays.
	
	* *.[ch] make the data streams const while reading.

1999-07-12  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (biff_name_data_get_name) : Off by one error in the
	  range check.  Improve debug notification when something bad happens.
	(ms_excel_get_xf) : Improve debug messages to help find the problem
	  with xf indicies in old files.

1999-07-12  Jody Goldberg  <jgoldberg@home.com>

	* ms-chart.c : More record types.

	* ms-escher.c : More record types.

	* ms-excel-read.c (ms_excel_formula_shared) : For some reason XL
	  periodicly :
	    - creates a shared formula
	    - declares its use in a range
	    - then doesn't use it in the upper left corner of the range
	    - and refers to the formula by a different cell in the range ??
	(BIFF_PRECISION) : remove dump, and #if 0, for now until gnumeric
	    supports this.

1999-07-11  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c (biff_font_data_new) : don't delay creation of
	  style_font.
        (ms_excel_get_font) : new function split from.
	(ms_excel_set_cell_font) : here.
	(ms_excel_get_xf) : new function split from.
	(ms_excel_set_cell_xf) : here.
	(biff_xf_data_new) : dont delay setting the style_format.
	(BIFF_COLINFO) : Attempt to use the XF->font->height as a proxy for
	  charwidth ??  Anyone have a better idea ?

1999-07-10  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-read.c : BIFF_COLINFO adjust in charwidth magic number to
	  produce column widths that match my screenshot.

	* TODO: updated.

1999-07-10  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (formula_func_data): Fix REPT = 2 args,
	add VDB = var arg.

	* ms-excel-read.c (biff_get_externsheet_name): Silly but fatal bug
	a child could spot: written by yours truly :-)

1999-07-09  Jody Goldberg  <jgoldberg@home.com>

	* ms-obj.c : Conditionalize the debug info for text objects.

1999-07-09  Miguel de Icaza  <miguel@gnu.org>

	* ms-excel-write.c (biff_put_text): Intiialize variable.

1999-07-09  Jody Goldberg  <jgoldberg@home.com>

	* ms-chart.c (BC_R(chart)) : Correctly handle the fixed point
	  sizes.
	(BC_R(ai)) : Figure the missing link association is bubbles.

1999-07-09  Jody Goldberg  <jgoldberg@home.com>

	* ms-chart.c : Actually make a series object !  After finding another
	  Excel documentation error.

	* ms-obj.c : Conditionalize a debug printout.

	* ms-excel-read.c (biff_name_data_get_name) : Indicies are ONE based.

1999-07-09  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_workbook): Update this with
	Jody's changes, hope I didn't loose anything.

	* ms-biff.c (ms_biff_query_next_merge): Add test for valid
	length before reading.

1999-07-08  Jody Goldberg  <jgoldberg@home.com>

	* libole2/ms-ole.[ch] (dump) : constify.

	* ms-chart.[ch] : Prepare to handle Charts not associated with a sheet.
	Add more record types, improve debug messages.  Begin connection
	to 'escher' stuff for gelframes.  Stubs for real chart SERIES objects.
	Support for Text Objects.

	* ms-excel-read.c : Ditto.  Include cleanups.
	Some debug level rationalization.
	(ms_excel_externname) : Combine Biff7&8 use biff_get_text.

	* ms-escher.[ch] : Start looking at this to parse the CHART_GELFRAME
	  record.  Clear out the massive accumulation of includes.

	* ms-excel-biff.h : Include cleanups.

	* ms-obj.[ch] : Include cleanups.
	    Versioned the object record parsing (Currently only Biff8).
	    (ms_obj_read_biff8_obj) : New function with more error checking.
	    (ms_obj_read_text_object) : New function to read text objects.

	* ole.c : Print biff types in hex to match documentation.

1999-07-09  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c: Major warning cleaning offensive.
	(ms_excel_read_workbook): Hush CodePage, DSF, EOF & clean style.
	(ms_excel_read_sheet): Hush WINDOW2
	(ms_excel_read_name): Hush spurious newlines.
	(ms_excel_read_supporting_wb): Hush now, be a good little function.

	* boot.c (excel_load): ditto.

	* TODO: updated.

	* ms-formula-read.c: s/PARSE_LIST/ParseList/
	Update a few stylistic bits...

1999-07-08  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_formula): Turn error into
	warning.

	* ms-excel-write.c (biff_put_text): Fiddled, this needs serious
	fixing ...

	* ms-excel-read.c (biff_name_data_get_name): Removed daft
	debug churning out.

1999-07-08  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.h (_ExcelWorkbook): Removed internal_names and
	comments.

	* ms-excel-write.c (write_bits): Merged write_constants
	into this + add 'wb' parameter.
	(write_bits): Add TABID, DSF records.
	Add PROT4REV, PROT4REVPASS.
	(write_fonts): Changed put_text from eBiffV7, AS_PER_VER.

	* ms-excel-read.c (ms_excel_read_workbook): Update DFS -> DSF

	* biff-types.h (BIFF_DSF): Mod. from DFS.

1999-07-08  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (ms_excel_parse_formula): Add magic 0x17
	for special undocumented 'Addin Name' support.

1999-07-07  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_name): Fix crucial bug
	in name_def_data calc.
	(ms_excel_read_name): Removed all 'internal_names' stuff.

1999-07-06  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (ms_excel_parse_formula): PTG_NAME:
	use biff_name_data_get_name; fixups: Jody don't do this, this
	was all on the Names branch !

	* ms-excel-read.c (biff_name_data_new): Changed to take Workbook
	not sheet, updated to use GPtrArray.
	(biff_name_data_get_name): Changed to return ExprTree.
	(biff_name_data_destroy): Updated.
	(ms_excel_workbook_destroy): Remove old name hash table stuff.
	(ms_excel_read_name): Fix memory leak before Morten gets there :)
	use biff_name_data_new.
	(ms_excel_read_name): Allocate name.
	(ms_excel_get_name): Culled.

	* ms-excel-read.h (_ExcelWorkbook): Changed name_data to GPtrArray
	Changed _name_get_data to return ExprTree.

	* ms-formula-read.c (getRefV7): Removed ExcelSheet * parameter.
	cleaned function indenting.
	(getRefV8): Ditto. + update all references.
	s/cell_name(/cell_name (
	s/sheet->wb/wb/

	* ms-chart.c (BC_R): Updated parse_formula.

	* ms-formula-read.c (ms_excel_parse_formula): s/sheet->ver/wb->ver/
	updated all calls to itself to add 'wb'.

	* ms-excel-read.c (ms_excel_workbook_new): Setup 'ver'
	(ms_excel_read_workbook): Update call.

	* ms-excel-read.h (_ExcelWorkbook): Add 'ver' field.

	* ms-excel-read.c: Updated all ms_excel_parse_formulae: this
	isn't as balmy as it seems... we should only be using the sheet
	data where we need to as Names have no associated sheet.

	* ms-formula-read.c (ms_excel_parse_formula): Add workbook.

	* ms-formula-read.h (ms_excel_parse_formula): ditto.

1999-07-06  Jody Goldberg  <jgoldberg@home.com>

	* ms-excel-biff.h : remove _eBiff_wrap.

	* ms-excel-read.c : replace _eBiff_wrap with a boolean.
	(ms_excel_set_cell_xf) : Send xf->wrap.
	(excel_map_pattern_index_from_excel) : New function.
	(biff_xf_data_new) : Used here.

1999-07-06  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_name): Fix up Names definition
	offset, start to manualy merge name stuff.

	* ole.c: Fix summary reading code: works now, try it on a
	SummaryInformation stream.

1999-07-05  Jody Goldberg  <jgoldberg@home.com>

	* ms-formula-read.c : Improve debug messages a bit.
	(FORMULA_PTG_NAME) : initial stub implemetation.
	(make_function) : The dodgy special case seems to apply to functions
	  with no arguments too.

	* ms-excel-read.c : Rework handling of Shared/Array formulas.
	  They must follow a FORMULA record and come before a STRING
	  record if the cell contains a string.  The upper left corner
	  of shared formulas, and all of arrays now format correctly.
	  (EXTERNNAME) : Rework the handling to apply to biff7 and biff8.
	  Still only reading the names, not conecting them for real.

1999-07-05  Morten Welinder  <terra@diku.dk>

	* ms-excel-read.c (biff_shared_formula_new): Constify.  Copy data
 	because it seems it can be freed underneath us.
	(biff_shared_formula_destroy): Consequently free data.
	(ms_excel_workbook_destroy): Free global strings.
	(ms_excel_palette_destroy): Fix leak.

	* ms-excel-read.c (ms_excel_read_supporting_wb): Warning killer.
	(ms_excel_read_workbook): Ditto.  Fill in some code page info.
	(ms_excel_read_cell): Ditto.

	* ms-biff.c (biff_getdouble): Re-instate the "BYTE" in
 	G_BYTE_ORDER...
	(biff_getdouble): Constify.

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

	* ms-formula-read.c (formula_func_data): Fixed ISREF, ISPMT.

	* ms-excel-write.c (write_mulblank): Add 0x200 to BLANK

	* biff-types.h (BIFF_PASSWORD): convert back from
	PASSguint16 :-)

	* ms-formula-write.c (write_arrays): Fix memory leak.

	* ms-excel-read.c (ms_excel_read_formula): Add S59DE9 reference.

	* ms-excel-write.c (write_cell): Updated constant so formulae get
	evaluated correctly.
	(write_formula): Split out complexity, Added STRING result storage.

	* ms-formula-write.c (write_string): Un-dofus the string writing
	fix Excel crash on any formula string.

	* ms-excel-write.c (write_cell): Fixup always calc. & on load,
	don't seem to be needed.
	Implement class specifiers throughout where needed.

	* ms-formula-write.c (OP_*): Helper macros for getting the class
	right on each PTG.

	* formula-types.h: Added class defines.

	* ms-excel-write.c (write_sheet_bools): Removed magic 0x44 from
	last byte of BIFF_COLINFO. Commented out GCW: unneccessary and
	wrong.
	(write_window1): Fiddled with the magic numbers.
	(write_sheet_bools): Add 0x200 to DEFAULTROWHEIGHT.
	(write_sheet): ditto to INDEX.

1999-07-03  Michael Meeks  <michael@edenproject.org>

	* ms-formula-write.c (ms_excel_write_formula): Added critical
	magic 3 padding bytes s Array's are saved properly.

	* ms-excel-write.c (write_sheet): Size optimisation for blank
	rows.

1999-07-02  Michael Meeks  <michael@edenproject.org>

	* ole.c (syntax_error): Update help.
	(read_records, dump_summary, do_summary): Start of summary info
	reading.
	(do_biff_raw): Cleaned unused var.
	(esh_header_contained): commented out.

1999-07-02  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c: more stylistic fiddling on great
	new debug stuff from Jody...

	* *.[ch]:
	s/MsOle_SEEK_SET/MsOleSeekSet/g
	s/MsOle_SEEK_CUR/MsOleSeekCur/g
	s/ms_ole_seek_t/MsOleSeek/g
	s/MsOle_PPS_STORAGE/MsOlePPSStorage/g
	s/MsOle_PPS_STREAM/MsOlePPSStream/g
	s/MsOle_PPS_ROOT/MsOlePPSRoot/g
	s/PPS_TYPE/PPSType/g
	s/ms_ole_pos_t/MsOlePos/g

1999-07-02  Jody Goldberg  <jgoldberg@home.com>

	* ms-chart.c : Stylistic consistancy.
	s/BIFF_CHART_WRITER/ExcelChartWriter/g
	s/BIFF_CHART_READER/ExcelChartReader/g
	s/BIFF_CHART_HANDLER/ExcelChartHandler/g
	s/GUPPI_CHART_STATE/GuppiChartState/g
	s/BIFF_CHART_STATE/ExcelChartState/g
	s:\([^/]\)\* :\1*:g

1999-07-02  Michael Meeks  <michael@edenproject.org>

	* *.[ch]: Much stylistic fiddling:
	s/MS_EXCEL_SHEET/ExcelSheet/g
	s/MS_EXCEL_WORKBOOK/ExcelWorkbook/g
	s/BIFF_BOUNDSHEET_DATA/BiffBoundsheetData/g
	s/BIFF_SHARED_FORMULA_KEY/BiffSharedFormulaKey/g
	s/BIFF_SHARED_FORMULA/BiffSharedFormula/g
	s/MS_EXCEL_PALETTE/ExcelPalette/g
	s/BIFF_FONT_DATA/BiffFontData/g
	s/BIFF_EXTERNSHEET_DATA/BiffExternSheetData/g
	s/BIFF_FORMAT_DATA/BiffFormatData/g
	s/BIFF_QUERY/BiffQuery/g
	s/BIFF_PUT/BiffPut/g
	s/GETBYTE/GET_GUINT8/g
	s/GETWORD/GET_GUINT16/g
	s/GETDLONG/GET_GUINT64/g
	s/GETLONG/GET_GUINT32/g
	s/BYTE/guint8/g
	s/WORD/guint16/g
	s/LONG/guint32/g
	s/MS_OLE_STREAM/MsOleStream/g
	s/MS_OLE_DIRECTORY/MsOleDirectory/g
	s/MS_OLE/MsOle/g

	* ms-excel-read.c: Large bout of indenting / formatting
	updates, sorry if you have patches ...
	
1999-07-02  Michael Meeks  <michael@edenproject.org>

	* boot.c: Added 'main.h' to include debug symbol.

1999-07-02  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_workbook): Actually
	insert the workbook_destroy at the end ( Huge leak ).

1999-07-01  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (ms_excel_write_get_externsheet_idx):
	Stubbed.
	(write_cell): More, verbose debug.
	(write_index): shut it up.
	(write_sheet): Fix a rather serious logic error that was
	loosing us cells.
	(write_sheet): Added error message for huge sheets... needs
	more cunning indexing code.

	* ms-formula-write.c (write_cellref_v[78]): Fixed
	order of relative col/row bits. Implemented latter.
	(write_ref): Implemented BiffV8 support.
	(write_string): Added MISSARG support.
	(write_area): Implemented BiffV8 support, and 
	3D area support.

	* ms-formula-write.c (write_node): Split out
	(write_ref): attempted to implement inter-sheet
	references.
	
	* ms-excel-write.c (ms_excel_write_get_sheet_idx):
	Created.

1999-07-01  Morten Welinder  <terra@diku.dk>

	* boot.c: Clean out an incredible accumulation of #includes.

1999-07-01  Jody Goldberg  <jgoldberg@home.com>

	* formula-types.h : Add some missing ptg types.

	* ms-excel-read.c : ms_excel_read_debug, ms_excel_formula_debug,
	    ms_excel_color_debug, ms_excel_chart_debug.  Declare and use these
	    to allow command line control so that we can ask remote users for
	    debug info.
	  (excel_builtin_formats) : Correct some typos.
	  (ms_excel_read_formula) : Document errors in Excel SDK.
	  (ms_excel_get_name) : Handle workbook local names. (stub)
	  (ms_excel_read_name) : re-enable with name lookup. not connected yet.

	* ms-excel-read.h : Add internal_names to workbook.
	(ms_excel_get_name) : declare.

	* ms-formula-read.c : switch to new debug scheme.
	  More verbose warnings for errors so we dont ignore them.
	  (FORMULA_PTG_NAME) : Partial implementation until I have time to look
	  at the branch.
	  (FORMULA_PTG_PERCENT) : Guess at this one.
	  Begin to handle 'extended' ptgs.  Very minimal docs.

1999-07-01  Michael Meeks  <michael@edenproject.org>

	* ms-formula-write.c (ms_formula_cache_init),
	(ms_formula_cache_shutdown, cache_remove):
	Implemented.

	* excel.h: Added formula_cache functions.

	* boot.h (excel_init): Added excel_shutdown

	* boot.c (excel_shutdown): Created.

1999-07-01  Michael Meeks  <michael@edenproject.org>

	* ms-formula-write.c (write_string): Created
	Implemented throughout for simplicity.

	* ms-excel-write.c (biff_put_text): Expanded to allow
	more flexible string writing.

	* ms-excel-write.h: Added type to specify string write.

	* ms-formula-write.c: All biff_put_text's write length
	correctly.
	Implemented Area PTGs

	* ms-excel-read.c (ms_excel_read_formula): Fix silly
	bug with broken formuale.

	* ms-biff.c (ms_biff_put_var_seekto): Added seekto
	API for fiddly biff types.

	* ms-excel-write.c (biff_put_text): Made external

	* ms-formeula-write.c: Created.

1999-06-30  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (ms_excel_parse_formula): Updated
	Operation handling for new structure ( array ).

	* ms-excel-read.c (biff_get_global_string): Removed.

	* ms-formula-read.c: Updated func_data, and
	formula_op_data for Miguel and correctness.
	Cleaned FORMULA_NO_PRECEDENCE.

	* excel.h: Move and rename FormulaFuncData.

	* ms-excel-write.c: Moved structures to header.
	Renamed all structures to make Miguel happy.

	* Makefile.am: Added ms-formula-write.[ch]

1999-06-30  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.h: Split out types.

	* formula-types.h: Imported from above.

	* ms-excel-write.c (write_value): Fix LABEL versioning.

1999-06-30  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c:(write_value): Hard-coded
	version stuff onto NUMBER & RK.
	(write_xf_record): Added hack to produce
	identical XF table to test case.
	(write_rowinfo): Added 0x200
	(write_sheet_bools): ditto to DIMENSIONS.

1999-06-30  Jody Goldberg  <jgoldberg@home.com>

	* biff-types.h : Add some undocumented BIFF types, move INDEX,
	  DEFAULTROWHEIGHT into lsb territory.

	* ms-excel-read.c (ms_excel_palette_new) : Correct debug messages.
	(ms_excel_palette_get) : Improve debug messages, and assume that
	  0, 64, 127 are all contrast states.
	(ms_excel_set_cell_colors) : Tail merge with ms_excel_set_cell_xf,
	  handle special case of fill-pattern=0.  Now all the color sheets
	  look OK !! Next step, patterns.
	(ms_excel_read_formula, ms_excel_read_boolerr) : Read current values so
	  we can set styles.  Empty strings are undocumented :-(
	(ms_excel_read_cell) : Handle array formulas.
	(ms_excel_read_sheet, ms_excel_read_workbook) : Add some unhandled
	  record types so that we can start to enable state checking.
	(ms_excel_unexpected_biff) : New function for warning about state.
	(biff_xf_data_new) : Don't map pattern types as if they were borders.

	* ms-formula-read.c (make_function) : Generate a dummy handler for
	  unknown functions.
	  (unknownFunctionHandler) : A dummy handler returning NAME for unknown
	  functions.

	* ms-chart.c : Use ms_excel_unexpected_biff, handle some
	  undocumented codes, and fill in more record types.

1999-06-30  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (write_sheet_bools): Updated
	BIFF_COLINFO.
	(write_value): Fixed up write_value to handle
	numbers more correctly.
	(write_window1): fixed WINDOW1 magic numbers.
	(write_formats): Updated format's upper bits.
	(write_sheet_tail): Mended broken selection.

1999-06-29  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (write_sheet_tail): Updated
	magic selection. Added magic GCW.
	(write_constants): Update to help debugging; I'm
	not really an egotist.
	(write_formats): Added constants from air.
	(write_index): Correct to absolute index.
	Fix all mis-alignments of streamPos read ( lots ).
	(biff_bof_write): Return streamPos to help with
	realignment.

	* ole.c (do_biff_raw): Added position readout.

1999-06-29  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (biff_boundsheet_write_last): Use
	correct type.
	Added streamPos to Workbook for INDEX calcs.
	(write_index): Implemented.
	(write_sheet): Added write_index, and neccesary bits.

	* ms-excel-read.c (biff_nasty_font_check_function):
	removed, wonderful !
	(biff_font_data_get_style_font): Updated & cleaned.

1999-06-28  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (write_formats): Write some magic
	standard number formats.

1999-06-27  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c: excel_builtin_formats: Populated with
	NULL's in sensible places to clean maintainability.

	* ms-formula-read.c (ms_excel_parse_formula): Add fix for
	broken array formulae causing infinite loop.

	* ms-excel-read.c (ms_excel_read_cell): Fix Morten's fatal
	cock-up in value_new_string (NULL).

	* ms-excel-write.c (write_mulblank): Implemented.
	(write_sheet): Started to get DBCELL / Index type code in
	place.
	Cleaned nasty cell hash iterator, and closure. We now rely
	on the optimal handling of max_col/row_used in the sheet.

	* ms-excel-read.c (ms_excel_read_cell): Insert blank into
	the correct column, not just the same one all the time.

	* ms-excel-write.c (write_palette): Write default palette.

	* ms-excel-read.c: Externalised default palette, and format
	data.

	* excel.h: ditto.

1999-06-25  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c: Minor fiddles setting blank flag in some new
	places, and types changed to gboolean.
	
	* ms-excel-read.h (_MS_EXCEL_SHEET): changed 'blank' to gboolean.

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

	* ms-excel-read.c (biff_font_data_get_style_font): Use
	style_font_ref here instead of creating a new font.

1999-06-22  Morten Welinder  <terra@diku.dk>

	* ms-excel-read.c (biff_get_rk): Handle negative ints and ints/100
 	right.  Thanks to Jody for finding this.

1999-06-21  Morten Welinder  <terra@diku.dk>

	* ms-formula-read.c (make_function): Handle constant symbols.

	* ms-excel-read.c (ms_excel_read_cell): Insert bools as values,
 	not constant expresssions.
	(biff_get_text): Make a little more quiet.
	(ms_excel_read_cell): Insert strings as values, not via text.

	* ms-excel-read.c (ms_excel_read_cell): Handle errors and boolean
 	constants without going through text.  (In particular, this gets
 	errors right and prepares for a proper bool type.)

	* ms-formula-read.c (ms_excel_parse_formula): Fix error constants.

1999-06-21  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_cell): Remove Jody's
	check against NULL pointers, insert_form handles them.

	* ms-chart.c (BC_R): make call to dump_tree conditional

	* ms-excel-write.c (write_sheet_bools): Various fixes.
	(write_value): Change RSTRING -> LABEL

	* README (TODO): Updated.

	* ms-excel-write.c (write_externsheets): Fix for single sheet
	workbooks.
	(write_formats): Write the format index code!
	(write_sheet_bools): Divide default col width by 16

	* ms-excel-write.h (ms_excel_write_workbook): Cleaned and fixed
	header.

1999-06-21  Jody Goldberg  <jgoldberg@home.com>
 
 	* biff-types.h : Move NAME from 218 -> 18, rename Chart biff types to
 	lower case to facilitate decls.
 	* ms-biff.[ch] (dump_biff) : export.
 	* ms-excel-read.[ch] : (ms_biff_bof_data_new, ms_biff_bof_data_destroy)
 	export.
 	* ms-formula-read.c : Improve handling of array formulas.
 	* ms-obj.c : Adjust signatures, and split chart handling into its own
 	file.
 	* ole.c : Count BACKWARDS to allow BIFF types with high bytes to
 	override those with only low bytes specified.
 	* Makefile.am : Add ms-chart.
 	* ms-chart.[ch] : New files.  No real functionality.  60% complete.
 
1999-06-17  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (formula_func_data): Fixed up, should work
	again.

1999-06-17  Morten Welinder  <terra@diku.dk>

	* ms-formula-read.c (make_function): Yet another leak fix.

	* ms-formula-read.c (expr_tree_unary): Obsolete.  Use
 	expr_tree_new_unary instead.
	(expr_tree_cellref): Obsolete.  Use expr_tree_new_var instead.
	(expr_tree_value): Obsolete.  Use expr_tree_new_constant instead.
	(expr_tree_string): Simplify.
	(ms_excel_parse_formula): Use expr_tree_string.  Use
 	expr_tree_new_binary.
	(make_function): Use expr_tree_new_funcall.  Fix leak.

	* ms-excel-read.c (ms_excel_read_name): Don't print null pointers.
	(ms_excel_read_workbook): Ditto.

1999-06-17  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): LOG, ROMAN, TRUNC, and
 	BETADIST made var args.
	
1999-06-17  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (make_function): Added debug.
	(formula_func_data): Expand comments.

1999-06-17  Jody Goldberg  <jgoldberg@home.com>

	* ms-formula-read.c (formula_func_data): Fixed some
	minor errors.
	
1999-06-16  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): SUMIF made var args.
	
1999-06-15  Morten Welinder  <terra@diku.dk>

	* ms-formula-read.c (ms_excel_parse_formula): Handle bools.  Plug
 	leak.
	(make_function): Plug leak.

	* ms-excel-read.c (biff_font_data_get_style_font): Supply correct
 	size when initialising.
	(biff_nasty_font_check_function): Revert last change.  Extra
 	parameter ptsize.

1999-06-15  Jody Goldberg  <jgoldberg@home.com>

	* ms-formula-read.c (formula_func_data): Repopulate using xlcall.h and
	reading the docs for each function to deduce the number of args.
	
1999-06-14  Morten Welinder  <terra@diku.dk>

	* ms-excel-read.c (biff_nasty_font_check_function): Load fontset,
 	not font.
	(biff_font_data_get_style_font): Make sure size constraints don't
 	conflict.

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

	* ms-excel-read.c (biff_font_data_get_style_font): Add check
	for NULL font name; return default font.

1999-06-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): LOG, ROMAN, and TRUNC
 	made var args.
	
1999-06-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): PRODUCT, ROUNDDOWN,
 	ROUNDUP, SUBTOTAL, SUMSQ, and SUMIF fixed.  SUMX2MY2 and SUMX2PY2
 	added but they don't work (I don't know why?).

1999-06-13  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_set_cell_colors): Remove identical color
	warning. This is a useful bug at the moment.

1999-06-13  Jody Goldberg  <jgoldberg@home.com>
        * ms-excel-read.c (biff_get_error_text) : Use new global error strings.
        (ms_excel_default_palette) : New function.
        (ms_excel_palette_new) : Colors are stored
                    <DontCare><Blue><Green><Red>
            rather than
                    <DontCare><Red><Green><Blue>
        (ms_excel_palette_get) : Clone bytes to scale colors, begin to
        handle more of the 'special' color indices and guess that indices
        are offset by 8.
        (ms_excel_palette_destroy) : Don't delete the default palette.
        (ms_excel_set_cell_colors) : Don't filter too many bits, support
        initial contrast methods.
        (ms_excel_set_cell_font) : Ditto.
        (ms_excel_set_cell_xf) : Ditto.
        (biff_xf_data_new) : Default palette to internal palette.

1999-06-12  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_supporting_wb): 
	Renamed from _WB.
	(ms_excel_read_name): Remove buggy names assert.

1999-06-11  Jody Goldberg  <jgoldberg@home.com>

        * biff-types.h: Add some missing types as defined in
        the Excel 97 Developers kit.  Begin coverage of Chart specific records.
        Improve documentation of 'odd-ball' entries and collsions in the low
        order numbering scheme.

        * ms-obj.c (ms_obj_read_obj) : Remove unused sheet param
        to facilitate support for Workbook level objects.  Extend known object
        types.
        * ms-obj.h (ms_obj_read_obj) : Ditto.

        * ms-obj.c (ms_chart_biff_read) : Initial experimental
        harness for excel charts.
        * ms-obj.h (ms_chart_biff_read) : Ditto.

        * ms-excel-read.c (biff_name_data_new) : Take Workbook instead of sheet.
            (ms_biff_unknown_code) : New function split out from.
            (ms_excel_read_workbook) : Here.
            (ms_excel_read_name) : New function split out from.
            (ms_excel_read_cell) : Here.
            (ms_excel_externname): New function split out from
            (ms_excel_read_cell) : Here.
            (ms_excel_read_supporting_WB) : New function.  Will probably
            split up in the future when the filename encoding is clarified.
            (ms_excel_read_workbook) : Precheck for odd-balls and chart types.
            Add hooks for other fields.

1999-06-09  Michael Meeks  <michael@edenproject.org>

	* ms-excel-read.c (ms_excel_read_workbook): Added version
	printout.
	(ms_excel_set_cell_colors): More debug.
	(biff_font_data_new): Added strange truncation of font
	color_idx.
	(ms_excel_palette_get): >= 0.

1999-06-08  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (formula_func_data): correct DAYS360,
	add TIMEVALUE.

1999-06-07  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (formula_func_data): Fix ATAN2 -> PI

1999-06-02  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (ms_excel_parse_formula): Elucidate
	error messages.
	(ms_excel_parse_formula): clean debug.
	(formula_func_data): Fix COUNT and BETADIST.

1999-06-01  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (write_sheet_bools): Added yet more
	magic numbers.
	(write_sheet_tail): Implemented WINDOW2, SELECTION as
	magic.
	(ms_excel_write_workbook): Fix silly big dimension block.

	* boot.c (excel_init): Put Excel 95 on by default.

	* ms-excel-write.c (write_bits): Added WINDOW1 bit.
	(write_fonts): Add slight difference in duplicate fonts.
	(write_xf_record): Added more fields.

1999-05-31  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (biff_bof_write): Fixed _major_
	bug in BOF writing.
	(write_xf_record): Version fix.
	(write_bits): Lots of silly little records.
	(write_workbook): Write bits.
	(write_sheet_bools): Added lots of flags.
	(write_sheet): Added sheet_bools.

	* boot.c (excel_init): Changed 98->97 in text.

	* ms-excel-write.c (write_workbook): Fix serious list
	bug freeing list then using it !

1999-05-30  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c: Changed to biff_put_commit
	throught.
	(write_fonts): Added more magic numbers.

	* ms-biff.c (ms_biff_put_commit): Added, and made
	other commits static.

	* ms-excel-write.c: Indenting fixes.
	(write_constants): CODEPAGE support.
	(write_workbook): Added missing write_xf call.

1999-05-30  Nick Lamb <njl98r@ecs.soton.ac.uk>

	* ms-formula-read.c (getRefV8, getRefV7): Fix shared
	formulae absolute references.

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

	* ms-excel-write.c: Minimal Pallete / XF writing.
	Basic font writing.
	(biff_put_text): Horrendous bug fixed.
	(write_magic_interface): Magic...

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

	* biff-types.h: Fleshed out defines, now the 'compatible'
	staroffice file is dumped nicely.

	* ole.c (read_types): Added fudge in case files are nearby.

	* ms-excel-write.c (ms_excel_write_workbook): Force Big
	Block file.
	(write_value): Set vesion on biff_put_text for RSTRING to V7.

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

	* ole.c (main): Added 'debug' option to dump allocation.

1999-05-21  Nick Lamb <njl98r@ecs.soton.ac.uk>

	* ms-formula-read.c: Lots of new formulae translations.

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

	* ole.c (main): Change ole_new to ole_open.
	(list_files): Added assertion.

	* boot.c (excel_load): Same.

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

	* ole.c (main): Add New OLE file creation support.

	* ms-excel-read.c (ms_excel_set_cell_xf): Cleaned silly
	debug.

1999-05-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): LOGNORMDIST and NORMSDIST
 	fixed.

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

	* ms-formula-read.c (formula_func_data): Function data from
	Luke Plant.

	* ms-biff.h: Add biff_setdouble prototype.

	* ms-excel-read.c: Updated commenting.

	* ms-biff.c (ms_bug_get_padding): Quietened.
	Implemented 'tell' throught
	(ms_biff_put_var_commit): Fixed seeking over end.

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

	* ms-excel-write.c (biff_put_text): Fix silly assertion.

	* ms-excel-read.c: Added debug to reading side,
	Cleaned conditional debug to use #defines

	* ms-excel-write.c (write_sheet): Save a number in each
	sheet to stop their destruction.

	* ms-excel-biff.h: Added helper set row,col,xf macros.

	* ms-biff.c (ms_biff_put_var_commit): Fixed.
	Added streamPos setting on commit.

	* ms-excel-write.c: Large updates.

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

	* ms-formula-read.c (make_function): Allow fn_idx == 0
	add translation for RANK.

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

	* ms-excel.[ch] -> ms-excel-read.[ch],

	* ms-formula.[ch] -> ms-formual-read.[ch]

	* All files incldes updated to obey above.
	
	* ms-biff.c (ms_biff_put_new): Implemented,
	(ms_biff_put_destroy): Implemented.
	Various other functions updated / fixed.

	* ms-excel-write.c (ms_excel_write_workbook): Change stream name
	depending on the version.
	Close streams / directory entries correctly.
	(write_workbook): Created.

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

	* Makefile.am: stop 'ole' being installed.

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

	* ms-formula.c (ms_excel_parse_formula): Cleaned debug.

	* boot.c (excel_init): Added write hooks.
	(excel_save_95, excel_save_98, excel_save): Created.

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

	* ms-formula.c (ms_excel_parse_formula): Finaly got the ARRAY
	docs sorted, deciphered inconsistancies etc.

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

	* ms-formula.c (ms_excel_parse_formula): Implemented V7. 3D refs
	and 3D Area references.
	(make_inter_sheet_ref_v7): Created to deal with V7 references.

	* ole.c (really_put): Changed to ms_ole_get_root.

	* ms-excel-biff.h: moved biff_version to 'excel.h'.

	* *.c: Re-ordered includes.

	* ms-excel-write.c (ms_excel_write_workbook): Fleshed out.

	* ms-biff.c (biff_put*): Fleshed out.

	* ms-biff.h (BIFF_SET_GUINT*): Added BIFF setting macros.

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

	* ms-formula.c (ms_excel_parse_formula): Updated Array support.

	* ms-excel.c (ms_excel_set_cell_colors): Kills colors where
	backgnd & foregnd are same, needs pattern stuff to work
	before it can be fixed.
	(ms_excel_palette_get): Sorted special idx=64 color & added
	sanity check.

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

	* ms-biff.h (ms_biff_query_next): Macrofied.

	* ms-biff.c (ms_bug_get_padding): Routine to overcome
	nastiness in MS' flawed implementation of CONTINUE records.
	(ms_biff_query_next_merge, ms_biff_merge_continues),
	(ms_biff_query_unmerge): Add padding corrective.

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

	* ms-biff.h: Major overhaul, added some fields to be implemented.
	Added stubs for new BIFF write-side.

	* ms-biff.c (biff_setdouble): Implemented.

	* ms-excel.c (ms_excel_read_cell): BIFF_NUMBER: Removed last
	vestige of nasty number->text->number sillyness.

	* Makefile.am (libexcel_a_SOURCES): Added excel.h,
	ms-excel-write.[ch].

	* boot.c (excel_load): Updated name & headers.

	* ms-excel.c (ms_excel_write_workbook): Stubbed.

	* ms-excel.h: Split out excel specifics into smaller header.
	Renamed functions to remove nasty mixed case.

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

	* ole.c (main): Add check on ptr to fix NULL pointers getting
	to strcasecmp.
	(do_copyin): Added mass-copy in/out function.

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

	* ms-excel.c (ms_excel_read_sheet): Added new
	workbook_focus_sheet stuff.

1999-05-10  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* Makefile.am (INCLUDES): Use -I$(srcdir)/libole2 instead of
	-Ilibole2 to allow srcdir!=builddir.

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

	* ms-formula.c (make_function): More useful debug.
	Added Database function translation.

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

	* ole.c (do_get, do_put): Sill fread/write no brainer.
	(main): Less verbose.

	* README: Updated to list more useful options.

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

	* ms-biff.c (ms_biff_query_copy): Updated to use new
	global ms_ole_stream_copy.

	* Makefile.am: Split out 'ole' program, added libole2
	subdir. Added ms-biff.c.

	* libole2/ Created, moved ole.c, ms-ole.[ch] there.
	
1999-05-08  Michael Meeks  <michael@imaginator.com>

	* ole.c (main): Large re-structure, split out into smaller
	functions.

	* ms-formula.c (ms_excel_parse_formula): Hack at ARRAY
	functionality...

	* ms-excel.c (ms_excel_sheet_set_comment): Fix for setting
	comments on blank cells; was fatal.

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

	* ms-formula.c (ms_excel_parse_formula): Fixed horrible bug
	in PTG_ATTR, not stopping on duff attr.

	* ms-excel.c (ms_excel_read_cell): Cleans to ARRAY_FORMULA.

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

	* ms-ole.c (ms_biff_query_new, ms_biff_merge_continues)
	Better merge support.

	* ms-biff.h (_BIFF_QUERY): Added merge count

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

	* ms-excel.c (ms_excelReadWorkbook): Added freeze /
	thaw redraws for speed.

	* ms-escher.c (OPT_new): Expanded.
	(BStoreContainer_destroy): Added debug.

	* ole.c: Updated functions from ms-escher.c
	(main): Correctly skip over previously merged stuff.

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

	* ms-formula.c (parse_list_push_raw): Cleaned debug.
	(parse_list_push): Added (different) debug.
	(formula_func_data): Fixed comments.
	(duplicate_formula): Removed.

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

	* ms-excel.c (ms_excel_read_cell): Updated debug.
	(ms_excel_sheet_insert_val): Fixed prototype.

	* ms-formula.c (expr_tree_unary): Added helper fn.
	(ms_excel_parse_formula): Added +/- unary op. loading.
	Remove redundant guff from formula_op_data.

	* ms-formula.h: Removed FORMULA_ARRAY_DATA: redundant.
	Added PTG_U_PLUS, PTG_U_MINUS.

1999-05-04  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (ms_excel_workbook_new): Fix argument list.

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

	* ms-excel.c (biff_get_externsheet_name): Converted to return
	a Sheet *
	(ms_excel_sheet_shared_formula): Returns ExprTree.
	(biff_boundsheet_data_new): Added EXCEL_SHEET * to BOUNDSHEET_DATA
	this really needs rationalising !
	Fixed all things that use ms_formula stuff...

	* ms-formula.c: The most comprehensive re-write of the entire
	formula parsing structure. 80% + of code changed. Now smaller,
	cleaner, meaner, leaner ... and featuring all your favorite bugs.

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

	* ms-excel.c (biff_xf_data_destroy): Changed prototype.
	(ms_excel_workbook_destroy, ms_excel_workbook_new),
	(ms_excel_set_cell_xf, biff_xf_data_new):
	Updated XF to GPtrArray, this saves a hash lookup per cell.
	(ms_excel_workbook_new): excel_sheets -> GPtrArray
	(ms_excel_workbook_attach): Drasticaly simplified
	(ms_excel_sheet_set_index): Removed.

	* ms-excel.h (_MS_EXCEL_WORKBOOK): Changed XF hashes
	to PtrArray's for speed & elegance.

1999-05-02  Michael Meeks  <michael@imaginator.com>
	
	* ms-excel.c (ms_excel_read_sheet): Add check before
	ms_excel_sheet_destroy.
	(ms_excel_read_sheet): Cleaned debug, and made it nicer.
	(ms_excel_workbook_detach): Fixed semantics of workbook_detach
	and plug large memory leak.

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

	* ms-formula.c (ms_excel_parse_formula): Removed annoying
	debug killing performance.

	* ms-excel.c (ms_excel_sheet_insert_val): Created.
	(biff_get_rk): Removed impossible clause.
	Returns a Value now for speed; also increases accuracy.
	(ms_excel_read_cell): BIFF_RK, BIFF_MULRK: Removed nasty
	buffer and ugly printf.
	(ms_excel_sheet_insert): Made static, & removed from .h

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

	* ms-ole.c (ms_ole_new): Applied patch from Michael Meeks to allow
	opening of excel files in read-only mode.

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

	* ms-ole.c (ms_ole_new): Revert to read-only mapping on failure.
	(MW: there has got to be a reason why we don't start that way.)

1999-04-29  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (ms_excel_workbook_detach): Add new extra parameter
 	to workbook_detach_sheet.

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

	* ms-excel.c (ms_excel_workbook_detach): Check the return value of
	workbook_detach_sheet.
	(ms_excel_read_sheet): If detaching fails, there is a dependency.

Tue Apr 20 16:34:38 1999  Morten Welinder  <terra@diku.dk>

	* ms-obj.c (ms_obj_read_obj): Initialise type.
	
1999-04-19  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (biff_get_rk): Fixed up mask on eIEEE.
	
1999-04-19  Michael Meeks  <michael@edenproject.org>

	* ms-escher.c (read_DgContainer): Removed redundant
	debug.

	* ms-ole.c (ms_biff_merge_continues): Silly ordering
	bug fix. And memory leak removed.

	* ms-excel.c (ms_excelReadWorkbook): Silly string table
	length bug. Wehn we truncate, cut the length as well.

	* ole.c (syntax_error): Updated help.
	(main): [old] added 'biffraw'
	
1999-04-19  Morten Welinder  <terra@diku.dk>

	* ms-formula.c (ms_excel_parse_formula): Fix for
	strings: use quotes.

	* ms-excel.c (ms_excel_sheet_append_comment): Fix.
	(biff_font_data_get_style_font): removed assert, and
	use g_snprintf
	(ms_excelReadWorkbook): Removed duff
	comments, and some debug.

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

	* ms-biff.h (_BIFF_QUERY): Set length to guint32
	(BIFF_GETLONG): Added various casts.

	* ms-ole.c (ms_ole_read_ptr_bb, ms_ole_read_ptr_sb):
	Re-enabled, and fixed silly bug.
	(dump): the 'int' type behaves very strangely.

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

	* ms-ole.c: Rather important fixes. How did it ever
	work before !.

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

	* ms-ole.c, ms-ole.h: MASSIVE hack. invalidates
	pretty much all the previous ole changelog entries.
	(dump): Updated type.

	* ms-excel.c (ms_biff_bof_data_new): Removed assert.
	(biff_get_externsheet_name): Removed assert.
	(ms_excel_parse_formula): Commented out array support.

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

	* ms-excel.c (ms_excel_workbook_new): Added flag so
	only reads first group & merges rest.

	* ms-escher.c (biff_to_flat_data): Improved merge
	heuristic.

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

	* ms-escher.c (bse_type_to_name): Created.
	(bse_type_to_name): Created.
	(BSE_new): Updated.
	(esh_header_contained): Moved duplicated code
	into this and added check.
	(esh_header_next): Added debug.
	(write_file): Writes a pixmap to disk.

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-06-02  Michael Meeks  <michael@edenproject.org>

	* ms-formula-read.c (ms_excel_parse_formula): Elucidate
	error messages.
	(ms_excel_parse_formula): clean debug.
	(formula_func_data): Fix COUNT and BETADIST.

1999-06-01  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (write_sheet_bools): Added yet more
	magic numbers.
	(write_sheet_tail): Implemented WINDOW2, SELECTION as
	magic.
	(ms_excel_write_workbook): Fix silly big dimension block.

	* boot.c (excel_init): Put Excel 95 on by default.

	* ms-excel-write.c (write_bits): Added WINDOW1 bit.
	(write_fonts): Add slight difference in duplicate fonts.
	(write_xf_record): Added more fields.

1999-05-31  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c (biff_bof_write): Fixed _major_
	bug in BOF writing.
	(write_xf_record): Version fix.
	(write_bits): Lots of silly little records.
	(write_workbook): Write bits.
	(write_sheet_bools): Added lots of flags.
	(write_sheet): Added sheet_bools.

	* boot.c (excel_init): Changed 98->97 in text.

	* ms-excel-write.c (write_workbook): Fix serious list
	bug freeing list then using it !

1999-05-30  Michael Meeks  <michael@edenproject.org>

	* ms-excel-write.c: Changed to biff_put_commit
	throught.
	(write_fonts): Added more magic numbers.

	* ms-biff.c (ms_biff_put_commit): Added, and made
	other commits static.

	* ms-excel-write.c: Indenting fixes.
	(write_constants): CODEPAGE support.
	(write_workbook): Added missing write_xf call.

1999-05-30  Nick Lamb <njl98r@ecs.soton.ac.uk>

	* ms-formula-read.c (getRefV8, getRefV7): Fix shared
	formulae absolute references.

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

	* ms-excel-write.c: Minimal Pallete / XF writing.
	Basic font writing.
	(biff_put_text): Horrendous bug fixed.
	(write_magic_interface): Magic...

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

	* biff-types.h: Fleshed out defines, now the 'compatible'
	staroffice file is dumped nicely.

	* ole.c (read_types): Added fudge in case files are nearby.

	* ms-excel-write.c (ms_excel_write_workbook): Force Big
	Block file.
	(write_value): Set vesion on biff_put_text for RSTRING to V7.

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

	* ole.c (main): Added 'debug' option to dump allocation.

1999-05-21  Nick Lamb <njl98r@ecs.soton.ac.uk>

	* ms-formula-read.c: Lots of new formulae translations.

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

	* ole.c (main): Change ole_new to ole_open.
	(list_files): Added assertion.

	* boot.c (excel_load): Same.

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

	* ole.c (main): Add New OLE file creation support.

	* ms-excel-read.c (ms_excel_set_cell_xf): Cleaned silly
	debug.

1999-05-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-formula-read.c (formula_func_data): LOGNORMDIST and NORMSDIST
 	fixed.

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

	* ms-formula-read.c (formula_func_data): Function data from
	Luke Plant.

	* ms-biff.h: Add biff_setdouble prototype.

	* ms-excel-read.c: Updated commenting.

	* ms-biff.c (ms_bug_get_padding): Quietened.
	Implemented 'tell' throught
	(ms_biff_put_var_commit): Fixed seeking over end.

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

	* ms-excel-write.c (biff_put_text): Fix silly assertion.

	* ms-excel-read.c: Added debug to reading side,
	Cleaned conditional debug to use #defines

	* ms-excel-write.c (write_sheet): Save a number in each
	sheet to stop their destruction.

	* ms-excel-biff.h: Added helper set row,col,xf macros.

	* ms-biff.c (ms_biff_put_var_commit): Fixed.
	Added streamPos setting on commit.

	* ms-excel-write.c: Large updates.

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

	* ms-formula-read.c (make_function): Allow fn_idx == 0
	add translation for RANK.

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

	* ms-excel.[ch] -> ms-excel-read.[ch],

	* ms-formula.[ch] -> ms-formual-read.[ch]

	* All files incldes updated to obey above.
	
	* ms-biff.c (ms_biff_put_new): Implemented,
	(ms_biff_put_destroy): Implemented.
	Various other functions updated / fixed.

	* ms-excel-write.c (ms_excel_write_workbook): Change stream name
	depending on the version.
	Close streams / directory entries correctly.
	(write_workbook): Created.

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

	* Makefile.am: stop 'ole' being installed.

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

	* ms-formula.c (ms_excel_parse_formula): Cleaned debug.

	* boot.c (excel_init): Added write hooks.
	(excel_save_95, excel_save_98, excel_save): Created.

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

	* ms-formula.c (ms_excel_parse_formula): Finaly got the ARRAY
	docs sorted, deciphered inconsistancies etc.

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

	* ms-formula.c (ms_excel_parse_formula): Implemented V7. 3D refs
	and 3D Area references.
	(make_inter_sheet_ref_v7): Created to deal with V7 references.

	* ole.c (really_put): Changed to ms_ole_get_root.

	* ms-excel-biff.h: moved biff_version to 'excel.h'.

	* *.c: Re-ordered includes.

	* ms-excel-write.c (ms_excel_write_workbook): Fleshed out.

	* ms-biff.c (biff_put*): Fleshed out.

	* ms-biff.h (BIFF_SET_GUINT*): Added BIFF setting macros.

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

	* ms-formula.c (ms_excel_parse_formula): Updated Array support.

	* ms-excel.c (ms_excel_set_cell_colors): Kills colors where
	backgnd & foregnd are same, needs pattern stuff to work
	before it can be fixed.
	(ms_excel_palette_get): Sorted special idx=64 color & added
	sanity check.

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

	* ms-biff.h (ms_biff_query_next): Macrofied.

	* ms-biff.c (ms_bug_get_padding): Routine to overcome
	nastiness in MS' flawed implementation of CONTINUE records.
	(ms_biff_query_next_merge, ms_biff_merge_continues),
	(ms_biff_query_unmerge): Add padding corrective.

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

	* ms-biff.h: Major overhaul, added some fields to be implemented.
	Added stubs for new BIFF write-side.

	* ms-biff.c (biff_setdouble): Implemented.

	* ms-excel.c (ms_excel_read_cell): BIFF_NUMBER: Removed last
	vestige of nasty number->text->number sillyness.

	* Makefile.am (libexcel_a_SOURCES): Added excel.h,
	ms-excel-write.[ch].

	* boot.c (excel_load): Updated name & headers.

	* ms-excel.c (ms_excel_write_workbook): Stubbed.

	* ms-excel.h: Split out excel specifics into smaller header.
	Renamed functions to remove nasty mixed case.

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

	* ole.c (main): Add check on ptr to fix NULL pointers getting
	to strcasecmp.
	(do_copyin): Added mass-copy in/out function.

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

	* ms-excel.c (ms_excel_read_sheet): Added new
	workbook_focus_sheet stuff.

1999-05-10  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* Makefile.am (INCLUDES): Use -I$(srcdir)/libole2 instead of
	-Ilibole2 to allow srcdir!=builddir.

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

	* ms-formula.c (make_function): More useful debug.
	Added Database function translation.

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

	* ole.c (do_get, do_put): Sill fread/write no brainer.
	(main): Less verbose.

	* README: Updated to list more useful options.

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

	* ms-biff.c (ms_biff_query_copy): Updated to use new
	global ms_ole_stream_copy.

	* Makefile.am: Split out 'ole' program, added libole2
	subdir. Added ms-biff.c.

	* libole2/ Created, moved ole.c, ms-ole.[ch] there.
	
1999-05-08  Michael Meeks  <michael@imaginator.com>

	* ole.c (main): Large re-structure, split out into smaller
	functions.

	* ms-formula.c (ms_excel_parse_formula): Hack at ARRAY
	functionality...

	* ms-excel.c (ms_excel_sheet_set_comment): Fix for setting
	comments on blank cells; was fatal.

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

	* ms-formula.c (ms_excel_parse_formula): Fixed horrible bug
	in PTG_ATTR, not stopping on duff attr.

	* ms-excel.c (ms_excel_read_cell): Cleans to ARRAY_FORMULA.

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

	* ms-ole.c (ms_biff_query_new, ms_biff_merge_continues)
	Better merge support.

	* ms-biff.h (_BIFF_QUERY): Added merge count

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

	* ms-excel.c (ms_excelReadWorkbook): Added freeze /
	thaw redraws for speed.

	* ms-escher.c (OPT_new): Expanded.
	(BStoreContainer_destroy): Added debug.

	* ole.c: Updated functions from ms-escher.c
	(main): Correctly skip over previously merged stuff.

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

	* ms-formula.c (parse_list_push_raw): Cleaned debug.
	(parse_list_push): Added (different) debug.
	(formula_func_data): Fixed comments.
	(duplicate_formula): Removed.

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

	* ms-excel.c (ms_excel_read_cell): Updated debug.
	(ms_excel_sheet_insert_val): Fixed prototype.

	* ms-formula.c (expr_tree_unary): Added helper fn.
	(ms_excel_parse_formula): Added +/- unary op. loading.
	Remove redundant guff from formula_op_data.

	* ms-formula.h: Removed FORMULA_ARRAY_DATA: redundant.
	Added PTG_U_PLUS, PTG_U_MINUS.

1999-05-04  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (ms_excel_workbook_new): Fix argument list.

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

	* ms-excel.c (biff_get_externsheet_name): Converted to return
	a Sheet *
	(ms_excel_sheet_shared_formula): Returns ExprTree.
	(biff_boundsheet_data_new): Added EXCEL_SHEET * to BOUNDSHEET_DATA
	this really needs rationalising !
	Fixed all things that use ms_formula stuff...

	* ms-formula.c: The most comprehensive re-write of the entire
	formula parsing structure. 80% + of code changed. Now smaller,
	cleaner, meaner, leaner ... and featuring all your favorite bugs.

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

	* ms-excel.c (biff_xf_data_destroy): Changed prototype.
	(ms_excel_workbook_destroy, ms_excel_workbook_new),
	(ms_excel_set_cell_xf, biff_xf_data_new):
	Updated XF to GPtrArray, this saves a hash lookup per cell.
	(ms_excel_workbook_new): excel_sheets -> GPtrArray
	(ms_excel_workbook_attach): Drasticaly simplified
	(ms_excel_sheet_set_index): Removed.

	* ms-excel.h (_MS_EXCEL_WORKBOOK): Changed XF hashes
	to PtrArray's for speed & elegance.

1999-05-02  Michael Meeks  <michael@imaginator.com>
	
	* ms-excel.c (ms_excel_read_sheet): Add check before
	ms_excel_sheet_destroy.
	(ms_excel_read_sheet): Cleaned debug, and made it nicer.
	(ms_excel_workbook_detach): Fixed semantics of workbook_detach
	and plug large memory leak.

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

	* ms-formula.c (ms_excel_parse_formula): Removed annoying
	debug killing performance.

	* ms-excel.c (ms_excel_sheet_insert_val): Created.
	(biff_get_rk): Removed impossible clause.
	Returns a Value now for speed; also increases accuracy.
	(ms_excel_read_cell): BIFF_RK, BIFF_MULRK: Removed nasty
	buffer and ugly printf.
	(ms_excel_sheet_insert): Made static, & removed from .h

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

	* ms-ole.c (ms_ole_new): Applied patch from Michael Meeks to allow
	opening of excel files in read-only mode.

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

	* ms-ole.c (ms_ole_new): Revert to read-only mapping on failure.
	(MW: there has got to be a reason why we don't start that way.)

1999-04-29  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (ms_excel_workbook_detach): Add new extra parameter
 	to workbook_detach_sheet.

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

	* ms-excel.c (ms_excel_workbook_detach): Check the return value of
	workbook_detach_sheet.
	(ms_excel_read_sheet): If detaching fails, there is a dependency.

Tue Apr 20 16:34:38 1999  Morten Welinder  <terra@diku.dk>

	* ms-obj.c (ms_obj_read_obj): Initialise type.
	
1999-04-19  Morten Welinder  <terra@diku.dk>

	* ms-excel.c (biff_get_rk): Fixed up mask on eIEEE.
	
1999-04-19  Michael Meeks  <michael@edenproject.org>

	* ms-escher.c (read_DgContainer): Removed redundant
	debug.

	* ms-ole.c (ms_biff_merge_continues): Silly ordering
	bug fix. And memory leak removed.

	* ms-excel.c (ms_excelReadWorkbook): Silly string table
	length bug. Wehn we truncate, cut the length as well.

	* ole.c (syntax_error): Updated help.
	(main): [old] added 'biffraw'
	
1999-04-19  Morten Welinder  <terra@diku.dk>

	* ms-formula.c (ms_excel_parse_formula): Fix for
	strings: use quotes.

	* ms-excel.c (ms_excel_sheet_append_comment): Fix.
	(biff_font_data_get_style_font): removed assert, and
	use g_snprintf
	(ms_excelReadWorkbook): Removed duff
	comments, and some debug.

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

	* ms-biff.h (_BIFF_QUERY): Set length to guint32
	(BIFF_GETLONG): Added various casts.

	* ms-ole.c (ms_ole_read_ptr_bb, ms_ole_read_ptr_sb):
	Re-enabled, and fixed silly bug.
	(dump): the 'int' type behaves very strangely.

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

	* ms-ole.c: Rather important fixes. How did it ever
	work before !.

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

	* ms-ole.c, ms-ole.h: MASSIVE hack. invalidates
	pretty much all the previous ole changelog entries.
	(dump): Updated type.

	* ms-excel.c (ms_biff_bof_data_new): Removed assert.
	(biff_get_externsheet_name): Removed assert.
	(ms_excel_parse_formula): Commented out array support.

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

	* ms-excel.c (ms_excel_workbook_new): Added flag so
	only reads first group & merges rest.

	* ms-escher.c (biff_to_flat_data): Improved merge
	heuristic.

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

	* ms-escher.c (bse_type_to_name): Created.
	(bse_type_to_name): Created.
	(BSE_new): Updated.
	(esh_header_contained): Moved duplicated code
	into this and added check.
	(esh_header_next): Added debug.
	(write_file): Writes a pixmap to disk.

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. 

