1999-10-18  Morten Welinder  <terra@diku.dk>

	* ms-formula-read.c (ms_excel_parse_formula): Fix for non-shared
 	references to cells below row 256.

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

	* ms-excel-read.c : More minor tweaking of adjustment ratios.
	  We need some real documentation on this stuff.

	* ms-escher.c (ms_escher_get_data) : Use printf instead of
	  g_return_if_fail.  It makes it easier to debug when the messages ar
	  in line.

	* ms-obj.c (ms_read_OBJ) : Print the object type name whenever
	  possible.
	(ms_obj_read_biff8_obj) : Looks like a PictOpt record in an object
	  signifies that the next BIFF record after the OBJ must be an IMDATA.
	(ms_obj_parse_anchor) : Move the zoom application back here until we
	  split the anchors into distance and cell pairs.  The old code was
	  zooming the col/row distances twice.

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

	* ms-formula-read.c (ms_excel_parse_formula): Plug leaks.

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

	* boot.c (excel_probe) : Only free the MsOle object if it
	  was created successfully.

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

	* *.c : Ensure that we include config.h first.

	* *.[ch] : Update and add Copyright notices.

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

	* ms-excel-read.c (ms_excel_read_cell:MULBLANK) : Insert blanks in
	  reverse order, to decrease the load on the insert routines.

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

	* ms-excel-read.c (ms_excel_read_cell:COLINFO) : Seems like
	  XL periodically sends column widths for phantom columns.

1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-read.c (biff_name_data_new): add sheet scope.
	(ms_excel_read_name): Use the 2nd 'copy' of idx since its the
	only valid one. (biff_name_data_get_name): Create using scope.

1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>

	* Makefile.am: remove the 'ole' test program

	* ole.c: Removed, see module libole2 in test/test-ole.

	* ms-escher.c (ms_escher_read_ClientData): Remove realize & queue
	objects instead. Add precondition on state->sheet.

1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c (ms_biff_query_next_merge, ms_biff_query_new): inline.

1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-read.c (ms_excel_read_sheet): return FALSE for
	blank sheets: duh. (ms_excel_sheet_destroy): add destroy_objs.
	(ms_excel_read_cell): remove const on lastcol.

1999-09-25  Michael Meeks  <michael@nuclecu.unam.mx>

	* Makefile.am (ole_LDADD): use libole2.la

	* ms-obj.c (ms_obj_realize): remove object destruction.
	(ms_obj_destroy): add. (ms_excel_sheet_destroy_objs): Create.
	(ms_excel_sheet_realize_objs): remove list free.

	* ms-excel-read.c (ms_excel_read_sheet): add return type
	to save possible cock-up. (ms_excel_read_workbook): only
	realize objects if loaded OK.

1999-09-25  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c (decompress_vba): an idea.
	(dump_vba_module): + hooks.
	
1999-09-25  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c (decompress_vba): remove unused + clean headers.

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

	* ms-excel-read.c (ms_excel_read_formula) : Improve debug
	  printouts, to facilitate match problems cells to inputs
	  behaviors.
	(ms_excel_read_cell:MULBLANK) : Rework to include last_col
	  and simplify logic on iteration. Plus more debug.
	(ms_excel_read_cell:RSTING) : More debug.
	(ms_excel_read_cell:BIFF_ROW) : Add explicit comment on
	  unit -> pixel scaling factor.
	(ms_excel_read_cell:BIFF_COLINFO) : Ditto.

	* ms-escher.c : Continue work on OPT records.

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

	* ms-excel-read.c (ms_excel_read_cell) : Add and document
	  point -> pixel scaling for rows and columns.

	* ms-excel-read.c (ms_excel_palette_get) : Change my guess
	  at what the therhold pseudo-luminosity is.

1999-09-23  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c (enter_dir): Change logic.

1999-09-22  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-write.c (write_bits): Fix TABID.
	(write_sheet_tail): Add current selected sheet save & V8 WINDOW2
	(write_bits): only save PANEs if we need to.
	(write_fonts): always write 5 fonts instead of 4.
	(write_xf): Add USESELFS.
	(write_sheet): 0x200|INDEX.
	(write_sheet_bools): remove -1 from sheet->maxy for V8.

	* ole.c (do_biff_raw): Remove stream position to help 'diff'.

	* ms-obj.c (ms_obj_realize): Turn off auto-sizing of images to
	tango with improved sizing capable image components.

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

	* ole.c (dump_vba) : Remove the escher code.  The new version needs to
	  much context to be useable at this level.
	(enter_dir) : Improve error message, and fix thinko.

	* ms-excel-read.c (ms_excel_read_cell) : Fix importing of column
	  widths.

	* ms-obj.c (ms_obj_realize) : Create a visual placeholder for charts.
	  Check for NULL sheet.

	* ms-escher.c : Lots more OPT record types.
	(ms_escher_read_ClientData) : Only set the blip type
	  if we are a picture.

1999-09-21  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-obj.c (ms_parse_object_anchor): remove zoom.
	(ms_obj_realize): Add zoom here.

	* ms-excel-read.c (ms_excel_read_sheet): queue objects for later.
	(ms_excel_read_workbook): Realise sheet objects after read.
	(ms_excel_sheet_new): NULL obj queue ptr.

	* ms-obj.c: Add lots of missing cross references.
	(ms_excel_sheet_realize_objs): Implement.

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

	* ms-excel-read.c (ms_excel_read_workbook) : Prefer 'workbook' to
	  'book' so that we use Biff8 for dual stream files.

	* ms-obj.c : Add some #ifndef NO_DEBUG_EXCEL

1999-09-20  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-formula-write.c (formula_cache_new_std): Split.
	(get_formula_index): cleaned. (write_funcall): Split from
	(write_node): in preparation for more lovely complexity.
	(formula_cache_new_ename): create. (write_string): constify
	(write_node): Improve integer writing efficiency.

	* ms-excel-write.c (write_sheet_bools): Added write.
	(biff_put_text): constify. (new_sheet): clean debug.

	* ms-formula-write.c (ms_formula_build_pre_data, ms_formula_write_pre_data): 
	stub.

	* ms-excel-write.c (write_workbook): Fix _loads_ of leaks.
	(free_sheet): create. (pre_pass): pre-pass of the workbook's sheets.
	(pre_cell): Scan cells for interesting things.

	* excel.h: remove cache stuff.

	* ms-formula-write.h: move it here.

	* ms-formula-write.c (get_formula_index, cache_init/shutdown): work
	on a per sheet basis.

	* boot.c (excel_shutdown, excel_init): remove formula cache.

	* ms-excel-write.h: Add formula cache.

	* ms-escher.c (ms_escher_read_Blip): Add support for image-generic
	for jpeg, move DIB to a safe place.

1999-09-20  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c: massive, huge, big clean to new API; ahh that feels good,
	add 'help' command. Break escher debug for now.

	* Makefile.am: re-enabled 'ole'
	
	* ms-biff.h: removed all mention of quirks.

	* ms-biff.c (ms_biff_query_copy): dangerous: removed, clean quirk stuff.

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

	* ms-obj.[ch]: Remove a few #if ENABLE_BONOBO checks 
	  and add an include for sheet-object.h. Improve debug
	  info.

1999-09-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* ms-obj.[ch]: Added a few #if ENABLE_BONOBO checks to make it
 	compile again.

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

	* ms-escher.c (ms_escher_read_ClientData) : Handle unknown object
	  types.

	* ms-summary.c (set_summary_item) : Made static.

	* ms-obj.c (ms_obj_realize) : New function.
	(ms_parse_object_anchor) : Ditto.

	* ms-excel-read.c (ms_excel_read_workbook) : Use
	  ms_obj_realize.
	(ms_excel_read_sheet) : Ditto.
	(ms_excel_read_formula) : Make reading a string more
	  robust, and support length = 0 as a valid string.

1999-09-19  Michael Meeks  <michael@nuclecu.unam.mx>

	* Makefile.am: comment out ole.

	* ms-summary.c (sum_name_to_excel): made static.

	* ms-excel-write.c (ms_excel_write_workbook): updated.

	* ms-excel-read.c (ms_excel_read_workbook): use better API.
	(find_workbook): removed.

	* ms-biff.c (ms_biff_query_copy): Updated duplicate.

	* boot.c (excel_probe, excel_save, excel_load): new ole api.

	* ms-excel-write.c (ms_excel_write_workbook): fix leak.

1999-09-18  Morten Welinder  <terra@diku.dk>

	* ole.c (cur_dir, delim): static.

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

	* gnumeric-chart.c (gnumeric_chart_destroy) : implement.
	(gnumeric_chart_new) : Create.

	* ms-chart.c (ms_excel_chart) : Init the chart.
	(BC_R(ifmt), BC_R(ai)) : Handle invalid/missing formats.

	* ms-escher.c : More radical changes to support just in time
	  merging.  This seems to solve the last of the problems of which
	  records to merge and which not.  Everything seems to add up.
	(ms_escher_parse) : Enable by default.

	* ms-excel-read.c (ms_excel_workbook_destroy) : Release blips on
	  exit.

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

	* ms-excel-read.c (ms_excel_workbook_get_sheet) : Make extern.

1999-09-15  Frank Chiulli  <fchiulli@home.com>
	
	* plugins/excel/boot.c (excel_save): Add a call to ms_summary_write
	(ms-summary.c) to write out the SummaryInformation stream.

	* plugins/excel/ms-summary.h: Make ms_summary_write public.
	
	* plugins/excel/ms-summary.c (ms_summary_write, sum_name_to_excel,
	set_summary_item): New routines to support writing the 
	SummaryInformation stream.
	
1999-09-17  Michael Meeks  <michael@nuclecu.unam.mx>

	* ole.c (main, do_draw, dump_escher): dump raw data.

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

	* ms-escher.c : Adjust const.
	(ms_escher_read_ClientAnchor) : Yahoo!  figured out object placement !!
	(ms_escher_read_OPT) : Some cleanup of the property names.

1999-09-16  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-read.c (ms_excel_read_sheet): add sheet param to _get_drawing
	(ms_excel_read_workbook): ditto & init 'eschers' to NULL.

	* ms-obj.c (ms_obj_read_text): add sheet param to _get_drawing

	* ms-chart.c (BC_W): ditto.

	* ms-escher.c (ms_escher_hack_get_drawing): Add Sheet param.
	(escher_record_new_blip, escher_record_destroy, ms_escher_read_Blip),
	(ms_escher_read_ClientAnchor): Hack up image loading.
	include config.h

	* ms-excel-read.h (_ExcelWorkbook): Add eschers list.

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

	* ms-escher.c (ms_escher_read_CLSID, ms_escher_read_ColorMRU,
		ms_escher_read_SplitMenuColors) : Initial implementation.
	(ms_escher_read_Spgr) : Add names of Shapes.
	(ms_escher_read_ClientAnchor) : Wild guess at what the format is.
	(ms_escher_read_OPT) : Start naming some of the properties.
	(ms_escher_read_SpgrContainer) : be very careful.

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

	* ms-escher.c : Massive re-org.
	* ms-obj.c (ms_obj_read_text_impl) : Export, and improve warning
	  message for TXO.
	(ms_obj_read_text_impl) : The drawing will read the TXO.

1999-09-12  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-write.c (write_sheet_bools): write grid-lines & margins &
	scads of other bits.

	* ms-excel-read.c (ms_excel_read_sheet): Add preconditions & load
	print info for grid-lines, & scads of other stuff. (margin_read): Create.

1999-09-11  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-excel-write.c (write_value): Clean unused 'head'
	(write_sheet_tail): Add zoom factor write.

	* ms-excel-read.c (ms_excel_read_sheet): Add BIFF_SETUP decode.
	Add Zoom factor reading, add lots of printing records & debug dumps.

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

	* ms-excel-read.c : Add selection.h

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

	* README: More random thoughts to pass the time of day.

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. 

