2000-05-20  Jody Goldberg <jgoldberg@home.com>

        * Release 0.54

2000-05-20  Jody Goldberg <jgoldberg@home.com>

	* src/print-cell.c (print_cell_range) : Don't draw background if we
	  are just sizing things.

	* configure.in : Bump reqs.  libglade >= .13, gnome-print .20

	* src/workbook-format-toolbar.c (change_selection_font) : Add strikethrough.
	({bold,italic,underline}_cmd) : Handle accelerators too.

	* src/cellspan.c (cell_calc_span) : Do not overlap spans when using
	  center across selection.

	* src/application.c (application_set_selected_sheet) : We still need
	  to partially clear the clipboard when short circuiting.

	* src/item-grid.c (item_grid_draw) : Do not draw the contents of
	  hidden spanning rows/cols.
	* src/print-cell.c (print_cell_range) : Ditto.

	* src/colrow.c (cb_row_col_visibility) : Be careful not to compare
	  TRUE for equality.

	* src/cell.c (cell_copy) : Ref the format if one exists.
	(cell_set_format) : Apply the format to a NEW style, not the current
	   style which may be say .... the DEFAULT!!!

	* src/sheet.c (sheet_update) : Update cursor positions when visibility
	  changes.
	(sheet_clear_region) : When clearing formats we need to update the
	  spans and sizes of the contents.
	(sheet_update_cursor_pos) : New function.
	(sheet_row_col_visible) : changing the status of a row/col changes visibility.
	(sheet_update_cursor_pos) : warning suppression.
	(sheet_row_col_visible) : Be careful not to compare TRUE for equality.
	(sheet_clear_region) : respan both sides of a singleton row/col.
	  Check for cells to either side even if there is no span,  if we are
	  directly adjacent to a cell it would have no span even if it wanted
	  one.

	* src/sheet-view.c (sheet_view_update_cursor_pos) : New function split
	  out from sheet_view_set_zoom_factor.
	(sheet_view_set_zoom_factor) : Use sheet_view_update_cursor_pos.

	* src/colrow.c (cb_set_row_height) : Only set the height if it
	  changed.

	* src/application.c (application_set_selected_sheet) : No need to
	  clear the X selection if we already own it.

	* src/commands.c (cmd_format_undo) : It is necessary to respan, resize
	  things when some format elements change.

	* src/sheet-style.c (sheet_range_apply_style) : Changing the word
	  wrapping changes the size, changing the underline or strikethrough
	  does not.
	(required_updates_for_style) : Split out from sheet_range_apply_style.
	(sheet_style_attach_list) : Track the types of updates required.

2000-05-18  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_workbook_read) : Set the textdomain as well as the
	  LC_NUMERIC so that things like TRUE/FALSE do not get translated
	  while persisting.
	(xml_workbook_write) : Ditto.

	* src/sheet-style.c (sheet_style_optimize) : We can not merge (in any
	  dimension) if there is an intervening style that partially overlaps.

	* src/ranges.c (range_adjacent) : Tweak to increase readability,
	  and delete dead code.

	* src/sheet-object.c (sheet_button_press) : Minor patch so that
	  objects begin with a non zero size.  This needs to be reworked into
	  a more general technique so that a 0 sized object is not possible in
	  instances when that should be disabled.

	* src/print-cell.c (print_cell) : Correct double negative that was
	  breaking printing for cells with multiple lines that were bottom
	  or center aligned.

	* src/normal-args.c : Adjust includes to remove warning.

2000-05-18  Michael Meeks  <michael@helixcode.com>

	* configure.in: Bump required GB version.

2000-05-16  Michael Meeks  <michael@helixcode.com>

	* configure.in: Kill libole2 path check, add CONFIG_SUBDIRS
	(EXTRA_GNOME_*): remove libole2.

2000-05-17  Jody Goldberg <jgoldberg@home.com>

	* src/summary.c (summary_item_as_text) : Be careful to strdup all strings.
	(g_str_case_equal) : Delete duplicate.
	(g_str_case_hash) : Delete duplicate.
	(summary_info_new) : Use gnumeric_strcase_hash & gnumeric_strcase_equal.

	* src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) :
	  Only mark the sheet as dirty if something was changed.

	* src/stf.c (stf_read_workbook) :  Bring up to date.

	* src/xml-io.c (xml_write_attributes) : Do not use freed memory.
	(xml_workbook_write) : Free the args.

	* src/item-bar.c (item_bar_event) : Autosizing an empty row/col
	  returns 0.

	* configure.in : Update required version of bonobo to 0.13.
	* README : Ditto.

	* src/cell-draw.c (cell_draw) : Cache the vertical alignment, and
	  ensure that verticaly justified lines do not overlap.
	* src/print-cell.c (print_cell) : Ditto.

	* src/sheet-object.c (sheet_set_mode_type_full) : Add a prototype to
	  avoid warnings.

	* src/sheet-object.c (create_object) : Ugly workaround for bug 9984.
	  Ensure that objects do not start with size 0,0.

	* src/workbook.c (workbook_expr_relocate) : Add missing
	  initialization.

	* src/file.c (file_finish_load) : New function to finish loading after
	  a read or import.
	(workbook_read) : Use here.
	(workbook_import) : And here.

	* src/sheet.c (sheet_get_extent) : Disable the use of
	  sheet_style_get_extent until it is more intelligent.
	(sheet_{insert,delete}_{cols,rows}) : Flag that the range content has
	  changed so that the status areas will be updated.
	(sheet_{col,row}_size_fit_pixels) : Return 0 if there are no cells.

	* configure.in : Produce a Using OAF message in the non-bonobo case
	  too.  Limit xml to version 1.x for now.

	* src/cell.c (cell_set_text_and_value) : Set the entered_text BEFORE
	  the value so that cells with format = text render correctly.

2000-05-16  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-autofill.c (autofill_cell) : Init the RewriteInfo::type.

	* src/clipboard.c (paste_cell) : Cells need acurate locations before
	  relocation.  This is not pretty, but it is functional.

2000-05-16  Karl Eichwalder  <ke@suse.de>

	* NEWS (Translations): Add gl.

2000-05-16  Karl Eichwalder  <ke@suse.de>

	* gnumeric.spec.in: Use %{version}, %{name} and %{sysconfdir} more
	consistently. Avoid long lines.

2000-05-15  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in: Added gl (Galician) to ALL_LINGUAS
	* gnumeric.desktop.in: Added Galician translation

2000-05-15  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-math.c (gnumeric_floor) : Add some examples for
	  negatives.

2000-05-15  Karl Eichwalder  <ke@suse.de>

	* NEWS (Translations): Add de, no, and sv.

2000-05-14  Jody Goldberg <jgoldberg@home.com>

	* src/commands.h : Reformat.

	* src/commands.c (cmd_ins_del_row_col_{undo,redo}) : unant the
	  selection when the topology changes.

	* src/workbook.c (workbook_expr_relocate) : Fix typo.

	* src/sheet-view.c (sheet_view_{col,row}_selection_changed) : Call
	  sheet_update after a change.

2000-05-11  Michael Meeks  <michael@helixcode.com>

	* src/embeddable-grid.c (grid_view_activate): grab widget focus.

	* src/workbook-format-toolbar.c (workbook_feedback_set): make it
	cope with no format toolbar.

	* src/workbook.c (workbook_init): g_new0 for safety and to blank
	edit_line.

	* src/embeddable-grid.c (grid_view_new): set a sensible default
	size so we actually see something. (grid_view_activate): Fix with
	state boolean. (set_header_visibility): implement.
	(embeddable_grid_set_header_visibility): update.
	(grid_view_destroy): kill. (grid_view_new): kill evil private list
	of views.

	* gnumeric.oafinfo: another fix, evil bug from oaf conversion script.

2000-05-11  Jon K Hellan  <hellan@acm.org>

	* src/workbook.c (workbook_rename_sheet): Don't make "Duplicate
	sheet name" message if sheet name did not change.

2000-05-11  Michael Meeks  <michael@helixcode.com>

	* src/Makefile.am (gnumeric_libs): kill libole2 libs kludge.

2000-05-10  Michael Meeks  <michael@helixcode.com>

	* configure.in: Add check for libole2 and add to gnome-config.

2000-05-10  Karl Eichwalder  <ke@suse.de>

	* Makefile.am: Typo.

2000-05-10  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-format-toolbar.c (workbook_format_toolbar) : Add
	  accelerators for Bold, Underline, and Italic.
	(workbook_create_format_toolbar) : Pass accel_group.

	* src/workbook.c (workbook_create_standard_toobar) : Pass the
	  acceleration group to the toolbar.

2000-05-10  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-analysis-tools.c (dialog_data_analysis):
	Use gnumeric_clist_moveto to ensure that selected tool is visible.
	
	* src/dialogs/dialog-function-select.c (category_list_fill):
	s/current sheet/selected category/
	(function_list_fill): s/category/function/

	* src/dialogs/dialog-zoom.c (dialog_zoom_impl):
	s/selected function/current sheet/

	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page):
	Use gnumeric_clist_make_selection_visible to ensure that list rows
	are visible.

	* src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): 
	s/list rows/current sheet/
	
	* src/gnumeric-util.c (clist_moveto): New helper function scroll
	list so that row becomes visible.
	(cb_clist_moveto): New callback function:
	Disconnect callback and use clist_moveto to make row visible.

	* src/gnumeric-util.[ch] (gnumeric_clist_moveto): New public
	function: Make given row visible in list - immediately if mapped,
	otherwise by attaching a signal handler.
	(gnumeric_clist_make_selection_visible): New public function: Make
	first selected row visible in list.
	
2000-05-10  Jon K Hellan  <hellan@acm.org>

	* src/func.c (tokenized_help_find): This segfaulted if no help was
	available. The test for no help failed because of
	signedness. Fixed it.

2000-05-10  Michael Meeks  <michael@helixcode.com>

	* gnumeric.oafinfo: fix borked magic sodding UUID's which suck.

	* src/corba-workbook-factory.c (_WorkbookFactory_init): update
	for oaf, but only the IID.

	* src/embeddable-grid.c (EmbeddableGridFactory_init): update
	for oaf. (embeddable_grid_factory): add failure warning.

	* Makefile.am: Install oafinfo.

2000-05-10  Jacob Berkman  <jacob@helixcode.com>

	* configure.in (use_wm_icons): check for using window icons

	* src/main.c (gnumeric_main): use an icon if available in
	gnome-libs

	* src/Makefile.am (INCLUDES): add a -D for the icon dir

2000-05-10  Karl Eichwalder  <ke@suse.de>

	* src/dialogs/cell-format.glade: Typo.

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

	* Release 0.53

2000-05-09  Morten Welinder  <terra@diku.dk>

	* src/auto-format.c (do_af_suggest): Test right pointer for NULL.

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

	* configure.in : Tweak to produce a semi reasonable gnumericConf.sh
	  remove gnumeric-config.
	* Makefile.am : ditto.
	* gnumericConf.sh : ditto.

	* src/sort.c (sort_range) : Use sheet_cell_remove_simple.

	* src/cell.c (cell_set_expr_internal) : Restore static.

	* src/commands.c (cmd_set_date_time_{undo,redo}) : Mark the changed cell for
	  status update.
	(cmd_sort_destroy) : Leaks.

	* src/Makefile.am (INCLUDES) : Remove extra '/' at end.

	* src/workbook.c (insert_current_time_cmd) : fix cut-n-paste-o.

2000-05-09  Valek Filippov  <frob@df.ru>

	* src/functions/fn-financial.c: changed "NUM!" to "#NUM!".
	* src/functions/fn-logical.c: changed "'#VALUE!'" to "#VALUE!".

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

	* src/xml-io.c (xml_probe) : Check versioning in descending order.
	(gnumeric_xml_read_workbook) : Add check for v3.

2000-05-09  Valek Filippov  <frob@df.ru>

	* src/dialogs/cell-format.glade.h: inserted /* xgettext:no-c-format */
	  before "%" strings.

2000-05-08  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_set_value) : When guessing what the entered text
	  was for a supplied string value prepend a \' to ensure that the
	  value stays a string, and so that blank cells work better.

	* src/sheet.c (sheet_cell_calc_span) : redraw the bounding range when
	  interupting spans.
	(sheet_clear_region) : Respan ranges that were interupted by the
	  cleared region.
	(sheet_cell_remove_simple) : rename from sheet_cell_remove_internal and
	  export.

2000-05-08  Jon K Hellan  <hellan@acm.org>

	* src/file.c (cb_select): New callback: Make double click on list
	in import filter chooser works like "OK".
	(workbook_import): Back when we first started using glade, we used
	a hack to avoid flicker when popping up the filter chooser. We now
	know how to do it right, and remove the hack.
	(workbook_import): Connect callback to handle double click.
	(workbook_import): Fix bug: return value from import would clobber
	return value from dialog_run. We now close dialog after retrieving
	selection, but before importing.  We really should keep the dialog
	up until user either succeeds with import or explicitly
	cancels. But we let that wait. This behaviour should be
	implemented in a lot of places in a coordinated way.
	(workbook_import): Do not destroy workbook after WM close - it is
	already destroyed.

2000-05-08  Morten Welinder  <terra@diku.dk>

	* configure.in (gnome-print): Survive version "0.19cvs".
	* *: include <config.h>

2000-05-08  Jody Goldberg <jgoldberg@home.com>

	* configure.in : Disable the perl plugin
	  Disable the plan perfect plugin
	  Disable the gdb plugin.
	These are not ready for prime time.

	* src/selection.c (sheet_selection_extend_to) : Call sheet_update
	  so that selection changes via mouse movement will update the status
	  areas.
	(sheet_selection_set) : Call sheet_flag_selection_change.

	* src/sheet.c (sheet_flag_selection_change) : New function to
	  flag that sheet_update should recalc the autoexpressions.

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

	* README : Update to require new gnome-print.
	* gnumeric.spec.in : Ditto.

2000-05-08  Jon K Hellan  <hellan@acm.org>

	This change was committed a week ago, but I forgot the changelog:
	
	* src/dialogs/dialog-goto-cell.c (cb_row_selected): Make double
	click on list work like "OK".

	* src/dialogs/dialog-goto-cell.c (dialog_goto_cell): Remove
	buttons which do not do anything yet.
 
2000-05-07  Jon K Hellan  <hellan@acm.org>

	* src/workbook.c (yield_focus): New callback: Give up focus when
	widget is destroyed. This gets rid of a warning when import is
	canceled.
	(workbook_attach_sheet): Connect callback.
	(workbook_set_focus): Do nothing if focus target argument is NULL.

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

	* src/xml-io.c (xml_workbook_write) : Bump the xml version to v3.
	(xml_probe) : Handle v[123].

2000-05-07  Jon K Hellan  <hellan@acm.org>

        * src/dialogs/Makefile.am: dialog-printer.[ch] have been
        superseded by gnome-print dialogs. Remove.

	* src/print.c (sheet_print): Make print button default. Add
	accelerators. 

	* configure.in: Depend on gnome-print >= 0.19

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

	* src/sheet-style.c (sheet_style_attach) : disable cache trash avoidance code.
	  None of the sample xls were loading.

	* src/workbook.c (workbook_do_destroy) : Empty the formula list before
	  the cell contents so that we can avoid searching the lists for each
	  cell.  This is a big time savings on exit.

	* src/sheet.c (sheet_cell_calc_span) : Size the content if
	  it has not yet been sized.

	* src/commands.c (cmd_area_set_text_redo) : Do not queue the
	  resize, rerender, and respan until after the recalc.

2000-05-06  Jody Goldberg <jgoldberg@home.com>

	* src/main.c (gnumeric_main) : Re-disable the style tests.

	* src/cell.c (cell_set_expr_unsafe) : Split from cell_set_expr.

	* src/eval.c (invalidate_refs) : Use cell_set_expr_unsafe.

2000-05-06  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/stf-parse.c (stf_parse_is_valid_data) : Add
	the form feed character (\f) as valid text character.
	(stf_parse_convert_to_unix) : In addition to CRLF and CR,
	remove form feeds (\f) from data.

	* src/stf.c (stf_read_workbook) : Add a workbook_recalc just
	to be sure.
	
2000-05-06  Michael Meeks  <michael@helixcode.com>

	* src/eval.c (handle_cell_range_deps): Add 3D dependency support.
	(cb_single_hash_to_list, cb_range_hash_to_list): Re-arrange handling of
	where the list is collated. (do_deps_destroy): update.
	(cell_drop_dependencies): remove cretinism here.
	(drop_cell_range_dep, handle_cell_single_dep): return on NULL deps structure.

	* src/sheet-style.c (sheet_style_attach): enable cache trash avoidance code.

	* src/sheet.c (sheet_cell_remove_internal): short circuit for NULL
	deps.

	* src/expr.c (expr_rewrite): update to handle workbook case.

	* src/eval.c (workbook_deps_destroy): update for speed.
	(sheet_deps_destroy): split body into (do_deps_destroy): here.

	* src/workbook.c (workbook_delete_sheet): destroy the sheet's
	dependencies here as well; very silly. (workbook_do_destroy): destroy
	deps of all sheets up front.

2000-05-06  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_set_zoom_factor) : Depending on the order of
	  initialization we may also need to render some unrendered values.

	* src/parse-util.c (parse_text_value_or_expr) : Be sure the clear the
	  expr if we are returning a value.

2000-05-05  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_set_zoom_factor) : Need to recalc cell
	  sizes when zooming changes.

	* src/functions/fn-math.c (gnumeric_countif) :
	    Make code match comment.  We can safely ignore blanks.
	(gnumeric_sumif) : Code was correct.  Add a larger comment explaining
	  rationale.
	(gnumeric_sumx2my2) : Code was wrong.  We can not skip blank cells
	  if there are multiple ranges that need to be kept in sync.
	(gnumeric_sumx2py2) : Ditto.
	(gnumeric_sumxmy2) : Ditto.

2000-05-05  Tuomas Kuosmanen  <tigert@tigert.gimp.org>

	* src/pixmaps/function_selector.xpm: Made the ()'s a bit higher
	to make the f(x) more clear.

2000-05-05  Michael Meeks  <michael@helixcode.com>

	* src/eval.c (cell_drop_dependencies): silence checks for sheet->deps.

	* src/workbook.c (workbook_expr_relocate): update for expr_rewrite.

	* src/sheet-autofill.c (autofill_cell): update for expr_rewrite.

	* src/sheet.c (sheet_destroy): use sheet_deps_destroy and hoist above
	destroy_contents.

	* src/cell.c (cell_relocate): update for expr_rewrite.

	* src/eval.c (dependancy_data_destroy): rename to (sheet_deps_destroy),
	(invalidate_refs): re-write. (dependency_single_destroy, dependency_range_destroy): 
	implement for non-intersheet deps. (workbook_deps_destroy): implement.

	* src/expr.c (expr_relocate): renamed to (expr_rewrite): update,
	add sheet re-writing. Fix serious bug with OPER_CONSTANT drop through
	to OPER_ARRAY. (cellrange_relocate): split out. (cellref_relocate): 
	update for structure pos.

	* src/expr.h: create ExprRewriteInfo.

	* src/gnumeric.h: add ExprRewriteInfo.

	* src/sheet-object-container.c (sheet_object_container_realize): fix
	no brainer bug stopping menu's merging.

2000-05-04  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_delete_colrow): don't shrink.
	sheet sized ranges. (sheet_style_compute): add precondition for
	Norberts.

	* src/workbook.c (workbook_new_with_sheets): kill ' ' in
	sheet names.

	* corba-test/test-gnumeric-corba.c (do_test): ditto.

2000-05-04  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c : Fix typo that was calling undo for redo toolbar.
	({redo,undo}_cmd) : Use workbook_finish_editing directly.
	(cb_auto{function,sum}) : If we are already editing do not start.
	  When the wizard is in place bring it up.
	(workbook_start_editing_at_cursor) : Make the '=' insensitive while
	  editing.
	(workbook_finish_editing) : Make the '=' sensitive.
	(sheet_action_delete_sheet) : Fix typo and rename parm
	  'current_sheet' -> 'sheet' to avoid confision with
	  workbook->current_sheet.
	(workbook_close_if_user_permits) : Documented, and use gboolean.
	(workbook_delete_event) : No need to invert the return value.
	(workbook_new) : connect to the 'delete_event' using
	  gtk_signal_connect_after so that we can influence the result.
	(workbook_delete_sheet) : NULL the undo, redo lists after they are
	  cleared.
	(workbook_do_destroy) : Ditto.

2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/rendered-value.c :
	(rendered_value_calc_size) : Check if
	cell->rendered_value is NULL. To avoid
	segfaulting.

2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>

	* doc/stf-export.txt :
	Added stf-exporter documentation

2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/gnumeric-util.[ch] :
	(gnumeric_combo_enters) : New, makes dialogs
	close when enter is pressed inside a gtkcombo.

	* src/dialogs/dialog-stf.c :
	(stf_dialog_editables_enter) : Modified to use
	the above function for combo boxes.

	* src/dialogs/dialog-stf-export.c :
	(stf_export_dialog_editables_enter) : Modified to
	use the above function for combo boxes.

2000-05-03  Jody Goldberg <jgoldberg@home.com>

	* src/command-context.c (gnumeric_error_invalid) : new function.
	* src/command-context-gui.c (ccg_error_invalid) : Handle.
	* src/command-context-corba.c (ccc_error_invalid) : Handle.

	* src/commands.c (cmd_rename_sheet_{undo,redo}) : Pass a context to
	  workbook_rename_sheet.

	* src/workbook.c (workbook_rename_sheet) : Sheet names can not be
	  empty.  Take a CommandContext and report the error.  Invert the
	  return value.

	* src/format.c (pre_parse_format) : Fix old typo that was causing
	  bug 10001 by breaking AM/PM.

	* src/cell.c (cell_set_array_formula) : Add some invariants to catch
	  inverted arrays.  The function should use the supplier's
	  reference.  It should not re-reference the supplied expression.
	  Document this.

2000-05-03  Morten Welinder  <terra@diku.dk>

	* autogen.sh (libtool): Add version check.

2000-05-03  Jody Goldberg <jgoldberg@home.com>

	* EvalPosition -> EvalPos
	  ParsePosition -> ParsePos
	  new struct RangeRef used in ValueRange

	  eval_pos_init* -> position.[ch]
	  parse_pos_init*
	  cell_ref_{get,make}*

	* src/workbook.c : Reorder the toolbar a bit.
	(workbook_foreach_cell_in_range) : New function.
	(cb_autofunction) : New routine.
	(workbook_set_auto_expr) : DO NOT put real code into pre/post
	  conditions.  It will be removed when debugging is eventually
	  disabled.

	* src/position.c (range_ref_normalize) : New function.

	* src/ranges.c (range_normalize) : New function.

	* src/expr.c (expr_implicit_intersection) : Use range_ref_normalize.

	* src/eval.c (cell_eval_content) : No need to release the value.
	  cell_assign_value already does that.
	(dependency_range_ctor) : Use range_normalize.

	* src/auto-format.c (do_af_suggest) : Use workbook_foreach_cell_in_range.

	* src/cell.c (cell_set_expr_and_value) : link the new expression but
	  do not queue it for recalc.
	(cell_assign_value) : Release the old value.
	(cell_copy) : Init the value to empty.

	* src/func.c (function_iterate_do_value) : Use
	  workbook_foreach_cell_in_range.

	* src/dialogs/dialog-function-wizard.c (create_description) : Use
	  a label rather than a text entry widget.  It looks better.

	* src/functions/fn-string.c (gnumeric_expression) : range is already
	  absolute.

	* src/functions/fn-stat.c (gnumeric_linest) : Handle inverted ranges.
	(gnumeric_logest) : Ditto.

	* src/functions/fn-information.c (gnumeric_countblank) : Use
	workbook_foreach_cell_in_range.
	(gnumeric_{row,column}) : Handle inversions.

	* src/functions/fn-lookup.c (gnumeric_offset) : No need to make
	  absolute.  The marshaller already did that.

2000-05-02  Jody Goldberg <jgoldberg@home.com>

	* src/eval.c (dependency_range_ctor) : normalize the range.

	* src/xml-io.c (xml_write_cell_and_position) : Suppress warning.

	* src/pixmaps.h : Add function wizard and equal sign.

2000-05-03  Michael Meeks  <michael@helixcode.com>

	* doc/Dependencies.txt: update to reflect changes.

	* src/eval.c: comment and const mending.	
	(handle_cell_range_deps): prune no inter-sheet singletons code,
	it is a sluggish anachronism. (handle_cell_single_dep): setup
	the correct sheet to enter data into.

	* src/eval.h: expunge redundant commenting, re-order,
	const kill.

2000-05-03  Almer. S. Tigelaar.  <almer1@dds.nl>

	* *.c: s/strcasecmp/g_strcasecmp/

2000-05-02  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/file.c (workbook_import) : We called gtk_widget_destroy
	_after_ gnome_dialog_close. This causes a weird "invalid cast"
	message each time something was successfully imported.

2000-05-01  Michael Meeks  <michael@helixcode.com>

	* src/corba-args.c (gnumeric_arg_parse): fixup popt for oaf.

2000-05-01  Jody Goldberg <jgoldberg@home.com>

	* src/expr.c (expr_tree_shared) : New function.

	* src/xml-io.c (gnumeric_xml_write_selection_clipboard) : Init and
	  destroy the expression hash.
	(gnumeric_xml_read_selection_clipboard) : Ditto.
	(gnumeric_xml_read_workbook) : Ditto.
	(gnumeric_xml_write_workbook) : Ditto.
	(xml_write_cell_and_position) : When saving cells that have expression
	  assign and store an ID for shared expressions.
	(xml_read_cell) : Use the ID to restore shared expressions.

2000-05-01  Jody Goldberg <jgoldberg@home.com>

	* ExprName -> NamedExpression
	  ArrayRef -> ExprArray

	change ExprTree to be a union of similar types and split
	the elements into discrete types.
	    ExprConstant
	    ExprFunction
	    ExprUnary
	    ExprBinary
	    ExprName
	    ExprVar
	    ExprArray

	    expr->oper -> expr->any.oper

2000-04-29  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_new_empty) : Don't allocate any memory.
	(value_release) : Don't free any either.

	* src/sheet-style.c (border_check) : Init outer_style to remove a
	  warning.

2000-05-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-analysis-tools.c (selection_made): Popup tool
	and dismiss chooser on double click.

	* src/dialogs/col-width.glade: Add title
	* src/dialogs/import.glade: Ditto
	* src/dialogs/row-height.glade: Ditto
	* src/dialogs/sheet-rename.glade: Ditto
	* src/dialogs/summary.glade: Ditto
	
	* src/dialogs/analysis-tools.glade (All dialogs): Add padding
	between input and output frames.
	(TTest1 dialog, TTest2 dialog, TTest3 dialog, Anova2 dialog,
	MovingAverage dialog): Remove spaces from label string.
	(Anova1 dialog, Correlation dialog, Covariance dialog,
	RankAndPercentile dialog): Use table in input frame. Get rid of
	frame around "Grouped by". Use alignment and fill instead of
	spaces to place label strings. Minor output options tweaks.
	(MovingAverage dialog): Place all user widgets inside the same
	vbox to make padding uniform.

2000-05-01  Michael Meeks  <michael@helixcode.com>

	* configure.in: Handle oafinfo.in

	* src/sheet-object.c (sheet_set_mode_type_full): oafize.

	* src/sheet-object-container.c (sheet_object_container_new_from_goadid): 
	ditto.

	* src/sheet.c (sheet_insert_object): always launch via.
	bonobo_object_activate regardless of monikers.

	* idl/Gnumeric.idl: add a comment telling people to look elsewhere if
	they want to write bonobo components.

	* src/workbook.c (insert_object_cmd): update for oaf.

	* src/main.c (gnumeric_main): Check for NULL ctx, on corba failure.

	* src/corba-args.c (gnumeric_arg_parse): NULL ctx.

	* src/corba-workbook-factory.c (_WorkbookFactory_init): update to
	use od_server_register.
	(WorkbookFactory_create_object): use Bonobo_stringlist not GNOME_stringlist,
	when was this last compiled ...

	* src/corba-args.c (gnumeric_arg_parse): update for OAF.

	* acconfig.h: USING_OAF

	* configure.in: ditto.

2000-05-01  Michael Meeks  <michael@helixcode.com>

	* HACKING: make it more explicit.

2000-05-01  Morten Welinder  <terra@diku.dk>

	* src/main.c (has_gnumeric_been_compiled_with_guile_support): Fix
 	prototype.

	* src/gutils.c (gnumeric_usr_plugin_dir, gnumeric_sys_plugin_dir,
 	gnumeric_sys_glade_dir): fix prototype.  (C isn't C++.)

	* src/complete.c (complete_destroy): Static.

	* src/regression.c: Inlcude <string.h> for memset.

2000-05-01  Almer. S. Tigelaar.  <almer1@dds.nl>

	* configure.in:
	Export GNUMERIC_VERSION
	
	* acconfig.h:
	Undefine GNUMERIC_VERSION

	* */Makefile.am:
	Removed -DGNUMERIC_VERSION, now located in config.h

	* src/functions/Makefile.am, src/dialogs/Makefile.am : 	
	VERSION changed to gnumeric_version.

	* plugins/excel/libole2/Makefile.am, plugins/guile/Makefile.am :
	ditto
	
	* plugins/perl/Makefile.am :
	ditto

2000-04-30  Miguel de Icaza  <miguel@helixcode.com>

	* src/workbook.c (workbook_new_with_sheets): Put a space there, to
	avoid having "Sheet 1" and then "Sheet1" in the same workbook.

2000-04-29  Miguel de Icaza  <miguel@helixcode.com>

	* src/application.c (application_init): Oops.

2000-04-29  Jody Goldberg <jgoldberg@home.com>
	
	* * : Convert 'Value' into a union of real types and allocate each
	  seperately.

	* src/dialogs/dialog-printer-setup.c (do_print_preview_cb) :
	  Suppress warning.

2000-04-29  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf-preview.c :
	(stf_preview_merge_with-hash) : Remove warning
	message, because empty lines also render to NULL

2000-04-29  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_mstyle_compute_from_list): kill inline.
	(border_check): make outer style calcs mostly conditional on do_outer.

2000-04-29  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/stf-export.[ch] : New, 
	low-level stf-export code.

	* src/dialogs/dialog-stf-export.glade : New, 
	stf export dialog.

	* src/dialogs/dialog-stf-export.glade.h : New, 
	stf export dialog strings.

	* src/dialogs/dialog-stf-export.[ch] : New, 
	top-level controlling code for the stf export dialog.

	* src/dialogs/dialog-stf-export-private.h : New, 
	private declarations for the stf exporter.

	* src/dialogs/dialog-stf-export-format-page.c : New, 
	controlling code for the format page of the stf export dialog

	* src/dialogs/dialog-stf-export-sheet-page.c : New, 
	controlling code for the sheet page of the stf export dialog
	
	* src/Makefile.am : Updated to include new files

	* src/stf.c : Now also provides export for csv files
	using the new stf export dialog

	* src/dialogs/Makefile.am : Updated to include new files
	
2000-04-29  Jody Goldberg <jgoldberg@home.com>

	* src/parser.y : Make the sheet_sep, and range_sep conditional
	  so that I can use the parser for applix too.

	* src/workbook.c (workbook_unref) : encapsulate workbook_unref.

	* src/application.c (application_init) : Do not save the value if it
	  is not there.  Fix typo.

	* src/mstyle.c (mstyle_unref) : If the default style is released
	  clear the cached pointer.  This can happen if the first workbook
	  loaded fails.

2000-04-28  Miguel de Icaza  <miguel@helixcode.com>

	* src/complete.c (complete_idle): Removed debugging messages

	* src/item-edit.c (entry_changed): Update here.

	* src/application.c (application_init): Load auto-complete state
	here.
	(application_use_auto_complete_set): accesor function.
	(application_use_auto_complete_get): ditto.

2000-04-28  Jody Goldberg <jgoldberg@home.com>

	* src/complete.c (complete_start) : Do not install an idle handler if
	  one has already been installed for this object.

2000-04-27  Miguel de Icaza  <miguel@helixcode.com>

	* src/dialogs/dialog-printer-setup.c (do_print_preview_cb): Close
	the dialog if the user selects preview.  Not optimal but better
	than the two possible choices.

2000-04-27  Jody Goldberg <jgoldberg@home.com>

	* *Makefile.am : Use new extended configure variables.

	* configure.in: Add a few variables

2000-04-27  JP Rosevear  <jpr@arcavia.com>

	* Makefile.am: Delete old gnumeric-config generation. 

	* gnumeric-config.in: Use new variables exported from autoconf.

	* configure.in: gnumeric-config magic

2000-04-27  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_sheet_get_free_name) : No need to translate "%s%d".

	* src/gutils.c (PLUGIN_SUFFIX) : typo.

2000-04-27  Karl EICHWALDER  <ke@suse.de>

	* NEWS (Translations): Add `da', `es', `no', and `uk'.

2000-04-27  Morten Welinder  <terra@diku.dk>

	* src/plugin.c (plugin_load_plugins_in_dir): Don't access memory
 	that isn't ours to access.  Constify.
	(plugin_data_last_modified): Constify.
	(plugin_data_get_title): Constify.
	(plugin_data_get_descr): Constify.
	(plugin_data_get_size): Constify.
	(plugin_data_get_user_data): Constify.

2000-04-27  Karl EICHWALDER  <ke@suse.de>

	* doc/translating.sgml: Typo.

2000-04-27  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-lookup.c (gnumeric_offset) : Bug 9372.
	  Both corners get offset.

	* src/workbook-format-toolbar.c (modify_cell_region) : Do redraws
	  respans, and redimensions here.

	* src/cell.c (cell_set_format) : Do not attempt to render or redraw
	  the value.

2000-04-27  Jon K Hellan  <hellan@acm.org>

	* src/rendered-value.c (cell_rendered_height): 
	(cell_rendered_height): Check for null pointers. Zoomed sheets
	with dangling references would segfault. 

2000-04-27  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_update) : Do not update the status or
	  autoexpression when in edit mode.  This solves a sneaky problem
	  selecting a range for an expression on a newly created sheet.

2000-04-26  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (start_cell_selection_at) : Only hide the
	  primary cursor when selecting cells on a different sheet.

	* src/expr.c (eval_expr_real) : Pass EVAL_PERMIT_NON_SCALAR to
	  eval_expr_real when evaluating an array.

	* src/cell.c (cell_set_array_formula) : typo.

	* src/sheet.c (sheet_find_boundary_{horizontal,vertical}) : Another thinko.

	* src/dialogs/cell-format.glade : Improve layout of font attributes
	  slightly.

	* src/gnumeric-util.c (gnumeric_glade_xml_new) : thinko.

2000-04-26  Jody Goldberg <jgoldberg@home.com>

	* src/command-context.c (gnumeric_error_sys_err) : New function.
	* src/command-context-gui.c (ccg_error_sys_err) : Support it.

	* src/gnumeric-util.c (gnumeric_glade_xml_new) : Use gnumeric_error_sys_err.

	* src/gutils.c (gnumeric_sys_{data,lib,glade,plugin)_dir) : New functions.
	(gnumeric_usr_dir, gnumeric_usr_plugin_dir) : New functions.

	* src/plugin.c (load_all_plugins) : Use
	  gnumeric_usr_plugin_dir, and  gnumeric_sys_plugin_dir.

	* src/item-edit.c (point_is_inside_range) : Handle non-singleton
	  expr start characters.

2000-04-25  Jody Goldberg <jgoldberg@home.com>

	* *.c : glade_new_xml -> gnumeric_glade_new_xml
	  Localize GNUMERIC_GLADEDIR so that plugins can use it too.

	* src/gnumeric-util.c (gnumeric_glade_xml_new) : New function.

	* */Makefile.am : Set 'DATADIR' rather than GLADEDIR.  And version
	  the glade file the same way the plugins are set.  This should
	  probably expand to include architecture akin to gcc.

	* src/widgets/widget-editable-label.c (el_button_press_event) :
	  Clicking in another window accepts the changes.  Once we have
	  reliquished our grab push the button event back on the queue
	  so that it can be forwarded on to the appropriate recipient (9007).

	* src/parse-util.c (parse_text_value_or_expr) : Watch for 1 character
	  strings which could start an expression.

2000-04-25  Miguel de Icaza  <miguel@helixcode.com>

	* src/item-edit.c (entry_changed): Call complete_start here;  Pass
	the text to scan_for_range now.
	(item_edit_set_arg): Create the complete_sheet object here.
	(item_edit_destroy): kill it here.

	* src/complete.c: New file.  Implements the abstract
	auto-completion class;

	* src/complete-sheet.c: New file.  Implements the sheet-based
	completion code.

	* src/item-edit.c (item_edit_draw_text): Take a GtkStyle instead
	of a GdkGC.

	* src/item-grid.c (create_popup_menu): Remove unrequired code. 

2000-04-25  Morten Welinder  <terra@diku.dk>

	* src/value.c (value_duplicate): Plug leak.

	* plugins/Makefile.am (SUBDIRS): Add numtheory.

	* plugins/numtheory/*: new files, mostly from Marko R. Riedel
 	(mriedel@neuearbeit.de).

2000-04-26  Tuomas Kuosmanen  <tigert@tigert.gimp.org>

	* src/pixmaps/auto-sum.xpm: Better fitting Sigma icon for Jody.

2000-04-25  Jody Goldberg <jgoldberg@home.com>

	* src/pattern.c (gnumeric_sheet_patterns) : Add the rest of the
	  patterns for applix.

	* src/dialogs/cell-format.glade : Add all of the new patterns.
	* src/dialogs/dialog-cell-format.c : Ditto.

2000-04-24  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-private.h : Rename ea_status -> selection_descriptor
	  Moved ea_entry here and called it edit_line.
	* src/workbook.c (workbook_get_entry) : new routine.

	* src/dialogs/function-select.glade : Made this a dialog, not a popup.

	* src/summary.c (summary_item_free) : format police.
	* src/value-sheet.c (value_area_foreach) : Ditto.

	* src/sheet.c (sheet_new) : Init the update flags to FALSE, rather
	  than TRUE now that the system seems to be getting their initial
	  state correct when importing, paging and the like.
	(sheet_load_cell_val) : Use workbook_get_entry.
	(sheet_find_boundary_horizontal) : format police.
	(sheet_find_boundary_vertical) : Ditto.
	(sheet_range_splits_array) : Ditto.
	(sheet_delete_{cols,rows}) : Ditto.
	(sheet_restore_row_col_sizes) : Ditto.
	(sheet_col_get_distance_{pixels,pts}) : Ditto.
	(sheet_row_get_distance_pixels) : Ditto.
	(sheet_row_get_distance_pts) : Ditto, Init accumulator.

	* src/selection.c (sheet_selection_set) : format police.
	(selection_check_for_array) : Ditto.
	(sheet_selection_walk_step) : Ditto.
	* src/sheet-view.c (horizontal_scroll_event) : Ditto.
	(vertical_scroll_event) : Ditto.
	* src/dialogs/dialog-cell-format.c : Ditto.
	* src/dialogs/dialog-printer.c : Ditto.
	* src/dialogs/dialog-workbook-attr.c : Ditto.
	* src/functions/fn-eng.c : Ditto.
	* src/functions/fn-lookup.c : Ditto.
	* src/functions/fn-string.c : Ditto.

	* src/pattern.c (gnumeric_sheet_patterns) : Add a few patterns for
	  applix.  More are needed, and these are not available in the format
	  dialog yet.

	* src/number-match.c (compute_value) : Use g_strtod.
	(format_match) : Ditto.

	* src/item-edit.c : Use workbook_get_entry.

	* src/item-bar.c (item_bar_event) : format police.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Do not set
	  the focus directly.  Leave that to workbook_start_editing.
	(gnumeric_sheet_new) : Use workbook_get_entry.

	* src/format.c (render_number) : format police.

	* src/complex.c (complex_from_string) : Use g_strtod.
	* src/functions/fn-database.c : Ditto.

	* src/colrow.c (cb_row_col_visibility) : format police.

	* src/main.c (gnumeric_main) : Move the workbook_style_test to the
	  empty case.

	* src/mstyle.c (mstyle_set_pattern) : Add some safety.

	* src/number-match.c (format_match) : Handle empties.

2000-04-22  Michael Meeks  <michael@helixcode.com>

	* src/test.c (zero_stats, dump_stats): implement.
	(thrash_scroll): implement. (thrash_insert): implement.
	(workbook_style_test): use them.

2000-04-22  Tuomas Kuosmanen  <tigert@gimp.org>

	* src/pixmaps/auto-sum.xpm: New icon for Jody.

2000-04-22  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_attach): comment out optimization
	for now.

	* src/workbook.h (workbook_mark_clean): remove redundant prototype.

	* src/corba-workbook.c (Workbook_save_to): use workbook_set_dirty
	instead.

2000-04-21  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_cache_flush): update, kill inline
	update all cache_flushes to be more explicit.

2000-04-22  Almer. S. Tigelaar.  <almer1@dds.nl>

	Fixed Bug #9007 
	Note : Does not fix the mouse click problem, just the focus
	problem
	
	* src/workbook.c 
	(workbook_attach_sheet) : Attaches a signal handler for 
	the "editing_stopped" signal of the editable label.
	(sheet_label_editing_stopped_signal) : The signal handler
	of the "editing_stopped" signal.
	
2000-04-21  Chema Celorio  <chema@celorio.com>

	* src/sheet.c (sheet_redraw_cell_region): small typo
	that was causing a MCSSRB.
	( multiple cell span string redraw bug)

2000-04-21  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (autosum_cmd) : Add a quick and simple auto-sum
	  routine.

	* src/functions/fn-math.c (gnumeric_lcm) : Use value_new_int.
	(gnumeric_minverse) : Use value_new_array_non_init.
	(gnumeric_mmult) : Ditto.
	* src/functions/fn-stat.c (gnumeric_frequency) : Ditto.

	* src/value.c : Make Value::type a constant in preparation for
	  changing the structure of the union to save space.

	* src/workbook.c (do_focus_sheet) : Use sheet_update.
	(workbook_calc_spans) : New routine.
	(workbook_mark_clean) : Delete, use workbook_set_dirty instead.

	* src/file.c (workbook_import) : Set the dialog parent.
	(workbook_read) : Use workbook_calc_spans.

	* src/sheet.c (sheet_row_get_distance_{pixels,pts}) : Optimize this
	  to directly access the segmented arrays so that we can skip empty
	  blocks.
	(sheet_find_boundary_{horizontal,vertical}) : Rename
	  some variables for clarity and add some trivial optimizations to
	  recognize when we are jumping to/from the far edge.
	(sheet_cell_calc_span) : Differentiate between a forced rerender and
	  one that fills in the blanks.

2000-04-20  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c (draw_format_preview) : Don't
	  display preview text if there is none.
	(dialog_cell_format) : Don't init the preview text if the cell is empty.

	* src/plugin.c (plugin_load) : Fix leak.

	* src/formats.c (currency_symbols) : Add Yen.  Attempt to add
	  a version of the Euro.  It uses an iso_8859_15 encoding
	  which is not commonly available.

	* src/corba-sheet.c (Sheet_cell_set_value): 
	cell_set_value -> sheet_cell_set_value

2000-04-20  Matt Wilson  <msw@redhat.com>

	* src/corba-sheet.c (Sheet_cell_set_value): 
	sheet_cell_set_value -> cell_set_value

	* src/corba-sheet.c: include cell-comment.h, rendered-value.h

2000-04-20  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c : Use the edit_pos as the example
	  not the top left corner.

	* src/functions/fn-stat.c (gnumeric_ftest) : Use eval_pos_cellref
	  to help localize the strangeness.
	(gnumeric_ttest) : Ditto.

	* src/xml-io.c (xml_write_cell_and_position) : If this is an array
	  expression and we are the top left then add attributes to indicate
	  size of array.  Ignore the rest of the array.
	(xml_not_used_old_array_spec) : New routinr to handle the old array format.
	(xml_cell_set_array_expr) : store an array.
	(xml_read_cell) : Handle the old and the new array formats.

	* src/workbook.c (workbook_close_if_user_permits) : Accept input
	  first.
	(wb_edit_key_pressed) : Handle array formulas here.
	(workbook_detach_sheet) : Do not recalc all if we are exiting.
	(workbook_start_editing_at_cursor) : When we start editing an
	  array formula display just the formula not all the extra {}()[][] crap.

	* src/sheet.c (SheetPrivate) : Add a recompute_spans flag.
	(sheet_calc_spans) : New routine.
	(sheet_cell_calc_span) : New routine.
	(sheet_range_calc_spans) : Renamed and extended from
	  sheet_cells_update.
	(sheet_update) : Use sheet_calc_spans when necessary.
	  Update the location region when the edit_pos changes.
	(cb_recalc_spans_in_col) : Renamed from cb_collect_cells_in_col.
	  Recalcs spans directly, no need to collect first.
	(cb_set_cell_content) : New routine to set expr, or expr_and_value.
	(sheet_range_set_text) : Use cb_set_cell_content, and remember
	  chosen format with the cell rather than overriding the assigned
	  format.
	(sheet_cell_set_text) : Renamed from sheet_set_text.  Be more specific
	  about how spans, rendering and the rest are handled.
	(sheet_cell_set_expr) : New routine.
	(sheet_cell_set_value) : Ditto.
	(sheet_load_cell_val) : When displaying an array formula add {%s}()[][].
	(sheet_redraw_cell_region) : Honour spans when redrawing.
	(sheet_redraw_partial_row) : New routine.
	(sheet_redraw_cell) : Ditto.
	(sheet_is_cell_array) : Use cell_is_array.
	(sheet_range_splits_array) : Renamed from sheet_check_for_partial_array.
	(sheet_cell_add_to_hash) :  Do not touch spans at this point.
	(sheet_cell_insert) : Rename from sheet_cell_add made recalc span
	  optional.
	(sheet_cell_new) : New routine that does not touch spans.
	(sheet_cell_remove) : Made redraw optional.
	(cb_clear_cell_comments) : Remove the cell if there is no comment.
	(sheet_clear_region) : Remove the cell if there are no comments or
	  contents.  Flag an update of the status region.

	* src/sheet-view.c (cb_colrow_resize) : New function.
	(sheet_view_col_size_changed) : Resize all rows, irrespective of
	(sheet_view_row_size_changed) : existing cells.
	(sheet_view_redraw_cell_region) : This no longer honours spans.

	* src/sheet-style.c (sheet_style_attach) : Removed call to redraw.
	sheet_cells_update : rename to sheet_range_calc_spans and move to
	  sheet.c.

	* src/sheet-autofill.c (autofill_cell) : Use sheet_cell_set_value
	  rather than set_text.

	* src/selection.c (sheet_selection_changed_hook) : Delete.
	(sheet_selection_extend_to) : Update the status region to display the
	  new size.
	(sheet_selection_cut) : Use sheet_range_splits_array.
	(selection_check_for_array) : New routine.

	* src/parser.y : Remove icky array formula parsing that conflicted
	  with array entries.

	* src/number-match.c (format_match) : Return a Value * rather than a
	  double.

	* src/mstyle.c (mstyle_set_font_size) : Do not allow font sizes < 1.

	* src/main.c (gnumeric_main) : Do NOT create an empty workbook
	  then delete it if things are successfully loaded.  This causes
	  a global recalc.  Instead add a flag to disable exit when the
	  number of workbooks go to zero.  Then only enable the flag AFTER
	  we have attempted to load the initial workbooks.

	* src/item-grid.c (item_grid_event) : Update the status_region when
	  button-1 is release.  It should display the edit_pos.

	* src/gutils.c : Move cell_name, col_name, col_from_name,
	  parse_cell_name, parse_cell_name_or_range and parse_cell_name_list,
	  to parse-util.c.

	* src/gnumeric.h  : Add RenderedValue.

	* src/gnumeric-util.c (gnumeric_char_start_expr_p) : Move
	  to parse-util.c

	* src/file.c (workbook_read) : Remove freese thaw usage.
	  Move call to update AFTER mark clean.

	* src/expr.c (eval_pos_init) : Take a cellpos.
	(parse_pos_evalpos) : New routine.
	(eval_pos_cellref) : There is some questionable code scattered in the
	  functions.  This routing localizes the odd bits for correction.

	* src/eval.c (cell_eval_content) : Use sheet_redraw_cell,
	  and rendered_value_calc_size.
	(cell_get_dependencies) : Improve constness.

	* src/corba-sheet.c : Remove the freeze thaw operations.
	(Sheet_cell_set_formula) : Deleted.
	(Sheet_range_set_formula) : Delete.

	* src/commands.c : Adjust so that registration of command auto
	  calls redo.  Add misc checks for splitting arrays.

	* src/clipboard.h : Move the CellCopy types here from cell.h

	* src/clipboard.c (paste_cell) : Use cell_has_expr.
	  Don't insert the new cell till after its contents are assigned.

	* src/cellspan.c (cell_register_span) : Improve constness.
	(cell_unregister_span) : Ditto.
	(row_cell_get_displayed_at) : Delete.
	(cell_calc_span) : Moved here from cell.c

	* src/dialogs/dialog-stf.glade : Adjust the header background colour
	  to match the purdy new icon.  Add the icon.

	* src/cell-draw.c : Use the rendered_value routines.
	  Improve constness.

	* src/analysis-tools.c (set_cell) : Use sheet_cell_fetch.

	*.*
	    cell_set_* -> sheet_cell_set_
	    cell_set_*_simple -> cell_set_
	    Cell::{row,col} -> Cell::{row,col}_info
	    cell_get_text -> cell_get_entered_text
	    cell_get_content -> cell_get_entered_text
	    cell_name -> cell_coord_name 
	    cell_get_formatted_val -> cell_get_rendered_text
	    cell_get_content -> cell_get_entered_text

	* src/cell.c :
	(cell_dirty) : Renamed from cell_modified.  Use
	  sheet_set_dirty.
	(cell_formula_changed) : Make the queuing of the recalc optional.
	(cell_cleanout) : Handle union of expression and entered_text,
	  and remove the rendered value.
	(cell_copy) : Ditto.
	(cell_destroy) : handle cell_modified -> cell_dirty.
	(cell_set_text) : Use parse_text_value_or_expr and store the prefered
	  format.
	(cell_set_text_and_value) : New routine.
	(cell_assign_value) : New routine.
	(cell_set_value) : Support formats.
	(cell_set_expr_and_value) : New routine.
	(cell_set_expr_internal) : Split from cell_set_expr.
	(cell_set_expr) : Divide to allow for not queuing a recalc.
	(cell_set_array_formula) : Use cell_set_expr_internal.
	(cell_is_array) : New utility.
	(cell_is_partial_array) : New utility.
	(cell_has_expr) : New utility.
	(cell_render_value) : Use rendered_value_*.
	Move all comment routines into cell-comment.[ch].

	* idl/Gnumeric.idl : Remove cell_set_formula, and range_set_formula.
	  These were identical to set_text.  Made Workbook embeddable.

2000-04-18  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf-format-page.c
	(stf_dialog_format_page_init) : Created an stf options struct 
	which was never freed or used

	* src/dialogs/dialog-stf-preview.c
	(stf_preview_merge_with_hash) : Somehow there was a *gigantic* leak
	in this routine. I simply rewrote it from scratsch because I didn't
	see the error. This seemed to help, because the leak is gone. :-)

	* src/dialogs/dialog-stf-preview.[ch]
	Added some 'how it works' comments on top. Should make it clear
	who is responsible of freeing memory and when.
	(stf_preview_share_hash) : Removed.
	I removed the hash sharing, it is obsolete and just wasted space as
	hashes are no longer shared between druid pages anyway.

2000-04-18  Cody Russell  <car0969@gamma2.uta.edu>
	* src/workbook-format-toolbar.c, src/workbook.c: Make the toolbars
	honor the user's control-center settings regarding GnomeDock
	handles.

2000-04-17  Karl EICHWALDER  <ke@suse.de>

	* src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool):
	Correct C&P errors (ACK by Jukka-Pekka Iivonen).

2000-04-17  Karl EICHWALDER  <ke@suse.de>

	* NEWS (Translations): New top.

	* gnumeric.desktop.in (Comment): Shorten comment.
	Reported by Jon K Hellan.

2000-04-16  Morten Welinder  <terra@diku.dk>

	* src/eval.c (cell_add_explicit_dependency): Quiet a bit.

	* src/functions/fn-lookup.c (gnumeric_match): Fix.

	* src/functions/fn-financial.c (finance_functions_init): Define a
 	ton of stubs.  (We appear to have everything now.)

2000-04-16  Valek Filippov  <frob@df.ru>

	* src/functions/fn-math.c: Typos fixed ("@" and "\n").

2000-04-15  Morten Welinder  <terra@diku.dk>

	* src/functions/fn-stat.c (gnumeric_quartile): Fix for empty case.

	* src/xml-io.c (xml_free_arg_list): Plug leak.

2000-04-15  Karl EICHWALDER  <ke@suse.de>

	* src/dialogs/dialog-cell-sort.c (order_box_new): Mark as translatable.

2000-04-15  Morten Welinder  <terra@diku.dk>

	* src/Makefile.am (GNUMERIC_BASE_SOURCES): Delete print-preview.[ch]

	* src/print.c: Kill many #includes.

2000-04-15  Karl EICHWALDER  <ke@suse.de>

	* src/dialogs/dialog-zoom.glade, src/dialogs/dialog-zoom.glade.h
	(N_): Make labels conforming.

2000-04-15  Karl EICHWALDER  <ke@suse.de>

	* configure.in (ALL_LINGUAS): Sort alphabetically.

2000-04-15  Jon K Hellan  <hellan@acm.org>

	* configure.in: Require gnome-print >= 0.18

2000-04-15  Miguel de Icaza  <miguel@gnu.org>

	* src/print.c (print_headers): Use black for printing the
	headers and footers. 

2000-04-14  Karl EICHWALDER  <ke@suse.de>

	* gnumeric.desktop.in: Exchange Name/Comment.  Adjust the values
	for de.

2000-04-14  Miguel de Icaza  <miguel@gnu.org>

	* src/selection.c (selection_is_simple): Use an
	internationalizable version of the message here.

2000-04-10  Miguel de Icaza  <miguel@gnu.org>

	* Lots of files: replaces utils.h for gutils.h

	* renamed utils.h to gutils.h to avoid the compilation problem on
	some Unices (yes, fixing the Makefile would have done it, but
	utils.h was still a lame name;  Of course gutils.h is not any
	better, but it is now don). 

2000-04-14  Michael Meeks  <michael@helixcode.com>

	* src/*: s/ENABLE_BONOBO_PRINT/ENABLE_BONOBO/

2000-04-14  Karl EICHWALDER  <ke@suse.de>

	* src/file.c (wants_to_overwrite): Add missing dot.

2000-04-14  Jody Goldberg <jgoldberg@home.com>

	* src/print.c : make ENABLE_BONOBO_PRINT conditional on ENABLE_BONOBO.

2000-04-14  Michael Meeks  <michael@helixcode.com>

	* src/print.c (print_job_info_get): setup sheet object list.
	(print_job_info_destroy): check it. (print_sheet_range): build a list of
	pre-printed sheet objects. (print_page_object): updated.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_print): simplify muchly
	to new API.

2000-04-11  Michael Meeks  <michael@helixcode.com>

	* configure.in: Bump required gb version.

2000-04-13  Karl EICHWALDER  <ke@suse.de>

	* src/about.c (dialog_about): Add missing dot :)

2000-04-12  Miguel de Icaza  <miguel@helixcode.com>

	* configure.in: New version of Gnumeric coming out.  New version
	of gnumeric coming out.

2000-04-12  Jon K Hellan  <hellan@acm.org>

	* src/history.c (history_menu_item_create): Really add
	accelerators to history menu item

	* src/dialogs/dialog-analysis-tools.c (dialog_random_tool): Bug:
	Dialog would quit when combo list was popped via keyboard. Fix:
	Remove gnome_dialog_editable_enters from distribution combo.

2000-04-11  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-zoom.c (focus_to_custom): New callback: Set
	focus to custom spinbutton when custom radiobutton is checked.
	(dialog_zoom_impl): Connect the callback.

	* src/dialogs/dialog-analysis-tools.c (focus_on_entry): New
	callback: Set focus to output range entry when output range
	radiobutton is checked.
	(set_output_option_signals): Connect the callback.
	(distribution_parbox_config): Only add accelerator if we've got
	one.

2000-04-11  Morten Welinder  <terra@diku.dk>

	* src/print.c (sheet_print): Supply new landscape argument to
 	preview.

2000-04-11  Jody Goldberg <jgoldberg@home.com>

	* src/solver-lp.c (make_solver_arrays) : Make more robust in the face
	  of missing variables or constraints.

	* src/eval.c (cell_eval_content) : Handle the case of a cell without a
	  formula more gracefully.

2000-04-10  Jody Goldberg <jgoldberg@home.com>

	* src/file.c (workbook_read) : Force clean after post load recalc.

	* src/sheet-view.c (sheet_view_col_selection_changed) : keep the
	  moving col visible.
	(sheet_view_row_selection_changed) : Keep the moving row visible.

	* src/item-grid.c (item_grid_find_col) : Tune iteration bounds to
	  improve speed and allow for scrolling back to the first col/row.

	* src/item-cursor.c (item_cursor_autofill_event) : Pass the coords of
	  the cell we want to keep visible rather than the top left corner.
	(item_cursor_set_bounds_visibly) : Rename the parameters to reflect
	  their real purpose.

2000-04-09  Morten Welinder  <terra@diku.dk>

	* configure.in (gnome-print): Need 0.17.

	* src/print.c (print_page): Put page numbers into (post script)
 	file.
	(print_page): Move setup_rotation into page loop.

2000-04-11  Michael Meeks  <michael@helixcode.com>

	* src/parser.y: correct include.

	* src/cell.c (cell_set_rendered_text): move up to before its first use.

2000-04-09 Dom Lachowicz <dominicl@seas.upenn.edu>

 	* src/sheet.h: Rename member "private" -> "priv" in case anyone in the
 	future writes a plugin / module written in C++
 
 	* src/sheet.c (sheet_new, sheet_flag_status_update_cell,
 	sheet_flag_status_update_page, sheet_update, sheet_destroy,
 	sheet_set_edit_pos, sheet_insert_cols, sheet_delete_cols,
 	sheet_insert_rows, sheet_delete_rows, sheet_restore_row_col_sizes,
 	sheet_col_set_size_pts, sheet_col_set_size_pixels,
 	sheet_row_set_size_pts, sheet_row_set_size_pixels): Same
 
 	* src/corba-sheet.c (sheet_corba_setup, sheet_corba_shutdown): Same
 
 	* src/corba-workbook.c (corba_sheet): Same
 
 	* src/embeddable-grid.c (Grid_get_sheet): Same
 
 	* src/sheet-vector.c (sheet_vector_attach, sheet_vector_detach,
 	sheet_vectors_cell_changed, sheet_vectors_shutdown): Same

2000-04-07  Miguel de Icaza  <miguel@gnu.org>

	* src/cellspan.c (span_remove): Pretify code.

2000-04-10  Jody Goldberg <jgoldberg@home.com>

	* src/file.c (workbook_read) : Do NOT recalc on load for now even
	  though there are are queued cells that desire it.  This will
	  prematurely mark the sheet as dirty.  This will need to be
	  revisited.

	* src/cell.c (cell_set_rendered_text) : Make static.

	* src/cell.c (cell_calc_dimensions) : Be careful to recalculate spans
	  that centered on other cells when calculating the span for a new
	  cell.

2000-04-09  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object-bonobo.c (sheet_object_bonobo_class_init): add print
	hooks.

	* src/sheet-object-graphic.c (sheet_object_graphic_print): implement.
	(sheet_object_graphic_class_init): setup print method

2000-04-09  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c : Do not change the target style if
	  editing has not yet been enabled.

	* src/workbook.c (workbook_set_saveinfo) : If the save function is
	  NULL default to xml.

	* src/format.c (format_value) : Add some error checking.

	* src/cell.c (calc_text_dimensions) : Make static

	* src/main.c : Add main.h

2000-04-03  Dom Lachowicz <dominicl@seas.upenn.edu>
 
 	* src/workbook.c (sheet_action_reorder_sheet): Right click on a
 	sheet tab, and if there's more than one sheet, you'll get an
 	option to bring up the re-order sheets dialog
 
 	* src/dialogs/dialog-plugin-manager.c (refresh_right_frame) :  Do not
	  override default fonts and colours.
 
	* src/dialogs/sheet-order.glade,
	* src/dialogs/sheet-order.glade.h,
	* src/dialogs/dialog-sheet-order.c (row_cb, delete_clicked_cb,
	  up_clicked_cb, down_clicked_cb, close_clicked_cb, 
	  dialog_sheet_order_impl) : Improve look by moving buttons to the
	  right edge rather than using stock buttons on the bottom and side.
	
2000-04-07  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_finish_editing) : resensitize the toolbars
	  after editing.
	(workbook_start_editing_at_cursor) : Desensitize the toolbars when we
	  start to edit.

2000-04-09  Morten Welinder  <terra@diku.dk>

	* src/sheet-style.c (sheet_unique_cb): Plug leak.

	* src/sheet-view.c (sheet_view_comment_relocate): Leak plug (for
 	Jody).

2000-04-09  Michael Meeks  <michael@helixcode.com>

	* src/print.c (print_page_object): implement.
	(print_page): add hook.

	* src/sheet-object.c (sheet_object_print): implement.
	(sheet_object_class_init): setup default print behavior.

	* src/sheet-object.h: Add virtual method 'print'

	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page):
	free list after creation. (fmt_dialog_impl, cb_notebook_destroy):
	pass the signal id without using the FormatState that is free'd by
	the time we destroy the notebook.

2000-04-09  Jon K Hellan  <hellan@acm.org>

	* src/workbook.[ch] (workbook_class_init): Put "cell_changed"
	signal back in.

	* src/sheet.c (sheet_load_cell_val): Ditto.

2000-04-06  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_relocate): use range_translate to
	shrink code size + set a blank style under the moved styles to get
	correct behavior: this routine needs optimizing sometime.

2000-04-09  Morten Welinder  <terra@diku.dk>

	* src/sheet.h (ParsePositions): Add sheet.

	* src/expr.c (parse_pos_init): New arg sheet.  All callers changed.

	* src/parser.y (gnumeric_expr_parser): Use pp->sheet.

2000-04-08  Jon K Hellan  <hellan@acm.org>

	(sheet_name_quote): Quote embedded quotes.

2000-04-08  Morten Welinder  <terra@diku.dk>

	* src/xml-io.c (xml_read_solver): Plug leak.

	* src/functions/fn-financial.c (gnumeric_xnpv): Plug leak.

2000-04-08  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf-csv-page.c
	(csv_page_global_change) : Result of gtk_editable_get_chars was not
	freed. (2x)

	* src/stf-parse.c
	(stf_parse_region) : Only the last item of the GSList's would be
	freed
	(stf_parse_sheet) : ditto
	
2000-04-08  Jon K Hellan  <hellan@acm.org>

	* src/sheet.c (cellref_name): Remove unused variable.

2000-04-08  Jon K Hellan  <hellan@acm.org>

        * src/sheet.h (struct _Sheet): Replace member name with
	name_quoted and name_unquoted. In name_quoted, names with spaces
	or quote characters are protected with quotes.

	* src/analysis-tools.c (prepare_output): Use
	workbook_sheet_get_free_name to ensure that we don't create more
	than one sheet with the same name.

	* src/eval.c (dump_cell_list, sheet_dump_dependencies): Dump
	sheet->name_unquoted instead of sheet->name.

	* src/expr-name.c (name_sheet_title): Make value from
	sheet->name_quoted instead of sheet->name. FIXME: Is this correct?

	* src/gnumeric-sheet.c (selection_insert_selection_string): Make
	selection string from sheet->name_quoted instead of quoting
	sheet->name here.

	* src/print-info.c (render_tab): Render sheet->name_unquoted
	instead of sheet->name.

	* src/print-preview.c (create_toplevel): Use sheet->name_unquoted
	instead of sheet->name in window title.

	* src/selection.c (sheet_selection_to_string, range_to_string):
	Make reference string from sheet->name_quoted instead of quoting
	sheet->name here.

	* src/sheet.[ch] (sheet_quote_name): Rename to
	sheet_name_quote. Take name_unquoted parameter, not a sheet.

	* src/sheet.c (sheet_rename, sheet_new): Set both
	sheet->name_quoted and sheet->name_unquoted.
	(sheet_destroy): Free both sheet->name_quoted and
	name_unquoted.
	(cellref_name): Make reference from sheet->name_quoted instead of
	quoting sheet->name here.

	* src/test.c (thrash_sheet): Use sheet->name_unquoted instead of
	sheet->name in debug output.

	* src/value-sheet.c (value_dump): Dump sheet->name_quoted instead
	of quoting sheet->name here.
	(encode_cellref): Use sheet->name_quoted instead of quoting
	sheet->name here.

	* src/workbook.[ch] (workbook_sheet_get_free_name): Make it more
	generally useful: Add "base" and "always_suffix" parameters. The
	caller should now select the base to make the name from
	(e.g. "Sheet"), and specify whether or not a suffix should be
	added when the name "base" is not in use.

	* src/workbook.c (insert_sheet_cmd): Use new signature of
	workbook_sheet_get_free_name.
	(workbook_rename_sheet): Insert unquoted name in hash table.
	(sheet_label_text_changed_signal): Remove test for quote
	characters in sheet name.
	(sheet_action_delete_sheet): Prompt with name_unquoted instead of
	name.
	(sheet_action_rename_sheet, workbook_attach_sheet): Use
	name_unquoted instead on name.
	(workbook_detach_sheet): Use sheet->name_unquoted as hash key
	instead of sheet->name.

	* src/workbook-cmd-format.c
	(workbook_cmd_format_sheet_change_name): Use name_unquoted instead
	on name.

	* src/xml-io.c (xml_sheet_write): Output sheet->name_unquoted
	instead of sheet->name.

	* src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): Make
	list header passive.
	(add_to_sheet_clist, delete_cb): Substitute sheet->name_unquoted
	for sheet->name.

	* src/dialogs/dialog-zoom.c (dialog_zoom_impl): Ditto.

2000-04-08  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-analysis-tools.c (struct
	random_tool_callback_t): Use gladified random dialog: changed most
	members.
	(struct DistributionStrs): New struct to hold name to show in list
	and parameter labels for a random distribution.
	(distribution_strs): Change to a DistributionStrs struct.
	(output_range_selected): New callback function. This is part of a
	change which selects the corresponding toggle button when the
	output range field is entered. This works for all gladified
	dialogs in this file.
	(set_output_option_signals): Set up output_range_selected callback
	on output range field. The widget is retrieved by name, so widget
	names in analysis-tools.glade had to be changed.
	(dialog_correlation_tool, dialog_covariance_tool,
	dialog_ttest_paired_tool, dialog_ttest_eq_tool,
	dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool,
	dialog_ranking_tool, dialog_anova_single_factor_tool,
	dialog_anova_two_factor_without_r_tool): New widget name for
	output range field.
	(dialog_correlation_tool, dialog_covariance_tool,
	dialog_ttest_paired_tool, dialog_ttest_eq_tool,
	dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool,
	dialog_ranking_tool, dialog_anova_single_factor_tool,
	dialog_anova_two_factor_without_r_tool): Make <Enter> in entry
	fields activate default button.
	(distribution_strs_find, distribution_parbox_config,
	combo_get_distribution, dialog_random_realized): These new
	functions are helpers for gladified random generation dialog.
	(distribution_strs_find): Find strings record, given distribution
	enum.
	(distribution_parbox_config): Configure parameter widgets given
	random distribution.
	(combo_get_distribution): Find from combo the distribution the
	user selected.
	(distribution_callback): Configure parameter widgets for the
	distribution which was selected.
	(dialog_random_realized): Make initial geometry of distribution
	table permanent.
	(dialog_random_tool): Libgladify. This is a complete
	rewrite. Other changes: Make the "distribution" variable function
	static instead of file static. Rebuild the dialog each time it is
	displayed. This is like the other libglade dialogs in this file.
	Make <Enter> in entry fields activate default button. Get random
	distribution name and parameter label strings from
	distribution_strs struct. Use a "realized" callback to make
	initial geometry permanent. Unref accel group for distribution
	parameter widgets when dialog is destroyed.

	* src/dialogs/analysis-tools.glade (All dialogs): Remove ':' from
	frame labels. Add accelerators. Rename output range entry widgets
	to xxx_output_range_entry. Minor output options tweaks.
	(FTest dialog, TTest1 dialog, TTest2 dialog, TTest3 dialog): Use
	alignment and fill instead of spaces to place label strings.
	(Anova2 dialog, MovingAverage dialog): Use table in input frame so
	that entry fields are aligned.
	(Random dialog:) New dialog.

2000-04-07  Morten Welinder  <terra@diku.dk>

	* src/selection.c (sheet_selection_reset_only): Free the right list.
	(sheet_is_range_selected): Avoid double assignment.
	(sheet_is_cell_selected): Ditto.

	* src/history.c (history_menu_remove_items): Plug leak.

2000-04-07  Jody Goldberg <jgoldberg@home.com>

	* src/embeddable-grid.h (GridViewClass) : Fix typo, did this ever work ?

	* src/workbook.c (workbook_move_sheet) : Mark the book as dirty when a
	  sheet moved.
	(insert_sheet_cmd) : Mark book as dirty when sheet is added.
	(workbook_attach_sheet) : Add a precondition to avoid failing in the
	  bonobo case.

2000-04-07  Morten Welinder  <terra@diku.dk>

	* src/collect.h (CollectFlags): Get rid of COLLECT_IGNORE_POSITIVE
 	and COLLECT_IGNORE_NEGATIVE.

	* src/collect.c (callback_function_collect): Don't have the above
 	flags.

	* src/functions/fn-financial.c (irr_npv_df): New function.
	(gnumeric_irr): Use irr_npv_df for better results.
	(gnumeric_ipmt, gnumeric_ppmt): Fix order of arguments!  (It works
 	so much better that way.)
	(gnumeric_mirr): Fix formula.

	* src/goal-seek.c (update_data): Spelling fix.

	* src/functions/fn-financial.c (gnumeric_rate, gnumeirc_irr,
 	gnumeric_xirr): Use the supplied guess.

2000-04-06  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (gnumeric_xml_read_workbook) : No need to recalc, the
	  loader handles it.

	* src/file.c (workbook_read) : Do a recalc and sheet_update after loading.
	  Wrap entire process in deep_{freeze,thaw}.

	* src/expr.c (eval_expr) : Fix thinko.

	* src/functions/fn-string.c : Add func 'expression' to return text of
	  formula.

	* src/parser.y : It is illegal to write A1:Sheet2!A3.

	* src/value.c (value_new_cellrange) : Take the eval pos so that we can
	  correctly invert mixed mode references when necessary.

	* src/expr.c (cell_ref_make_abs) : New routine.
	(expr_relocate) : Handle changes in value_new_cellrange.
	* src/func.c (function_marshal_arg) : Ditto.
	* src/ranges.c (range_parse) : Ditto.

	* src/corba-sheet.c (Sheet_cell_set_value) : No need to check these
	  references.  They seem to be hard coded to be relative.

	* src/functions/fn-lookup.c (gnumeric_offset) : Begin to handle
	  relative references.

	* src/sheet.c (cellref_get) : Simplify the logic a smidge.

	* src/workbook.c (workbook_finish_editing) : Restore the edit area
	  manually for now.  We may need to make the update flags finer grain.

2000-04-05  Jody Goldberg <jgoldberg@home.com>

	* src/stf-parse.c (stf_parse_options_new) : Init oldsplitpositions.
	* src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) :
	  Init format_run_parseoptions.

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

	* src/workbook.c (workbook_do_destroy): Unref, not destroy, the
 	wb->priv->gui_context member.  (Plugs leak.)

2000-04-05  Jody Goldberg <jgoldberg@home.com>

	* (*.[ch]) : merge eval_expr, eval_expr_nonempty, eval_expr_empty.

	* src/xml-io.c (xml_write_attributes) : remove unused variable.
	(xml_read_attribute) : Fix warning.

	* src/clipboard.c (x_selection_received) : Cache the Sheet* before
	  freeing the closure.

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Disable
	  callbacks when setting the font status.  This avoids applying a
	  spurious format.

2000-04-05  Miguel de Icaza  <miguel@gnu.org>

	Fix #8326
	
	* src/print-info.c (print_info_new): Test was reversed here, so we
	were actually flipping the orientation for printing.

	* src/print.c (print_sheet_range): Now the routine returns the
	number of pages printed, and can be directed not to generate
	actual output.  
	(print_sheet_range): Do column/row fitting for the other printing
	order as well.
	(compute_sheet_pages): Support both empty-page printing, and non
	empty-page printing.
	(print_page): Can now print and detect if there is anything to
	print. 

2000-04-05  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_paste_cut_undo) : Use sheet_update and force a
	  status update.
	(cmd_paste_cut_redo) : Ditto. Change the selection here.

	* src/sheet.c (sheet_flag_status_update_range) : Handle NULL ranges.

	* src/selection.c (sheet_selection_add_range) : Use
	  sheet_flag_status_update_range rather than an immediate call
	  to selection_changed_hook (that is deprecated).
	(sheet_selection_move) : Delete.
	(sheet_selection_paste) : Use sheet_update.

	* src/clipboard.c (clipboard_paste_region) : Remove unnecessary and
	  incorrect code to do status updates.  The selection mechanism
	  handles it already.
	(x_selection_received) : Use sheet_update.

	* src/about.c (dialog_about) : Add Almer.

2000-04-05  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_compute): kill leak.
	(sheet_destroy_styles): destroy hash.

2000-03-25  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load): Add
	warnings and fixup.

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

	* src/about.c (dialog_about): Re-establish sorting (except Sir
 	Miguel).

2000-04-05  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-logical.c (gnumeric_if) : Use eval_expr_nonempty
	  and permit non-scalars.
	* src/functions/fn-lookup.c (gnumeric_choose) : Ditto.
	* src/functions/fn-math.c (gnumeric_sumproduct) : Ditto.

	* src/functions/fn-information.c (get_value_class) : Use
	  eval_expr_empty, and permit non-scalars.

	* src/func.c (function_iterate_argument_values) : Permit non-scalar
	  values.
	(function_marshal_arg) : Be more specific about what types of argument
	  must be scalar.

2000-04-04  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-math.c (gnumeric_sumproduct) : eval_expr_nonempty
	  and permit non-scalars.
	* src/functions/fn-lookup.c (gnumeric_choose) : Ditto.

	* src/expr-name.c (eval_expr_name) : Accept 'as_scalar' as an
	  argument use eval_expr_empty.

	* src/expr.c (eval_expr_real) : Push the common cases for implicit
	  intersection further down for a big speed improvement.
	(eval_expr_nonempty) : New routine.
	(eval_expr_empty) : Accept as_scalar.

2000-04-04  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_button_1) : sheet_update after button
	  press that changes selection.

2000-04-04  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (print_hf) : Add precautions in an attempt to address
	  http://bugs.gnome.org/db/82/8200.html
	  I can not replicate it, but it can't hurt to be more careful just in
	  case.

2000-04-04  Miguel de Icaza  <miguel@gnu.org>

	* src/item-cursor.c (item_cursor_autofill_event): Flush the canvas updates

2000-04-04  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_class_init) : Remove CELL_CHANGED.
	(workbook_finish_editing) : At LAST! cmd_set_text is responsible for
	  setting the text directly :-)

	* src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) :
	  cmd_format takes care of the height adjustments.
	* src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) : Ditto.

	* src/sheet.c (Sheet): Add flags edit_pos_changed, selection_content_changed.
	(sheet_new) : init them.
	(sheet_flag_status_update_cell) : New function that sets the flags.
	(sheet_flag_status_update_range) : Ditto.
	(sheet_update) : Fix typo. Add support for new flags.
	(sheet_update_auto_expr) : Const correctness.
	(sheet_update_controls) : Ditto.
	(sheet_load_cell_val) : Ditto. Delete unused signal.
	(sheet_set_text) : Use sheet_flag_status_update_range.
	(sheet_set_edit_pos) : New routine.
	(sheet_cursor_move) : Delete.
	(sheet_fill_selection_with) : Remove.

	* src/selection.c (sheet_selection_changed_hook) : const correctness.
	(sheet_selection_change) : merge into sheet_selection_set.
	(sheet_selection_extend_to) : Use sheet_selection_set.
	(sheet_selection_set) : Merge with sheet_selection_change and use the
	  sheet_cursor accessors rather than changing things directly.
	(sheet_selection_walk_step) : Use sheet_selection_set, and sheet_set_edit_pos.

	(sheet_is_all_selected) : const correctness.
	(sheet_is_cell_selected) : New routine.
	(sheet_is_range_selected) : New routine.

	* src/item-grid.c (item_grid_draw_background) : Adjust to rename of
	* sheet_selection_is_cell_selected -> sheet_is_cell_selected.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Cleanup the
	  logic for creating fills and arrays so that it can have undo
	  support.
	  - Change the heuristic for selecting what type of characters can start
	    an edit session.  Rather than using fixed Latin1 centric codes,
	    guess that the 'length' field of the event is >0 if the character is
	    printable.  Be more careful NOT to forward characters to the entry
	    if we are not editing.
	  - Use sheet_update.

	* src/commands.c (command_pop_list_top) : Delete.
	(cmd_format_redo) : Apply the height adjustment here.
	(cmd_set_area_*) : Implement.
	(*) : Use sheet_update.

	* src/colrow.c (rows_height_update) : Moved here and generalized from
	  sheet_selection_height_update.

	* src/clipboard.c (sheet_paste_selection) : No need to call
	  sheet_cursor_set.  sheet_selection_add_range already does that.
	(clipboard_paste_region) : Flag updates to the status display if
	  something changes.

2000-04-04  Jon K Hellan  <hellan@acm.org>

	* src/sheet-view.c (sheet_view_set_zoom_factor): Call
	gnumeric_sheet_make_visible only if sheet widget is realized.
	(sheet_view_make_edit_pos_visible): New function: Make the cell at
	the edit position visible.
	(sheet_view_size_allocate): Add call to
	sheet_view_make_edit_pos_visible.

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Add
	comment.

	* src/xml-io.c (xml_sheet_read): Read zoom into a local variable
	before calling sheet_set_zoom_factor. Otherwise,
	sheet_set_zoom_factor would assume that it had already initialized
	this factor.

	* src/workbook.c (change_zoom_in_current_sheet_cb): No longer call
	change_displayed_zoom_cb, sheet_set_zoom_factor will call it
	indirectly. 

	* src/workbook.[ch] (workbook_class_init,
	workbook_focus_current_sheet, workbook_create_standard_toobar):
	Rename "sheet_changed" signal to "sheet_entered".  Remove
	"cell_changed" signal.
	(workbook_focus_current_sheet): Rename "sheet_changed" signal to
	"sheet_entered".
	(workbook_zoom_feedback_set): New function: Update zoom combo in
	toolbar when zoom changes.

	* src/sheet.c (sheet_update_zoom_controls): New function: Update
	zoom controls when zoom changes.
	(sheet_set_zoom_factor): Use it.
	(sheet_load_cell_val): Do not emit "cell_changed".

	* src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply):
	Call sheet_update_controls to update toolbar controls.

	* src/history.c (file_history_cmd): Remove pristine workbook when
	a new one is read in. For consistency with File/Open, File/Import
	and Bonobo File/History.

	* src/dialogs/dialog-workbook-attr.c
	(cb_attr_dialog_dialog_apply): Include workbook-view.h to get
	prototype for workbook_view_pref_visibility.

	* src/border.h (style_border_print): Remove bogus const in  prototype.
	Reported by Aron Griffis.

2000-04-02  Jody Goldberg <jgoldberg@home.com>

	* src/item-edit.c (entry_changed) : Call scan_for_range here.
	(item_edit_set_arg) : And here.
	(recalc_spans) : But NOT here.  Calling request_update while updating
	  any other canvas item is bad.

	* src/item-cursor.c (item_cursor_set_bounds) : remove ugly hack.

2000-04-02  Jody Goldberg <jgoldberg@home.com>

	* doc/stf-parser.txt : Add description of double quote handling.
        * src/stf-parse.c (stf_parse_options_new) : Init
	  indicator_2x_is_single and duplicates.
	(stf_parse_options_csv_set_indicator_2x_is_single) : New function.
	(stf_parse_csv_cell) : Add logic to optionaly treat double quotes as a
	  single escaped quote.
	* src/dialogs/dialog-stf-csv-page.c : Add the double quote checkbox.
	* src/dialogs/dialog-stf.glade : Ditto.

2000-04-02  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.[ch] (gnumeric_sheet_get_cell_bounds) : Delete.

	* src/item-edit.c (item_edit_init) : Init the feedback_cursor to NULL.

	* src/item-cursor.c (item_cursor_set_bounds) : HACK to force the
	  canvas to honour update requests.

2000-04-01  Jody Goldberg <jgoldberg@home.com>

	* docs/C/func.defs, docs/C/functions.sgml : Regenerate.

	* src/functions/*.c : Adjust some 'See Also' tags to point to existing
	  functions.

	* src/workbook.c (workbook_menu_format_sheet) : Do not use
	  GNOMEUIINFO_TOGGLEITEM as it requires an xpm, and bonobo crashes
	  when fed a NULL xpm.

2000-03-31  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c : Switch over to using GNOMEUIINFO_ITEM_ where
	  possible.
	(cb_editline_focus_in) : Do not start editing if we are already
	  editing.

	* src/utils.c (parse_cell_name) : constness.

	* src/style.c (style_font_gdk_font) : constness.
	(style_font_gdk_font) : ditto.
	(style_font_gnome_font) : ditto.
	(style_font_get_height) : ditto.

	* src/sheet.c (sheet_set_zoom_factor) : redimension all cells, rather
	  than the sparse sheet region.  Do not auto-resize.
	(sheet_cell_add) :  Adjust to new calling convention for
	  cell_calc_dimensions.
	(sheet_stop_editing) : Rename from sheet_destroy_edit_cursor.

	* src/sheet-view.c (sheet_view_get_style_font) : constness.

	* src/gnumeric-sheet.c (gnumeric_sheet_create_editing_cursor) :
	  No need to set all those arguments.
	(destroy_item_editor) : Merge into gnumeric_sheet_stop_editing.
	(gnumeric_sheet_stop_editing) : Renamed from
	  gnumeric_sheet_destroy_editing_cursor.

	* src/cell.[ch] (cell_set_rendered_text) : Adjust to new calling
	  convention for cell_calc_dimensions.
	(cell_calc_dimensions) : Adjust calling convetion to make auto
	  resizing optional.
	(calc_text_dimensions) : Adjust calling convention to directly set size.

	* src/sheet-style.c (re_dimension_cells_cb) :  Adjust to new calling
	  convention for cell_calc_dimensions.

	* src/item-edit.c : Major rework to behave better at margins, 
	  correctly handle cells whose display contents span differently than
	  their displayed values, multi-line display mechanics, and a blinking
	  cursor :-)

2000-03-31  JP Rosevear  <jpr@arcavia.com>

	* src/xml-io.c (xml_read_attribute): Allow per type reading of
	the "Attribute" xml node so that complex types can sort themselves
	out.
	(xml_write_attribute): Allow per type writing of the "Attribute" xml
	node so that complex types can write themselves appropriately.
	(xml_write_attributes): Tidy and use xml_write_attribute.
	(xml_read_attribute): Tiday and use xml_read_attribute.

2000-03-29  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c (cb_font_changed) : Use the size
	  from the selector rather than the display size with is zoom and
	  resolution dependant.

	* src/main.c (has_gnumeric_been_compiled_with_guile_support) :
	  A little test to circumvent the problems associated with the guile
	  pluging requiring changes to gnumeric's main().

2000-03-30  Kjartan Maraas  <kmaraas@online.no>

	* gnumeric.spec.in: Make it build a RPM.
	
2000-03-29  Jon K Hellan  <hellan@acm.org>

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar):
	Add titles for torn off combos.

	* src/workbook.c (workbook_create_standard_toobar): Ditto

2000-03-28  Jon K Hellan  <hellan@acm.org>

	* src/xml-io.c (xml_arg_get): Really silence warnings.

	* src/print.c (print_footers): Dont't change footer points.

	* src/xml-io.c (xml_arg_get): Silence format conversion warnings.

	* src/dialogs/names.glade: Put the list inside a scrolled window.

2000-03-28  Miguel de Icaza  <miguel@gnu.org>

	* configure.in (GB_LIBS): Require Gtk 1.2.7 here too.

	* gnumeric.spec.in (Requires): Updated the requirements for
	Gnumeric here.

2000-03-26  Miguel de Icaza  <miguel@gnu.org>

	* src/dialogs/Makefile.am (glade_msgs): Added a new missing file.
	Guys.  If you add a .glade file, PLEASE make sure you add the
	.glade.h file.  This is just embarassing to see all of these
	releases done just because nobody ever cares to add the files
	properly. 

2000-03-27  Nick Lamb  <njl195@zepler.org.uk>

	* configure.in: Consistency, consistency, consistency
	When checking for gnome-print 0.14, say 0.14 not 0.13

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* src/file.c (can_try_save_to): Brown paper bag error.

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* src/file.c (wants_to_overwrite): New function. True if user
	wants to overwrite.
	(can_try_save_to): New function. True if it makes sense to try
	saving.
	(do_save_as): New function. Moved out of workbook_save_as. Handle
	the selection made in the save as dialog.

	* src/workbook.c (sheet_action_delete_sheet): Set initial focus.

2000-03-26  Karl EICHWALDER  <ke@suse.de>

	* src/workbook.c: A little bit more text.

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* configure.in: Make Bonobo version require Bonobo >= 0.9. We have
	in fact been requiring CVS Bonobo for a while, now there is a
	released version we can depend on.

2000-03-26  Miguel de Icaza  <miguel@gnu.org>

	* src/ranges.c (range_parse): Better parser, now it correctly
	parses "A1+sum(A3:a4)" as a1, not as a1:a4.
	(range_parse): Eliminates also a memory leak.

2000-03-26  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) :
	  default size is 10 points.
	(workbook_create_format_toolbar) : Switch the size selector over to
	  gtk-combo-text too.

2000-03-26  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/plugin-util.c, src/plugin-util.h: New, ment for reducing
	some duplicate code in the plugins and provide better error
	reporting. modified the ff-csv plugin to use the new functions.
	
2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags.

	* src/workbook.c : Add undo/redo elements.

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	For Dom Lachowicz <cinamod@hotmail.com>

	* src/plugin.[ch] (plugin_data_get_size,
	  plugin_data_last_modified) : New functions.
	(plugin_load): updated

	* src/dialogs/dialog-plugin-manager.c
	(dialog-plugin-manager-impl, refresh-right-frame): updated.

	* src/dialogs/plugin-manager.glade,
	  src/dialogs/plugin-manager.glade.h
	  New layout, enabled word-wrap in description,
	  Other aesthetic changes

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c : Add undo/redo elements to the toolbar.

	* src/workbook-format-toolbar.c (change_font_in_selection_cmd) :
	  Switch to the gnumeric gtk-combo-text.
	(workbook_create_format_toolbar) : Pass in a default colour.
	(fore_color_changed) : Handle the NULL indicator as auto colour.
	  Hard code to black for now.
	(back_color_changed) : Handle the NULL indicator as no background.

2000-03-25  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/workbook-attr.glade: Deflickerize + set initial focus.

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (print_page) : Call setup_rotation unconditionally it
	  will decide when to rotate.  Honour the repeat_{top,left}.use flags.
	(print_page) : Add a clip path around the entire page to ensure that spans
	  get clipped at the margin.
	(print_job_info_init_sheet) : Use the repeat_{top,left}.use flags.

	* src/commands.c (cmd_ins_del_row_col_{redo,undo}) : Use sheet_update.

	* src/sheet.c (sheet_insert_{cols,rows}, sheet_delete_{cols,rows}) :
	  Set the visibility notification flags.
	(sheet_restore_row_col_sizes) : Ditto.

2000-03-25  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf.h, src/dialogs/dialog-stf.c : Added a
	stf_dialog prefix to all functions and changed dialog_stf into
	stf_dialog, this makes more sense as the same naming convention
	was used in src/stf-parse.[ch] and src/dialogs/dialog-stf-preview.[ch]
	
	* src/dialogs/dialog-stf-main-page.c : idem
	* src/dialogs/dialog-stf-csv-page.c : idem
	* src/dialogs/dialog-stf-fixed-page.c : idem
	* src/dialogs/dialog-stf-format-page.c : idem
	* src/dialogs/dialog-stf-preview.c : idem

	* src/stf.c : Uses the renamed functions
	* src/clipboard.c : idem
	
2000-03-24  Miguel de Icaza  <miguel@helixcode.com>

	* src/file.c (workbook_import): Destroy the toplevel not the
	hack_dialog. 

	* src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): Quit
	the event loop.  Should fix #cd 7782

	* src/workbook.c (workbook_set_arg): Add missing breaks to the
	argument code.

2000-03-25  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_fragment_list_clip): totaly re-write.
	(ranges_dump): implemented.

	* src/sheet-style.c (sheet_unique_cb): use frags not middle_list to
	calculate the style ( doh! ).

2000-03-24  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_overlap): kill (range_split_ranges): kill inline,
	it ruins debugging.

	* src/ranges.h (range_overlap): Macroify + add misc. documentation.

	* src/ranges.c (range_fragment_list_clip): fix frightening logic bug.

2000-03-22  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_fragment_list_clip): kill supid bug removing
	list items whilst iterating the list + add the clip region to the list
	temporarily.

2000-03-24  JP Rosevear  <jpr@arcavia.com>

	* src/dialogs/workbook-attr.glade.h: Dialog translation header.

	* src/dialogs/workbook-attr.glade: New dialog file for workbook
	attributes.

	* src/dialogs/dialog-workbook-attr.c : New file to display a
	workbook attribute dialog.
	(dialog_workbook_attr): Basic preparation.
	(attr_dialog_impl): Setup the dialog and display it.
	(attr_dialog_init_view_page): Initialize the view tab of 
	the workbook.
	(cb_show_hsb_toggled): Widget callback
	(cb_show_vsb_toggled): ditto
	(cb_show_tabs_toggled): ditto
	(cb_attr_dialog_dialog_destroy): Destroy callback.
	(cb_attr_dialog_dialog_apply): Apply callback - this needs to be
	more sophisticated and use a command for undo/redo purposes.

	* src/dialogs/Makefile.am: Setup for new files.

	* src/dialogs/dialogs.h: Define new dialog function.

	* src/workbook.c : Update menus for new workbook dialog under 
	the format menu and remove now unused callbacks.
	(workbook_get_arg): Put breaks in so we don't get
	stupid errors.
	(workbook_set_arg): ditto
	(workbook_attr_cmd): New call back for menu option

	* src/xml-io.c (xml_arg_set): Add more types for conversion.
	(xml_arg_get): Add more types for conversion.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	* src/expr.c (cellref_relocate): Simply code to implement correct logic.

	* src/main.c : Add debug_excel_objects.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	From: Sebastian Wilhelmi <wilhelmi@ira.uka.de>
	* src/functions/fn-lookup.c (gnumeric_lookup): Use the bound and the
	  index for the destination rather than the source.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_left_col): 
	Fix cut-n-paste-o.

2000-03-24  Tuomas Kuosmanen  <tigert@gimp.org>

	* src/pixmaps/function_selector.xpm: New pixmap for Function
	Selection Wizard 
	
	* src/pixmaps/sort-ascending.xpm 
	* src/pixmaps/sort-descending.xpm: New versions of the sort icons,
	we dont sort by numeric value so we dont want to use 123 in the icon
	either. Instead we use A..Z and Z..A.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_set_text_simple): Do NOT set the entered text
	when importing non string values.  There are still gotchas
	elsewhere. eg enter 90 format to current and edit box shows
	something that we can not parse.

2000-04-23  Morten Welinder  <terra@diku.dk>

	* src/history.c (history_menu_remove_items): Don't crash.

	* src/regression.c (general_linear_regression): Don't do
 	extra_stat in case of error.
	(general_linear_regression): Zero extra_stat.

	* src/history.c (history_menu_remove_items): Warning killer.

	* src/item-edit.c (scan_at): Fix usual signed/unsigned problem.

	* src/stf-parse.c (stf_parse_csv_is_separator): Ditto.
	(stf_parse_is_valid_data): Ditto.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/main.h : include popt-gnome.h rather than popt.h.  We may
	eventually need gnome-popt.h, but lets keep this simple for now.
	Does anyone know the right way to do this ?

	* src/cell.c (cell_calculate_span) : Add CENTER_ACROSS_SELECTION.
	(cell_set_text_simple) : Begin transition to checking
	format of current cell for match.  No real change yet.

	* idl/Gnumeric.idl : Add CENTER_ACROSS_SELECTION.
	* src/cell-draw.c (cell_draw) : Ditto.
	* src/print-cell.c (print_cell) : Ditto.
	* src/corba-sheet.c (Sheet_cell_set_alignment) : Ditto.
	(Sheet_cell_get_alignment) : Ditto.
	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) : Ditto.
	* src/dialogs/cell-format.glade : Ditto, reorganize alignment page.

	* src/format.c : Move definition of _StyleFormatEntry from mstyle.h.

	* src/number-match.c (format_create_regexp) : Extend to support
	currency names.

	* src/item-grid.c (item_grid_draw_border) : minor optimization for
	non-border case.

2000-03-23  Miguel de Icaza  <miguel@helixcode.com>

	* src/gnumeric-sheet.c (start_cell_selection_at): Disable feedback
	when the anting cursor is created
	(gnumeric_sheet_stop_cell_selection): Enable feedback when the
	anting cursor is destroyed.

	* src/item-edit.c (scan_for_range): Enable feedback only if we are
	allowed to.
	(item_edit_enable_highlight, item_edit_disable_highlight): New
	functions to control the feedback display.

2000-03-21  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (impl_vector_set_notify): Duplicate the
	object here.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_{left_col, top_row}):
	Replace scrolling.

	* src/item-grid.c (item_grid_find_row): Add some old fixes that went
	into find_col but not find_row ??

2000-03-22  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_cache_flush): add 'all' flag to
	signify a hard vs. soft flush, freeze hash when it is a nice size. Do
	not bother destroying the hash table.
	(sheet_mstyle_compute_from_list): kill debug in inner loop + add another
	short circuit. (calc_grown_range): Spread the range better near the
	edges.

	* src/mstyle.c (mstyle_do_merge): simplify + add vital short circuit for
	factor of 2 speedup on blank regions. (mstyle_get_*): kill redundant NULL
	preconditions.

	* src/main.c (gnumeric_main): add the tests again.

2000-03-18  Michael Meeks  <michael@helixcode.com>

	* src/mstyle.c (mstyle_do_merge): Use pointer increment to kill mul in
	inner loop. (mstyle_element_ref): take a pointer.

	* src/sheet-style.c: Clean internals a lot, kill the nasty dereference
	macros, hash on CellPos to decrease memory usage.

	* src/dialogs/dialog-cell-format.c (draw_format_preview): Clip the
	sample down if it is a massive string to stop the dialog from becoming
	stupidly wide.

2000-03-23  Jon K Hellan  <hellan@acm.org>

	* src/stf.c (stf_read_workbook): Set save info, preferred format
	XML, level manual.

	* src/file.[ch] (file_format_register_save): Add "level" parameter.

	* src/file.h: (FileFormatLevel): Add the enum. At the best level,
	the save command saves to the given name without asking.  At the
	worst level, no name has been assigned.
	
	* src/file.c (_FileSaver): Add "level" member.
	(file_format_unregister_save): Set level to manual for workbooks
	which had this saver set.
	(cb_unregister_save): New function. Helper for
	file_format_unregister_save. 
	(workbook_read): Set save info. Tag as new.
	(workbook_import): No longer set needs_name - importer will have
	set file_format_level.
	(fs_set_filename): New function: Set default filename in the file
	selection dialog.
	(workbook_save_as): Use fs_set_filename. Set save info.
	(workbook_save): Punt to workbook_save_as if file_format_level <
	AUTO. Save using wb->file_save_fn.

	* src/workbook.[ch] (workbook_set_saveinfo): New function. Set
	filename, level and save function, but do nothing if we already
	have info at a higher level.
	
	* src/workbook.h (struct _Workbook): Replace needs_name with
	file_format_level. Add file_save_fn member. Include file.h
	(workbook_set_saveinfo): Add "level" parameter.

	* src/workbook.c (workbook_do_destroy): Insert in history list
	when file format level > "new". We used to test needs_name.
	(workbook_is_pristine): Test file_format_level > "new" instead of
	needs_name true.
	(workbook_new): Tag workbook as new. Set save function.
	(workbook_set_filename): needs_name has no longer exists. Don't
	set it.

	* src/xml-io.c (gnumeric_xml_read_workbook): Set save info. Tag as
	AUTO.
	(xml_init): Tag saver as AUTO.

	* src/corba-workbook.c (Workbook_set_filename): Add FIXME comment.

	* src/history.c (history_item_label): Strip extension only when it
	is ".gnumeric".

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-lookup.c (gnumeric_index) : The current
	  implementation supports arrays and references. It does not support
	  the special case of index 0,0 returning the entire range, nor does
	  it support the second syntax (ref, row, col, area_num).
	(gnumeric_match) : Document that only match_type == 0 works.

2000-03-22  JP Rosevear  <jpr@arcavia.com>

	* src/xml-io.c (xml_arg_set): Set an arg value based on type and
	contents in the xml tree.
	(xml_arg_get): Get a string representing an arg's value.
	(xml_write_attributes): Create the list of attributes.
	(xml_free_arg_list): Function to free the args in a GList.
	(xml_read_attributes): Read the attributes back in from the 
	xml tree.
	(xml_workbook_read): Read the workbook attributes in and set them.
	(xml_workbook_write): Write out the workbook attributes.

	* src/workbook.c (workbook_class_init): Add three args, the h & v 
	scrollbars and the notebook tab.  Override parent set_arg and get_arg
	functions.
	(workbook_set_arg): New function to handle arg setting.
	(workbook_get_arg): New function to handle getting args.
	(workbook_set_attributev): Set a whole list of args for the object.
	(workbook_get_attributev): Return an array of args for the workbook.

	* src/workbook.c (sort_cmd): Sort all the columns in order so 
	that ties are broken nicely (pointed out by meeks)

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/plugin.c (plugin_load) : Typo.

	* src/workbook.c (recalc_cmd) : Bug7739.

2000-03-22  Chema Celorio  <chema@celorio.com>

	* idl/.cvsignore: Created .cvsignore added Makefiles

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_reposition_comments) : Merged from
	  sheet_reposition_comments_from_row and
	  sheet_reposition_comments_from_col.

	(sheet_update) : New function.  Use the new update flags from
	  SheetPrivate that are set in the col/row resize functions
	  to do delayed resizing and updates.  This allows the resizing to be
	  batched for an entire logical operation.
	(sheet_{col,row}_set_size_pixels) : Set the update flags.

	* src/workbook-cmd-format.c (workbook_cmd_format_{row,column}_auto_fit) : No need to
	  worry about redraws.  Use sheet_update.
	(workbook_cmd_format_{row_height,column_width}) : Ditto.

	* src/sheet-view.c (sheet_view_redraw_cell_region) : No need to
	  recalculate the spans,  Use the pre-calculated versions.
	(sheet_view_col_size_changed) : Use sheet_update.
	(sheet_view_row_size_changed) : Ditto.

	* src/sheet-style.c (re_dimension_cells_cb) : Use cell_calc_dimensions.
	(sheet_cells_update) : No need to redraw per cell and guess the bound.
	  It is simpler and more correct to calc dimension per cell, and
	  redraw the region BEFORE and AFTER to handle spans.

	* src/cell.[ch] (cell_style_changed) : Delete.

	* src/cell-draw.c (cell_draw) : continue syncing with print code.
	  Be even more careful in the possible presence of style bugs.
	* src/item-grid.c (item_grid_draw) : Ditto.
	* src/print-cell.c (print_cell) : Ditto.

	* src/analysis-tools.c (correlation_tool) : Use sheet_update.
	(covariance_tool) : Ditto.
	(ttest_paired_tool) : Ditto.
	(ttest_eq_var_tool) : Ditto.
	(ttest_neq_var_tool) : Ditto.
	(ftest_tool) : Ditto.

2000-03-21  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-private.h : Add status flags to accumulate state changes
	  for later redraw.

	* src/commands.c (cmd_format_redo) : Use sheet_update
	  in case the row/col sizes changed due to font size changes.
	(cmd_format_undo) : Ditto.

	* src/widgets/gtk-combo-box.c (cb_state_change) : Only pseudo-prelight
	  the display when over the arrow, not vice versa.
	(gtk_combo_box_init) : Ditto.
	(gtk_combo_box_set_display) : Ditto.

	* src/sheet.c (sheet_row_get_distance_pts) : Enable reversed indicies.
	(sheet_col_get_distance_pts) : Ditto.

	* src/plugin.c (plugin_load) : Add more version checking to ensure
	  that very old plugins that do not check their versions can not be
	  loaded.

2000-03-20  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : When
	  forcing a scroll do a hard reset of the visible ranges.
	(gnumeric_sheet_compute_visible_ranges) : Ditto.
	(gnumeric_sheet_set_top_row) : Remove extraneous scroll.
	(gnumeric_sheet_set_left_col) : Remove extraneous scroll.

2000-03-21  Miguel de Icaza  <miguel@helixcode.com>

	* src/utils.c (parse_cell_name_or_range): Allow for parsing to be
	non-strict. 

	* src/ranges.c (range_parse): Allow for parsing to be non-strict.

	* src/utils.c (parse_cell_name): Allow for parsing to be non-strict.

	* Makefile.am (SUBDIRS): Fix list of directories.

	* src/item-cursor.c (item_cursor_set_arg): Added optional color
	handling to item-cursor.

2000-03-20  Miguel de Icaza  <miguel@helixcode.com>

	* src/main.c (gnumeric_main): Removed broken style test.

	* src/ranges.c (range_parse): Update the range_parse API

	* src/print-info.c (load_range): Update API.

	* src/utils.c (parse_cell_name): Handle references that contain an
	absolute reference.

2000-03-19  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_move_range) : Move the styles before the contents
	  so that spans are calculated correctly.

	* src/workbook.c (workbook_start_editing_at_cursor) : Redraw the
	  edit cell so that we handle spans correctly.
	(workbook_finish_editing) : Ditto.

	* src/item-grid.c (item_grid_draw) : Ignore spans while editing a
	  cell.

2000-03-16  Nick Lamb  <njl195@zepler.org.uk>

	* configure.in: Fix typo (we need 0.13, not 0.11 of gnome-print)

2000-03-16  Michael Meeks  <michael@helixcode.com>

	* src/test.[ch]: Create to help profiling.

	* src/main.c: Add style testing.

2000-03-14  Michael Meeks  <michael@helixcode.com>

	* src/xml-io.c (xml_write_style): comment out the default checks on
	style colors, We may want these back when we have sheet default colors.

2000-03-13  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): fix.

2000-03-18   JP Rosevear <jpr@arcavia.com>

	* src/pixmaps: Added sort-ascend.xpm, sort-descend.xpm, 
	insert-bonobo-component.xpm

	* src/pixmaps.h: Include new xpms.

	* src/workbook.c (sort_cmd): Moved from workbook-format-toolbar.c
	(sort_ascend_cmd): ditto
	(sort_descend_cmd): ditto
	
	* src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Duh, 
	pass the parameters in the correct order.

	* src/workbook-format-toolbar.c: Move sort commands to workbook.c
	and put icons into command toolbar.

2000-03-17  Jon K Hellan  <hellan@acm.org>

	* src/sheet-object.c (create_object, sheet_set_mode_type_full):
	Make it compile and link without Bonobo.

2000-03-13  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (sheet_vectors_cell_changed): Change NULL to
	CORBA_OBJECT_NIL 

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file):
	Use the new IDL:Bonobo interface name, not the IDL:GNOME one
	(sheet_object_bonobo_load_from_file): ditto.
	(sheet_object_bonobo_load): ditto.

	* src/sheet-object.c (sheet_set_mode_type): Temporary hack to get
	the graphics working under 1:20 hours when my battery runs out of
	power. 

	* src/sheet-object-container.c
	(sheet_object_container_new_from_goadid): Renamed from
	sheet_object_container_new

	(sheet_object_container_new): Now takes a BonoboObjectClient as an
	argument. 

2000-03-12  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (impl_vector_get_numbers): Increment idx
	here;  
	(impl_vector_get_vec_values): ditto.
	(impl_vector_get_numbers): Use the proper values for the columns
	row. 
	(impl_vector_get_vec_values): ditto.

	* src/clipboard.c (x_clipboard_bind_workbook): Fix memory leak.
	The problem is worse, because the warning comment there was
	completely bogus.

2000-03-14  Jon K Hellan  <hellan@acm.org>

	* src/workbook-view.c (workbook_view_history_update,
	workbook_view_history_shrink): ): We introduce numbers in front of
	the the history file names for the following reasons:
	1. Bonobo won't let you make 2 entries with the same label in the
	   same menu. But that's what happens if you e.g. access
	   worksheets with the same name from 2 different directories.
	2. The numbers are useful accelerators.  
	This means that when a new item is added, all existing entries get
	a new number. We access them via the label, so we have to remove
	all the old list entries and make a new list.

	history_menu_flush is called to remove the old list,
	history_menu_update to build the new.
	
	* src/history.c
	(history_item_label): Add accel_number parameter, make label from
	accel_number and basename. Rename basename variable to label.
	(history_menu_item_create): Add accel_number parameter. Use it
	when calling history_item_label.
	(history_menu_locate_separator): New static function. Locate the
	menu and position of history separator. They may not yet exist.
	(history_menu_insert_separator): New static function. Insert the
	history separator. Return its position and the menu shell.
	(history_menu_insert_items): New static function. Add the history
	items to the file menu.
	(history_menu_remove_items): New static function. Remove the
	history items from the file menu.
	(history_menu_setup): Split into lots of twisty little functions,
	all different.
	(history_menu_fill): New exported function. Make the menus for
	the workbooks show the new history list.
	(history_menu_flush): New exported function. Remove the history
	list from the file menus of all workbooks.
	(history_insert_menu_item): Remove.
	(history_remove_menu_item): Remove.
	
	* src/history.h
	(history_menu_fill, history_menu_flush): Declare.
	(history_insert_menu_item, history_remove_menu_item): Remove.

2000-03-13  Jody Goldberg <jgoldberg@home.com>

	* wizards/graphics/Makefile.am : Include the idl build dir rather than
	  src dir.  We are interested in the resulting code not the original
	  idl.

2000-03-13  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): Silence warning.

2000-03-13  Jody Goldberg <jgoldberg@home.com>

	* Makefile.am : Make wizards and graph subdirs contingent on bonobo.
	  distribute all the ChangeLogs.

2000-03-12  JP Rosevear  <jpr@arcavia.com>

	* src/dialogs/dialog-cell-sort.c : Remove clip_range_to_finite.
	(dialog_cell_sort): Use range_clip_to_finite.

	* src/ranges.c (range_clip_to_finite): Make the range finite using
	sheet_get_extent if its infinite.

	* src/ranges.h: Prototype range_clip_to_finite.

	* src/workbook-format-toolbar.c (sort_cmd): Sort the current 
	selection if simple.
	(sort_ascend_cmd): Call sort_cmd with asc=0.
	(sort_descend_cmd): Call sort_cmd with asc=1.

	* src/workbook-format-toolbar.c : Add sort ascend/descend buttons.
	(sort_ascend_cmd): New toolbar callback function to sort 
	selection in ascending order. 
	(sort_descend_cmd): New toolbar callback function to sort
	selection in descending order.
	

2000-03-12  JP Rosevear  <jpr@arcavia.com>

	* src/Makefile.am: Reflect new location of idl.

2000-03-12  Jody Goldberg <jgoldberg@home.com>

	* src/item-cursor.c (item_cursor_selection_event) : Be more careful
	  handling selecting the cursor from the external or internal edge
	  this will avoid what seems like an off by one error. Thanks Jacob.

2000-03-11  Miguel de Icaza  <miguel@helixcode.com>

	* src/Makefile.am: Cleaned Makefile.

	* graph/Makefile.am: ditto.
	
	* graph/sample.c: fix
	
	* idl/Makefile.am, idl/Graph.idl, idl/Gnumeric.idl: Moved IDL
	files here, and create the libGnumeric.a and libGraph.a libraries
	here. 

2000-03-11  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_setup_edit_area) : Use sensitize rather
	  than show/hide for the ok/cancel buttons.  Return wizard back
	  to end of list.
	(workbook_new) : Revert last change, no longer necessary.
	(workbook_start_editing_at_cursor) : Sensitize the ok/cancel edit buttons.
	(workbook_finish_editing) : desensitize them.

2000-03-11  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (cb_editline_focus_in) : When the edit lined receives
	  focus start editing.
	(accept_input) : No need to force edit mode we should already be in
	  edit mode.
	(workbook_setup_edit_area) : Move the wizard button to the begining of
	  the list and store the ok and cancel buttons in the Private section.
	  Hook cb_editline_focus_in to focus-in.
	(workbook_new) : After show_all, we need to hide the ok/cancel edit
	  buttons.  We start out not editing.
	(workbook_start_editing_at_cursor) : Show the ok/cancel edit buttons.
	(workbook_finish_editing) : Hide them.

2000-03-11  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): #ifdef out the fix for now.

2000-03-11  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): Work around guile / gnorba problem: gnorba
	closes stdin, and scm_boot_guile segfaults if any of the stdio
	streams are missing. We map the missing streams to /dev/null.

2000-03-10 Alastair McKinstry <mckinstry@computer.org>

	* configure.in (ALL_LINGUAS): Added ga (Irish) translation.

	 * gnumeric.desktop: Added Irish (ga) translation.

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

	* src/func.c (tokenized_help_new) : Constness.

	* src/widgets/gtk-combo-box.c (cb_state_change) : New function to keep
	  the state of the combo display button and the combo arrow in sync.
	(gtk_combo_box_init) : Connect cb_state_change to the arrow.
	(gtk_combo_box_set_display) : Ditto for the display widget.

	* src/sheet.c (sheet_set_zoom_factor) : Bound the factor at 10% and 500%

	* src/workbook.c (change_zoom_in_current_sheet_cb) :
	  call change_displayed_zoom_cb to adjust the combo to contain the
	(workbook_focus_current_sheet) : Only emit signal if the sheet
	  changed.

2000-03-08  Jody Goldberg <jgoldberg@home.com>

	* src/collect.c (callback_function_collect) : Treat arrays and ranges
	  as errors.

	* src/format.c (format_value) : formating a range returns a
	  #VALUE! message.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
	  Use the workbook flags, and delete the icky globals.
	(start_cell_selection_at) : Hide the std cursor when a cell selection
	  cursor is created.
	(gnumeric_sheet_stop_cell_selection) : Restore the std cursor.

2000-03-07  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (accept_input) : Use workbook_finish_editing.
	(cancel_input) : Ditto.
	(do_focus_sheet) : Support range selection across spreadsheets.
	(workbook_get_sheet_position) : Fix and document.
	(workbook_move_sheet) : Fix.
	(workbook_focus_sheet) : Handle errors cleanly.
	(wb_edit_key_pressed) : Improve F4 handling.
	(wizard_input) : Begin non-modal function wizard.  NOT FINSIHED.
	(workbook_start_editing_at_cursor) : transfered from
	  sheet_start_editing_at_cursor.
	(workbook_finish_editing) : Distilled from sheet_{accept,cancel}_pending_input.
	(Workbook) : Add editing_cell, editing_sheet, editing.

	* src/sheet.c (sheet_stop_editing) : Delete.
	(sheet_accept_pending_input) : Merge into workbook_finish_editing.
	(sheet_cancel_pending_input) : Ditto.
	(sheet_start_editing_at_cursor) :
	(sheet_create_edit_cursor) : New function.
	(sheet_destroy_edit_cursor) : New function.
	(sheet_destroy_cell_select_cursor) :  New function.
	(Sheet) : Delete editing and editing_cell.

	* src/selection.c (sheet_selection_changed_hook) : Make public.  This
	  should eventually move but I'm not sure where.  It is used for more
	  than just changes in the selection in the current sheet.  It must
	  also be called when the sheet changes.  What it REALLY does it to
	  sync the shared workbook state with the current sheet's selection.

	* src/item-cursor.c (item_cursor_init) : Handle change from
	  sheet_accept_pending_input -> workbook_finish_editing.
	* src/item-grid.c (item_grid_button_1) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Edit moved
	  from sheet -> workbook.
	(selection_insert_selection_string) : Extend to support
	  abs/rel refs and intersheet-refs.
	(gnumeric_sheet_stop_cell_selection) : Add clear_string argument
	  to optionally remove the selection range.
	(gnumeric_sheet_key_mode_sheet) : Adjust to movement of editing flag
	  from sheet -> workbook.  Be careful to use the original sheet when
	  moving rather than the current sheet.  Support F4 while editing.

	* src/cell-draw.c (cell_draw) : editing_cell has moved from sheet to
	  workbook.  Fix font ref leak when drawing the edit cell.

	* src/dialogs/dialog-function-wizard.c : Begin transition to being
	  non-modal.  NOT FINISHED.

2000-03-10  Michael Meeks  <michael@helixcode.com>

	* src/Makefile.am (sheet-vector.h): make it depend on Gnumeric.h
	not Vector.h

2000-03-09  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object.c (sheet_set_mode_type): look for the
	IDL:Bonobo/ interfaces not stale IDL:GNOME ones.

2000-03-09  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook.c (command_context_corba): Really handle wb
	== NULL.

2000-03-08  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook-factory.c (WorkbookFactory_supports): 
	(GNOME_Gnumeric_WorkbookFactory__create): 
	Bonobo::GenericFactory::supports has been renamed to
	Bonobo::GenericFactory::manufactures. Replace supports with
	manufactures.

2000-03-08  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook.c (command_context_corba): Handle wb =
	NULL. It would segfault.

	* src/Gnumeric.idl: Fixed places where a name at an inner scope
	differs only in case from a name at an outer scope. This breaks
	the rule that identifiers cannot differ only in case, because an
	identifier from a surrounding scope is introduced into a scope if
	it is used in that scope. The solution is to scope the outer
	identifiers explicitly:
	(GNOME::Gnumeric::Sheet::cell_set_value): Change Value to
	Gnumeric::Value. 
	(GNOME::Gnumeric::Workbook::parse): Change Sheet to
	Gnumeric::Sheet.
	
	* src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Set
	word wrap.

	* src/dialogs/dialog-summary.c (dialog_summary_update): Ditto.

2000-03-08  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/sheet.c (sheet_destroy): Fixed a leak (in
 	sheet->solver_parameters.input_entry_str).

2000-03-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/Vector.idl: Move the vector interfaces here.
	
	* src/Makefile.am: Arrange for compilation linking of Vector code.

2000-03-07  Almer. S. Tigelaar.  <almer1@dds.nl>

	Gnumeric instances can now eXchange data in a gnumeric
	XML clipboard format. This way style information and such
	can be preserved when copying/cutting from one instance
	to another.
	
	* src/xml-io.c, src/xml-io.h :
	Added some functions for the gnumeric clipboard xml format.
	(gnumeric_xml_read_selection_clipboard) : 
	For reading xml data from the clipboard 
	(gnumeric_xml_write_selection_clipboard) : 
	For writing xml data to the clipboard 
	(xml_read_selection_clipboard) : 
	For reading xml data from the clipboard, does the dirty work
	(xml_write_selection_clipboard) : 
	For writing xml data to the clipboard, does the dirty work
	(xml_read_cell_copy) : 
	Similar to xml_read_cell, but returns a CellCopy* instead 
	of a Cell*
	(xml_write_cell_and_position) : 
	Similar to old xml_write_cell but allows you to set the col and 
	row manually
	(xml_write_cell) :
	Calls upon xml_write_cell_and_position, but takes the col and row 
	from the ColRowInfo members of type Cell.
	(xml_read_style_region_ex) :
	Read the xml data and returns an mstyle and a range. Does 
	_NOT_ attach this to a sheet.
	(xml_read_style_region) :
	calls upon xml_read_style_region_ex and attaches the mstyle 
	to a sheet

	* src/cell.h
	New cellcopy type added CELL_COPY_TYPE_AND_COMMENT, if a
	cellcopy is of this type the comments will be put in 
	cellcopy.comment
	
	* src/clipboard.c
	(paste_cell_flags) :
	added support for the new CELL_COPY_TYPE_TEXT_AND_COMMENT copy type
	(x_selection_received) :
	Modified so it support the TARGETS and GNUMERIC XML atoms and renders
	the gnumeric clipboard xml format
	(x_selection_handler) :
	Now it can render theselection to ASCII text and gnumeric clipboard xml 
	format.
	(x_clipboard_bind_workbook) :
	Registers the new GNUMERIC XML atom that enables other instances of
	gnumeric to see that we are also gnumeric and can render the clipboard
	data in a the special gnumeric xml clipboard format
	(clipboard_release) :
	Handles new CELL_COPY_TYPE_TEXT_AND_COMMENT type

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/dialogs/sheet-order.glade,
	  src/dialogs/sheet-order.glade.h,
	  src/dialogs/dialog-sheet-order.c: Created.

	* src/dialogs/Makefile.am: Added three above files to project

	* src/dialogs/dialogs.h (dialog_sheet_order): added new function
	
	* src/workbook.c (sheet_order_cmd): added
	(workbook_get_sheet_position, workbook_delete_sheet),
	(workbook_move_sheet, workbook_focus_sheet, wb_edit_key_pressed): updated.

	* src/workbook.h (workbook_delete_sheet, workbook_move_sheet): added

2000-03-06  Michael Meeks  <michael@helixcode.com>

	* src/Gnumeric.idl: add nasty mess copied from Bonobo.

	* src/Makefile.am ($(GNUMERIC_CORBA_GENERATED)): Add -D__GNUMERIC_COMPILE
	
2000-03-05  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* doc/C/solver.sgml, doc/C/images/solver-0[1,2,3,4,5].jpg: Added
	documentation of the Solver tool.

2000-03-05  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c : Enable the underline and
	  strikethrough elements. TODO : redo the preview for the font
	  tab to support underlining and friends.

	* src/dialogs/cell-format.glade : Rename the underline combo and
	  strikethrough button.

	* src/xml-io.c (xml_write_style) : Add strikethrough.
	(xml_read_style) : Ditto.

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Only show
	  the underline button for single underlines.

	* src/sheet-view.[ch] : rename select_all -> select_all_btn.
	  remove unused element.

	* src/sheet-object.h : Remove silly self inclusion.

	* src/print-cell.c : Support underlining and strikethrough.
	  Move even closer into sync with drawing code.

	* src/mstyle.c : Add strikethrough and cleanup includes.

	* src/main.h : Add include for popt.h.

	* src/item-grid.c (item_grid_draw_border) : No more need for BOTTOM or
	  RIGHT.
	(item_grid_draw_cell) : Delete, and merge with draw_cell.

	* src/commands.c (cmd_set_text_undo) : Use cursor_set rather than
	  cursor_move.
	* src/corba-sheet.c (Sheet_cursor_move) : Ditto.
	(gnumeric_sheet_key_mode_sheet) : Ditto.
	* src/workbook.c (workbook_parse_and_jump) : Ditto.

	* src/cell-draw.c : Clean includes, add support for strikethrough.

2000-03-04  Morten Welinder  <terra@diku.dk>

	* src/sheet.c (r1c1_get_item): Fix signed/unsigned char confusion.

	* src/dialogs/dialog-autocorrect.c (autocorrect_tool): Massive
 	signed/unsigned char confusion.

	* src/solver-lp.c (find_name): Kill a warning.

	* src/func.c (function_get_category): Kill a warning.

	* src/dialogs/dialog-plugin-manager.c (refresh_right_frame): Kill
 	a warning.

2000-03-03  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : Correct off by one error for
	  right alignment.

	* src/print-cell.c (print_cell_text) : Ditto.
	(print_cell_range) : Don't forget to increment when dealing with
	  hidden cols/rows.

	* src/item-grid.c (item_grid_draw) : Ditto.

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/dialogs/dialog-plugin-manager.c (add_to_clist, populate_clist),
	(add_cb, remove_cb, row_cb, remove_cb, dialog_plugin_manager),
	(dialog_plugin_manager_impl): Re-implemented dialog.
	(refresh_right_frame): New function

	* src/dialogs/plugin-manager.glade: updated.
	
	* src/dialogs/plugin-manager.glade.h: updated

2000-03-03  Morten Welinder  <terra@diku.dk>

	* src/workbook.c: Fix 6760.

2000-03-03  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Updated documentation

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* src/symbol.c (symbol_is_unused): Test went wrong way.
	(symbol_remove): Ditto.

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/functions/fn-eng.c (val_to_base): Catch Div0 && invalid log()
	domain.

	* src/functions/fn-financial (gnumeric_accrint, gnumeric_recieved),
	(gnumeric_pricemat): Same

	* src/functions/fn-stat.c (gnumeric_ttest): Ditto
	
2000-03-02  Michael Meeks  <michael@helixcode.com>

	* src/sheet-vector.c (sheet_vector_corba_object_create): made static.
	(sheet_vector_new): setup sheet_vector->sheet.
	(sheet_vector_detach): re-arrange to compile.

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Updated documentation 

	* src/func.h: Make FunctionCategory.name a String * instead of
	gchar *. This was necessary to allow user defined categories.
	src/func.c (function_category_compare, function_get_category): Use
	new FunctionCategory. Fix wrong use of g_list_find_custom.
	(function_def_count_args, function_def_get_arg_type): Null pointer
	check.

	* src/dialogs/dialog-function-select.c (function_categories_fill):
	ditto.

2000-03-02  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf-format-page.c
	* src/dialogs/dialog-stf-preview.c
	* src/dialogs/dialog-stf-preview.h
	* src/dialogs/dialog-stf.c
	Modified, the format page now really display formatted
	cells in the preview.
	NOTE : A downside of this is that the cache is no longer shared
	between fixed/csv pages and format pages.

	* src/dialogs/dialog-stf.c
	(dialog_stf_editables_enter) :
	Disabled "enter activates default button" for the TextIndicator
	field on the csv page. This would case the page to cycle, which 
	is ok, but it also caused the dropdown option to pop-up on the
	next page, which is not ok.

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): In
	Yes/No dialog - set initial keyboard focus to "No". It went
	nowhere.
	(dialog_stf_set_initial_keyboard_focus): New function: Set
	keyboard focus to the an appropriate widget on the page.
	(dialog_stf_druid_page_next, dialog_stf_druid_page_previous): Set
	initial keyboard focus.
	(dialog_stf_druid_page_next): Make "Finish" button default on the the
	final page. This doesn't change behaviour, but cues the user
	visually.
	(dialog_stf_druid_page_previous): Restore "Next" button as default
	when coming from final page.
	(dialog_stf_check_escape): New function: Watch keypresses, and
	simulate "Cancel" when you see <Escape>.
	(dialog_stf_attach_page_signals): Connect dialog_stf_check_escape
	to handle <Escape>.
	(dialog_stf_editables_enter): New function: Make <Ret> in text
	fields activate default.
	(dialog_stf): Use dialog_stf_editables_enter,
	dialog_stf_set_initial_keyboard_focus. Make "next" button the
	default button. Make window a child of the workbook window. 

	* src/dialogs/dialog-stf-format-page.c (format_page_init): Make
	format list titles passive.

	* src/dialogs/dialog-stf-fixed-page.c (fixed_page_init): Make
	column list titles passive.

	* src/clipboard.c (x_selection_to_cell_region): Add command
	context to interface. Use it when calling dialog_stf.
	(x_selection_to_cell_region): 
	(x_selection_received): Call x_selection_to_cell_region with
	workbook_command_context_gui.
	
2000-03-02  Miguel de Icaza  <miguel@helixcode.com>

	* src/about.c (dialog_about): Changed to www.helixcode.com

2000-03-01  Miguel de Icaza  <miguel@helixcode.com>

	* src/parser.c (gnumeric_expr_parser): Make preconditions clear.

	* src/ranges.c: Removed gnome.h from the include list.

	* src/sheet.h: Fix comment.  The list contains SheetSelection
	structures not Ranges.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/cell-format.glade: Font pane: Make accelerator for
	underline combo work. Enable strikethrough.

2000-03-01  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (draw_text) : adjust placement of single vs double
	  underlining.

2000-03-01  Michael Meeks  <michael@helixcode.com>

	* configure.in: Bump required ver. of gnome-print.
 
	* src/style.c (style_font_get_height): hack for new gnome-print
 	to kill annoying warning.
 
2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/cell-format.glade: Enable underline in fonts pane.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/advanced-filter.glade: Added accelerators and some
	padding.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/print-cell.c (print_cell_text) : Correct the docs,
	  and add clipping code.  The resulting postscript looks reasonable
	  now.  Unfortunately preview sucks.

	* src/sheet.c (sheet_get_extent_cb) : Teach about spans.
	(sheet_get_extent) : max_used is NOT a viable bound.  It limits the
	  cells with contents, but does not reflect spanning cells.

2000-02-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_content_changed): Notify the sheet that the
	cell changed using sheet_cell_changed.

	* src/sheet-vector.c: New file.  Implements the Gnumeric:Vector
	interface (and supports non-contiguous ranges)

	* src/sheet.c (sheet_destroy): free private structure.
	(sheet_new): init private structure.
	(sheet_cell_changed): New function.
	
	* src/sheet-private.h: New file.

	* src/sheet.h: Sheet structure includes SheetPrivate field now.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-format-toolbar.c (change_selection_font) : Add underline.
	(underline_cmd) : New function.
	(workbook_format_toolbar) : Add underline.
	(workbook_feedback_set) : Ditto.

	* src/xml-io.c (xml_read_style) : Restore underline style.
	(xml_write_style) : Save the underline style.

	* src/pattern.c (gnumeric_background_set_pc) : suppress warning.
	
	* src/mstyle.[ch] : Add MSTYLE_FONT_UNDERLINE.
	(mstyle_get_font_uline) : New function.
	(mstyle_set_font_uline) : New function.

	* src/cell-draw.c (draw_text) : new function to add underlines.
	(draw_overflow) : Use draw_text.
	(cell_draw) : Ditto.

	* src/gnumeric.h : Add StyleUnderlineType.

	* gnumeric.spec.in : Update the requirements.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Clarified mapping of arrays.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/cell-print.c : Sync with logic in item-bar::draw to add borders
	  and more correctly handle spanning.

	* src/pattern.c (gnumeric_background_set_pc) : New routine cloned from
	  gnumeric_background_set_gc.

	* src/border.c (style_border_set_pc_dash) : New routine cloned from
	  style_border_set_gc_dash.
	(style_border_set_pc) : New routine cloned from style_border_set_gc.
	(style_border_print) : New routine cloned from style_border_draw.

	* src/cell-draw.c (cell_draw) : No need to return number of spans.

2000-02-29  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/sheet.c (sheet_new): Added initialization of all the Solver
 	parameters.
	
	* src/xml-io.c: Enabled the solver parameter saving again.

2000-02-29  Jon K Hellan  <hellan@acm.org>

	* src/gnumeric-util.[ch] (gnumeric_set_transient): New
	function. Make the window a child of the workbook in the command
	context, if there is one. 
	(gnumeric_editable_enters): New function. Like
	gnome_dialog_editable_enters, but not just for GnomeDialogs.

	* src/gnumeric-util.c (gnumeric_dialog_run): Remove incorrect
	comment.
	(gnumeric_dialog_show): Fix typo.

2000-02-29  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-cell-format.c: The dialog moved when "Apply"
	was pressed. This was an unavoidable consequence of using
	gnome_dialog_run. We switch to a purely callback based design -
	this module was almost there, anyway. And we can make the dialog
	modeless if we wish.
	(cb_fmt_dialog_dialog_destroy): New function. Free resources upon
	"destroy". This gets called whenever "OK" or "WM close" are
	pressed.
	(fmt_dialog_impl): Connect "destroy" handler. Replace
	gnome_dialog_run (recursive main loop) with gnumeric_dialog_show
	(no such thing). Set modal explicitly.
	(dialog_cell_format): Remove initial comment which these changes
	made incorrect. Allocate state record on heap instead of stack.
	Move resource deallocation to cb_fmt_dialog_destroy.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_new_cellrange) : Normalize ranges
	  to ensure that start <= end.

2000-02-28  Morten Welinder  <terra@diku.dk>

	* src/datetime.c (datetime_serial_raw_to_serial): Use floor.
	(datetime_serial_raw_to_seconds): Ditto.

	* src/format.c (format_number): Keep the sign when considering
 	dates.

	* src/parser.y (unregister_allocation): Handle special error
 	situation without issueing a bogus message.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/selection.c (sheet_selection_walk_step) : Fix typo.

2000-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/widgets/widget-color-combo.c (color_combo_finalize): Memory
	leak fix.  Found by Morten.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-view.c (button_select_all) : Redraw after selection.

	* src/selection.c (sheet_selection_walk_step) : Don't wrap when moving
	  the singleton cursor.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
	   - Shift tab should be horizontal.
	   - Shift/None Tab/Enter should accept pending input.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/expr.h : Move FunctionDefinition to
	* src/gnumeric.h : here.

	* src/cellspan.c (col_hash) : Use GPOINTER_TO_INT.
	(col_compare) : Ditto.
	(row_init_span) : Delete.
	(free_hash_value) : Renamed from free_hash_key.
	(cell_register_span) : Register all cells in a span, malloc a
	  CellSpanInfo to store a descriptor about the first and last cols.
	(assemble_unregister_span_list) : Delete.
	(span_remove) : New function for use by g_hash_table_foreach_remove.
	(cell_unregister_span) : Use g_hash_table_foreach_remove.
	(row_cell_get_displayed_at) : Adjust to new descriptor.
	(row_span_get) : New function.

	* src/cell.c (cell_calculate_span) : Renamed from cell_get_span.

	* src/cell-draw.c (cell_draw) : Do not draw backgrounds here.
	  Use new CellSpanInfo to avoid recomputing spans every time.
	(cell_is_blank) : Remove hack about treating empty strings as empty.

	* src/cellspan.h : New file.  Move span decls here.

	* src/item-grid.c (item_grid_draw) : Rework to correctly handle
	  backgrounds and borders for spanning columns.

2000-02-27  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_is_blank) : Update.

	* src/border.c (style_border_draw) : Make somewhat more correct.
	  Still broken for non-top-left corners.

	* src/item-grid.c (item_grid_draw_border) : Ditto.
	(item_grid_draw_background) : Rename from item_grid_paint_empty_cell
	  handle spans more cleanly.
	(item_grid_draw_cell) : handle conditionals for displaying contents here.
	  Remove all handling of backgrounds.

2000-02-28  Michael Meeks  <michael@helixcode.com>

	* src/xml-io.c (xml_sheet_read, xml_sheet_write): kill for now.

2000-02-28  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/utils.c (parse_cell_name_or_range): Bug fix.  Single cell
	constraints can be added again.

	* src/solver-lp.c (count_dimensions, make_solver_arrays,
	solver_affine_scaling, solver_branch_and_bound): The Solver can
	now solve the negative variables too.

	* src/dialogs/dialog-solver.c (dialog_solver_options): Made the
	`Assume non-negative' to be sensitive.
	
2000-02-28  Morten Welinder  <terra@diku.dk>

	* src/format.c (render_number): Move calculation of thousand's sep
 	outside the loop.  Avoid calculations way beyond double's
 	precision.

2000-02-24  Dom Lachowicz <dominicl@seas.upenn.edu>
 
 	* src/functions/fn-eng.c (convert): catch DIV0
 
 	* src/functions/fn-financial.c (gnumeric_accrint), (gnumeric_accrintm),
 	(gnumeric_intrate), (gnumeric_disc), (gnumeric_db),
 	(gnumeric_ddb), (gnumeric_mirr), (gnumeric_pv): More errors.
 
 	* src/function/fn-math.c (gnumeric_quotient): ditto.
 
 	* src/function/fn-stat.c (callback_function_stat),
	(callback_function_chitest_theoretical, gnumeric_betadist),
	(gnumeric_confidence, gnumeric_ftest): ditto.
 	
2000-02-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/solver-lp.c, src/dialogs/dialog-solver.c: Constraints can
	now also be cell ranges.
	(write_constraint_str): Wrote.

	* src/utils.[ch] (parse_cell_name_or_range): Wrote.

	* src/xml-io.c: Related changes.
	
2000-02-26  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: New file. Documents the Python plugin.

2000-02-26  Jody Goldberg <jgoldberg@home.com>

	* src/formats.c (CurrencySymbol) : Add symbols and names to
	  translation list.

	* src/workbook.c (insert_object_cmd) : Bug 6499.
	  Move Define name to the insert menu to avoid conflict.

2000-02-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/xml-io.c (xml_read_solver): New. (xml_write_solver): New.
	Added saving and loading of the Solver parameters.  The parameters
	are per sheet.

	* src/dialogs/dialog-solver.c: A few bug fixes and improvements.
	
2000-02-22  Jody Goldberg <jgoldberg@home.com>

        * src/workbook-format-toolbar.c
        (workbook_format_toolbutton_update) : new.
        (workbook_format_halign_feedback_set) : new
        (workbook_feedback_set) : Use the new functions.
        (set_selection_halign) : ditto.

2000-02-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/mathfunc.[ch]: Implemented Branch-And-Bound algorithm for
	integer programming.

	* src/solver-lp.c (count_dimensions): Wrote.
	(make_solver_arrays): Wrote.
	(make_int_array): Wrote.
	(solver_branch_and_bound): Wrote.  Solver can now handle the
	`Int' constraints too.
	(solver_lp): Wrote.

	* src/solver.h: Added prototype.

	* src/dialogs/dialog-solver.c: Related changes.

2000-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/Makefile.am (-DGNUMERIC_GLADEDIR): Removed iconsdir if it is
	not going to get used.

2000-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/widgets/widget-color-combo.c (color_combo_construct): Fix
	indentation.

	* src/sheet-object-container.c (sheet_object_container_realize):
	OOPS.  Add uih back.

	* Fresh ChangeLog.

