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-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. 

