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

        * Release 0.57

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

	* src/dialogs/Makefile.am (INCLUDES) : Be sure to include top_srcdir
	  to get access to the idl directory.

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

	* src/workbook-view.c (workbook_view_history_update): Add
	rudimentary filename canonicalization, so that we do not save
	relative file names to history list.

	* src/history.c (file_history_cmd): Adapt to new bonobo UI API.
	(history_menu_insert_items): Complete adaptation to new Bonobo UI
	API.
	(history_menu_remove_items): Ditto. Also: Disentangle Bonobo and
	non Bonobo cases.

	* src/gnumeric.xml: Move FileHistory placeholder in front of
	FileClose.

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

	* configure.in (gnumeric_executable): look for bonobo >= 0.20

	* src/workbook.c (setup_progress_bar): upd.

	* src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui): upd.

	* src/workbook.c s/BONOBO_UI_VERB/BONOBO_UI_UNSAFE_VERB/

	* src/history.c (history_menu_insert_items): upd.
	(history_menu_remove_items): upd.

2000-10-05  Christophe Merlet  <christophe@merlet.net>

	* gnumeric.desktop.in: updated french strings.

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

	* src/workbook-format-toolbar.c (change_selection_font) : Rather than
	  using the toggle to tell us the state use the current format.  This
	  lets us share code with the bonobo version which has no widget.

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

	* src/print.c (print_range_right_then_down): Fix typo. usable_x,
	not usable_y, should be used when computing col_count.

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

	* gnumeric.oafinfo : Fix typo with missing 'GNOME'

	* src/workbook.c (workbook_new) : no need for the vbox anymore.
	  Fix the order of status area initialization in the non-bonobo case.

	* src/workbook-private.h : remove the vbox

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

	* src/command-context-gui.c (ccg_set_progress): Fix spelling of
	gnome_appbar_set_progress. The typo "progess" broke non-bonobo
	build:

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

	* src/gnumeric.xml: set bandnumbers to get order correct.

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

	* src/workbook.c (setup_progress_bar): impl.
	(workbook_new): re-order workbook_setup_status_area
	(workbook_setup_status_area): upd.
	(workbook_create_standard_toolbar): null the toolbar.
	(workbook_setup_auto_calc): create the auto-expr control.

	* src/gnumeric.xml: add stuff.

	* src/command-context-gui.c (ccg_set_progress): upd.

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

	* src/cell-draw.c (cell_draw): render the cell value if we have
	display_formulas even if we arn't supposed to render '0' values
	and the value is 0.

	* src/print-cell.c (print_cell): ditto.

	* src/gnumeric.xml: move built menu items up.

	* src/workbook.c: add HelpAbout verb.
	(workbook_new): update to use nicer helper, adding help support.

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

	* src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui): add a
	freeze / thaw to force GUI re-build.

	* src/workbook.c: add debug verb. (verb_debug_dump_xml): impl.

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

	* src/workbook-private.h: update to item container.

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

	* src/sheet-object.c (sheet_object_destroy): fix uninitialized sheet
	pointer.

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

	* src/file-autoft.c:
	(template_list_load): Make more error proof and insert
	protection for invalid filenames.

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

	* templates/autoformat/, templates/autoformat/Makefile.am:
	Remove subdirectories, convert into a flat directory with structured 
	filenames.
	
	* configure.in:
	Remove templates/autoformat subdirectories

	* gnumeric.spec.in:
	Adjust to cope with new autoformat directory structure
	
	* src/dialogs/Makefile.am:
	Remove -DGNUMERIC_AUTOFORMATDIR

	* src/Makefile.am
	Add -DGNUMERIC_AUTOFORMATDIR
	
	* src/file-autoft.c, src/file-autoft.h:
	New, functions for loading special listings of the autoformat
	directory.

	* src/dialogs/dialog-autoformat:
	(categories_load): Remove
	(categories_free): Remove
	(templates_load): Adjust to use template_list_load

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

	* src/workbook.c (workbook_create_toolbars) : All three toolbars are
	  bonobo now.

	* src/workbook-view.c (workbook_view_set_paste_special_state) : No
	  need to use our own corba_exception.

	* src/workbook-private.h : Remove the widget pointers for the border
	  and colour combos.

	* src/workbook-format-toolbar.c : Support the new bonobo ui stuff.
	  Its a hack for now.

	* src/gnumeric.xml (FormatToolbar) : Implement.

	* src/gnumeric-util.c (gnumeric_toolbar_insert_with_eventbox) : Show
	  the client widget.
	(gnumeric_toolbar_append_with_eventbox) : Ditto.

2000-09-30  Jody Goldberg <jgoldberg@home.com>
	For : realms@telerama.com

	* src/functions/fn-stat.c (gnumeric_chitest) : off by one bug fix.

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

	* src/graph-series.c
	(graph_series_seq_scalar) : Mark the sequence for release.
	(graph_series_seq_date) : Ditto.
	(graph_series_seq_string) : Ditto.

	* src/workbook.c (workbook_close_if_user_permits) : Simplify and
	  beautify.

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

	* src/dialogs/dialog-graph-guru.c (cb_graph_guru_clicked) : Do not
	  duplicate the container_add it is already done in the
	  client_site_new.

	* src/sheet-object-container.c (view_destroyed) : delete.
	(sheet_object_container_destroy) : Use bonobo_object_unref.
	(sheet_object_container_new_view) : No need for the magic view
	  destruction handler.  That is handled when the sheet object unrefs
	  the ClientSite.

	* idl/Makefile.am (idl_DATA) : Install in a version specific location.

	* src/dialogs/dialog-graph-guru.c (graph_guru_state_destroy) : Use
	  bonobo_object_unref rather than bonobo_object_client_unref.
	(cb_graph_guru_clicked) : On success clear the State's pointer to the
	  manager so that it does not get deleted.
	(graph_manager_destroy) : new routine to clear out the remote manager.
	(graph_guru_init_manager) : Use it.

	* src/workbook.c (cut_cmd) : Delete the object explicitly.
	* src/sheet-object.c (sheet_object_remove_cb) : Ditto.

	* src/sheet-object-container.c (view_destroyed) : rename from
	  item_destroy to clarify its function.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) : Add
	  KP_Delete.  There is no need to change the mode and clear anything.
	  The sheet_object destructor takes care of it.

2000-09-28  Pablo Saratxaga <pablo@mandrakesoft.com>

	* configure.in,po/ca.po: Added Catalan language file

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

	* configure.in : Bump gnome-print req to 0.24
	* README : Ditto.
	* gnumeric.spec.in : Ditto.

	* configure.in : Fix typo with double 'share'

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

	* idl/gnumeric-graphs.idl : Resume using studlyCaps.
	* src/graph-series.c : Ditto.
	* src/dialogs/dialog-graph-guru.c : Ditto.

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

	* src/print-info.c (unit_name_get_name) : Control translation.
	(unit_name_get_short_name) : Ditto.
	(unit_name_to_unit) : Ditto.

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

	* gnumericConf.sh.in : Fix to match gnome-config's expectations.

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

	* src/print-info.c: Use constant expression to make factors easier
 	to understand.  Constify.  Have the compiler check UNIT_LAST.
	(print_info_new): Compute margins from unit lengths instead of
 	storing "magic" numbers.

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

	* src/print-info.c (load_formats): Fix from Chema.  Don't forget
 	to pop the prefix.

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

	* src/main.c (gnumeric_main) : Do not init the currency_date routines
	  here, or shut them down.

	* src/number-match.c (format_match_init) : Call the currency_date init
	  routine from here.  It must be done BEFORE the regexps are generated.
	(format_match_finish) : Shut the currency_date routines down from here.
	  for symmetry.

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

	* * */* */*/*: s/can not/cannot/.

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

	* src/selection.c (sheet_selection_redraw) : redraw the rol/col
	  headers too.
	(sheet_col_selection_type) : There is no visible selection while
	  objects are being edited/created.
	(sheet_row_selection_type) : Ditto.

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

	* src/workbook.c (workbook_create_standard_toolbar) : Rename from
	    workbook_create_standard_toobar (note the missing l in toobar)

	* src/normal-args.c : Suppress warning.

	* src/functions/fn*.c : Add a prototype of the _init routine to
	  suppress warning.

	* src/eval.c (cell_recalc_dependencies ) : Comment out until it is
	  implemented.

	* src/sheet-object-widget.c (sheet_object_widget_new) : delete.

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

	* src/workbook.c (workbook_create_standard_toobar) : Attempt to inject
	  the standard controls.  This does not work.
	* src/gnumeric.xml : Continue work on bonobizing toolbars.

2000-09-23  Jody Goldberg <jgoldberg@home.com>
	For : realms@telerama.com

	* src/datetime.c (datetime_g_days_between) : new function.
	(datetime_g_months_between) : Ditto.
	(datetime_g_years_between) : Ditto.

	* src/functions/fn-date.c : Implement DateDif.

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

	* src/clipboard.c (x_selection_to_cell_region) : typo.

	* src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui) : New
	  utility routine.

2000-09-23  JP Rosevear  <jpr@helixcode.com>

	* configure.in: Create an IDL_FLAGS variable with various paths based
	on GNOME_PATH

	* idl/Makefile.am: Use IDL_FLAGS 

2000-09-23  Almer S. Tigelaar  <almer1@dds.nl>

	* src/stf-parse.c, src/stf-parse.h:
	(stf_parse_is_valid_data): return invalid character
	or NULL if the data is valid.

	* src/clipboard.c:
	(stf_read_workbook): Adjust to cope with the new 
	stf_parse_is_valid_data.

	* src/stf.c:
	(x_selection_to_cell_region): Idem.

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

	* src/workbook-format-toolbar.c : Use stock icons.
	* src/workbook-object-toolbar.c : Ditto.
	* src/workbook.c : Ditto.  Add more verbs.

	* src/workbook-edit.c (workbook_edit_set_sensitive) : toolbar
	  sensitization is broken for bonobo.

	* src/gnumeric.xml : The beginings of toolbar support.

	* src/application.c : Register all pixmaps as stock icons.

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

	* src/history.c (history_menu_insert_separator) : Use
	  history_menu_locate_separator.  This is crufty.

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

	* src/format.c (append_hour): Increase buffer size, just in case.
	(append_hour_elapsed): Ditto.
	(append_minute): Ditto.
	(append_second): Ditto.
	(append_minute_elapsed): Sort-of ditto.
	(append_second_elapsed): Ditto.
	(append_hour): Fix hour display for am/pm mode for the midnight
 	and noon hours.

	* src/print-cell.c (print_show_iso8859_1): Use bigger stack buffer
 	so we will almost never have to allocate dynamically.

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

	* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Change
	  the cell state.
	(sheet_widget_checkbox_construct) : default to something intelligent.

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

	* src/sheet.c (sheet_hide_cursor) : redraw the selection.
	* src/sheet.c (sheet_show_cursor) : redraw the selection.

	* src/sheet-object.c : Improve framework for editing/creating objects.
	  We are more consistent about hiding the selection, and when to make
	  things visible again.

	* src/sheet-object-widget.c : Begin framework for configuring the
	  sheet widgets.

	* src/selection.c (sheet_selection_redraw) : new function.

	* src/item-grid.c (item_grid_button_1) : Don't cancel object editing
	  if there is a guru up.  We could be configuring things.

	* src/selection.c (sheet_is_cell_selected) : Do no show selections
	  while objects are being edited.

	* src/gnumeric-util.c (gnumeric_non_modal_dialog) : Change the
	  signature.

	* src/sheet-object.c (sheet_object_destroy) : Improve safety.

2000-09-21  Lauris Kaplinski <lauris@helixcode.com>

	* print-cell.c (print_show_iso8859_1): Transcode to UTF-8 instead
	of UCS4, use gnome_print_show_sized.
	(g_unichar_to_utf8): Function copied from glib 1.3 (and will go away,
	if gnumeric will be ported to glib 2.0)

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

	* src/format.c (format_month_before_day) : implement.

	* src/workbook.c (workbook_expr_relocate) : Support dependents other
	  than cells.
	(workbook_expr_unrelocate) : Ditto.

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

	* src/print-cell.c (print_show_iso8859_1) : Temp fix to get things
	  compiling.  What should we be using?

	* src/position.c (eval_pos_init_dep) : typo.

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

	* src/workbook-format-toolbar.c (workbook_cmd_format_as_money) :
	  no need to translate the money format.  We generate it elsewhere.
	(workbook_cmd_format_as_percent) : ditto.

	* src/formats.c : Most format strings are NOT required to be
	  translated anymore.  We store them internaly in the C locale.
	(currency_date_format_init) : customize the currency symbol, and the
	  day/month order.

	* src/format.c (format_get_currency) : new function.
	(format_month_before_day) : New stub.  How to do this portably.
	(lookup_color_by_name) : new routine.
	(lookup_color) : that was split from here.
	(format_remove_decimal) : Fix a bit.  still broken for fmts with
	  multiple cases.
	(format_value) : no need to translate the format.
	(translate_format_color) : new routine.
	(style_format_delocalize) : new routine.  Add colour support.
	(style_format_new_XL) : split from here.
	(style_format_str_as_XL) : new routine.  Add colour support.
	(style_format_as_XL) : split from here.

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

	* src/sheet-object.c (sheet_object_destroy) : If the current object is
	  destroyed switch back to edit mode.

	* src/workbook-edit.c (workbook_start_editing_at_cursor) : We always
	  create an in canvas edit item, but sometimes we jump the focus to
	  the status line.

	* src/value.c (value_new_cellrange_r) : set the sheet for both
	  cell_refs.

	* src/sheet-object-widget.c (checkbox_set_expr) : Fix.

	* src/graph-series.c (graph_series_seq_scalar) : No need to handle
	  headers here.
	(graph_series_seq_date) : or here.
	(graph_series_seq_string) : or here.
	(graph_series_eval) : Handle idl rename.
	(series_get_name) : No need to do this here.
	(impl_vector_scalar_value) : No need to calculate label.
	(impl_vector_date_value) : Ditto.
	(impl_vector_string_value) : Ditto.
	(graph_series_set_expr) : Correctly register and un register deps.
	(graph_series_new) : series names are handled at a higher level.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Restore the
	  behaviour of F2.

	* src/expr.c (cellrange_relocate) : BE smarter about checking for
	  potential 3d references.

	* idl/gnumeric-graphs.idl : Rename routines using lowercase underscore
	  rather than StuddyCaps.

	* src/workbook.c (workbook_expr_relocate) : Handle dependents.

	* src/position.c (eval_pos_init_dep) : new function.
	
	* configure.in : Prepare for release.
	  Update req for gnome-print to 0.23
	  Update req for libglade to 0.14
	  Comment out pspell.
	  Leave perl disabled.

	* gnumeric.spec.in : Ditto.
	* README : Ditto.

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

	* src/xml-io.c (natural_order_cm) : Using col_info and row_info is
	  deprecated.

2000-09-20  Kenneth Christiansen  <kenneth@gnu.org>

	* gnumeric.spec.in: Updated for new release.
	* xml-po/: added new dir, which will be used for translation
	of XML files, in the near future.

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

	* src/workbook.c (workbook_menu_tools): Spelling fixes.

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

	* src/workbook.c (workbook_sheet_name_strip_number): isdigit takes
 	unsigned chars, not chars.

	* src/functions/fn-lookup.c (find_index_linear): Quiet warnings.

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

	* src/Makefile.am (INCLUDES): add GNOME_DATADIR

	* src/workbook.c (workbook_new): use it.

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

	* src/sheet.c (sheet_row_size_fit_pixels) : PUTRID KLUDGE.
	  Avoid the ugly row size changes when fitting the size.

	* src/format.c (style_format_new_XL) : Implement translation.
	(style_format_as_XL) : Ditto.

	* src/number-match.c (format_match_init) : No need to compare to
	  translated General.

	* src/sheet.c (sheet_flag_status_update_cell) : Adjust signature.

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

	* src/main.c (gnumeric_main): Init colours earlier.

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

	* src/workbook.c (cb_cell_rerender) : We need to recalc the size
	  after rendering the value.  However, it is wasteful to redraw each
	  cell individually.
	(cb_sheet_pref_display_formulas) : redraw entire sheet.  It is
	  simpler.

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

	* src/workbook-format-toolbar.c : Use the new Gnome App Libs (GAL)
	  routines.
	* src/workbook-view.c : Ditto.
	* src/workbook.c : Ditto.

	* src/main.c (gnumeric_main) : call e_color_init and e_color_shutdown.

	* src/gnumeric-util.c (gnumeric_create_tooltip) :
	  Rename from color -> e_color.
	* src/style.c (style_color_new) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_realize) :
	  Rename from cursor -> e_cursor.
	* src/item-cursor.c (item_cursor_set_cursor) : Ditto.
	* src/cell-comment.c (cell_comment_clicked) : Ditto.
	* src/item-grid.c (item_grid_event) : Ditto.
	* src/sheet-object.c : Ditto.

	* src/color.c : Split the utilities into the gal library.

	* src/Makefile.am : Remove cursors.[ch]

	* configure.in : Handle the new Gnome App Lib (GAL)

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

	* src/dialogs/dialog-graph-guru.c (cb_create_series_from_range) :
	  GraphSeries is responsible for registering.

	* src/history.c : Attempt to convert to the new bonobo ui handler.

	* src/graph-series.c (graph_series_eval) : Support string and date
	  series.
	(series_get_name) : New function.
	(impl_vector_scalar_value) : Use it here.
	(impl_vector_date_value) : here
	(impl_vector_string_value) : and here.
	(cb_check_range_for_pure_string) : new function.
	(graph_series_new) : Start guess whether a series is scalar or string.
	(graph_series_servant) : Delete.
	(graph_series_set_subscriber) : Take responsibility for registering
	  with the remote Graph::Manager.

	* src/gnumeric.xml : Remove bogus '/menu/File/open' placeholder
	  Name the '/menu/File/FileHistory' placeholder.

	* src/sheet-object-container.c (sheet_object_container_update_bounds)
	  Fix off by 1 error here.
	(make_container_item) : And here.

	* src/sheet-object.c (sheet_object_add_view) : Renamed from
	  sheet_view_object_realize.
	(sheet_object_remove_view) : Renamed from sheet_view_object_unrealize.
	(control_point_handle_event) : Enable edit popup from control points.

2000-09-16  Almer S. Tigelaar  <almer1@dds.nl>

	* src/dialogs/autoformat.glade:
	Remove ability to focus widgets on the Template Details tab.
	Remove the 'Apply Dimensions' checkbox.
	Add some accelerators.
	Add tooltip to category combo.

	* src/dialogs/dialog-autoformat.c:
	(cb_category_entry_changed): Replaced by cb_category_popwin_hide
	(cb_category_popwin_hide): Invoked when the popup window of
	the category window becomes hidden.
	(dialog_autoformat): Remove handling for dimensions checkbox and
	change signal binding for category combo.

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

	* src/workbook.c (workbook_new): use datadir for get_ui_fname.

2000-09-16  Almer S. Tigelaar  <almer1@dds.nl>

	* src/dialogs/autoformat.glade:
	New autoformat dialog.

	* src/dialogs/dialog-autoformat.c:
	(fill_category_list): Replace with load_categories.
	(load_categories): Same role as fill_category_list, but
	loads them into a GtkList instead.
	(free_categories): New, frees a GtkList holding categories.
	(templates_load): Hide the scrollbar when it's not needed, remove
	obsolete label code.
	(previews_load): Set only the template name as tooltip.
	(cb_more_clicked): Removed entirely, the more button is no longer.
	(cb_new_clicked): Replaced by cb_new_activated.
	(cb_new_activated): Same as cb_new_clicked but now
	for a GtkMenuItem.
	(cb_edit_clicked): Replaced by cb_edit_activated.
	(cb_edit_activated): Same as cb_edit_clicked but now
	for a GtkMenuItem.
	(cb_remove_clicked): Replaced by cb_remove_current_activated.
	(cb_remove_current_activated): Same as cb_remove_clicked but now
	for a GtkMenuItem.
	(cb_categories_select_row): Replace with cb_category_entry_changed.
	(cb_category_entry_changed): New, same role as cb_categories_select_row,
	but now for the 'category' GtkEntry instead of the previous GtkCList.
	(cb_apply_button_toggled): Replaced by cb_apply_item_toggled.
	(cb_apply_item_toggled): Same as cb_apply_item_toggled, but now for
	GtkCheckMenuItem.
	(cb_gridlines_button_toggled): Replaced by cb_gridlines_item_toggled.
	(cb_gridlines_item_toggled): Same as cb_gridlines_item_toggled, but now
	for GtkCheckMenuItem.
	(setup_apply_item): New, load a glade control and bind it's event to
	cb_apply_item_toggled in one step.
	(dialog_autoformat): Adjusted to handle the new controls.

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

	* src/dialogs/dialog-graph-guru.c (dialog_graph_guru) : Profilacticly
	  NULL the gui pointer.

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

	* src/gnumeric.xml : Use placeholder for file history.
	  How to have multiple place holders ?

	* src/history.c (history_menu_insert_items) : Quick fix to reduce
	  number of warnings.

	* src/sheet-object.c (sheet_object_stop_editing) : Use set_active.
	(sheet_mode_edit_object) : Ditto.

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

	* src/sheet-object-widget.c (sheet_object_widget_new_view) : Fix off
	  by one error.
	(sheet_object_widget_update_bounds) : Ditto.
	(control_point_handle_event) : Handle events for the acetate.

	* src/sheet-object.c (sheet_object_destroy_control_points) : Avoid
	  hard coding the number of control points.
	(sheet_object_begin_creation) : event coordinates are already mapped.
	(update_bbox) : The off by 1 error was in the widget wrapper not here.

	* idl/gnumeric-graphs.idl : Make the Vector::changed routines oneway.

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

	* src/sheet-view.c (sheet_view_row_size_changed) : Use
	  sheet_selection_full_rows and workbook_cmd_format_row_height.
	(sheet_view_col_size_changed) : Use
	  sheet_selection_full_cols and workbook_cmd_format_column_width.

	* src/item-grid.c (context_row_height) : Use sheet_dialog_set_row_height.
	(context_col_width) : Use sheet_dialog_set_column_width.

	* src/workbook-cmd-format.c (sheet_dialog_set_column_width) : Split
	  the gui into here.
	(workbook_cmd_format_column_width) : And the action into here.  Use
	  the appropriate commands to get undo support.
	(workbook_cmd_format_column_auto_fit) : Use workbook_cmd_format_column_width.
	(sheet_dialog_set_row_height) : Split the gui into here.
	(workbook_cmd_format_row_height) : And the action into here.  Use
	  the appropriate commands to get undo support.
	(workbook_cmd_format_row_auto_fit) : Use workbook_cmd_format_row_height.

	* src/selection.c (sheet_row_selection_type) : moved from sheet.c
	(sheet_col_selection_type) : moved from sheet.c
	(sheet_selection_full_cols) : new routine.
	(sheet_selection_full_rows) : new routine.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Don't jump
	  directly to the edit line with F2.  Start editing in sheet first.

	* src/selection.c (selection_foreach_range) : Add the option of
	  iterating the list backwards.

	* src/workbook-cmd-format.c (cb_colrow_collect) : New function.

	* src/workbook-cmd-format.c (workbook_cmd_format_column_width) : Fix.
	(workbook_cmd_format_row_height) : Fix.

	* src/sheet-object-graphic.c (sheet_object_graphic_update_bounds) :
	  new function.
	(sheet_object_filled_new_view) : Set the bounds when a new view is
	  constructed.  DO NOT rely on the realized list, new objects are not
	  added until AFTER construction.
	* src/sheet-object.c (sheet_object_update_bounds) : delete.

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

	* src/expr.c (cellref_relocate) : Return more information so that we
	  can differentiate relocating rows, cols, or both.
	(cellrange_relocate) : Use the new information to extend the
	  heuristic for when to relocate a range.  In the past we assumed that
	  unless both ends of the range were moving we should not do the
	  relocation.  It seems that there are other cases which will also
	  relocate.  When inserting/deleting rows/cols or cutting a region
	  that includes an entire side of the source region we should
	  relocate.
	  Sadly this patch is incomplete.  It relocates too much now.
	  If you cut B2 and paste it into B3 the source region A1:B2 will
	  resize to A1:B3 even though it should not.  At least ins/del row/col
	  will now work.

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

	* src/workbook.c (create_bonobo_object) : Fixed.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) :
	  Delete duplicate function.

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

	* src/commands.c (cmd_ins_del_row_col_{undo,redo}) : Insert/delete
	  rows/cols clears the cut buffer.  Copies are preserved.

	* src/sheet-object.c (cb_obj_create_button_release) :  remove the
	  bonobo specific file handling.  That is to be done earlier
	  or in a different place.  This routine is strictly for placement,
	  not content.
	(sheet_mode_clear) : Move the deactivation here for now.  Hopefully
	  move it to a virtual.

	* src/about.c (dialog_about) : suppress warning.

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

	* src/sheet-object-widget.c (checkbox_eval): Plug leak.

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

	* src/main.c: Add print_debugging variable / debug_print startup
	option.
	(gnumeric_main): Make stdout line buffered - we only use it for
	debug info.

	* src/print-cell.[ch] (print_make_rectangle_path): New function: make
	a rectangular gnome-print path.
	* src/print-cell.c (print_cell): Use it.

	* src/print.c (print_empty_pages variable): Remove. This variable
	is never set. With the new repeated row/column handling, the logic
	will have to be rewritten anyway if needed.
	(print_page_repeated_rows): Remove unused parameters start_row and
	end_row.
	(print_page_repeated_cols): s/row/col/. Fix bug - was repeat_left,
	corrected to repeat_top.
	(print_page_object): Remove unused parameters page_width /
	page_height and end_col / end_row.
	(print_hf_element): Rename from print_hf
	(print_hf_line): New function. Logic shared by print_header and
	print_footer. Clip to header region. if print_debugging != 0, draw
	a box around header region.
	(print_headers): Use print_hf_line. Place at correct y position -
	ascenders flush with inside of top margin.
	(print_footers): Descenders flush with inside of bottom
	margin. Otherwise like headers.
	(print_page): Include logic for repeated rows and columns: They
	are only repeated after the start of the repeating range has been
	seen in the regular page flow. Fix grid size bug when centering
	horizontally or vertically. Use print_make_rectangle_path.  Remove
	print_empty_pages logic.
	(compute_group): New function. Old compute groups changed to only
	compute one page. Rationale: Available space on page for normal
	cell flow changes once repeated rows/columns kick in, so there is
	no gain in precomputing a list.
	(render_sheet_objects): New function. Factored out of
	print_sheet_range.
	(print_range_down_then_right): New function. Used to be the row
	major loop of print_sheet_range. Include logic for repeated rows
	and columns (see print_page).
	(print_range_right_then_down): s/row major/column major/
	(print_sheet_range): Restructure into a small function that calls
	render_sheet_objects, print_range_down_then_right,
	print_range_right_then_down.
	(compute_sheet_pages): Remove print_empty_pages logic. The
	variable is never set. With the new repeated row/column handling,
	the logic will have to be rewritten anyway if needed.
	(compute_sheet_pages, print_sheet): Remove "key" parameter because
	we are now called from g_list_foreach instead of
	g_hash_table_foreach.
	
	(compute_pages): Use list returned by workbook_sheets instead of
	wb->sheets so sheets are processed in order.
	(workbook_print_all): Print sheets in display order. To do so, use
	list returned by workbook_sheets instead of wb->sheets.
	(sheet_print): Use changed print_sheet signature.

	* src/workbook.h (struct _Workbook): Rename "sheets" to
	sheet_hash_private.

	* src/workbook.c (workbook_do_destroy, workbook_do_destroy,
	workbook_set_dirty, workbook_is_dirty, workbook_is_pristine,
	workbook_init, workbook_rename_sheet, workbook_sheet_count,
	workbook_attach_sheet, workbook_detach_sheet,
	workbook_sheet_lookup): s/wb->sheets/wb->sheet_hash_private/
	(cb_assemble_selection, workbook_selection_to_string): Not in
	use. Remove.

	* src/workbook-view.c (workbook_view_pref_visibility):
	s/wb->sheets/wb->sheet_hash_private/

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

	* configure.in (pspell): Quiet the test.

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

	* src/gnumeric.xml : Add the missing menu elements.

	* src/workbook.c (verbs) : Add some of the missing elements.
	(insert_object_cmd) : Suppress some warnings.

	* src/sheet-object-container.c (sheet_object_container_new_file) :
	  suppress warning.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) :
	  suppress warning.

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

	* src/workbook-format-toolbar.c: s/BonoboApp/BonoboWin/

	* src/workbook-object-toolbar.c: ditto.

	* src/workbook.c: s/BonoboApp/BonoboWin/
	(verbs): Add FileSaveAs which I seem to have forgotten.

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

	* src/graph-series.c (graph_series_destroy) : plug leak.
	* src/sheet-object-widget.c (sheet_widget_checkbox_destroy) : Ditto.

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

	* src/xml-io.c (xml_read_sheet_object) : objects have their positions
	  set after creation, not before.
	NOTE : This routine is incomplete.  It does not handle all of the
	  objects.  It is questionable whether or not it even belongs here.
	  We may want to encapsulate the persistence on a per object basis.
	(xml_sheet_read) : localize and improve variable naming.

	* src/workbook.c : Add an ifdef around the GnomeUI handler in bonobo
	  mode.  Move the object creation cruft into its own file.
	(select_component_id) : new function.
	(create_embedded_component_cmd) : simplify.
	(create_embedded_item_cmd) : simplify.
	(create_button_cmd) : Delete.
	(create_checkbox_cmd) : Delete.
	(create_line_cmd) : Delete.
	(create_arrow_cmd) : Delete.
	(create_rectangle_cmd) : delete.
	(create_ellipse_cmd) : delete.
	(cut_cmd) : simplify object handling.
	(insert_object_cmd) : Use sheet_object_bonobo_new_from_oid.
	(do_focus_sheet) : Handle object toolbar too.
	(workbook_detach_sheet) : Before messing with the views go back to
	  simple edit mode.

	* src/workbook-object-toolbar.c (create_object_command) : new
	  function.
	(cmd_create_*) : Use here.

	* src/workbook-edit.c (workbook_edit_set_sensitive) : Add the object
	  toolbar.

	* src/sheet-object.c (sheet_release_coords) : delete.
	(sheet_object_destroy) : simplify.
	(SheetObject::end_popup) : remove.
	(SheetObject::populate_menu) : rename from start_popup.
	(SheetObject::new_view) : rename from realize.
	(SheetObject::user_config) : New virtual.
	(sheet_object_construct) : initialize dragging to FALSE.
	  s/Sheet::objects/Sheet::sheet_objects/
	(sheet_object_drop_file) : Moved.
	(sheet_object_realize) : No need for SheetView::temp_item.
	(button_widget_create) : delete.
	(checkbox_widget_create) : delete.
	(sheet_object_create_button) : delete.
	(sheet_object_create_checkbox) : delete.
	(create_object) : delete.
	(cb_obj_create_motion) : rename from sheet_motion_notify.  Simplify.
	  Rubber band a rectangle rather than the actual object.
	  Keep track of whether or not a we have resized larger than the
	  minimum 5x5 size.
	(cb_obj_create_button_release) : rename from sheet_button_release.
	  Change behavior to have the release do the realizing and bound
	  setting.  Set the bounds to the current coord ONLY if we have moved
	  enough, otherwise just use the default size of the object tranformed
	  to the location of the original button press.
	(shutdown_sheet_object_creation) : merge into button release.
	(sheet_leave_notify) : Delete.
	(sheet_button_press) : Delete.
	(sheet_object_begin_creation) : Delete.
	(sheet_finish_object_creation) : merge into button release and clear
	  out all the cruft requiring removal of signals.
	(sheet_mode_clear) : new function.  Does some object management.
	(sheet_set_mode_type) : delete.
	(sheet_set_mode_type_full) : delete content.  Split logical action into.
	(sheet_mode_edit) : here.
	(sheet_mode_edit_object) : here.
	(sheet_mode_create_object) : and here.
	(sheet_object_destroy_control_points) : be more pedantic a about
	  checking that we have a valid view.
	(sheet_object_stop_editing) : Adjust for new object editing semantics.
	(set_item_x) : Merge this
	(set_item_y) : and this.
	(set_item_x_y) : into here.  And add the logic to call
	  new_control_point.
	(new_control_point) : Set the cursor here.
	(update_bbox) : Recall that the bounding box excludes the far coords.
	(control_point_handle_event) : No need to make object the current, if
	  we are being called we are current.
	(sheet_object_populate_menu) : rename from sheet_object_start_popup.
	(sheet_object_end_popup) : delete.
	(sheet_object_canvas_event) : adjust to function renaming.
	(sheet_object_widget_event) : delete.
	(sheet_object_widget_handle) : delete.
	(sheet_object_start_editing) : delete, no need.  update_bbox does all
	  of this.
	(sheet_object_make_current) : delete.
	(sheet_object_insert) : this was not what its name suggested.  It was
	  a rather specialized bonobo utility.  Move it where it belongs.

	* src/sheet-object-widget.c : Rewrite.

	* src/sheet-object-item.c (sheet_object_item_new_view) : rename from
	  sheet_object_item_realize.

	* src/sheet-object-graphic.c (sheet_object_graphic_new_view) :
	  rename from sheet_object_graphic_realize.
	(sheet_object_filled_new_view) : renamed from sheet_object_filled_realize.
	(sheet_object_create_line) : No need to take position, do that later.
	(sheet_object_create_filled) : Ditto.

	* src/sheet-object-container.c (user_activation_request_cb) : Adjust
	  to changes in sheet mode handling.
	(sheet_object_container_new_view) : rename from sheet_object_container_realize.
	(sheet_object_container_new_bonobo) : No need to take pos info, that
	  is set later.
	(sheet_object_container_new_object) : Ditto.
	(sheet_object_container_new_file) : Moved and renamed from sheet_object_drop_file.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : No need
	  to take position info.  Bounds are set later.
	(sheet_object_bonobo_new_from_oid) : Move from sheet_object_insert
	  which was much to generic a name and location for this.

	* src/print.c (print_sheet_range) : Adjust to rename of the
	  sheet_object list.

	* src/pixmaps.h : Remove the pixmaps that moved to the object toolbar.

	* src/item-grid.c (item_grid_button_1) : Handle object creation and
	  finishing object editing directly, no more need for adding and
	  removing handlers.  Adjust arg to be a Button event.
	(item_grid_event) : Add a new cursor for object creation.
	(item_grid_event) : Do not change to edit mode until we know why the
	  button was pressed.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) :
	  s/sheet_set_mode_type/sheet_mode_edit/
	(gnumeric_sheet_key_press) : Adjust to new mode scheme.
	(gnumeric_sheet_key_release) : Ditto.
	(gnumeric_sheet_filenames_dropped) : Ditto.

	* src/gnumeric.h : Add fwd decl of SheetObject.

	* src/gnumeric-sheet.h : delete GnumericSheet::mode .

	* src/gnumeric-type-util.h : Rename GNUMERIC_MAKE_TYPE_WITH_PARENT
	  to GNUMERIC_MAKE_TYPE_WITH_CLASS.  That makes more sense.

	* src/eval.c (invalidate_refs) : Use dependent_set_expr.
	(cell_eval) : New need to check generation If we are called we are out
	  of date.

	* src/dependent.c (dependent_eval) : moved from eval.c.
	(dependent_type_register) : New routine.
	(dependent_set_expr) ; Ditto.
	(dependent_debug_name) : Use the new registry.

	* src/dependent.h : Reorder flags, remove explicit types for graphs
	  and checkboxes.  Those are handled by the virtual table.

	* src/commands.c : s/PARENT/CLASS/

	* src/cell.h : Reorder the CellFlags.

	* src/bonobo-io.c (gnumeric_bonobo_obj_read) : Do not pass the
	  position to sheet_object_containter_new_object.

	* src/Makefile.am : Add workbook-object-toolbar.[ch]
	  and graph-series.[ch]
	  merge the libraries from the two idl files.

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

	* src/sheet-view.c (sheet_view_construct) : Init control points to NULL.
	(SheetView::temp_item) : remove this.

	* src/sheet.c (sheet_new) : Init the members associated with objects.
	(sheet_destroy) : Destroy objects.
	(Sheet::mode) : remove.

	* src/gnumeric.xml : Add a label for the selection menu.

	* src/sheet-object-container.c (sheet_object_container_realize) :
	  Fix warning.

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

	* src/item-bar.c (colrow_tip_setlabel) : mark the size tooltips as
	  containing pts.
	* src/dialogs/row-height.glade :
	* src/dialogs/col-width.glade : Ditto.

2000-09-10  Almer S. Tigelaar  <almer1@dds.nl>

	* src/dialogs/dialog-stf.h: Limit the number of lines 
	displayed in the preview. This is a temporary solution for
	bug #23426.
	
	* src/dialogs/dialog-stf-csv-page.c:
	(stf_dialog_csv_page_prepare): Ditto.

	* src/dialogs/dialog-stf-fixed-page.c:
	(stf_dialog_fixed_page_prepare): Ditto.
	
	* src/dialogs/dialog-stf-format-page.c:
	(stf_dialog_format_page_prepare): Ditto.
	(format_page_format_changed): Kill memory
	leak.

	* src/stf-parse.c:
	(stf_parse_csv_line): Change to still return
	something if the maximum number of columns is
	exceeded.
	(stf_parse_fixed_line): Ditto.

	* src/dialogs/dialog-stf-preview.c:
	(stf_preview_render): Adjust to only render SHEET_MAX_COLS
	columns.
	(stf_preview_get_table_pixel_width): Ditto.

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

	* src/gnumeric.xml: add magic placeholder to help section.

	* src/workbook.c (workbook_new): update for ui_util_new_ui changes.

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

	* src/workbook.c (workbook_new): Parse the xml file and add the verbs.
	(workbook_do_destroy): remove warning.

	* src/Makefile.am: Add gnumeric.xml installation

	* src/gnumeric-util.c (gnumeric_dialog_show): remove conditional code.

	* src/sheet-object-container.c (sheet_object_container_realize): upd.

	* src/workbook.c (workbook_get_toplevel): update, BonoboApp is now a
	widget.

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

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar) : Fix
	  typo.

	* src/gnumeric-util.c (gnumeric_dialog_show) : improve readability

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

	* configure.in: Check for bonobo 0.19

	* src/workbook.c: Add/Modify -> Add\\Modify for now.

	* src/workbook-view.c (workbook_view_set_title): use get_toplevel
	(workbook_view_set_size): 

	* src/workbook-private.h: add a main_vbox to put toolbars into.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar): 
	hack for non-bonobized toolbars.

	* src/workbook.c (workbook_show, workbook_hide, workbook_get_toplevel):
	helper functions.

	* src/corba-workbook.c (Workbook_show): use workbook show/hide
	
	* src/analysis-tools.c (prepare_output): ditto.

	* src/main.c (gnumeric_main): ditto.

	* src/clipboard.c (clipboard_paste, x_selection_received),
	(x_clipboard_bind_workbook): ditto.

	* src/application.c (application_set_selected_sheet): use
	workbook_get_toplevel

	* src/history.c (file_history_cmd): ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): ditto.

	* src/xml-io.c (xml_workbook_write): get_toplevel upd.

	* src/workbook.c (new_cmd, file_open_cmd, file_import_cmd): show / hide.
	(workbook_setup_edit_area): get_toplevel

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

	* src/workbook.c (change_zoom_in_current_sheet_cb) : handle new
	  calling convention for sheet_set_zoom_factor.

	* src/xml-io.c (xml_sheet_read) : Ditto.

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

	* src/sheet.c (sheet_new) : Ditto.
	(sheet_duplicate) : Ditto.
	(sheet_set_zoom_factor) : Add an arg to optionally disable
	  recalculating the spans and rerendering.  This is useful when
	  importing zoomed sheets where we know that we are going to respan
	  and render after loading everything.

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

	* configure.in : Add test for pspell.
	* acconfig.h : Ditto.

	* s/cell.u.expression/cell.base.expression/
	* s/cell.generation/cell.base.generation/
	* s/cell.u.entered_text/cell.entered_text/  <- deprecated
	* s/workbook.formula_cell_list/workbook.dependents/

	* s/sheet_cell_expr_link/dependent_expr_link/
	* s/sheet_cell_expr_unlink/dependent_expr_unlink/

	* s/eval_queue_cell/dependent_queue_recalc/
	* s/eval_queue_list/dependent_queue_recalc_list/
	* s/eval_unqueue_cell/dependent_unqueue_recalc/
	* s/eval_unqueue_sheet/dependent_unqueue_recalc_sheet/
	*
	* s/cell_add_dependencies/dependent_add_dependencies
	* s/cell_drop_dependencies/dependent_drop_dependencies

	* s/cell_formula_changed/dependent_changed/
	* s/sheet_cell_expr_link/dependent_link/
	* s/CELL_IN_EXPR_LIST/DEPENDENT_IN_EXPR_LIST/

	* src/cell.c (cell_eval_content) : moved from eval.c

	* src/eval.c (sheet_region_get_deps) : Take a Range rather than 4 int.
	(drop_range_dep) : Use dependent_debug_name.
	(dependency_range_ctor) : Take a CellPos as an arg rather than a Cell.
	(handle_cell_single_dep) : Take an optional CellPos and a Dependent.
	(handle_cell_range_deps) : Ditto. Do not check for singletons here.
	(handle_tree_deps) : Ditto.  Call handle_cell_single_dep directly.
	(cell_add_explicit_dependency) : Delete.
	(get_single_dependencies) : Some const.

	* src/cmd-edit.c (cmd_select_cur_depends) : Use dependent_list_filter
	  to only show cell dependencies for now.

	* src/dependent.c (dependent_list_filter) : new function.
	(dependent_debug_name) : new function.

	* src/history.c : Add a comment about File/Print Preview for
	  translators.

	* src/workbook.c (cb_cell_rerender) : Only cells need this.

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

	* src/cell-draw.c:
	(cell_draw): Modify to accept a NULL sheet for
	cell->sheet.

	* src/item-grid.c, src/item-grid.h:
	(item_grid_draw_border): Export this routine for use
	by the preview-grid.
	
	* src/preview-grid.h, src/preview-grid.c:
	New, preview-grid canvasitem, based upon item-grid.

	* src/preview-grid-controller.h, src/preview-grid-controller.c:
	New, easy to use wrapper around canvas and preview-grid.

	* src/dialogs/dialogs.h: Add autoformat dialog and
	autoformat edit dialog invocation functions.

	* src/dialogs/autoformat.glade: New,
	glade file for autoformat dialog.

	* src/dialogs/autoformat.glade.h: New,
	translation header for autoformat dialog.
	
	* src/dialogs/dialog-autoformat.c: New, source
	for controlling autoformat dialog.

	* src/sheet-view.c:
	(sheet_view_get_style_font): Modify to accept a 
	NULL sheet. (defaults to zoomlevel 1)
	
	* src/workbook.c:
	(workbook_menu_format[]): Add autoformat.
	(autoformat_cmd): New, invokes autoformat dialog.

	* src/mstyle.c, mstyle.h:
	(mstyle_replace_element): New, replaces an element
	in an mstyle with an element from another mstyle.

	* src/rendered-value.c, src/rendered-value.h:
	(rendered_value_calc_size_ext): Same as the previous
	rendered_value_calc_size, but accepts an mstyle as
	extra parameter. the purpose of this and some other
	minor changes from the rendered_value_calc_size is
	to be able to calc the size of a sheetless cell.
	(rendered_value_calc_size): Performs the same role
	as the previous rendered_value_calc_size and
	calls upon rendered_value_calc_size_ext to do its
	thing.
	(rendered_value_new_ext): Same as previous rendered_value_new
	but accept an mstyle as parameter for sheetless cells.
	(rendered_value_new): Exacly the same as the previous
	render_value_new, but calls upon rendered_value_calc_size_ext.

	* src/xml-io.c, src/xml-io.h:
	(xml_search_child): Export for use by xml-io-autoft.c.
	(xml_get_value_string): Idem.
	(xml_set_value_string): Idem.
	(xml_get_value_int): Idem.
	(xml_set_value_int): Idem.
	(xml_write_style): Idem.
	(xml_read_style): Idem.
	
	* src/xml-io-autoft.c, src/xml-io-autoft.h:
	New, these handle the reading/writing of autoformat templates.

	* src/format-template.h, src/format-template.c:
	New, wrapper around the loading and saving and managing
	of format templates.

	* templates/autoformat:
	Add default autoformat templates

	* configure.in:
	Modify to include the autoformat templates and define
	a new variable for the autoformat templates directory
	so we can find them at run-time

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

	* src/colrow.c (col_row_get_index_list) : Be more enthusiastic about
	  merging and ordering.
	(col_row_equal) : new function.
	(col_row_copy) : new function.
	(col_row_size_list_destroy) : Typo.
	(col_row_restore_sizes_group) : Handle restoring default size.
	(col_row_set_sizes) : In special case of resizing all be smart.
	  This needs improving.

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

	* src/number-match.c (compute_value) : AM/PM regexp matchs against the
	  'a' or 'p' not 'pm'

	* src/sheet.c (sheet_{col,row}_set_size_{pts,pixels}) : Set hard size
	  even if the size does not change.

	* src/xml-io.c (xml_read_cols_info) : Restore the default col size,
	  and rationalize the variable names.
	(xml_read_rows_info) : Restore the default col size,
	(xml_sheet_write) : Save the default row/col size in pts.
	  Flush the run length encoding of the row/col sizes.
	(xml_write_colrow_info) : Use run length encoding to decrease the size
	  of the generated xml.

	* src/colrow.c (col_row_equal) : new function.

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

	* src/goal-seek.c (goal_seek_trawl_normally): Respect xmin and
 	xmax.
	(goal_seek_bisection): Implement Ridder's method also.  (This
 	method turns out to be very useful for RATE-like functions.)

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

	* src/Makefile.am: Remove ref to non-existent graph-series.c to
	make the build work again. 

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

	* dependent.[ch] : New base class for Cells.
	  Convert everything to access the elements that are now
	  in the cell's base.
	s/Cell::sheet/Cell::Dependent::sheet/
	s/Cell::cell_flags/Cell::Dependent::flags/

	* Makefile.am : Because of XL we need to build plugins before src.
	  That will need changing.

	* src/func.c (function_marshal_arg) : Use expr_array_intersection.

	* src/expr.c (eval_expr_real) : Do implicit conversions from strings
	  to numbers if possible.
	  Access the first element of an array.  NOTE : This is WRONG
	  We need to implement array expression behavior some day.
	(expr_array_intersection) : New routine.

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

	* src/print-cell.c (print_show_iso8859_1): Fix a few type errors.

	* src/functions/fn-financial.c (gnumeric_rate): Respect the sign
 	of the guess.  Work much harder at getting an answer.
	(gnumeric_irr): Mirror the RATE improvements.

	* src/goal-seek.c (goal_seek_point): New function.

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

	* src/Makefile.am : Fix file names.

	* src/number-match.c (format_match_simple) : New routine.

	* src/parser.y (parse_string_as_value) : Use it here.
	(build_array) : Do not use g_list_next it unnecessarily checks for
	  NULL.

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

	* src/print-cell.[ch] (print_show_iso8859_1): Wrapper around
	gnome_print_show which accepts iso8859.1. We use this until we
	switch to UTF-8 internally.

	* src/print-cell.c (print_text): Use print_show_iso8859_1.

	* src/print.c (print_hf): Ditto.

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

	* src/print.c (print_page, print_job_info_get): Header/footer are
	measured from top/bottom of sheet, not from inside top/bottom
	margin.
	(print_page): Correct placement when centering horizontally or
	vertically.

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

	* src/functions/fn-financial.c (gnumeric_sln): Value arg is float,
 	not int.
	(gnumeric_syd): Ditto.
	(gnumeric_rate): Rate guess is float, not int.

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

	* src/functions/fn-financial.c (gnumeric_rate): Fix special case.

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

	* src/number-match.c (format_create_regexp) : If we see seconds
	  immediately after 'm' that was parsed as months replace it with
	  minutes.  XL is vile.
	(compute_value) : make seconds into a float.  Add some debug
	  assistance.  Use a putrid hack to handle the various cases that can
	  generate MATCH_NUMBER.  When handling decimals make a another putrid
	  hack to handle the case of second fragments.

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

	* src/sheet.c (colrow_move) : Reset the cell positions.

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

	* Makefile.am : Build gnumeric before its executables.

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

	* src/sheet.c (sheet_clone_styles) : Init the style tables.

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

	* src/sheet.c (sheet_clone_styles) : Patch leak.
	(sheet_clone_selection) : Patch leak.

	* src/print-info.c (print_info_copy) : Cut-n-Paste-o

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

	* src/corba-sheet.c : suppress warnings.
	* src/dialogs/dialog-stf.c : Ditto.

	* src/number-match.c (format_create_regexp) : Improve regexps.

	* src/formats.c (cell_format_is_number) : Format always uses standard
	  decimal chars.

	* src/format.c (gnumeric_setlocale) : New routine that clears cached
	  locale info.
	(format_get_decimal) : Improve use mon_decimal.
	(format_get_thousand) : Improve use mon_thousands_sep.
	(format_get_arg_sep) : New func.
	(format_get_col_sep) : New func.
	(format_destroy) : Use GPtrArray.
	(render_number) : Improve localization.
	(format_add_thousand) : rename format_toggle_thousands. De-localize.
	(find_decimal_char) : De-localize.
	(format_remove_decimal) : Ditto.
	(format_add_decimal) : Ditto.
	(format_number) : Ditto.

	* src/expr.c (do_expr_tree_to_string) : Use format_get_arg_sep.

	* src/cell.c (cell_get_format) : Update for the changes to StyleFormat.

	* src/auto-format.c (auto_style_format_suggest) :
	  style_format_new -> style_format_new_XL

	* src/mstyle.c (mstyle_element_dump) : There is no direct access to
	  the format string anymore.
	(mstyle_set_format_text) : Add a warning.

	* src/gutils.[ch] (float_get_from_range) : Delete.
	(int_get_from_range) : Ditto.

	* src/parser.y : Revamp lexer to use strtol, and strtod for number
	  parsing.  Begin hooks for supporting row & col selection. (3:4 or A:B)

	* src/print-info.c (render_value_with_format) : Changes to StyleFormat.

	* src/sheet.h : Move SpanCalcFlags.
	* src/gnumeric.h : here.

	* src/style.[ch] : Privatize StyleFormat, move it to format.[ch]

	* src/value.c (value_get_as_string) : Correctly localize things for
	  output.

	* src/workbook-format-toolbar.c (modify_cell_format) : format
	  modification callback modifies the StyleFormat.

	* src/workbook.c (workbook_set_auto_expr) : Use gnumeric_setlocale.

	* src/xml-io.c (xml_workbook_read) : Use gnumeric_setlocale.
	(xml_workbook_write) : Ditto.
	(xml_read_cell) : Use style_format_new_XL.
	(xml_write_cell_and_position) : Store the number formats in non localized XL form.
	(xml_write_style) : Ditto.

	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page) :
	  Display localized number formats.
	(fillin_negative_samples) : Not need to localize generated number
	  formats.

	* src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) : Use
	  format_get_arg_sep.

	* src/dialogs/dialog-stf-format-page.c
	  (stf_dialog_format_page_prepare) : StyleFormats are now explicitly
	  stored in a locale neutral format.

	* src/functions/fn-string.c (gnumeric_text) : changes to
	  style_format_new.

	* src/functions/fn-financial.c (coupdayb) : Silence some warnings.

	* src/functions/fn-information.c (translate_cell_format) : This should
	  now work for different locales.

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

	* src/number-match.c (compute_value) : Extend the match algorithms to
	  handle the new regexps.

	* src/format.c (format_get_thousand) : provide a better default for
	  countries using ',' as a decimal point.

2000-08-20  Owen Taylor  <otaylor@redhat.com>

	* TODO.xml: Change "simple" to "small" as required by
	make-todo, so that it builds on developer.gnome.org.

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

	* src/xml-io.c (xml_write_cell_and_position) : Do not write Useless
	  'Style' attribute.
	- Make Rows/Cols attributes of the Cell not the Content
	- When storing Values store the value type, the parse format (if
	  available) and the value as a plain string (eg $100.00 == 100)

	* src/value.c (value_new_from_string) : New function.

	* src/number-match.c (format_create_regexp) : Be more careful when
	  handling decimals and thousands seperators.  This sucks, but it
	  sucks less than before.

	* src/formats.c (format_currency) : typo.

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

	* src/xml-io.c (xml_check_version) : New function.
	(xml_probe) : Use it here.
	(gnumeric_xml_read_workbook) : And here.

	* src/print-info.c (print_info_copy) : Leak less.

	* src/clipboard.c (paste_cell) : Set the pos rather than the row/col
	  pointers.

	* src/solver-lp.c (solver_lp_copy) : Fix typo, and use Cell::pos.

2000-08-16  Chema Celorio  <chema@celorio.com>

	* src/sheet.c (sheet_duplicate
		       sheet_clone_cells,
		       cb_sheet_cell_copy,
		       sheet_clone_objects,
		       sheet_clone_names,
		       sheet_clone_selection,
		       sheet_clone_styles,
		       sheet_clone_style_region,
		       sheet_clone_colrow_info,
		       sheet_clone_colrow_info_item) : New.

	* src/solver-lp.c (solver_lp_copy) : New func.

	* src/print-info.c (print_info_copy) : New func.
	(print_info_margin_copy) : Ditto.
	* src/workbook.c (sheet_action_clone_sheet) : New.

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

	* src/sheet.c (sheet_cell_insert) : Add a flag to disable span
	  recalculation.

	* src/sheet-style.c (sheet_get_style_list) : const.

	* src/position.c (parse_pos_init_cell) : Use Cell::pos.

	* src/clipboard.c (paste_cell_with_operation) : Changes to
	  sheet_cell_insert.
	(paste_cell) : Ditto.

	* src/analysis-tools.c (prepare_output) : Changes to
	  workbook_sheet_get_free_name.
	* src/workbook.c (insert_sheet_cmd) : ditto.
	(workbook_sheet_name_strip_number) : New.
	(workbook_sheet_get_free_name) : Handle names of the form 'bobo (2)'.

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

	* src/workbook-view.c (workbook_view_set_size) : Back out switch to
	  set_usize it was disabling shrinking.  Fix this eventually.

	* src/sheet.c (sheet_get_extent) : re-enable the use of
	  sheet_style_get_extent.

	* src/sheet-style.c (sheet_style_get_extent) : rework to use
	  'visible in blank cell' rather than non-infinite.

	* src/mstyle.c (mstyle_visible_in_blank) : new function.
	* src/border.c (style_border_visible_in_blank) : new function.

	* src/xml-io.c (xml_write_style) : Save font info even if it only
	  specifies underline or strikethrough.

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

	* src/gutils.c (gnumeric_get_le_int16, gnumeric_get_le_uint16,
 	gnumeric_get_le_int32, gnumeric_get_le_uint32,
 	gnumeric_get_le_double, gnumeric_set_le_double): new functions,
 	mostly for plugin support.

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

	* src/workbook.c (workbook_new) : Set the size after initializing
	  everything else.

	* src/workbook-view.c (workbook_view_set_size) : size the notebook,
	  not the toplevel window.

	* src/colrow.h (ROW_INTERNAL_HEIGHT) : Delete.

	* configure.in : CVS bonobo is 0.18.

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

	* src/print-cell.c (print_cell) : Sync with 
	* src/cell-draw.c (cell_draw) : and clear out a few usages of
	  Cell:{row,col})_info.

	* src/workbook.c (workbook_menu_edit) : Fix typo that made goto C-I
	  instead of C-G.

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

	* configure.in : Bump bonobo version. 
	* README : Ditto.

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

	* src/workbook.c (insert_object_cmd) :
	  s/gnome_bonobo_select_oaf_id/bonobo_selector_select_id.
	* src/sheet-object.c (sheet_set_mode_type_full) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_drag_data_get) : Disable until
	  Michael has a chance to update to new api.

	* src/corba-workbook-factory.c (WorkbookFactory_create_object) :
	  Update after the OAF factory renaming.

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

	* src/dialogs/Makefile.am : Add graph-guru for bonobo enabled builds.

	* src/dialogs/formula-guru.glade (rolled_label) : Don't fill.

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

	* src/functions/fn-math.c (gnumeric_g_product) : Ignore blanks.
	(gnumeric_product) : Ditto.
	(gnumeric_sumsq) : Ditto.
	(gnumeric_suma) : Ditto.
	(gnumeric_sum) : Ditto.
	(gnumeric_gcd) : Ditto.

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

	* src/corba-args.c : Remove support for Gnorba. Die Pig Die !
	* src/corba-workbook-factory.c : Ditto.
	* src/embeddable-grid.c : Ditto.
	* src/sheet-object.c : Ditto.
	* src/workbook.c : Ditto.

	* src/cell-comment.c (cell_comment_realize) : Use Cell::pos rather
	  than Cell::{row,col}_info->pos.
	(cell_comment_reposition) : Ditto.
	* src/cell-draw.c (cell_draw) : Ditto.
	* src/cellspan.c (cell_register_span) : Ditto.
	(cell_calc_span) : Ditto.
	* src/clipboard.c (paste_cell_with_operation) : Ditto.
	(paste_cell) : Ditto.
	* src/cmd-edit.c (cb_compare_deps) : Ditto.
	(cmd_select_cur_depends) : Ditto.
	* src/eval.c (dependency_range_ctor) : Ditto.
	(handle_cell_single_dep) : Ditto.
	(handle_cell_range_deps) : Ditto.
	(cell_get_range_dependencies) : Ditto.
	(cell_get_dependencies) : Ditto.
	* src/item-grid.c (item_grid_draw) : Ditto.
	* src/parse-util.c (cell_name) : Ditto.
	* src/position.c (eval_pos_init_cell) : Ditto.
	* src/print-cell.c (print_cell) : Ditto.
	(print_cell_range) : Ditto.
	* src/sheet-autofill.c (autofill_cell) : Ditto.
	* src/sheet-vector.c (sheet_vectors_cell_changed) : Ditto.
	* src/sheet.c (sheet_cell_calc_span) : Ditto.
	(sheet_reposition_comments) : Ditto.
	(sheet_get_extent_cb) : Ditto.
	(sheet_redraw_cell) : Ditto.
	(sheet_cell_add_to_hash) : Ditto.
	(sheet_cell_insert) : Ditto.
	(sheet_cell_new) : Ditto.
	(sheet_cell_remove_from_hash) : Ditto.
	(sheet_move_range) : Ditto.
	* src/solver-lp.c (solver_simplex) : Ditto.
	(make_solver_arrays) : Ditto.
	(solver_affine_scaling) : Ditto.
	(make_int_array) : Ditto.
	(solver_branch_and_bound) : Ditto.
	(solver_answer_report) : Ditto.
	(solver_sensitivity_report) : Ditto.
	* src/xml-io.c (xml_write_cell) : Ditto.
	(xml_cell_set_array_expr) : Ditto.
	(xml_write_solver) : Ditto.
	* src/dialogs/dialog-solver.c (check_int_constraints) : Ditto.

	* src/about.c : Move the ABOUT_KEY here from.
	* src/dialogs/dialogs.h : here.  Also, add dialog_graph_guru.

	* src/Makefile.am : Remove wizard.h and the seperate wizard library.

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

	* src/expr.c (do_expr_tree_to_string) : Do not hard code the argument
	  seperator, it needs to change depending on the locale.
	* src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) :
	  Ditto.

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

	* src/functions/fn-stat.c : All callers to float_range_function ignore
	  blanks.
	* src/functions/fn-math.c : Ditto.

	* src/functions/fn-database.c (find_column_of_field) : Use
	  cell_get_rendered_text rather than entered_text.
	(parse_criteria_range) : Ditto.
	(find_rows_that_match) : Ditto.

	* src/formats.c (cell_format_currency) : Add some versions without
	  trailing _), it was causing problems now that we handle spaces.
	  We should not be using these lists to do this.

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

	* src/functions/fn-date.c (gnumeric_datevalue) : Handle error values.
	(gnumeric_timevalue) : Ditto.
	(gnumeric_year) : Ditto.
	(gnumeric_month) : Ditto.
	(gnumeric_day) : Ditto.
	(gnumeric_weekday) : Ditto.
	(gnumeric_days360) : Ditto.
	(gnumeric_eomonth) : Ditto.
	(gnumeric_workday) : Ditto.
	(networkdays_holiday_callback) : Ditto.
	(gnumeric_networkdays) : Ditto.

	* src/functions/fn-financial.c (gnumeric_coupdaybs) : Ditto.
	(gnumeric_coupdays) : Ditto.
	(gnumeric_coupncd) : Ditto.
	(gnumeric_coupnum) : Ditto.

2000-08-07  Arturo Tena <arturo@directmail.org>

	* configure.in : Fix libole2 test.

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

	* src/workbook.c (workbook_menu_insert_special) : No need to specify
	  the shift state anymore.

	* src/main.c (gnumeric_main) : Bug 15791.  Disregard the state of the
	  shift modifier for accelerators.

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

	* src/functions/fn-stat.c (callback_function_stat) : Handle blanks as 0.
	(callback_function_make_list) : Ditto.
	(callback_function_ttest) : Ditto.
	(gnumeric_mode) : Explicitly ignore blanks.
	(gnumeric_count) : Ditto.
	(gnumeric_ztest) : Ditto.
	(gnumeric_counta) : Ditto.
	(gnumeric_percentile) : Ditto.
	(gnumeric_quartile) : Ditto.
	(gnumeric_prob) : DO NOT IGNORE BLANKS.
	(gnumeric_ftest) : Ditto.
	(gnumeric_ttest) : Ditto.
	(gnumeric_frequency) : Ditto.

	* src/functions/fn-logical.c (gnumeric_and) : Handle
	  changes to function_iterate_argument_values.
	(gnumeric_or) : Ditto.
	* src/functions/fn-math.c (gnumeric_lcm) : Ditto.
	(gnumeric_multinomial) : Ditto.
	(gnumeric_seriessum) : Ditto.

	* src/functions/fn-financial.c (gnumeric_mirr) : Use the old
	  behavior of ignoring blanks.
	(gnumeric_irr) : Ditto.
	(gnumeric_npv) : Ditto.

	* src/functions/fn-eng.c (gnumeric_improduct) : Handle
	  changes to function_iterate_argument_values.
	(gnumeric_imsum) : Ditto.

	* src/func.c (function_iterate_argument_values) : Add ignore_blank
	  flag.

	* src/collect.c (callback_function_collect) : Support new collect flag
	  COLLECT_IGNORE_BLANKS.
	(collect_floats) : change to function_iterate_argument_values.
	(float_range_function2) : Use COLLECT_IGNORE_BLANKS.

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

	* src/sheet-autofill.c (fill_item_new) : It is legal to have 'D' and 'M'
	  for day or month fields.

2000-08-01  Jody Goldberg <jgoldberg@home.com>
	For : John N S Gill <bmrg@gofree.indigo.ie>

	* src/item-cursor.c (item_cursor_autofill_event) : Implement support
	  for double click on autofill button.

2000-08-02  Michael Meeks  <michael@helixcode.com>

	* configure.in: update for BonoboX

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

	* src/sheet-object.c (sheet_finish_object_creation): unset
	dragging.

	* src/sheet-object-container.c (item_destroyed): conditional unref.

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

	* src/functions/fn-date.c (date_functions_ini) : Convert most of the
	  routines to take 'Scalar' rather than '?' which did not handle
	  ranges or arrays.

	* src/dialogs/dialog-function-wizard.c (formula_guru_arg_new) : Handle
	  'Scalar'

	* src/func.c (function_marshal_arg) : Add 'S' scalar.

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

	* src/global-gnome-font.c (global_gnome_font_init) : Adjust to
	  signature change for gnome_font_family_list.

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

	* src/parser.y (parse_string_as_value_or_name) : Check for names
	  before values.

	* configure.in : Update bonobo requirement to reflect release of 0.16
	README : Ditto.

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

	* src/print-cell.c (print_cell) : resync with cell-draw.

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

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

	* src/workbook-edit.c (workbook_start_editing_at_cursor) : Don't start
	  editing if we are already editing.

2000-07-16  James R. Van Zandt  <jrv@vanzandt.mv.com>

	* src/functions/fn-math.c: Misc. documentation cleanups.

	* src/functions/fn-stat.c: Misc. documentation cleanups.

	* src/functions/fn-eng.c: Fix nomenclature in erf and Bessel
	  function documentation.  erf() accepts negative arguments.

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

	* src/colrow.c (col_row_set_visibility_list) : Fix typo in name.

	* src/sheet.c (sheet_set_zoom_factor) : Set the default zoom to 1.
	  (rather than the hackish -1) and add a 'force' flag to force an
	  update even if the new zoom is close to the current zoom.

	* src/workbook.c (change_zoom_in_current_sheet_cb) : Adjust to changes
	  in sheet_set_zoom_factor.
	* src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Ditto.
	* src/xml-io.c (xml_sheet_read) : Ditto.

2000-07-21  JP Rosevear  <jpr@arcavia.com>

	* src/sort.c (sort_contents): Add another level of indirection
	to ignore hiddens rows/cols

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

	* src/sheet-object.c (shutdown_sheet_object_creation): implement
	(sheet_leave_notify): implement. (sheet_button_press): hook up leave notify.
	(sheet_finish_object_creation): disconnect the handler too.

2000-07-18  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-financial.c (coupnum): Fixed frequency two and
	four.  This functions should work now completely.

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

	* src/border.c (style_border_draw) : Improve the look of diagonal double
	  borders.  They still handle intersections poorly, but this improves
	  things a bit.
	(style_border_print) : Ditto.

2000-07-16  Jody Goldberg <jgoldberg@home.com>
	For : Matt Bissiri <bissiri@eecs.umich.edu>

	* src/clipboard.c: Implemented 'paste link' and 'skip blanks' for paste special.
	(paste_link): New function.
	(paste_cell): Do not clear the target cells if PASTE_SKIP_BLANKS is specified.
	Call paste_link if PASTE_LINK is specified.

	* src/clipboard.h:
	Added PASTE_LINK and PASTE_SKIP_BLANKS flags.

	* src/dialogs/dialog-paste-special.c:
	(transpose_cb): Rename transpose_cb -> checkbutton_toggled.
	(dialog_destroy): New function.
	(paste_link_set_sensitive): New function.
	(dialog_paste_special): Add 'paste link' and 'skip blanks' to the dialog.

2000-07-13  Michael Meeks  <michael@helixcode.com>

	* src/main.c (gnumeric_main): remove bonobo_shutdown.

2000-07-12 Jody Goldberg <jgoldberg@home.com>
	For : Matt Bissiri <bissiri@eecs.umich.edu>

	* src/clipboard.c Implemented arithmetic operations for paste special.
	(cell_has_expr_or_number_or_blank) : New function.
	(cell_get_contents_as_expr_tree) : New function.
	(paste_oper_to_expr_oper) : New function.
	(apply_paste_oper_to_values) : New function.
	(paste_cell_with_operation) : New function.
	(paste_cell) : Call paste_cell_with_operation if paste_flags
	indicates an arithmetic operation.
	
2000-07-12  Michael Meeks  <michael@helixcode.com>

	* src/main.c (gnumeric_main): add bonobo_shutdown.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): unref not
	destroy the bonobo object.

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

	* src/sheet-vector.c (sheet_vector_new): ditto.

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

	* src/file.c (do_save_as, dialog_query_load_file): make check less
	stringent for fnames if using bonobo.

	* src/functions/fn-financial.c (coupdaybs): add brackets.

	* src/sheet-object.c (sheet_object_stop_editing): NULL the
	current_object.

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

	* src/history.c (history_menu_item_create) : Fix.

	* src/stf-parse.c (stf_parse_options_before_modification) : Simplify
	  for irix compiler.

	* src/print-info.c (print_info_new) : cellrange is a ValueRange.
	(save_range) : Ditto.
	* src/dialogs/dialog-printer-setup.c (do_setup_page_info) : Ditto.
	(do_fetch_page_info) : Ditto.

	* src/application.c (application_dpi_to_pixels) : return a double.
	  returning a float caused just enough loss of precision to break
	  my putrid use of 9pt fonts.

	* src/workbook.c (workbook_set_auto_expr) : autoexpr are always parsed
	  in the 'C' locale.

	* src/parser.y (gnumeric_parse_error) : New function.  Makes code
	  cleaner, and offers a handy dandy place for a break point.

	* src/workbook.c (workbook_setup_edit_area) : Pass '0' rather than
	  'FALSE' to avoid translation problems.

	* src/print.c (print_headers) : Adapt to changes in gnome-print.

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

	* src/sheet.c (sheet_col_row_default_init) : Take units in pixels or
	  points.
	(sheet_{col,row}_set_default_size_pixels) : new functions.  This
	  interface sucks.  Clean it up.

	* src/parser.y : Optionally insert a place holder when an
	  unknown function is found.

	* src/func.c (function_add_placeholder) : New function, moved from the
	  XL import code.

	* src/expr.c (expr_parse_string) : gnumeric_expr_parser signature
	  change.
	* src/workbook.c (workbook_set_auto_expr) : Ditto.

	* src/application.c (application_dpi_to_pixels) : New function.
	* src/item-bar.c (item_bar_fonts_init) : Use it here.
	* src/sheet-view.c (sheet_view_get_style_font) : And here.
	* src/style.c (font_init) : and here.

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

	* src/parse-util.c (cellref_r1c1_get) : Make stricter.
	(r1c1_get_item) : Ditto.

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

	* plugins/Makefile.am (SUBDIRS) : Enable applix.

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

	* src/parse-util.c (col_from_name) : Add optional arg to indicate
	  where parsing stoped.  Similar to strtod.

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

	* src/xml-io.c (xml_write_style_border) : Trivial optimization.  No
	  need to save colour for STYLE_BORDER_NONE.
	(xml_read_style_border) : Ditto.

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

	* src/sheet.c (sheet_cell_foreach_range): Change traversal order
 	for ranges.

	* src/func.c (function_iterate_do_value): Fix traversal order for
 	arrays.

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

	* src/functions/fn-math.c (gnumeric_sumproduct): Rewrite with lots
 	of care in error handling.

	* src/value-sheet.c (value_area_get_width): Make it official that
 	scalars have width 1.
	(value_area_get_height): Likewise.
	(value_area_get_x_y): Likewise.

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

	* src/stf-parse.c (stf_parse_options_fixed_autodiscover): When splitting
	columns in 2 the last character in the rightmost column would not be
	taken into account.

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

	* src/item-cursor.c (item_cursor_do_action) : Do not do anything if we
	  have not moved.

	* src/sheet-style.c (sheet_style_compute_from_list) : Make public.
	  and rename from sheet_mstyle_compute_from_list.  Changed all
	  callers.

	* src/rendered-value.c (rendered_value_new) : Optionaly take a style
	  list.  Use it if offered.

	* src/cell.c (cell_render_value) : New signature for rendered_value_new.

	* src/render-ascii.c (cell_region_render_ascii) : Temporarily reverse
	  the style list so that it goes in the correct direction.   Use
	  rendered_value not entered_text.

	* src/clipboard.c (clipboard_prepend_cell) : Init the Cell::pos with
	  the offsets.  This is useful in when looking up formats.

2000-07-06  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-financial.c: Implemented COUPNCD().

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

	* src/Makefile.am (EXTRA_DIST) : Remove -lglade-bonobo for now.

	* src/main.c (gnumeric_main) : glade_bonobo_init -> glade_gnome_init

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

	* src/bonobo-io.c (write_stream_to_storage): implement.
	(write_mem_to_storage): implement.
	(create_xml_bonobo_stream): create.
	(xml_input_read_cb): 
	(xml_input_close_cb): 
	(hack_xmlSAXParseFile): copy from libxml.

	* src/sheet-object.c (sheet_object_drop_file): update; this should
	be totaly re-written.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load): clean up.

	* src/sheet-object-item.c (sheet_object_item_new): remove,
	redundant; re-tool calls to sheet_object_container_new_object.

	* src/sheet-object.c (create_object): rename the one use.

	* src/sheet-object-container.c (sheet_object_container_new_from_object_id): 
	remove activation logic.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): free
	object_id. (sheet_object_bonobo_construct): do activation in here.
	(sheet_object_bonobo_get_object_iid): implement.

	* src/sheet-object-container.c (sheet_object_container_new_from_goadid):
	rename to (sheet_object_container_new_object): this.

	* src/xml-io.c (xml_write_sheet_object): add bonobo io.
	(xml_read_sheet_object): add bonobo and re-scope vars.
	(xml_parse_ctx_new_full): implement.

	* src/main.c (gnumeric_main): add bonobo_io_init.

	* src/xml-io.c (xml_parse_ctx_init): implement,
	(xml_parse_ctx_shutdown): ditto.
	(xml_workbook_write): moved
	(gnumeric_xml_write_workbook): s/parse_xml_context_t/XmlParseContext/

	* src/xml-io.c (xml_workbook_read): publicise.
	(xml_workbook_write): ditto.

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

	* src/about.c (dialog_about): sort alphabeticaly.

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

	* src/clipboard.c (x_selection_to_cell_region): Copy data and zero
 	terminate it.

	* src/stf-parse.c (stf_parse_fixed_line): Kill unneeded cast.
	(stf_parse_convert_to_unix): Unconstify.  Don't bother keeping
 	track of len.  Handle form-feeds better.

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

	* src/stf-parse.c:
	(stf_parse_options_fixed_autodiscover): When a column has right
	and left aligned text split and has 2 or more spaces in the
	middle split the column in two. (Suggested by Morten)

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

	* src/workbook-edit.c (workbook_edit_detach_guru) : Nat having a
	  guru in place is not an error.

	* src/clipboard.c (x_selection_received) : No need to sheet_update or
	  recalc.  cmd_paste_copy handles that.

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

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

	* src/clipboard.c (x_selection_received): Update current sheet,
 	not a NULL sheet.

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

	* autogen.sh:
	Downgrade libtool requirment from 1.3.4 to 1.3.3.
	because compiling Gnumeric works fine with 1.3.3.

2000-07-04  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-financial.c: Implemented basis 0 for COUPDAYBS.

	* src/functions/fn-financial.c (coupdays): Implemented frequency 1
 	for basis 1 (frequences 2 and 4 are still not done).

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

	* src/dialogs/dialog-stf.c, src/dialogs/dialog-stf-fixed-page.c:
	Fix column mangling in fixed width import.

	* src/dialogs/dialog-stf-format-page.c:
	(format_page_format_changed): Use new sublist_select member
	to avoid 'jumping' of the GtkClist when selecting from
	the sublist.
	(format_page_sublist_select_row): idem.
	(stf_dialog_format_page_init): Initialize sublist_select.

	* src/stf-parse.c, src/stf-parse.h:
	(stf_parse_options_fixed_autodiscover): New!
	Column autodiscovery for fixed width.

	* src/dialogs/dialog-stf.glade:
	Add clear and autodiscovery buttons
	
	* src/dialogs/dialog-stf-fixed-page.c: 
	(fixed_page_autodiscover): Autodiscovery routine.
	(fixed_page_clear_clicked): Clear click handler
	(fixed_page_auto_clicked): Autodiscovery click handler
	
2000-07-04  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* samples/excel/infofuns.xls: Changed the third test case of
 	ERROR.TYPE.  It seems that XL produces #VALUE! error for
 	STDEV("foo") but #DIV/0! error for STDEV(A1) when A1 contains
 	string `foo'.  Cool.

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

	* src/stf-parse.c (stf_parse_get_rowcount): Don't add one to the
 	number of lines if the last line is empty.

	* src/sheet.c (sheet_cell_set_text): Plug leak.

	* src/workbook-format-toolbar.c
 	(do_sheet_selection_apply_number_format): Avoid double translation
 	of format.

	* src/mstyle.c (mstyle_set_format_text): Renamed from
 	mstyle_set_format.
	(mstyle_set_format): New function taking a StyleFormat *.

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

	* src/workbook.c : Begin the Name menu.

	* src/workbook-edit.c (workbook_edit_set_sensitive) : New function.
	(workbook_finish_editing) : Use here.
	(workbook_start_editing_at_cursor) : And here.
	(workbook_edit_attach_guru) : And here.
	(workbook_edit_detach_guru) : And here.
	(workbook_edit_entry_redirect_p) : New function.

	* src/item-grid.c (item_grid_button_1) : If we have a guru up, but are
	  not selecting a region ignore clicks.
	(item_grid_event) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is
	  possible to have a guru up without selecting regions.

	* src/expr-name.c (expr_name_list) : Doh!

2000-07-03  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/analysis-tools.c: Implemented `Histogram' tool (mostly).

	* src/dialogs/tools.h: Related changes.

	* src/dialogs/analysis-tools.glade, 
	src/dialogs/dialog-analysis-tools.c: Added dialogs for `Histogram'
	and `Fourier Analysis' tools.  The later is not implemented yet.
	
2000-07-03  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-financial.c: Implemented COUPNUM().

	* src/analysis-tools.c: Started the implementation of the third
	anova tool (two-factor with replication).
	
	* src/dialogs/analysis-tools.glade: Added dialog for the new
	tool.  Fixed the `Correlation' dialog.
	
	* src/dialogs/dialog-analysis-tools.c: Added 
	dialog_anova_two_factor_without_r_tool().

	* src/dialogs/tools.h: Related changes.

	* TODO: Added `Data analysis tools' section.

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

	* src/expr.c (expr_rewrite) : Names can contain relative references,
	  we need to check them too.

	* src/parser.y (exp) : Add production for sheet specific names.
	  eg Sheet2!name

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

	* src/functions/fn-string.c (parse_search_strin) : Use g_strdup.

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

	* src/file.c (can_try_save_to): Constify.  Handle empty name.
	(do_save_as): Ditto.
	(wants_to_overwrite): Ditto.

2000-06-30  Morten Welinder  <terra@diku.dk>

	* src/file.c (dialog_query_load_file): Guard against empty entry.

	* src/parse-util.c (parse_cell_name_list): Plug leak.

	* src/solver-lp.c (write_constraint_str): Return an allocated
 	string instead of taking an unsized buffer.  Constify.  All
 	callers changed.

	* plugins/Makefile.am (SUBDIRS): Delete text, ff-csv, and sample
 	plugins.  Separate the remaining ones into file formats and
 	functions.

2000-06-30  JP Rosevear  <jpr@arcavia.com>

	* src/embeddable-grid.c (EmbeddableGridFactory_init): Use
 	consistent names.

	* gnumeric.gnorba: Make server names consistent 

	* gnumeric.oafinfo: Make server names consistent

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

	* src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is
	  possible to have a guru up without editing.
	(gnumeric_sheet_key_press) : rename from gnumeric_sheet_key.
	(gnumeric_sheet_size_allocate) : rename from gnumeric_size_allocate.
	(gnumeric_sheet_focus_in) : Enable the input context.
	(gnumeric_sheet_focus_out) : Disable the input context.
	(gnumeric_sheet_realize) : Create the input context.
	(gnumeric_sheet_unrealize) : Destroy the input context.
	(gnumeric_sheet_class_init) : Register the new methods.
	(gnumeric_sheet_init) : Init the input context.

	* src/clipboard.c (x_selection_handler) : Adjust to changes in
	  application_clipboard_clear.
	(x_selection_clear) : Ditto.
	* src/cmd-edit.c (cmd_paste) : Ditto.
	* src/sheet.c (sheet_destroy) : Ditto.

	* src/application.c (application_clipboard_clear) : Make dropping the
	  selection optional.  This removes the kludges necessary to handle
	  changing the clipboard when we already have the selection.

	* src/functions/fn-logical.c (gnumeric_true, gnumeric_false) :
	  fix signatures.

2000-06-30  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-logical.c: Added FALSE().

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

	* src/application.c (application_set_selected_sheet) : short circuit
	  clearing the selection if we are in the same workbook, not just the
	  same sheet.

	* src/sheet.c (sheet_name_quote) : cast to unsigned char for safety
	  when using isdigit.
	* src/workbook.c (wb_edit_key_pressed) : Ditto.

2000-06-28  Arturo Tena <arturo@directmail.org>
 
	* configure.in: Improve libole2 detection.
 
2000-06-29  Jody Goldberg <jgoldberg@home.com>

	* src/parser.y : Add 'string_opt_quote' and use it in a few
	  productions that do not care about the quote state of the token.

	* src/sheet.c (sheet_name_quote) : Sheet names that begin with digits
	  need to be quoted. (#15720)

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

	* src/expr.c (expr_tree_new_funcall) : Ref the function here.

	* src/func.c (fn_def_new) : Init the new elements.

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

	* src/functions/fn-sheet.c (GNUMERIC_VERSION) : new function.

	* src/workbook.c (workbook_do_destroy) : No need to release the
	  clipboard here.  The Sheet does it for us.

	* src/workbook-format-toolbar.c : Add Fill to the default money
	  format.

	* src/symbol.c : The only symbols are functions.  The global table
	  should not be world visible.

	* src/sheet.c (sheet_flag_status_update_cell) : Take a CellPos.
	(sheet_get_extent_cb) : Use Cell::pos rather than adding an
	  indirection.
	(cb_set_cell_content) : Use StyleFormat.
	(sheet_cell_set_value) : Call sheet_flag_status_update_cell.
	(sheet_cell_set_value) : Ditto.
	(sheet_destroy) : Prepare to clear out named expressions.
	(colrow_move) : Handle changes in cell_relocate signature.
	(sheet_move_range) : Ditto.

	* src/sheet-autofill.c : Use StyleFormats.

	* src/position.c (parse_pos_init) : Global position are permitted.

	* src/parser.y : Large change.  Do not automaticlly look for function
	  names or named expressions in the lexer.  The lexer returns STRING
	  and QUOTED_STRING.  The parser then does the appropriate lookups to
	  potentially convert to something else.  This allows us to have sheet
	  names that are the same as functions.

	* src/parse-util.c (cellref_name) : Add flag to optionally disable the
	  addition of the sheet name.  This is useful when printing
	  Sheet2!A1:A3 rather than Sheet2!A1:Sheet2!A3.

	* src/number-match.c (format_create_regexp) : Handle fill formats.

	* src/mstyle.c (mstyle_get_border) : Fix constness.

	* src/mathfunc.c (combin, fact) : Moved these here from
	  functions/fn-math.c

	* src/main.c (gnumeric_main) : No more constants_init, or
	  global_symbol_init.

	* src/func.c () : Reorg.  Remove some dead code.  Begin adding
	  workbook local function support, Begin adding volatile, and
	  semi-volatile functions.  Move the use of SymbolTable internal
	  in preparation for eliminating it.

	* src/format.c (format_number) : Improve support for pound, yen, and euro.
	  Remember to produce a number when we hit spacing.

	* src/expr.c : Have ExprFunc refer directly to the FunctionDefinition
	  We still use a SymbolTable internally, but that will be merged out
	  later.

	* src/expr-name.c : Major reorg.  Not complete.

	* src/corba-sheet.c (fill_corba_value) : Adjust to changes in
	  cellref_name signature.

	* src/commands.c (cmd_set_date_time_undo) : No need to manually call
	  update_cell_flag.  cell_remove, and cell_set_text do that for us.
	(cmd_set_date_time_redo) : Ditto.
	  Use StyleFormat.

	* src/clipboard.c (paste_cell) : Take the ExprRewriteInfo as an
	  argument.
	(clipboard_paste_region) : Init the ExprRewriteInfo.  We need to do
	  this here rather than in cell_relocate because we may be moving a
	  region, not just a single cell, and references within the region
	  should not be changed.

	* src/cell.c (cell_relocate) : Take the relocation info as an
	  argument.  Non NULL indicates a request to check bounds.  We cannot
	  do this at the cell level. becuase we may be moving a block rather
	  than just a single cell, and references into the block should NOT be
	  rewritten.
	(cell_set_text_and_value) : Take a StyleFormat.
	(cell_assign_value) : Ditto.
	(cell_set_value) : Ditto.
	(cell_set_expr_internal) : Ditto.
	(cell_set_expr_unsafe) : Ditto.
	(cell_set_expr) : Ditto.

	* src/auto-format.c (do_af_suggest) : Expression now refers directly
	  to functionDef.

2000-06-22  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-object-item.c (sheet_object_item_new): Add OAF support
	here. 

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

	* src/functions/fn-lookup.c (find_index_bisection): Undo
	transposition of find_bound_walk parameters.

	* samples/excel/lookfuns2.xls: Add type mismatch tests.

2000-06-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-stat.c (help_finv): Fixed copy-paste bug in
 	documentation.

	* src/functions/fn-logical.c: Added TRUE() function since it is
 	also a function in Excel.

	* TODO: Updated the status of the build-in functions.
	
2000-06-26  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_get_as_checked_bool) : Use g_return_val_if_fail
	  rather than assert.  A log entry is better than a crash.

2000-06-26  JP Rosevear  <jpr@arcavia.com>

	* src/value.c (value_get_as_checked_bool): New function that
	doesn't require an error variable - use only if confident that
	the value does actually exist.

	* src/value.h: Add new prototype.

	* src/functions/fn-lookup.c: Clean up cruft
	(find_type_valid): See if the value is a string or is gnumeric.
	(find_compare_type_valid): See if the types are comparable.
	(find_bound_walk): Walk an integer range first in one direction
	and then in the other direction.
	(find_index_linear): Do a linear search on a range or array.
	(find_index_bisection): Do a bisection search on a range or array
	that also follows excel rules for for handling type mismatches 
	during the search and finding the first and last item matching
	the search.
	(gnumeric_vlookup): Use new functions and implement undocumented
	excel behaviour.
	(gnumeric_hlookup): ditto
	(gnumeric_lookup): ditto
	(gnumeric_match): ditto

2000-06-26  Morten Welinder  <terra@diku.dk>

	* src/format.c (lookup_color): Don't double translate.  Compare
 	the right number of characters.

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

	* src/sheet-object-bonobo.c (get_file_name): return non-filenames
	as NULL.

2000-06-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/functions/fn-financial.c: Implemented COUPDAYS for basis 0,
 	2, 3, and 4 (basis 1 is still not implented).

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

	* src/dialogs/dialog-analysis-tools.c (set_output_option_signals):
 	Constify.
	(set_group_option_signals): Constify.
	(new_frame): Constify.
	(error_in_entry): Constify.
	(new_dialog): Constify.

	* src/analysis-tools.c: major cleanup.  Eliminate fixed-size
 	buffers that might overflow; constify; plug leaks; improve
 	precision; produce numbers without going through strings.
	(set_cell_float, set_cell_int, set_cell_na, set_cell_printf): New
 	functions.

	* src/xml-io.c (xml_write_range): Constify.
	(xml_get_gnome_canvas_points): Mark code as bogus.
	(xml_set_gnome_canvas_points): Constify.  Improve space checks.
	(xml_set_value_int): Improve buffer sizing.
	(xml_set_value_string): Constify.
	(xml_set_color_value): Improve buffer sizing.

	* src/ranges.c (parse_range): Constify, simplify, optimise, and
 	secure.
	(range_parse): Fix strict case.

	* src/parse-util.c (parse_cell_name_or_range): Remove bogus cast.

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

	(sheet_object_container_new_bonobo): As suggested by Michael:
	use the accessor function bonobo_client_site_get_embeddable to
	get the bound embeddable.

2000-06-23  Karl Eichwalder  <ke@suse.de>

	* src/style.c (font_init): Add missing dot.

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

	* src/item-edit.c (item_edit_draw_text) : Restore code that was
	  deleted to handle a cursor on another line, or at the start of the
	  line.

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

	* src/sheet-object-container.c
	(sheet_object_container_new_bonobo): Change
	BonoboClientSite->bound_object to bound_embeddable. This was
	just changed in Bonobo CVS.

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

	* src/embeddable-grid.c (embeddable_grid_init_anon): fix.

2000-06-20  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_ins_del_row_col_undo): Leak and assertion
 	fix from Jody's tree.

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

	* src/commands.c (cmd_paste_cut_redo) : Plug leak.

	* src/number-match.c (format_match) : strings with only spaces are NOT
	  numbers.

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

        * Release 0.56

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

	* src/eval.c (invalidate_refs) : const.
	(do_deps_destroy) : const.

	* src/cell.c (cell_set_expr_internal) : Be careful about unrefing.

	* src/item-edit.c (entry_event) : Rather than catching 'event' and
	  checking for the type of event we want.  Catch the events directly.
	  That way the events can take place BEFORE we look for our position.

	* src/workbook-edit.c (entry_changed) : The characters starting
	  expressions are not alphabetic.  Don't bother testing them too.
	(workbook_start_editing_at_cursor) : Do not start autocompletetion
	  if the content is not completable.

2000-06-19  Morten Welinder  <terra@diku.dk>

	* src/sheet.c (sheet_get_extent_cb): Typo fix per Jody.  Hopefully
 	cures all the save-as-XL95 problems.

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

        * Release 0.55

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

	* src/parser.y (build_array) : This is almost certainly broken in
	  locales that use ',' as a decimal point.

	* src/xml-io.c (xml_probe) : xmlCreateFileParserCtxt will return NULL
	  if the file was not readable.

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

	* src/sheet.c (sheet_cell_set_text) : Does this change the selection
	  or content of edit pos.
	(sheet_cell_remove) : Ditto.
	(sheet_destroy) : Remove irrelevant assignment.  sheet_deps_destroy
	  does it for us.

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

	* src/value-sheet.c (value_is_error) : No need for 'offset' parm.

	* src/number-match.c (format_match) : Parse TRUE/FALSE as this level.

	* src/value-sheet.c (constants_init) : TRUE/FALSE are not symbols.
	  They are values.  A symbol only has value in an expression.
	  A value operates at a lower level.  eg
	A1 : '=TRUE' will work as a value or a symbol
	A1 : 'TRUE' will only work as a value

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

	* src/format.c (lookup_color) : Handle translated colours.

	* src/number-match.c (format_create_regexp) : Build the regexp
	  ourselves.  The poor translators had no idea what the hell that was
	  supposed to do.  The regexp is still way way to general.
	(compute_value) : Use the locale.

	* src/expr.c (expr_tree_as_string) : Renamed from expr_decode_tree.
	(expr_tree_get_func_def) : new function.
	(expr_tree_first_func) : New function.

	* src/expr-name.c (expr_name_value) : Rename expr_decode_tree ->
	  expr_tree_as_string.

	* src/style.c (font_init) : Improve error message to include the most
	  probable location of the fontmap file.

	* src/sheet-view.c (sheet_view_size_allocate) : Disable jump to edit
	  pos to avoid unintended jumping when a sheet is added.

	* src/func.c (function_def_count_args) : Correctly handle vararg
	  functions that takes nodes.

2000-06-15  JP Rosevear  <jpr@arcavia.com>

	* src/expr.c (eval_expr_real): Use new value_compare API

2000-06-14  JP Rosevear  <jpr@arcavia.com>

	* src/value.h: Update value_compare prototype.

	* src/value.c (value_compare): Make it take a new case
	sensitive flag for string comparisons.

	* src/sort.c (sort_compare_cells): Use value_compare to do the
	comparisons.  Handle the special cases of blanks (always at
	bottom, whether asc or desc) and errors (after booleans).

2000-06-14  Morten Welinder  <terra@diku.dk>

	* src/history.c (history_item_label): Change "_" to "-", fixing
 	around 14183.

	* src/print.c (sheet_print): Complain when printing fails.

2000-06-14  JP Rosevear  <jpr@arcavia.com>

	* samples/excel/sort.xls: Add sort sample.  Now we see that Excel
	sorts Errors after Booleans (for ascending order) and then by the
	name of the error.  Blanks are always at the bottom (asc and desc).

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

	* src/workbook-format-toolbar.c (money_format) : Correct.
	  (do_sheet_selection_apply_number_format) : Decrease hackishness and
	  improve docs for the formats.  

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

	* src/functions/fn-math.c (callback_function_sumproduct) : Handle
	  empty.
	(gnumeric_sumproduct) : Handle blank cells correctly, correct error
	  handling slightly.

	* src/func.c (iterate_cellrange_callback) : Handle empty cells.
	(function_iterate_do_value) : Add a new argument to control the
	  handling of empty cells.
	(function_iterate_argument_values) : Hard code the ignore_blanks
	  argument to TRUE the same as the previous behavior.

2000-06-13  Morten Welinder  <terra@diku.dk>

	* src/stf-parse.c (trim_spaces_inplace): New function.
	(stf_parse_fixed_cell): Don't trim spaces here.
	(stf_parse_fixed_line): Trim here.
	(stf_parse_csv_cell): Don't trim spaces here.
	(stf_parse_csv_line): Trim here.

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

	* src/functions/fn-math.c (callback_function_sumif) : No need to
	  malloc memory for an int.  Fix the logic to handle empty cells
	  properly.

	* src/stf-parse.c (stf_parse_options_set_trim_spaces) : patch typo.

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

	* src/workbook.c : Enable the formula guru, make WorkbookPrivate hold
	  the BonoboObject in the ENABLED_BONOBO case.

	* src/workbook-edit.c (workbook_finish_editing) : Disconnect any gurus
	  that may be up.
	(entry_changed) : Do not autocomplete expressions.  Gurus play havoc
	  with this.
	(workbook_edit_auto_complete_init) : Delete unused.
	(workbook_get_entry_logical) : New function.
	(workbook_set_entry) : New function.
	(workbook_edit_attach_guru) : New function.
	(workbook_edit_detach_guru) : New function.
	(workbook_editing_expr) : When a guru is up we are always editing an
	  expression. TODO, tune this.
	(workbook_edit_load_value) : Moved from Sheet, and renamed from
	  sheet_load_cell_val.
	(workbook_edit_init) : Handle gurus.

	* src/sheet.c (sheet_destroy_cell_select_cursor) : Make clearing optional.

	* src/sheet-vector.c (sheet_vector_new) : The vectors are
	  BonoboObjects, destroy them correctly.
	(sheet_vectors_shutdown) : Ditto.

	* src/sheet-object.c (sheet_set_mode_type_full) : Silence warning.
	(sheet_object_insert) : Renamed from sheet_insert_object and moved
	  from sheet.c

	* src/pixmaps.h : Enable the Formula guru.

	* src/parser.y (arg_list) : Improve handling of empty arguments.

	* src/gnumeric-sheet.c (selection_remove_selection_string) : Use
	  workbook_get_entry_logical.
	(selection_insert_selection_string) : Ditto.
	(start_cell_selection_at) : Ditto.
	(gnumeric_sheet_key_mode_sheet) : Ditto.

	* src/workbook-private.[ch] : Make this into a Bonobo Object for now.

	* src/embeddable-grid.c (embeddable_grid_init_anon) : Use
	  workbook_new_with_sheets.
	(embeddable_grid_new) : WorkbookPrivate is temporarily the bonobo
	  object.

	* src/history.c (history_menu_item_create) : Ditto.
	(history_menu_locate_separator) : Ditto.
	(history_menu_insert_separator) : Ditto.
	(history_menu_remove_items) : Ditto.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : Ditto.
	* src/sheet-object-container.c (sheet_object_container_realize) : Ditto.

	* src/workbook-view.c (workbook_view_set_paste_special_state) : Ditto.
	(change_menu_label) : Ditto.

	* src/file.c (workbook_try_read) : Workbook is now always just a
	  GtkObject.
	(workbook_import) : Ditto.

	* src/formats.c (cell_format_date) : Add some new formats.

	* src/format.c (find_decimal_char) : Restore constness.
	(format_remove_decimal) : Fix the const correctly.

	* src/commands.c (cmd_ins_del_row_col_redo) : Fix to use the new
	  semantics.

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

	* src/sheet-autofill.c (fill_item_destroy) : Free the format.
	(fill_item_new) : Handle filling by month and year.
	(autofill_compute_delta) : Ditto.
	(autofill_cell) : Ditto.

	* src/formats.c (cell_format_is_number) : currently handle the single
	  character currencies.
	(cell_format_date) : year only formats.

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

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : Minor
	  optimization.

2000-06-13  Morten Welinder  <terra@diku.dk>

	* src/functions/fn-math.c (gnumeric_round): Round properly.

2000-06-12  JP Rosevear  <jpr@arcavia.com>

	* src/workbook.c (sort_cmd): Adjust if the range to be sorted
	has a header.

	* NEWS: Update. 

	* src/ranges.h: New prototype.

	* src/ranges.c (range_has_header): New function to determine if
	a region has a header row.

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

	* src/item-cursor.c (item_cursor_update) : Change sheet -> sheet-view.
	(item_cursor_set_bounds) : Add a short circuit test and return TRUE
	  if things changed.
	(item_cursor_selection_event) : Take a SheetView.
	(item_cursor_target_region_ok) : sheet -> sheet-view
	(item_cursor_do_action) : Ditto.
	(item_cursor_set_arg) : Ditto.
	(item_cursor_class_init) : Ditto.
	(item_cursor_set_bounds_visibly) : Make the cell visible before
	  changing the bounds.
	(cb_move_cursor) : New function.
	(cb_autofill_scroll) : New function.
	(item_cursor_handle_motion) : New function.
	(item_cursor_drag_event) : Enable timer based scrolling.
	(item_cursor_autofill_event) : Ditto.

	* src/gnumeric-sheet.c (start_cell_selection_at) : item-cursor takes a
	  sheet-view rather than a sheet.
	(gnumeric_sheet_new) : Ditto. Only update if the bounds changed.

	* src/item-edit.c : Take a SheetView rather than a Sheet.

	* src/sheet-view.c (sheet_view_start_sliding) : Return a flag
	  indicating whether or not the timer has been triggered.

	* src/border.c (LineDotPattern) : Fixed const.

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

	* src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
	  ok now I understand what those calls to
	  gnome_canvas_get_scroll_offsets where supposed to do.

	* src/colrow.c (col_row_restore_sizes) : Arrgghh.  Stupid typo.
	(col_row_restore_sizes_group) : Patch leak.

	* src/workbook-edit.c (entry_changed) : Only autocomplete text that
	  begins with an alphabetic

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

	* src/sheet-view.c (sheet_view_{col,row}_selection_changed) :
	  Do not make the edge visible, the scroll time will take care of
	  that.
	(sheet_view_{col,row}_size_changed) : Use the new undo wrappers.
	(cb_colrow_resize) : Use the new undo wrappers.
	(sheet_view_init) : Init the scroll timers.
	(sheet_view_stop_sliding) : Based on the version from item_grid.
	(sheet_view_start_sliding) : Ditto.
	(sheet_view_sliding_callback) : Ditto.  Added callback support.
	  tuned scroll parameters.

	* src/number.h : Clear out unused cruft.

	* src/item-grid.c : Move support for scroll timers into sheet-view.

	* src/item-bar.c (get_element_from_pixel) : Renamed from
	  get_col_from_pos.
	(cb_extend_selection) : New function.
	(item_bar_event) : Use the sliding scroll mechanism in sheet_view.

	* src/item-cursor.c (item_cursor_selection_event) : Adapt to changes in
	  item_grid_find_{col,row}.
	(item_cursor_drag_event) : Ditto.

	* src/sheet.c (sheet_foreach_colrow) : renamed and moved to.
	* src/colrow.c (col_row_foreach) here.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : Moved here
	  and renamed from.
	* src/item-grid.c (item_grid_find_{col,row}) : here.

	* src/value.c (value_equal) : deleted.
	(value_compare) : Moved and renamed from
	* src/expr.c (compare) : here.
	(expr_dump_tree) : Delete replicated function.

	* src/colrow.c (col_row_size_list_destroy) :
	(col_row_index_list_destroy) : New function.
	(col_row_get_index_list) : New function.
	(col_row_set_sizes) : New function.
	(col_row_restore_sizes_group) : New function.

	(col_row_save_sizes) : Moved from sheet.c
	col_row_restore_sizes : Ditto.
	cb_set_row_height : Ditto.
	rows_height_update : Ditto.

	src/commands.c (cmd_resize_row_col*) : Implement.

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

	* src/commands.c (cmd_sort_undo): Take advantage of
 	sort_data_length and sort_permute_invert.
	(cmd_sort_destroy): leak fix.

	* src/sort.c (sort_data_length): Make public.
	(sort_permute_invert): New function.

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

	* src/workbook.c (change_displayed_zoom_cb): Set zoom using
	gtk_combo_text_set_text.
	(change_zoom_in_current_sheet_cb): Check that current sheet is non
	NULL.
	(workbook_zoom_feedback_set): Block callbacks while changing
	displayed zoom.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar):
	Drop the empty font name - that was needed in the option menu, but
	not now we're using a combo box.  Ignore nameless fonts in
	gnumeric_font_family_list. (We were displaying *two* blank lines
	at the top - now we've got rid of both.)
	(workbook_feedback_set): Set font size and font name using
	gtk_combo_text_set_text, which also selects the item in the combo
	list if present.  Get rid of hack to select font name in list -
	this is now done in the widget.
	(workbook_feedback_set):

	* src/sheet.c (sheet_set_zoom_factor): Check that sheet isn't NULL.

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

	* src/sort.c (sort_contents): Use the C-library's qsort.
	Fix permutation.  Speed up things.

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

	* src/format.c (format_number) : Escaped characters trigger a render
	  too.  This code really needs to be rationalized.

2000-06-07  Darin Adler  <darin@eazel.com>

	* src/history.c: (history_menu_item_create):
	Update name of call so it will compile with the latest Bonobo.

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

	* src/commands.c (cmd_set_text): Update code.

	* src/workbook-edit.c (workbook_auto_complete_destroy): Simplify
	test here. 

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

	* src/workbook.c (workbook_delete_sheet) : Update the undo/redo
	  toolbar and menus.

	* src/sort.c (sort_permute) : Avoid Leak.
	* src/commands.c (cmd_sort_destroy) : Avoid leak.
	(cmd_autofill) : Do not autofill if the target is the same as the
	  source.

	* src/main.c (gnumeric_main) : Fix typo that was breaking minicons.

	* src/item-bar.c (item_bar_end_resize) : Always emit signal.
	(item_bar_event) : On double click emit a signal with newsize == -1 to
	 indicate a need to autosize.

2000-06-06  JP Rosevear  <jpr@arcavia.com>

	* src/sort.c (sort_position): Call sort_permute with the given
	permutation index
	(sort_contents): Call sort_qsort to get a permutation index and
	then use sort_permute to actually move the rows
	(sort_permute): Use copy and paste to move rows/cols around
	(sort_permute_next): Find next row/col the hasn't been set based
	on the permutation array
	(sort_permute_is_set): Find if a a bit in a bit array is set
	(sort_permute_set): Set a bit in a bit array
	(sort_permute_find): Find a given number in a permutation array
	(sort_qsort): Produce a permutation index for sorting rows or cols 
	(sort_swap): Swap two entries in the permutation index
	(sort_compare_sets): Compare two sets of cells
	(sort_compare_cells): Compare two cells
	(sort_data_destroy): Destroy SortData struct

	* src/commands.c (cmd_sort): Store the new sort data structure
	(cmd_sort_redo): Call sort_contents only if a permutation index
	does not already exist, otherwise use the index with sort_postion
	(cmd_sort_undo): Create an inverse of the permutation index
	if it doesn't already exit to call sort_positon with

	* src/commands.h: New cmd_sort prototype.

	* src/workbook.c (sort_cmd): Reflecting sorting API changes

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

	* src/cell.c (cell_relocate) : when relocating the expression
	  be careful to use the offsets when calculating the validity.

	* src/workbook-edit.c (workbook_auto_complete_destroy) : Only remove
	  signal if it has been activated.  Only delete the completer if it
	  exists.

2000-06-05  Miguel de Icaza  <miguel@helixcode.com>

	* src/gnumeric-util.c (gtk_radio_button_select): Add
	precondition.  Chema found this, but we should add the proper
	check at an upper layer.

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

	* src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p):
	Change prototype to use GtkEntry instead of GtkWidget.

	* src/workbook-edit.c (workbook_finish_editing): Changed direct access to
	workbook->private_entry to workbook_get_entry. 
	(entry_changed): ditto.
	(workbook_start_editing_at_cursor): ditto.
	(workbook_editing_expr): ditto.
	(workbook_edit_get_display_text): ditto.

	* src/workbook.c (autosum_cmd): Changed direct access to
	workbook->private_entry to workbook_get_entry. 
	(do_focus_sheet): ditto.
	(wb_edit_key_pressed): ditto.
	(workbook_setup_edit_area): ditto.

	* src/workbook.c (cb_autofunction): ditto.

	* src/workbook-private.h: Make edit_line a structure to keep track
	of the entry and its signal changed.  Also take a chance to change
	this to the self descriptive GtkEntry instead of GtkWidget.

	* src/commands.c (cmd_set_text): Added const here.

	* src/workbook.c (workbook_do_destroy): Add destroy notification
	for the editing facilities

	* src/item-edit.c (item_edit_set_arg): removed auto complete code
	from here. 

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

	* src/workbook-edit.c, src/workbook-edit.h: New files.  Moved
	workbook_start_editing_at_cursor, workbook_finish_editing,
	workbook_get_entry, workbook_editing_expr here.  Killed
	workbook_set_entry prototype.

	* src/workbook.c (workbook_start_editing_at_cursor): Moved
	autocomplete here. 

	* src/workbook.h: Removed warning.  #include <config.h> is a
	mandatory header file in every C file.  A correct approach is to
	use something like Nautilus' perl script that verifies the
	presence of config.h as the first include.

	* src/workbook.c (close_cmd): Removed ulgy (void)
	(quit_cmd): More.
	(sheet_action_rename_sheet): more.
	(workbook_finish_editing): Fixed more ugly.

	* src/gutils.c (gnumeric_sys_glade_dir): Fixed ugly indentation.
	(gnumeric_usr_plugin_dir): More ugly stuff fixed.
	(gnumeric_usr_dir): Removed ugly const.

2000-05-02  Miguel de Icaza  <miguel@helixcode.com>

	* src/item-edit.h: New ::entry member, auto_max_size, auto_complete_text

	* src/item-edit.c (item_edit_draw_text): Take an ItemEdit as a
	first argument, and reduce the cluttered arguments we were
	passing.
	(item_edit_draw): Cursor_pos is now only the position, it is not
	overloaded with show/hide cursor as well.
	(item_edit_draw_text): Update acoordingly.
	(item_edit_draw_cursor): This new routine paints the cursor only.
	(item_edit_set_arg): Add a new signal handler for "activated" on
	the entry
	(cb_item_edit_cursor_blink): Removed FIXME.
	(item_edit_set_arg): Init item_edit->entry.  I am pretty sure this
	existed in the past.

2000-05-01  Miguel de Icaza  <miguel@helixcode.com>

	* src/item-edit.c (item_edit_draw): Pass auto-completing flag.
	(item_edit_draw_text): Invert auto-complete region.
	(item_edit_set_arg): Init auto_completing here.
	(item_edit_complete_notify): Set the entry from the
	auto-completing data here.

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

	* src/sheet.c (sheet_cell_expr_{link,unlink}) : renamed from
	  sheet_cell_formula_{link,unlink}.

	* src/cell.c (cell_relocate) : Doh! use the offset flags now that they
	  are being passed.

	* src/clipboard.c (paste_cell) : Renamed from paste_cell_flags.

	* src/expr.c (compare) : value_is_empty_cell -> VALUE_IS_EMPTY.

	* src/value.c (VALUE_IS_EMPTY) : rename from value_is_empty_cell.

	* src/sheet-private.h : Add resize_scrollbar.

	* src/sheet.c (sheet_{col,row}_add) : Use resize_scrollbar flag rather
	  than manually updating the scrolling bar.
	(sheet_update) : Handle resize_scrollbar.
	(sheet_cell_expr_link) : renamed from sheet_cell_formula_link.
	(sheet_cell_expr_unlink) : renamed from sheet_cell_formula_unlink.

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

	* src/value.c (value_is_empty_cell) : str == "" is not empty

	* src/expr.c (compare) : comparisons between "" and empty are special.

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

	* src/sheet.c (sheet_cell_add_to_hash) : Set the CELL_IN_SHEET_LIST
	  flag.
	(sheet_cell_remove_from_hash) : Clear the CELL_IN_SHEET_LIST flag.
	(cb_remove_allcells) : Ditto.
	(sheet_cell_formula_link) : Set the CELL_IN_EXPR_LIST flag.
	(sheet_cell_formula_unlink) : Clear the CELL_IN_EXPR_LIST flag.
	(sheet_formulas_unlink) : Ditto.

	* src/clipboard.c (paste_cell_flags) : Take some additional arguments
	  so that pasted cells can potentially have their references made
	  invariant, this is for sorting.
	(clipboard_paste_region) : Pass the additional offsets when
	  PASTE_EXPR_RELOCATE is specified.
	(append_cell_closure_t) : Delete this type.  Move the origin cell info
	  into CellRegion.

	* src/cell.c (cell_copy) : Clear the sheet and associated flags for
	  the copied cell.  This avoids accidentally realizing comments that
	  become undeletable.
	(cell_relocate) : Remove the unlink flag now that we have the
	  additional cell_flags.

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

	* Makefile.am (SUBDIRS): remove libole2. duh.

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

	* src/selection.c (sheet_selection_reset) : Delete unused routine.
	(sheet_selection_to_list) : Ditto.

	* src/item-cursor.c (item_cursor_autofill_event) : Use new undoable
	  version of autofill.

	* src/corba-sheet.c (Sheet_selection_reset) : Delete.

	* src/commands.c (cmd_area_set_text_undo) : We want to restore
	  formulas, not values.
	(cmd_clear_selection) : Paste by value should be exclusive of paste by
	  formula.
	(cmd_autofill_*) : New functions.

	* idl/Gnumeric.idl : Remove useless function selection_reset.

	* src/number-match.c (format_match) : Handle numbers larger than
	  LONG_{MAX,MIN} by falling through to double.

	* src/sheet.c (sheet_recompute_spans_for_col) : Use closure.

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

	* src/xml-io.c (xml_sheet_write) : Adjust to changes in
	  sheet_foreach_colrow.

	* src/sheet.c (sheet_foreach_colrow) : Adjust signature.
	(colrow_compute_pixels_from_pts) : Adjust to changes in sheet_foreach_colrow.
	(sheet_set_zoom_factor) : Ditto.
	(cb_recalc_spans_in_col) : Ditto.
	(sheet_recompute_spans_for_col) : Ditto.
	(cb_colrow_compute_pixels_from_pts) : New function wrapper.
	(sheet_find_boundary_{horizontal,vertical}) : Fix case of being on the
	  last non-blank element of a col/row and jumping to the far edge.
	(sheet_move_range) : Redraw prior to moving incase the src region
	  contains a span.

	(sheet_redraw_cell_region) : Be more intelligent about skipping over
	  large empty regions.
	(sheet_cell_foreach_range) : Ditto.

	(cb_check_array_{horizontal,vertical}) : new functions.
	(sheet_range_splits_array) : Rewrite to be use sheet_foreach_colrow.

	* src/selection.c (sheet_selection_cut) : Adjust to changes in
	  sheet_range_splits_array.

	* src/commands.c (cmd_paste_cut_undo) : Select the src range when
	  undoing a cut.  This seems like a nice effect.

	* src/colrow.c (cb_set_row_height) : Adjust to the changes in
	  sheet_foreach_colrow.

	* src/auto-format.c (auto_format_suggest) : Make static.

	* src/gnumeric-util.c (gnumeric_wb_dialog_run) : Silence warning.

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

	* src/gnumeric-util.c (gnumeric_wb_dialog_run): Do not set parent
	if parent is already the right one. This avoids unwanted moving of
	already displayed dialogs.

	* src/about.c: Make sure it is only popped up once
	(cb_closed): New callback to remove dialog from workbook window's
	object data.
	(dialog_about): Check if dialog exists as object data on workbook
	window. If so, raise dialog window instead of creating a new one.
	Otherwise store dialog as object data, and connect signal handler
	for "close".  Replace calls to gnome_dialog_set_parent,
	gnome_dialog_set_close and gtk_widget_show with a call to
	gnumeric_dialog_show which does it all.

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

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

	* configure.in: kill CONFIG_SUBDIRS for libole2.

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

	* src/dialogs/dialog-stf.c :
	(stf_dialog_druid_page_cancel) : Remove misplaced gtk_main_quit.

	* src/dialogs/dialog-stf-export.c :
	(stf_export_dialog_druid_page_cancel) : Idem.

2000-06-01  Kenneth Christiansen <kenneth@gnu.org>

        * po/desk.pl, po/update.pl: Two new scripts for helping 
        translation/i18n maintainance of Gnumeric

        * po/README.tools: Added readme file, which explains the
        use of the newly checked in po tools.

	* NEWS: Added notice about this

        Please go read.

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

	* configure.in : Improve naming for libxml messages.

	* src/functions/fn-information.c (gnumeric_countblank) : Fix typo
	  reported by <matasmi@iki.fi> Bug 12428.

	* src/sheet.c (sheet_move_range) : invalidate destination before
	  adjsuting src to point to dst.
	(cmd_paste_cut_*) : keep a list of displaced content, not just the
	  lost bits of the destination range, but also the portions of the src
	  that are out of range.

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

	* src/commands.c (cmd_ins_del_row_col_destroy) : Fix leak.
	(cmd_paste_cut_*) : We do need to worry about invalidations.  Any
	  references to the portions of the destination region that do not
	  overlap the src region get invalidated.

	* src/ranges.c (range_translate) : Adjust the semantics so that the
	  result warns of a range that was translated completly out of bounds.

	* src/sheet.c (sheet_move_range) : Invalidate the references to the
	  portions of the destination range that do NOT overlap with the src.
	(sheet_shift_{cols,rows}) : Rename and move to..
	* src/cmd-edit.c (cmd_shift_{cols,rows}) : here.  Use cmd_paste_cut
	  instead of sheet_move_range directly.

	* src/dialogs/dialog-{insert,delete}.c : Switch to cmd_shift_{cols,rows}.

	* src/history.c (history_menu_insert_separator) : Add a more detailed
	  explaination when the history lookup fails.

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

	* src/format.c (find_decimal_char): Remove over-constification.
	(format_remove_decimal): Terminate the copy properly.

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

	* src/dialogs/dialog-printer-setup.c (enum MarginOrientation): Add
	MARGIN_NONE for use with set_horizontal/vertical_bounds.
	(spin_button_set_bound): New function. Allow the value in spin
	button to increase by at most space_to_grow.
	(get_printable_width): New function. Return page width minus
	margins in specified unit.
	(get_printable_height): New function. Return page height minus
	margins, header and footer in specified unit.
	(set_horizontal_bounds): New function. Set the upper bounds for
	left and right margins.
	(set_vertical_bounds): New function. Set the upper bounds for
	top/bottom margins, headers and footers.
	(draw_margin): Add default branch to silence warning - MARGIN_NONE
	now exists.
	(canvas_update): Update bounds for margins when paper size has
	changed.
	(spin_button_adapt_to_unit): New function. Select suitable
	increments and number of digits for the unit.
	(do_convert): Call function above.
	(unit_changed): Update bounds for margins when a margin has
	changed.
	(unit_editor_configure): Call spin_button_adapt_to_unit.

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

	* src/commands.c (cmd_ins_del_row_col_undo) : Bounds are inclusive.

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

	* src/item-grid.c (create_popup_menu) : translate the menu labels.

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

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load),
	(sheet_object_bonobo_load_from_file): update for new PersistStream API.

	* configure.in (gnumeric_executable): check for bonobo 0.14

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

	* src/expr.c (cellrange_relocate) : Only relocate a range if both
	  elements need relocation.

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

	* src/xml-io.c (xml_workbook_write) : Arrrggh.  textdomain seems to
	  use a static buffer.  We need to strdup the result.  A more thorough
	  reading of the docs suggests that changing the textdomain is
	  completely wrong.  It is not doing what I had originally thought at
	  all.  Any idea what the correct solution would be ?  I'll patch this
	  for now because 12461 is serious, and this does solve the problem,
	  even if the solution is crap.

2000-05-29  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/commands.c: Including dialogs/dialog-autocorrect.h (warning fix)

	* src/workbook.c (workbook_create_standard_toobar): Turn off the
	button reliefs on the toolbar

2000-05-28  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/workbook.c: Create and insert GtkComboStacks into the
	toolbar for Undo/Redols

	* src/commands.c: Use the new undo/redo stack methods

	* src/workbook-view.[ch]: Several new methods to modify the user interface
	to the undo/redo stack

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

	* src/commands.c (cmd_paste_copy_undo) : The first time through we
	  transpose.  After that we are jsut replace the old content.  no
	  transpose needed.

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

	* src/commands.c (cmd_paste_copy_undo) : handle paste errors.
	(cmd_paste_copy_destroy) : do not release unless we are permitted to.
	(cmd_paste_copy) : When pasting a transpose we are more lenient about
	  resizing things.  I am not sure I agree with this behavior.

	* src/clipboard.c (clipboard_paste_region) : Return a boolean
	  indicating success or failure.

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

	* src/clipboard.c (clipboard_paste_region) : Off by one error.

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

	* src/sheet.c (sheet_update) : When recalulating all spans, we may
	  need to render some cells too.
	(sheet_move_range) : Do not call sheet_update here.
	(sheet_shift_rows) : Call it here.
	(sheet_shift_cols) : and here.

	* src/commands.c (cmd_paste_cut_undo) : Do a recalc.
	(cmd_paste_cut_redo) : No need to force a status range update, move
	  already did that.

	* src/cmd-edit.c (cmd_paste) : typo.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Chift/Ctrl
	  space are not active while editing.

	* src/workbook.c (function_druid) : Disable until this works better.

	* src/commands.c (cmd_paste_copy_undo) : Mark the sheet as dirt, and
	  do a recalc.

	* src/clipboard.c (clipboard_paste_region) : flag the need to
	  potentially update the status range.

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

	* src/clipboard.c (x_selection_received) : Do not try to paste if the
	  conversion was canceled.
	(clipboard_paste_region) : Respan/rerender as necessary after pasting.

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

	* src/commands.c (cmd_paste_copy) : Move the handling of singletons
	  and the setting of the selection here.
	* src/clipboard.c (clipboard_paste_region) : From here.

	* src/cmd-edit.c (cmd_paste_to_selection) : Remove incorrect
	  precondition.

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

	* src/functions/fn-math.c, fn-stat.c, fn-lookup.c: typos in
	description fixed.

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

	* src/dialogs/stf-parse.c: 
	(stf_parse_options_set_trim_spaces): New function.
	(stf_parse_csv_cell): Modified so it can trim spaces in 
	several ways
	(stf_parse_fixed_cell): Ditto.
	(stf_parse_get_longest_row_width) : Fixed small bug which
	caused incorrect width to be returned.

	* src/dialogs/dialog-stf.glade:
	Added trim spaces option and did some general polishing.
	
	* src/dialogs/dialog-stf.h:
	Added new member to DruidPageData_t which indicates weather
	the user wants to trim spaces and in which way.
	
	* src/dialogs/dialog-stf-main-page.c:
	(stf_dialog_main_page_init): Modified so it loads the trim optionmenu.
	(main_page_trim_menu_deactivate): New.

	* src/dialogs/dialog-stf-csv-page.c:
	(stf_dialog_csv_page_prepare): Now sets the trim member of the parse
	options struct.

	* src/dialogs/dialog-stf-fixed-page.c:
	(stf_dialog_fixed_page_prepare): Now sets the trim member of the 
	parse options struct.
	(stf_dialog_fixed_page_prepare): Did not honor the from/to line 
	settings.
	(fixed_page_remove_clicked): Added gnumeric_clist_moveto to make 
	selection visible.
	(fixed_page_add_clicked): Ditto.

	* src/dialogs/dialog-stf-format-page.c:
	(format_page_canvas_button_press_event): Modified to use
	gnumeric_clist_moveto
	(format_page_collist_select_row): Ditto.
	(format_page_format_changed): Ditto.
	(stf_dialog_format_page_prepare): Ditto.
	
	* src/gnumeric-util.c, src/gnumeric-util.h:
	(gnumeric_option_menu_get_selected_index): New function, Returns
	the selected index of a GtkOptionMenu. (Originally from
	dialog-stf-export-format-page.c)	

	* src/dialogs/dialog-stf-export-format-page.c:
	(stf_export_dialog_option_menu_index): Removed.
	(sheet_page_separator_menu_deactivate): Modified to use the new
	gnumeric_option_menu_get_selected_index.
	(stf_export_dialog_format_page_result): Ditto.

	* doc/stf-parser.txt:
	Update documentation.
	
2000-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/clipboard.c (clipboard_paste_region) : Fix typo, and thinko.

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

	* src/selection.c (selection_is_simple) : Use a command context.
	(sheet_selection_paste) : Delete.

	* src/plugin.c : rename error_plugin_problem -> error_plugin.

	* src/item-grid.c (context_paste_cmd) : Use cmd_paste_to_selection.
	(context_paste_special_cmd) : Ditto.

	* src/gnumeric-sheet.c : remove cached 'controlling_entry' in
	  preparation for the function druid.

	* src/corba-sheet.c : Delete Sheet_selection_paste.
	  this will need to be replaced with a new signature.

	* src/item-cursor.c (item_cursor_do_action) : Use new cmd_paste.

	* src/commands.c (cmd_area_set_text_{undo,redo}) : Use new
	  clipboard_paste_region.
	(cmd_ins_del_row_col_{undo,redo}) : Ditto.
	(cmd_clear_{undo,redo}) : Ditto.
	(cmd_set_date_time_{undo,redo}) : Ditto.
	(cmd_paste_cut_*) : new functions.

	* src/command-context*.c : Add progress, remove splits_array.

	* src/cmd-edit.c (cmd_paste) : New function.
	(cmd_paste_to_selection) : New function.

	* src/clipboard.c : Reorganize/rewrite.
	(clipboard_paste_region) : paste content.
	(clipboard_paste) : paste content from clipboard or X selection.
	(paste_target_init) : New function.
	(sheet_paste_selection) : merge into clipboard_paste_region.

	* src/application.c (application_clipboard_copy) : rename
	  clipboard_copy_cell_range -> clipboard_copy_range.

	* idl/Gnumeric.idl : Merge InvalidValue, SplitsArray -> InvalidCmd.

	* src/workbook.c (workbook_setup_status_area) : Include a progress bar.

	* src/sheet.c (sheet_update) : SPANCALC_NO_DRAW exists now.

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

	* src/sheet.c (sheet_update): corrent SPANCALC_NO_DRAW to
	SPANCALC_RESIZE since the former does not exist.

2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c (unit_editor_configure):
	Hilight the currently edited margin

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

	* src/sheet.c (sheet_update) : Only redraw forech cell if we will not
	  be redrawing everything later.
	(sheet_{insert,del}_{cols,row}) : Mark the need to recompute spans on
	  next update.

	* src/print.c (print_{headers, footers}) : Headers and footers are
	  offset from the edge of the page by their own margins.  MS appears
	  to assume the order is edge -> header -> top.

2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c (draw_margin): Draw
	header/footer space correctly (computed in accordance to the
	top/bottom margins)

2000-05-25  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c: The small page icon reflects
	the actual margin values

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

	* src/dialog/print.glade.h: insert /* xgettext: no-c-format */

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

	* src/dialogs/dialog-printer-setup.c: Add an option menu for
	selecting units to the margin page.  Read entire dialog from guile
	file rather than just reading contents and reparenting into a new
	GnomeDialog.
	(dialog_print_info_t): Add conversion_listeners list.
	(convert_to_{pt|mm|cm|in): These are no longer called directly as
	callbacks, so the unused widget parameter has been removed.
	(listeners_convert): New callback function invoked when a new unit
	has been selected. Receives a conversion function as callback data
	and invokes it on all the registered conversion listeners.
	(add_unit): Add dpi parameter. Remove data parameter. Connect
	listeners_convert.
	(unit_editor_new): Rename to unit_editor_configure. Connect target
	to existing spinbutton in glade dialog. Add dialog_print_info and
	spin button name parameter. Replace PrintUnit parameter with
	points and units. Use unit parameter instead of hardcoded
	centimeters. Register unit editor as a conversion listener. Make
	<Ret> in spin buttons invoke "OK". Remove deactivated code to
	display a unit selector for each margin.
	(tattach): Remove.
	(do_setup_margin): Use the top margin unit for display and ignore
	desired display for the others. Configure unit selector option
	menu. Call unit_editor_configure for each margin - previously
	unit_editor_new was called via tattach. Pack preview canvas in
	container instead of explicitly in table. Thus, the code no longer
	contains table coordinates, and the glade file can safely be
	changed.
	(do_setup_page): Make <Ret> in spin buttons and combo invoke "OK".
	(do_setup_main_dialog): Remove dialog reparenting hack -
	GnomeDialogs are now fully supported in Glade. Remove explicit
	focusing - now done in Glade file.
	(dialog_print_info_destroy): Free conversion listeners.
	(do_setup_page_info): Make <Ret> in entry fields and combo invoke
	"OK".

	* src/dialogs/print.glade(.h?): Turn into a complete GnomeDialog.
	Set consistent internal border in notebook pages. Rename rightmost
	page from "page" (used for two pages) to "sheet".
	(page page): Give meaningful name to first page number combo. Make
	it insensitive.
	(margin page): Add an option menu for units. Include spin buttons
	in glade file. Tweak layout.
	(sheet page): Give meaningful names to print area entry and
	comments combo. Make them insensitive.
	
	* src/dialogs/cell-format.glade: Add focus target to
	format_symbol_label to make Number/Currency/S_ymbol accelerator
	work.

	* src/dialogs/autocorrect-exceptions.glade: Add internal border to
	notebook pages.

	* src/dialogs/workbook-attr.glade: Add internal border to notebook
	pages and frames.

	* src/dialogs/dialog-workbook-attr.c (attr_dialog_impl): Set
	dialog title.

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

	* src/main.c (gnumeric_main): Style now needs to be initialised
 	before formats.

	* src/number-match.c (format_match): Take a StyleFormat ** instead
 	of a char ** for the suggested format.  All callers changed.
	(format_parse_t): rename member format to format_str and
 	introduce new member format, a StyleFormat *.
	(format_match_define): Get a style at this point.

	* src/datetime.c (datetime_value_to_serial_raw): Don't supply a
 	format return variable to format_match since we aren't interested
 	in the result.

	* src/parse-util.c (parse_text_value_or_expr): Return a
 	StyleFormat * instead of a char *.  All callers changed.

	* src/expr.c (expr_parse_string): Take a StyleFormat ** instead of
 	a char ** for the suggested format.  All callers changed.

	* src/parser.y (make_string_return): Turn parser_desired_format
 	into a StyleFormat **.
	(gnumeric_expr_parser): Take a StyleFormat ** instead of a char **
 	for the suggested format.  All callers changed.

	* src/auto-format.c (auto_style_format_suggest): New function.


	* src/sheet-style.c (sheet_style_optimize): Include adjacent
 	ranges in the list of styles to consider.  Handle intervening
 	styles better.  Don't stop searching for matching pairs just
 	because we merge -- only when the merge kills the slave.

	* src/ranges.c (range_dump): Don't print "\n".  All callers
 	changed as needed.

	* src/sheet-style.c (sheet_style_optimize, sheet_styles_dump):
 	Send all debugging output to stderr.  (As opposed to half stderr
 	and half stdout.)

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

	* src/file.c (workbook_import) : set the import dialog's parent widget
	  to be the PARENT workbook, not the new unrealized workbook.

	* src/cell.c (cell_set_expr_internal) : Actually assign the format
	  after we ref it.
	(cell_get_format) : Cells with format 'General' may appear to have
	  a format via autoformat or via the text that was entered.

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

	* src/cmd-edit.[ch] : New files.

	* src/workbook.c (cb_edit_select_*) : Use the cmd-edit utilities.
	Make a 'select' sub menu of edit.

	* src/sheet.c : Use the newly added CellPos in each Cell rather than
	  mallocing a seperate struct.

	* src/selection.c (sheet_select_all) : Move.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Make the
	  selection commands accelerators.

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

	* src/gnumeric-util.[ch] (gnumeric_toolbar_insert_with_eventbox):
	(gnumeric_toolbar_append_with_eventbox): New functions. Pack
	widget in eventbox and add eventbox to toolbar. This lets a
	windowless widget (e.g. combo box) have tooltips.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar):
	Enable tooltips for combo boxes. We do this by using
	gnumeric_toolbar_{insert|append}_with_eventbox instead of 
	gtk_toolbar_{insert|append}_widget.

	* src/workbook.c (workbook_create_standard_toobar): Ditto

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

	* src/dialogs/dialog-zoom.glade: Remove label from invisible
	column title.

	* src/dialogs/plugin-manager.glade(.h?): Add accelerators to
	notebook tabs.
	
	* src/dialogs/autocorrect-exceptions.glade(.h?): Add accelerators to
	buttons on notebook pages.

	* src/dialogs/workbook-attr.glade(.h?): Ditto.

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

	* src/clipboard.c (clipboard_copy_cell_range) : Adjust signature to
	  take a range.
	(sheet_paste_selection) : Export in preparation for adding undo.

	* src/commands.c (cmd_paste_copy) : Some initial work.  Not used or
	  complete.

	* src/parse-util.c (parse_text_value_or_expr) : Start passing in the
	  current format so that we can eventually attempt to match it before
	  trying all the others.

	* src/sheet.c (sheet_formulas_unlink) : New function.
	(sheet_destroy_contents) : Optimize.

	* src/dialogs/dialog-plugin-manager.c : Make a bit prettier.
	* src/dialogs/plugin-manager.glade : Ditto.

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

	* plugins/*/*.c : Rationalize the naming scheme.

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

	* src/eval.[ch] : Rename
	  cell_queue_recalc      -> eval_queue_cell
	  cell_queue_recalc_list -> eval_queue_list
	  cell_unqueue_recalc    -> eval_unqueue_cell
	(eval_unqueue_sheet) : New function.

	* src/sheet.c (sheet_cell_remove_simple) : Add precautionary removal
	  of cells from recalc list.  We should not need this in most
	  instances, but the check is inexpensive so I'll play it safe.
	(sheet_destroy_contents) : Batch cleanups rather than doing it cell by
	  cell.

	* src/cell.c (cell_make_value) : Fill in the implementation.

	* src/clipboard.c (paste_cell_flags) : Remove some dead code.
	  Merged in paste_cell and fixed handling of paste by value.

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

	* src/clipboard.c (paste_cell) : No need to call cell_content_changed
	  we can queue the recalc for the entire region later.  It is
	  sufficent to make the cell as changed with sheet_cell_changed.
	(paste_cell) : It is premature to redraw, we have no yet calculated
	  spans.  Redraw and respan at the range level, not the cell.

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