2001-06-27  Jody Goldberg <jgoldberg@home.com>

	* Release 0.66

2001-06-26  Jody Goldberg <jgoldberg@home.com>

	* configure.in : restore the zh translations.

2001-06-26  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (workbook_control_gui_init) : load the ui
	  file from a version specific location.

	* src/Makefile.am : No need for GNOME_DATADIR anymore.

	* gnumeric.spec.in : Move the bonobo ui file into a version specific
	  location.

2001-06-25  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_not_used_old_array_spec) : fix a few warnings.

2001-06-23  Almer S. Tigelaar  <almer@gnome.org>

	* src/item-cursor.c (item_cursor_do_drop): Always clear
	the status text.

	* src/GNOME_Gnumeric.xml: Add missing outline menu items.

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

	* src/goal-seek.c (update_data): Prefer absolute lowest y-value in
 	cases where we have only one side of zero.

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

	* src/summary.c: #include <string.h> for strlen.

	* src/search.c (calculate_replacement): Warning killer.

	* src/regression.c: #include <stdlib.h> for abs.

	* src/plugin-loader-module.c: #include <string.h> for strcmp.

	* src/formats.c (cell_format_fraction): Avoid accidental use of
 	trigraph.

	* src/complete.c: #include <stdlib.h> for abort.

2001-06-21  Almer S. Tigelaar  <almer@gnome.org>
 
 	* src/gnumeric-sheet.c (border_mutate): New, toggles
 	borders around regions.
 
 	(gnumeric_sheet_key_mode_sheet):
 	Make Ctrl+Backspace center on the active cell.
 	Add support for Locked scrolling with the arrow keys, home and end.
 	Add support for Ctrl+Shift ~, $, %, ^, #, @, !, & and _ shortcut keys
 	for formatting and border mutations.
 
 	* src/workbook-control-gui.c, src/GNOME_Gnumeric.xml:
 	Change keybinding of Goto Cell from Ctrl+G to F5.
 	Set keybinding of Search&Replace to F6.
 	Set keybinding of Define Names to Ctrl+F3
 
2001-06-20  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control-gui.c (wbcg_claim_selection):
	Use wbcg->toplevel, not wbcg->table. This fixes
	copying from Gnumeric to another application.

	* src/print.c (print_page_cells): Convert scaling percentage
	to factor.
	(setup_scale): Idem.
	(print_page): Idem.
	(compute_group): Idem.
	
2001-06-20  Jody Goldberg <jgoldberg@home.com>

	* src/number-match.c (compute_value) : parse 12:xx am correctly.

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

	* src/commands.c (cmd_search_replace_do_cell) : Adjust to ref
	  semantics change.
 
	* src/number-match.c (format_match) : do not add a ref to the
	  resulting format.

	* src/sheet.c (sheet_cell_set_text) : no need to unref anymore.
	(sheet_range_set_text) : ditto.

	* src/cell.c (cell_assign_value) : ref before unref.
	(cell_eval_content) : Use a simplified assignment to avoid refing and
	  unrefing the formats.
	(cell_set_text) : cleanup reference handling.

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

	* src/number-match.c (compute_value): Don't g_barf on invalid
 	dates.

2001-06-19  Almer S. Tigelaar  <almer@gnome.org>
 
 	* src/item-cursor.c (item_cursor_tip_setstatus): New function.
 	(cb_move_cursor): Call item_cursor_tip_setstatus.
 	(item_cursor_do_drop): Clear the status text.
	
2001-06-19  Morten Welinder  <terra@diku.dk>

	* configure.in: Add derivatives plugin.
	* plugins/Makefile.am (SUBDIRS_FUNCTIONS): Ditto.

	* src/plugin.h: Fix includes.

2001-06-19  Yukihiro Nakai <nakai@gnome.gr.jp>

	* configure.in: Re-add ja to ALL_LINGUAS.

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

	* src/item-cursor.c (ActionType) : all actions must be > 0.

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

	* src/io-context.c (workbook_io_progress_set) : delete update based on
	  styles.  This operation leaked and was very expensive.

2001-06-18  Almer S. Tigelaar  <almer@gnome.org>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet):
	Support for end and ctrl+end.

	* src/workbook-control-gui.c: Add accelerator for
	formula/value toggling.

	* src/GNOME_Gnumeric.xml: Add missing accelerator for
	goto cell and new accelerator for formula/value toggling.

2001-06-18  Karl Eichwalder  <ke@suse.de>

	* src/main.c (gnumeric_main): Add missing exclamation mark.

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

	* src/sheet-style.c (cb_filter_style) : delete code that is irrelevant
	  now that borders are sane.
	(sheet_style_get_uniform) : ditto.

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

	* src/sheet-control-gui.c (scg_colrow_select) : don't
	  discard input when selecting a range.

	* src/xml-io.c (xml_write_range) : Add some safety.

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

	* src/format.c (render_number) : improve rounding and cleanup.

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

	* src/cell.c (cell_cleanout) : call dirty here.
	(cell_destroy) : not here.
	(cell_set_text) : or here.
	(cell_set_value) : or here.
	(cell_set_expr_and_value) : or here.
	(cell_set_expr_internal) : or here.

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

	* src/print.c (compute_group) : add more error checking to avoid
	  possibility of infinite loop.

	* src/print-info.c (print_info_new) : init num copies.

	* src/mathfunc.c (stern_brocot) : move this here from
	* format.c : here.

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

	* src/mathfunc.c (gnumeric_add_epsilon): Make non-static.
	(gpow10): Use table for the range -20 ... +20.

2001-06-12  Zbigniew Chyla  <cyba@gnome.pl>

	* src/io-context-priv.h
	(enum GnumProgressHelperType, struct GnumProgressHelper): Two extra
	helpers (value, workbook) + changes in count helper), removed min_f and
	max_f fields.
	(struct ProgressRange): New.
	(struct _IOContext): Added progress_ranges, progress_min, progress_max.

	* src/io-context.h
	(enum WbProgressElements): New.
	(file_io_progress_set, memory_io_progress_set):
	Removed min_f and max_f arguments.
	(count_io_progress_set): Added step argument, removed min_f and max_f.
	(count_io_progress_update): s/value/inc.
	(io_progress_range_push, io_progress_range_pop,
	value_io_progress_set, value_io_progress_update,
	workbook_io_progress_set, workbook_io_progress_update): New.

	* src/io-context.c
	(io_context_init): Initialize extra fields: progress_ranges,
	progress_min, progress_max.
	(io_progress_update): Adjust the value, using current range
	<progress_min, progress_max>.
	(io_progress_range_push, io_progress_range_pop): New.
	(file_io_progress_set, memory_io_progress_set):
	Removed min_f and max_f arguments.
	(file_io_progress_update, memory_io_progress_update): Don't adjust value
	to current range, io_progress_update takes care of this.
	(count_io_progress_set): Added "step" argument, initialize extra
	struct fields: last, current, step.
	(count_io_progress_update): Take value increase as an argument, not
	value itself. Return immediately if value hasn't changed enough. 
	(value_io_progress_set, value_io_progress_update,
	workbook_io_progress_set, workbook_io_progress_update): New. Two
	additional helpers, "workbook" should be very useful when saving
	workbook.

	* src/xml-io.h (struct _XmlParseContext): Removed element_counter.

	* src/xml-io.c
	(xml_read_styles, xml_sheet_read): Don't increment element_counter
	manually, just call count_io_progress_update.
	(xml_workbook_read): Pass the size of the step to
	count_io_progress_set, use io_progress_range_{push,pop}.
	(gnumeric_xml_read_workbook): Use io progress helper of type "value".

2001-06-11  Juan Pablo Mendoza <pablo_juan@yahoo.com>

	* .cvsignore: Add GNOME_Gnumeric.oaf.

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

	* src/format.c (format_value) : if no conditions match treat as
	  General, not as empty.
	(format_compile) : No need to use a catch all condition if there are
	  some conditions.

2001-06-08  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (workbook_menu_format_row) : avoid
	  duplicate use of 'H' as accelerator.
	* src/GNOME_Gnumeric.xml : Ditto.

2001-06-08  Almer S. Tigelaar  <almer@gnome.org>

	* src/embeddable-grid.c (grid_view_activate): Use
	scg->gsheet.

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

	* src/selection.c (sheet_selection_set_internal) : Add some sanity
	  checking for safety.
	* src/sheet.c (sheet_set_edit_pos) : ditto.
	(sheet_redraw_cell_region) : ditto.

	* src/rendered-value.c (cell_get_rendered_text) : We need this for
	  now.  There are functions that actualyl rely on the rendered text.

2001-06-06  Jody Goldberg <jgoldberg@home.com>

	* src/gui-file.c (gui_file_open) : There is no point showing the
	  create/delete/rename buttons when loading.
	(gui_file_import) : and importing.

2001-06-07  Almer S. Tigelaar  <almer@gnome.org>

	* src/consolidate.c (retrieve_col_tree): Ignore
	empty values.
	(retrieve_row_tree): Idem.
	(key_list_get): Idem.
	(key_list_free): Burn.
	(colrow_consolidate): Free the lists directly instead
	of calling key_list_free.
	(simple_consolidate): Add flag, we don't want
	range merge optimizations on simple consolidations.
	(consolidate_apply): Adjust call to simple_consolidate.
	(cb_col_tree): Idem.
	(cb_row_tree): Idem.

2001-06-07  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control.h: Remove MS_ALL as flag
	and make it a define.

	* src/workbook-control-gui.c (wbcg_menu_state_update):
	Remove MS_ALL flag handling.

2001-06-07  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control.h: Add MS_CONSOLIDATE.

	* src/workbook-edit.c (wbcg_edit_attach_guru): Call
	wb_control_menu_state_update
	(wbcg_edit_detach_guru): Idem.

	* src/workbook-control-gui-priv.h: Add consolidation
	menu item.
	
	* src/workbook-control-gui.c (wbcg_menu_state_update): Add
	consolidation menu item.
	(workbook_control_gui_init): Initialize consolidation
	menu item.

2001-06-06  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf.c (stf_read_workbook): Fix warning.

2001-06-06  Almer S. Tigelaar  <almer@gnome.org>

	* src/gnumeric.h : Add new GlobalRange.

	* src/ranges.[ch] (global_range_new): Create a new globalrange.
	(global_range_free): Free.
	(global_range_overlap): Utility function.
	(global_range_dup): Idem.

	* src/sheet.[ch] (sheet_cell_get_value): New function.
	
	* src/workbook-control-gui.c (cb_data_consolidate) :
	Entry point for the data consolidation dialog.
	
	* src/GNOME_Gnumeric.xml : Add consolidate menu item.
	
	* src/commands.c (cmd_consolidate) : Undo/redo for consolidate.
	(cmd_consolidate_destroy) : Idem.
	(cmd_consolidate_redo) : Idem.
	(cmd_consolidate_undo) : Idem.

	* src/consolidate.[ch] : Consolidation low-level code.

2001-06-05  Zbigniew Chyla  <cyba@gnome.pl>

	* src/gnumeric-util.[ch] (gnumeric_dialog_file_selection): New
	function, some code moved from gui-file.c.

	* src/workbook.[ch] (workbook_get_filename): New accessor function.

	* src/gui-file.h
	(gui_file_open): New function.
	(gui_file_import): Removed fname argument.

	* src/gui-file.c
	(gui_file_import): Create and open file selector, using
	gnumeric_dialog_file_selection to display it. Use one dialog to select
	file and file format, we don't need glade file anymore. Optionally
	show all registered openers as importers.
	(gui_file_save_as): Uses gnumeric_dialog_file_selection. Take
	workbook's current saver if current_saver is NULL (previously we've
	been loosing this information), use
	gnumeric_option_menu_get_selected_index instead of playing with
	signals.
	(gui_file_open): New function, some code moved from
	dialog_query_load_file.
	(gui_file_save): Always call wb_view_preferred_size.
	(do_save_as): Take GnumFileSaver as argument.
	(cb_select, handle_ok, saver_activate, fill_save_menu,
	make_format_chooser, file_dialog_delete_event, fs_key_event,
	fs_set_filename): Removed.

	* src/workbook-control-gui.c
	(cb_file_new): Just call gui_file_open.
	(cb_file_import): Call gui_file_import.
	(workbook_control_gui_init): Initialize current_saver with NULL.

2001-06-05  Zbigniew Chyla  <cyba@gnome.pl>

	* src/workbook.c (workbook_new): Slight modification of the previous
	patch.

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

	* src/workbook.c (workbook_new) : Use the extension associated with
	  the default saver as the default extension.

2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>

	* src/func.c (function_def_get_full_info_if_needed): Use fn_type to
	check if we need to get full information.

2001-06-04  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf-parse.[ch] : Burn useless comments.
	(stf_parse_options_csv_set_separators): Change interface.
	(stf_parse_csv_is_separator): Adjust for interface change.
	(stf_parse_options_new): Burn modified and old splitpositions.
	(stf_parse_options_set_type): Constify.
	(stf_parse_options_set_line_terminator): Idem.
	(stf_parse_options_set_lines_to_parse): Idem.
	(stf_parse_options_set_trim_spaces): Idem.
	(stf_parse_options_csv_set_customfieldseparator): Burn.
	(stf_parse_options_csv_set_stringindicator): Constify.
	(stf_parse_options_csv_set_indicator_2x_is_single): Idem.
	(stf_parse_options_csv_set_duplicates): Idem.
	(stf_parse_options_fixed_splitpositions_add): Idem.
	(stf_parse_csv_cell): Cosmetic changes and adjust for
	change to stf_parse_csv_is_separator, plus use GList.
	(stf_parse_fixed_cell): Cosmetic changes.
	(stf_parse_fixed_line): Idem and use GList.
	(stf_parse_general): Optimize loop and use GList's.
	(stf_parse_get_rowcount): Cosmetic changes.
	(stf_parse_get_colcount): Idem.
	(stf_parse_get_longest_row_width): Idem and fix.
	(stf_parse_get_colwidth): Idem and fix.
	(stf_parse_convert_to_unix): Rewrite.
	(stf_parse_is_valid_data): Idem and constify.
	(stf_parse_options_fixed_autodiscover): Constify.
	(stf_parse_sheet): Rewrite.
	(stf_parse_region): Idem.

	* src/gui-clipboard.c (x_selection_to_cell_region):
	Constify return variable from stf_parse_is_valid_data.
	
2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>

	Displaying a question dialog if the user wants to export workbook
	with many sheets to file format supporting only one.

	* src/file-priv.h (struct _GnumFileSaver): Added save_scope.

	* src/file.h (gnum_file_saver_set_save_scope,
	gnum_file_saver_get_save_scope, enum FileSaveScope): New.

	* src/file.c
	(gnum_file_saver_init): Initialize save_scope with FILE_SAVE_WORKBOOK.
	(gnum_file_saver_set_save_scope, gnum_file_saver_get_save_scope): New.

	* src/gui-file.c (do_save_as): Optionally display a question dialog if
	we have many sheets and the saver can save only one.

	* src/plugin-service.h
	(struct _PluginServiceFileSaver): Added save_scope.

	* src/plugin-service.c (plugin_service_file_saver_read,
	gnum_plugin_file_saver_new): Support save_scope attribute.

2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>

	* src/xml-io.c:
	Reverted my last patch to save users' swap-space :-)

2001-06-03  Jody Goldberg <jgoldberg@home.com>

	* src/cellspan.c (cell_calc_span) : do not span expressions
	  because they do not span when recalculated.  This will be fixed when
	  just in time rendering is done.

2001-06-03  Jody Goldberg <jgoldberg@home.com>
	From Juan Pablo Mendoza <pablo_juan@yahoo.com>

	* rendered-value.c (rendered_value_get_text): Add a check for
	  rendered value != NULL.
	(cell_get_rendered_text): Add check for redered value == NULL

2001-06-03  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_expr_relocate) : flag all sheets as needing
	  status updates.

2001-06-03  Zbigniew Chyla  <cyba@gnome.pl>

	Updating i/o progress while saving Gnumeric XML file.

	* src/xml-io.c
	s/N_ELEMENTS_BETWEEN_UPDATES/N_INPUT_ELEMENTS_BETWEEN_UPDATES
	(xml_write_cell_and_position): Update i/o progress every
	N_OUTPUT_ELEMENTS_BETWEEN_UPDATES cells.
	(xml_write_styles): Ditto for styles.
	(gnumeric_xml_read_workbook): Better error reporting.
	(workbook_get_n_elements): Internal function, calculating the number of
	"elements" (styles and cells) in workbook.
	(gnumeric_xml_write_workbook): Split saving to three stages: building
	XML tree, dumping it to memory buffer, saving (compressed) buffer
	contents to file. Update i/o progress regularly.
	The second stage still freezes UI though :(

2001-06-03  Zbigniew Chyla  <cyba@gnome.pl>

	* src/func.c (function_def_get_full_info_if_needed): Protected against
	stack overflow. Probably it doesn't really solve the problem though :(

2001-06-03  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (draw_text) : limit length of cell text to avoid
	  flakey X servers that crash with long strings.

	* src/clipboard.c (clipboard_paste_region) : be sure to rerender and
	  span if formats change.

	* src/format.c (format_value) : simplify.

2001-06-03  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf.c (stf_write_workbook): Exporting wouldn't work
	because of wrong changes to the code. Fixed.
	(stf_parse_csv_cell): Add support for escaped newlines and
	clean-up.
	(stf_parse_options_csv_set_customfieldseparator): Support
	string separator.
	(stf_parse_options_new): Initialize customfieldseparator.
	(stf_parse_options_free): Free custom field separator.
	(stf_parse_csv_is_separator): Handle new string customfield separator.
	(stf_parse_csv_cell): Idem.
	(stf_parse_get_colcount): Idem.
	(stf_parse_get_colwidth): Idem.
	
2001-06-03  Morten Welinder  <terra@diku.dk>

	* src/func.c (function_add_args): Do arg type checking here.
	(fn_def_new): Not here.
	(function_remove): Free cached arg types.
	(function_add_args): Pre-calculate arg counts and types.
	(function_def_get_full_info_if_needed): Ditto.
	(function_call_with_list): Use pre-calculated arg counts and
 	types.
	(function_add_name_only): Use FUNCTION_NAMEONLY for type.

2001-06-03  Jody Goldberg <jgoldberg@home.com>

	* src/format.c (format_compile) : doh!
	(format_compile) : Assign the default conditions.

2001-06-03  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf-parse.c (stf_parse_get_longest_row_width): Fix.

2001-06-03  Almer S. Tigelaar  <almer@gnome.org>

 	* src/parse-util.[ch] (row_name): New, converts
 	a row number to a string.
 	(rows_name): Idem, but for a start/end range.
 	(row_name_internal): Utility routine.
 
 	* src/colrow.c (colrow_string_build): Remove.
 	(colrow_index_list_to_string): Use rows_name
 	and cols_name.
 
 	* src/cmd-edit.c (cmd_shift_rows): Use rows_name.
 
 	* src/commands.c (cmd_insert_rows): Idem.
 	(cmd_delete_cols): Beautify.
 	(cmd_delete_rows): Beautify and use rows_name.
 
 	* src/eval.c (dump_range_dep): Use row_name.
 
 	* src/item-bar.c (get_row_name): Deprecated, remove.
 	(item_bar_draw): Use row_name.
 
 	* src/item-cursor.c (item_cursor_tip_setlabel): Idem.
 
 	* src/item-grid.c (item_grid_draw): Idem.
 
 	* src/ranges.c (range_name): Idem.
 	(range_dump): Idem.
 
 	* src/selection.c (reference_append): Idem.
 	(selection_get_ranges): Idem.
 	(cb_range_to_string): Idem.
 
 	* src/sheet-control-gui.c (scg_redraw_cell_region): Idem.
 	(vertical_scroll_offset_changed): Idem.
 
 	* src/value-sheet.c (value_dump): Idem.
 	(encode_cellref): Idem.

2001-06-03  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf-parse.[ch] (stf_cache_options_new): Burn.
	(stf_cache_options_free): Burn.
	(stf_cache_options_set_data): Burn.
	(stf_cache_options_set_range): Burn.
	(stf_cache_options_invalidate): Burn.
	(stf_parse_general_cached): Burn.
	(stf_parse_options_before_modification): Burn.
	(stf_parse_options_after_modification): Burn.
	(stf_parse_options_set_type): Don't set modified.
	(stf_parse_options_set_line_terminator): Idem.
	(stf_parse_options_set_lines_to_parse): Idem.
	(stf_parse_options_set_trim_spaces): Idem.
	(stf_parse_options_csv_set_separators): Idem.
	(stf_parse_options_csv_set_customfieldseparator): Idem.
	(stf_parse_options_csv_set_stringindicator): Idem.
	(stf_parse_options_csv_set_indicator_2x_is_single): Idem.
	(stf_parse_options_csv_set_duplicates): Idem.
	(stf_parse_options_valid): Remove modificationmode.
	(stf_parse_options_new): Idem.
	(trim_spaces_inplace): Make inline.
	(stf_parse_csv_is_separator): Idem and move things around
	a for some more speed.
	(stf_parse_csv_cell): Make inline.
	(stf_parse_fixed_cell): Idem.

	* src/stf.c (stf_read_workbook): Set maximum number of
	lines to parse to infinite.
	(x_selection_to_cell_region): Idem.

2001-06-02  Jody Goldberg <jgoldberg@home.com>

	* src/format.c (format_value) : ref the colour.
	(format_entry_set_fmt) : new function.
	(format_compile) : parse the conditional values.

2001-06-02  Almer S. Tigelaar  <almer@gnome.org>

	* src/sheet.c (sheet_col_row_group_ungroup): Use
	sc_resize not scg_resize.

2001-06-02  Almer S. Tigelaar  <almer@gnome.org>

        * src/commands.[ch] (cmd_group_undo): Implement group undo/redo
  	(cmd_group_redo): Idem.
  	(cmd_group_destroy): Idem.
  	(cmd_group): Idem.
  
  	* src/workbook-control-gui.c (cb_data_group): Implement.
  	(cb_data_ungroup): Idem.
  	(group_ungroup_colrow): Utility function to determine if
  	columns or rows need to be grouped/ungrouped.
 
  	* src/sheet.[ch] (sheet_col_row_group_ungroup): New, high level routine
 	for adjusting outlines.
 	(sheet_col_row_fit_gutter): Dynamically adjust gutter size.
 	(cb_outline_level): Callback for the above.
 	(sheet_col_row_can_group): Query if a range of cols/rows
 	can actually group/ungroup.
 	(sheet_col_row_set_outline_level): Deprecated, remove.
 
 	* src/colrow.[ch] (colrow_set_outline): Set outline on a col/row.
 	
  	* src/GNOME_Gnumeric.xml: DataOutlineUnGroup change to
  	DataOutlineUngroup.

2001-06-02  Jody Goldberg <jgoldberg@home.com>

	* src/main.c (handle_paint_events) : be consistent and don't block.

	* src/io-context.c (io_progress_update) : avoid an infinite loop.

2001-06-02  Jody Goldberg <jgoldberg@home.com>

	* src/format.c (format_compile) : rewrite, not quite done.

	* src/commands.c (cmd_set_text_undo) : queue a recalc.
	(cmd_clear_redo) : ditto.
	* src/corba-sheet.c (Sheet_clear_region) : ditto.
	(Sheet_clear_region_content) : ditto.
	* src/gui-clipboard.c (x_selection_handler) : ditto.
	* src/sheet-merge.c (sheet_merge_add) : ditto.

	* src/eval.c : switch the depend lists to be singly linked.
	(dep_slist_filter_sheet) : convenience routine.
	(dependent_unqueue_sheet) : Used here.
	(dependent_unlink_sheet) : and here.

	* src/workbook-control-gui.c (display_formulas) :  convert the single
	  lists.

2001-06-01  Zbigniew Chyla  <cyba@gnome.pl>

	Support for reporting i/o progress via IOContext.

	* src/command-context-priv.h (struct CommandContextClass): Added
	progress_message_set virtual.

	* src/command-context.[ch] (gnumeric_progress_message_set): New.

	* src/io-context-priv.h
	Made IOContext a GtkObject.
	(enum GnumProgressHelperType, struct GnumProgressHelper): New.

	* src/io-context.[ch]
	Made IOContext a GtkObject.
	(io_progress_update, io_progress_message,
	file_io_progress_set, file_io_progress_update,
	memory_io_progress_set, memory_io_progress_update,
	count_io_progress_set, count_io_progress_update,
	io_progress_unset): New functions.
	(gnumeric_io_context_free): Removed, use gtk_object_destroy instead.

	* src/workbook-control-gui.c (wbcg_progress_message_set): New,
	implementation of CommandContext virtual.

	* src/workbook-view.c
	(wb_view_save_as, wb_view_save, wb_view_open_custom):
	s/gnumeric_io_context_free/gtk_object_destroy

	* src/xml-io.h
	(struct _XmlParseContext): New members (io_context, element_counter) for
	progress reporting.

	* src/xml-io.c
	(xml_read_styles): Update i/o progress every N_ELEMENTS_BETWEEN_UPDATES
	styles.
	(xml_sheet_read): Ditto for cells.
	(xml_get_n_children, xml_read_sheet_n_elements,
	xml_read_workbook_n_elements): Internal functions, calculating the
	number of "elements" (styles and cells) in workbook.
	(xml_workbook_read): Set up io progress to "Processing XML tree" stage.
	(gnumeric_xml_read_workbook): Load the file into an XML tree using the
	Push mode and update i/o progress regularly.

	* src/plugin-util.c
	#include <libgnome/libgnome.h> instead of <gnome.h>.

2001-05-31  Jody Goldberg <jgoldberg@home.com>

	* src/solver-lp.c : Use cell_eval in place of cell_eval_content.

	* src/eval.c (cb_range_hash_invalidate) : disconnect the list from the
	  dep record while removing its contents.  We don't want to modify the
	  list while we are walking it.  This is also an optimization in that
	  we don't need to modify the list.
	(cb_single_hash_invalidate) : ditto.
	(depsingle_dtor) : Ensure that the list has already been cleared.
	(deprange_dtor) : ditto.
	(dependent_unlink) : short circuit if we are destroying.

	* src/sheet.c (sheet_destroy) : Clear the controls first.

2001-05-31  Karl Eichwalder  <ke@suse.de>

	* src/GNOME_Gnumeric.xml: Fix 2 typos.

	* configure.in: Write gnome.desktop.in.
	* .cvsignore: Add gnome.desktop.in.

2001-05-31  Zbigniew Chyla  <cyba@gnome.pl>

	* workbook-view (wb_view_open_custom): Handle opener errors without
	crashing.

2001-05-30  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_error_set_pos) : change name from
	  value_new_error_err since we don't actually new anything.

	* src/position.c (eval_pos_init_cellref) : delete broken crap.

	* src/func.c (cb_iterate_cellrange) : duplicate error here.
	(function_iterate_argument_values) : duplicate the non-terminate
	  error here.
	* src/collect.c (collect_floats) : not here.

2001-05-30  Jon K Hellan  <hellan@acm.org>

	* src/sheet-control-gui-priv.h: New file. Implementation details
	for SheetControlGUI and methods directly accessible from the GUI
	layer.

	* src/Makefile.am: Add sheet-control-gui-priv.h

	* src/sheet-control-gui.h: Move struct _SheetControlGUI to
	sheet-control-gui-priv.h. Remove declarations of methods which
	have been made virtual.

	* src/sheet-control-gui.c: Include sheet-control-gui-priv.h instead
	of sheet-control-gui.h. 
	Casts and temp variables because:
	- virtual scg methods now take a SheetControl parameter.
        - sheet member now lives in SheetControl.
	Make following methods static - externally available only as
	virtual SheetControl method: scg_redraw_all,
	scg_redraw_cell_region, scg_redraw_headers, scg_update_cursor_pos,
	scg_resize, scg_unant, scg_ant, scg_cursor_bound,
	scg_compute_visible_region, scg_make_cell_visible. Initialize
	class object with these as virtual methods together with
	scg_set_zoom_factor, scg_adjust_preferences, scg_scrollbar_config
	and scg_mode_edit.  Rename context_menu_hander (sic!) to
	context_menu_handler.

	*src/sheet-control.c (SC_VIRTUAL_FULL): Fix typo.
	(sc_destroy): Comment out unused variable.
	(sheet_control_init_state): Rename to sc_init_state.
	(sc_sheet): New accessor - returns sheet attribute.
	(sc_invalidate_sheet): New function - sets sheet attribute to
	NULL.
	(resize, set_zoom_factor, redraw_all, redraw_cell_region,
	redraw_headers, ant, unant, adjust_preferences, update_cursor_pos,
	scrollbar_config, mode_edit, compute_visible_region,
	make_cell_visible, cursor_bound): New virtual methods.

	* src/sheet-control.h: Declare new methods in sheet-control.c

	* src/selection.c: Use sc_redraw_cell_region, sc_redraw_headers
	instead of scg methods.
	
	* src/sheet.c (sheet_unant): Use sc_unant instead o scg_unant.
	(sheet_ant): Use sc_ant instead of scg_ant.
	(sheet_redraw_all): Use sc_redraw_all instead of scg_redraw_all.
	(sheet_redraw_all): Use sc_redraw_headers instead of
	scg_redraw_headers.
	(sheet_new_scg): Use sc_cursor_bound instead of scg_cursor_bound.
	(sheet_detach_scg): Rename to sheet_detach_control. Change
	parameter from SheetControlGUI to SheetControl. Use sc_sheet and
	sc_invalidate_sheet instead of direct attribute access.
	(sheet_set_zoom_factor): Use sc_set_zoom_factor instead of
	scg_set_zoom_factor.
	(sheet_update_only_grid): Use sc_compute_visible_region instead of
	scg_compute_visible_region.
	(sheet_col_row_gutter): Use sc_resize instead of scg_resize.
	(sheet_redraw_cell_region, sheet_redraw_partial_row,
	sheet_redraw_cell): Use sc_redraw_cell_region instead of
	scg_redraw_cell_region.
	(sheet_make_cell_visible): Use sc_make_cell_visible instead of
	scg_make_cell_visible.
	(sheet_cursor_set): Use sc_cursor_bound instead of
	scg_cursor_bound.
	(sheet_update_cursor_pos): Use sc_update_cursor_pos instead of
	scg_update_cursor_pos.
	(sheet_scrollbar_config): Use sc_scrollbar_config instead of
	scg_scrollbar_config.
	(sheet_adjust_preferences): Use sc_adjust_preferences, sc_resize
	and sc_redraw_all instead of scg_adjust_preferences, scg_resize
	and scg_redraw_all.

	* src/sheet.h (SHEET_FOREACH_CONTROL): Take list of SheetControls
	instead of SheetControlGUIs.

	* src/workbook.c (workbook_sheet_detach): Use sc_mode_edit instead
	of scg_mode_edit.
	
	* src/embeddable-grid.h: Include sheet-control-gui-priv.h instead
	of sheet-control-gui.h.

	* src/sheet-object-graphic.c: Ditto.

	* src/gnumeric-sheet.c: Include sheet-control-gui-priv.h instead
	of sheet-control-gui.h. 
	Casts and temp variables because:
	- virtual scg methods now take a SheetControl parameter.
        - sheet now lives in SheetControl.

	* src/item-bar.c: Ditto.
	
	* src/item-cursor.c: Ditto.
	
	* src/item-edit.c: Ditto.
	
	* src/item-grid.c: Ditto.

	* src/sheet-object-cell-comment.c: Ditto.

	* src/sheet-object-cell-container.c: Ditto.

	* src/sheet-object-item.c: Ditto.

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

	* src/workbook-control-gui.c: Ditto.

	* src/workbook-object-toolbar.c: Ditto, but don't include
	sheet-control-gui-priv.h 

	* src/sheet-object.c (sheet_object_realize): Cast control to
	SheetControlGUI.

2001-05-30  Zbigniew Chyla  <cyba@gnome.pl>

	* src/stf.c (stf_init): Register as importer.

2001-05-29  Zbigniew Chyla  <cyba@gnome.pl>

	* src/file.h
	(typedef enum FileProbeLevel) New.
	(typedef GnumFileOpenerProbeFunc, gnum_file_opener_probe): Added
	FileProbeLevel argument.
	(GNUM_FILE_OPENER_CLASS, IS_GNUM_FILE_OPENER_CLASS,
	GNUM_FILE_SAVER_CLASS, IS_GNUM_FILE_SAVER_CLASS):
	Macros moved to file-priv.h.

	* src/file-priv.h
	(struct _GnumFileOpenerClass::probe): 
	(GNUM_FILE_OPENER_CLASS, IS_GNUM_FILE_OPENER_CLASS,
	GNUM_FILE_SAVER_CLASS, IS_GNUM_FILE_SAVER_CLASS):
	Macros moved from file.h.

	* src/file.c
	(gnum_file_opener_probe_real, gnum_file_opener_probe): 
	Added FileProbeLevel argument.

	* src/workbook-view.c
	(wb_view_open_custom): Iterate over FileProbeLevel values when probing
	the file (passing current value to probe function).

	* src/xml-io.c
	(xml_probe): Added FileProbeLevel argument, testing only file name if
	probe level == FILE_PROBE_FILE_NAME.

	* src/plugin-service.c (gnum_plugin_file_opener_probe):
	Use file_patterns only if probe level == FILE_PROBE_FILE_NAME, otherwise
	call module's probe function.

	* src/bonobo-io.c (gnumeric_bonobo_io_probe),
	src/plugin-service.h (struct _PluginServiceFileOpener),
	src/plugin-loader-module.c
	(gnumeric_plugin_loader_module_func_file_probe,
	struct ServiceLoaderDataFileOpener::module_func_file_probe):
	Added FileProbeLevel argument.

2001-05-27  Jody Goldberg <jgoldberg@home.com>
	From Juan Pablo Mendoza <pablo_juan@yahoo.com>

	* gnumeric-util.h (gnumeric_filter_modifiers): New macro.

	* workbook-control-gui.c (wb_edit_key_pressed): Use it.
	* gnumeric-sheet.c (gnumeric_filter_modifiers): Ditto.

	* sheet.c (sheet_name_quote): Escape \ and add more chars to
	  to quote_chr.

2001-05-27  Jody Goldberg <jgoldberg@home.com>

	* src/eval.c (sheet_region_queue_recalc) : Queue the dependents in the
	  region not just those that depend on it.
	(cell_queue_recalc) : no need to queue non expression cells.

2001-05-27  Nathan Cullen <furyu@fuse.net>
 
 	* src/history.c (history_menu_insert_separator): Fixed keyboard
 	navigation problem in non-bonobo build with separator for recently
 	opened files.  There was an "invisible" separator item so you needed
 	to arrow down twice to get from "Print Preview" to the first file.
 
2001-05-27  Jody Goldberg <jgoldberg@home.com>

	* src/expr.c (eval_expr_real) : recurse for arrays too.
	(expr_tree_array_corner) : rename from expr_tree_array_formula_corner,
	  and return the corner, not the expression in the corner.

	* src/eval.c (cb_range_hash_invalidate) : invalidate and free things
	  in place.
	(cb_single_hash_invalidate) : ditto.
	(do_deps_destroy) : simplify.

	* src/workbook-control-gui.c (wbcg_sheet_rename) : Use the table not
	  the container.

2001-05-27  Zbigniew Chyla  <cybs@gnome.pl>

	* src/plugin-service.c (parse_format_level_str): Fixed typo.

2001-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (colrow_move) : no need to queue recalc here.
	(cb_sheet_cell_copy) : Actually copy the array values.

	* src/cell.c (cell_relocate) : Just relink, no need to queue a recalc.
	(cell_set_array_formula) : Remove the ability to queue the recalc at
	  this level.  Just link the formulas in.  Reorder the the arguments
	  to match the standard approach.

	* src/eval.c (workbook_recalc_all) : Used here.
	(workbook_queue_all_recalc) : new function.

	* src/xml-io.c (xml_workbook_read) : Queue everything for recalc.
	(xml_cell_set_array_expr) : no need to queue a recalc here.

	* src/commands.c (cmd_autofill_redo) : queue the recalc here.
	(cmd_area_set_text_redo) : we need to manually queue a recalc for
	  arrays now.

	* src/sheet.c (sheet_cell_set_text) : we need to queue a recalc for
	  both expressions and values now.
	(sheet_range_set_text) : queue recalcs for the region as a block.

	* src/graph-vector.c (graph_vector_new) : Just use dependent_link if
	  we don't want a recalc.

2001-05-27  Karl Eichwalder  <ke@suse.de>

	* Run xml-i18n-prepare:
	* gnumeric.desktop.in: Remove file.
	* gnumeric.desktop.in.in: New file.
	* Makefile.am: Adjust it for gnumeric.desktop.in.in.

2001-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-control-gui.h : typo.

2001-05-26  Jon K Hellan  <hellan@acm.org>

	* src/sheet-control-gui.[ch]: Derive from SheetControl rather than
	GtkObject.

	* src/gnumeric.h: Add incomplete def of SheetControl.

	* src/Makefile.am: Add sheet-control.c, sheet-control.h,
	sheet-control-priv.h

	* src/sheet-control.c: New file. Stub base class for
	SheetControlGUI. 

	* src/sheet-control.h: Strip down even more from existing stub in
	CVS. 

	* src/sheet-control-priv.h: New file. Private header for
	SheetControl.

2001-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/format.c (format_number) : suppress minus for "\(" to match "("

2001-05-26  Karl Eichwalder  <ke@suse.de>

	* src/workbook-control-gui.c: Fix typo.

2001-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_eval_content) : Use the iteration prefs.

	* src/workbook.c (workbook_iteration_tolerance) : new function.
	(workbook_iteration_enabled) : ditto.
	(workbook_iteration_max_number) : ditto.

2001-05-26  Zbigniew Chyla  <cyba@gnome.pl>

	* src/gui-file.c (fill_save_menu): If recently used saver has been
	removed, use default saver, not the first one.

	* src/file.c
	(unregister_file_opener, unregister_file_opener_as_importer): Fixed
	leaks.
	(unregister_file_saver): Fixed stupid bug (and leaks).

	* src/plugin-service.h (struct _PluginServiceFileSaver): Added
	default_saver_priority field.

	* src/plugin-service.c
	(plugin_service_file_saver_read): Read "default_saver_priority"
	attribute.
	(plugin_service_file_saver_initialize): Register as default saver if
	default_saver_priority is non-negative.

2001-05-25  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_diff) : new routine.  This looks ugly.  We should
	  be able to avoid replicating this code.

	* src/cell.c (cell_eval_content) : support iteration.

	* src/format.c (render_number) : make the buffer big enough.
	  The assumtion that mantissa and exp are both maxed should leave
	  enough room for thousand separators.

2001-05-25  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui.c (wbcg_sheet_add): Bugfix: Connect
	button_press_event handler with scg->table as data instead of scg.

2001-05-25  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-view.c (wb_view_open_custom) : fix logic to avoid
	  adding a bogus view.

2001-05-24  Jody Goldberg <jgoldberg@home.com>

	* src/eval.c (workbook_recalc) : don't clear the flag until after the
	  calc is complete in case there is a cycle.
	(cell_eval) : ditto.

2001-05-24  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui.c (sheet_to_page_index): Rename view to
	scg. Retrieve it from object data on table.
	(sheet_to_page_index):
	(wb_control_gui_focus_cur_sheet, cb_sheet_label_button_press,
	cb_notebook_switch_page): Retrieve scg from object data on table.
	(wbcg_sheet_add): Show and insert in notebook scg->table. scg no
	longer is a GtkTable, it has one.

	* src/sheet-control-gui.c (scg_parent_class): Change to
	GtkObjectClass.
	(cb_table_destroy): New function. Finish all table and canvas
	dependent activities and set scg->table, scg->canvas to NULL.
	(scg_init): Don't create table here.
	(scg_construct): ..but here. Change terminology. Old: outer_table,
	table. New: scg->table, inner_table. Add scg to scg->table as
	object data. Add a destroy callback to scg->table.
	(scg_destroy): Move parts to cb_table_destroy. Unref table if not
	NULL.
	(scg_class_init, GNUMERIC_MAKE_TYPE): Inherit from GtkObject
	instead of GtkTable.
	(scg_cursor_visible): Be prepared for scg->canvas being NULL

	* src/sheet-control-gui.h (struct _SheetControlGUI,
	SheetControlGUIClass): Inherit from GtkObject instead of GtkTable.

2001-05-24  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_enable_recursive_dirty) : new function.
	* src/workbook-private.c (workbook_private_init) : Init
	  recursive_dirty_enabled.
	* src/sheet.c (sheet_cell_remove) : Use recursive_dirty_enabled.
	* src/eval.c (dependent_changed) : ditto.

	* src/workbook-view.c (wb_view_open_custom) : while loading disable
	  recursive depend dirtying.  We are loading everything it is up to
	  the loader to handle the queuing correctly (either queuing all, or
	  just those necessary)

2001-05-23  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_cell_destroy) : optionally queue the dependents
	  of this cell for recalc.

2001-05-23  Jody Goldberg <jgoldberg@home.com>

	* src/eval.c (dependent_changed) : Use cb_dependent_queue_recalc to
	  recursively queue the depends.
	Eg A1 : =sum(b1:b2)
	   B1 : =3
	if we do not recurse the assignment of '=3' would queue B1 but not A1

2001-05-22  Jody Goldberg <jgoldberg@home.com>

	* gnumeric.spec.in : bump version of libole2
	* README : ditto.
	* configure.in : ditto.

2001-05-19  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_is_pristine) : no need to check the recalc
	  queue.  If there are no dependents there is nothing to put on the
	  eval queue.

	* src/func.c (cb_iterate_cellrange) : rename from
	  iterate_cellrange_callback remove 'generation' mechanism.

	* src/cell.c (cell_cleanout) : Clear both recalc flags,
	  in_queue and needs
	(cell_copy) : ditto.
	(cell_eval_content) : No need to render the value.  assign_value
	  already does it.
	(cell_content_changed) : deleted.

	* src/Makefile.am : merge dependent.[ch] into eval.[ch]

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

	* src/eval.c : reorg and merged with dependent.[ch]

	* src/sheet.c (sheet_cell_set_text) :
	  s/cell_content_changed/cell_queue_recalc/
	(sheet_cell_set_expr) : ditto.
	(sheet_cell_set_value) : ditto.
	(colrow_move) : ditto.
	(sheet_destroy_contents) : 
	  s/dependent_unqueue_recalc_sheet/dependent_unqueue_sheet/

	* src/cmd-edit.c (cmd_select_cur_row) : Make behavior match XL.
	(cmd_select_cur_col) : Make behavior match XL.

	* src/format.c (render_number) : avoid temporaries.
	(do_render_number) : ditto.

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

	* src/expr.c (eval_range) : delete.
	(eval_expr_real) : Use workbook_foreach_cell_in_range rather than
	  range_eval.  Remove 'generation' mechanism.
	(cb_range_eval) : a simple pass through

	* src/eval.c (sheet_region_recalc_deps) : rename from
	  sheet_recalc_dependencies and merge in sheet_region_get_deps.
	  Use the new foreach style interfaces.
	(cb_single_recalc_all_depends) : rename from cb_single_get_all_depends
	  and simplify.
	(cb_range_recalc_all_depends) : rename from cb_sheet_get_all_depends and simplify.
	(cb_dependent_queue_recalc) : new wrapper.
	(cb_region_contained_depend) : renamed from search_range_deps and simplify.
	(cell_foreach_dep) : rename from cell_get_dependencies and switch to
	  an in place api rather than creating a list.
	(cell_foreach_single_dep) : switch to in place api
	(cell_foreach_range_dep) : ditto.
	(search_cell_deps) : ditto.
	(cell_recalc_deps) : ditto.
	(cell_eval) : ditto.
	(cb_generation_queue) : new utility.

	* src/dependent.c (dependent_list_filter) : delete.

	* src/cmd-edit.c (cb_collect_deps) : new function split from.
	(cmd_select_cur_depends) : here. So that we can use the new depend
	  api.

	* src/sheet.c (sheet_move_range) : use sheet_region_recalc_deps.
	(sheet_{insert,delete}_{cols,rows}) : ditto.
	(sheet_cell_remove_simple) : Use in place depend interface.

	* src/cell.c (cell_content_changed) : Use in place depend interface.
	* src/clipboard.c (clipboard_paste_region) : ditto.
	* src/commands.c (cmd_area_set_text_redo) : ditto.
	(cmd_autofill_redo) : ditto.

2001-05-21  Jody Goldberg <jgoldberg@home.com>

	* Makefile.am : remove gnorba and modernize a bit.

2001-05-23  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin-service.c
	(struct _InputFilePattern): Added "case_sensitive" field.
	(gnum_plugin_file_opener_probe): Support "case_sensitive" attribute when
	checking if file name matches the pattern.
	(plugin_service_file_opener_read): Support "case_sensitive" attribute.
	Now matching is case _insensitive_ by default.

2001-05-23  Zbigniew Chyla  <cyba@gnome.pl>

	* src/bonobo-io.c, src/clipboard.c, src/file.c, src/plugin.c,
	src/sheet-object.c, src/stf.c, src/workbook.c:
	Removed #include "xml-io.h".

	* src/dialogs/dialog-plugin-manager.c (gnumeric_dialog_question_yes_no):
	Function moved ...

	* src/gnumeric-util.[ch]: ... here.

	* src/gui-file.c
	(gui_file_import): Sorting file importers.
	(fill_save_menu): Sorting file savers, function simplified (doesn't use
	file_saver_is_default_format).
	(can_try_save_to): Function simplified, uses
	gnumeric_dialog_question_yes_no from gnumeric-util.h, default answer
	for question about overwriting a file is configurable.

2001-05-22  Almer S. Tigelaar  <almer@gnome.org>

	* src/xml-io.c : Bump XML version number.
	(xml_workbook_write): Write index of sheet names
	at the beginning of the file and always write
	latest version number.

2001-05-22  Jon K Hellan  <hellan@acm.org>

	* src/workbook-edit.c (wbcg_editing_expr): Use renamed function
	gnumeric_expr_entry_rangesel_meaningful.

2001-05-22  Zbigniew Chyla  <cyba@gnome.pl>

	* file.c
	(gnum_file_opener_setup, gnum_file_opener_new, gnum_file_opener_probe,
	gnum_file_opener_open, gnum_file_saver_setup, gnum_file_saver_new,
	gnum_file_saver_save, gnum_file_saver_fix_file_name,
	register_file_opener, register_file_opener_as_importer,
	unregister_file_opener, unregister_file_opener_as_importer,
	register_file_saver, register_file_saver_as_default,
	unregister_file_saver, get_default_file_saver,
	get_file_opener_by_id, get_file_saver_by_id,
	get_file_savers, get_file_openers, get_file_importers):
	Added gtk-doc style documentation.
	(struct _GnumFileOpener, struct _GnumFileOpenerClass,
	struct _GnumFileSaver, struct _GnumFileSaverClass): Removed structs
	already defined in file-priv.h.

	* workbook-view.c
	(wb_view_save_as, wb_view_save, wb_view_open, wb_view_open_custom):
	Added gtk-doc style documentation.

	* file.h
	(gnum_file_opener_setup, gnum_file_saver_setup): Declarations moved ...

	* file-priv.h: ... here

2001-05-21  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
	Add toolbar_is_sensitive member.

	* src/workbook-control-gui.c (workbook_control_gui_init):
	Initialize wbcg->toolbar_is_sensitive.

	* src/workbook-edit.c (workbook_edit_toolbars_set_sensitive): Use 
	wbcg->toolbar_is_sensitive instead of static is_sensitive.
	
2001-05-21  Zbigniew Chyla  <cyba@gnome.pl>

	Cleaned up file i/o interface.

	* src/Makefile.am: Added file-priv.h.

	* src/file.[ch]:
	Made GnumFileOpener and GnumFileSaver GtkObjects with virtual probe,
	open and save methods.
	New GnumFileOpener methods: get_id.
	New GnumFileSaver methods: get_id, fix_file_name.
	New functions: register_file_opener, register_file_opener_as_importer,
	unregister_file_opener, unregister_file_opener_as_importer,
	register_file_saver, register_file_saver_as_default,
	unregister_file_saver, get_default_file_saver,
	get_file_opener_by_id, get_file_saver_by_id,
	get_file_savers, get_file_openers, get_file_importers.

	* src/file-priv.h: New file with definitions of structs:
	_GnumFileOpener, _GnumFileOpenerClass, _GnumFileSaver,
	_GnumFileSaverClass.

	* src/workbook.h
	(struct _Workbook): Added file_saver_sig_id field.
	s/FileSaver/GnumFileSaver/
	(workbook_get_file_saver): New accessor function.

	* src/workbook.c
	(cb_saver_destroy_event, workbook_destroy, workbook_set_saveinfo):
	When setting new file_saver, connect to its "destroy" signal and
	set file_saver to NULL in signal handler. Disconnect when changing file
	saver or destroying the workbook.
	(workbook_get_file_saver): New accessor function.
	(workbook_persist_file_load): Use wb_view_open instead of
	workbook_load_from.
	(workbook_persist_file_save): Use wb_view_save_as instead of calling
	gnumeric_xml_write_workbook directly.

	* src/workbook-view.[ch]
	(wb_view_set_attributev): Renamed to wb_view_set_attribute_list and
	simplified.
	(wb_view_save_as, wb_view_save, wb_view_open, wb_view_open_custom): New
	methods (some code moved from file.c).

	* src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped):
	Use wb_view_open() instead of workbook_try_read()+file_finish_load().

	* src/gui-file.c
	(gui_file_import): Use get_file_importers(). Use
	wb_view_open_custom() instead of file_opener_open() + manual creation
	of wb_view, error checking, etc.
	(is_saver_registered): Removed.
	(saver_activate): Don't check if saver is really registered.
	(file_saver_is_default_format): Use get_default_file_saver() instead
	of strcmp(extension, "gnumeric") hack.
	(do_save_as): Use gnum_file_saver_fix_file_name().
	Adjusted everything to file.h, workbook.h, workbook-control.h.

	* src/gui-file.h (gui_file_import): Signature change, now function
	returns gboolean.

	* src/gutils.[ch] (g_list_index_custom): New function.

	* src/history.c (file_history_cmd), src/main.c (gnumeric_main),
	src/workbook-control-gui.c (cb_file_open): Use wb_view_open()
	instead of workbook_read().

	* src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
	s/FileSaver/GnumFileSaver/

	* src/plugin-service
	Created GnumPluginFileOpener and GnumPluginFileSaver classes (derived
	from GnumFileOpener and GnumFileSaver respectively). Moved contents of
	plugin_service_file_opener_probe_func,
	plugin_service_file_opener_open_func,
	plugin_service_file_saver_save_func into
	gnum_plugin_file_opener_probe, gnum_plugin_file_opener_open,
	gnum_plugin_file_saver_save methods (slightly modified).
	(plugin_service_file_opener_read): Read "open" and "import" attributes
	of <service> tag.
	(plugin_service_file_opener_initialize,
	plugin_service_file_opener_cleanup): Register/unregister created
	file opener (GnumPluginFileOpener object) as normal opener and/or
	importer depending on "open" and "import" XML attributes.
	(plugin_service_file_opener_initialize,
	plugin_service_file_opener_cleanup): Register/unregister created
	file saver (GnumPluginFileSaver object).

	* src/plugin-service.h
	(struct _PluginServiceFileOpener):
	Added can_open and can_import fields.
	s/FileOpener/GnumFileOpener/
	(struct _PluginServiceFileSaver):
	s/FileSaver/GnumFileSaver/
	
	* src/plugin-loader-module.c
	(struct ServiceLoaderDataFileOpener, struct ServiceLoaderDataFileSaver),
	gnumeric_plugin_loader_module_func_file_probe,
	gnumeric_plugin_loader_module_func_file_open,
	gnumeric_plugin_loader_module_func_file_save):
	s/FileOpener/GnumFileOpener/
	s/FileSaver/GnumFileSaver/

	* src/stf.c
	(stf_read_workbook, stf_write_workbook): Signature change
	(don't return gboolean).
	(stf_init): Adjusted to file i/o interface changes.

	* src/xml-io.[ch]
	(gnumeric_xml_get_opener, xml_probe):
	s/FileOpener/GnumFileOpener/
	(gnumeric_xml_get_saver):
	s/FileSaver/GnumFileSaver/
	(gnumeric_xml_read_workbook, gnumeric_xml_write_workbook): Signature
	change (don't return gboolean).
	(xml_init): Adjusted to file i/o interface changes.

	* src/bonobo-io.c
	(gnumeric_bonobo_read_workbook, gnumeric_bonobo_write_workbook):
	Signature change (don't return gboolean).
	s/FileOpener/GnumFileOpener
	s/FileSaver/GnumFileSaver
	(gnumeric_bonobo_io_probe):
	s/FileOpener/GnumFileOpener
	(gnumeric_bonobo_io_init): Adjusted to file i/o interface changes.

2001-05-20  Chema Celorio  <chema@celorio.com>

	* src/sheet-control-gui.c (set_acetate_coords): make sure the accetate
	honors the direction of the object.

2001-05-20  Chema Celorio  <chema@celorio.com>

	* src/sheet-object.c (sheet_object_init): initialize the so->direction
	to _UNKNOWN
	(sheet_object_direction_set): impl.
	(sheet_object_rubber_band_directly): impl a small convenience function
	to get the value of SO_CLASS(so)->rubber_band_directly

	* src/sheet-object-widget.c (sheet_widget_checkbox_construct_with_range):
	add a label argument to also optionaly specify a label
	(sheet_widget_checkbox_clone): when cloning a checkbox, copy it's value
	too
	add a ->label and rename ->entry to ->expresion in CheckboxConfigState
	(cb_checkbox_label_changed): impl.
	(sheet_widget_checkbox_user_config): add an entry for the label of
	the checkbutton
	(sheet_widget_checkbox_set_sheet): call _set_active when setting the
	sheet of a checkbox

	* src/sheet-object-impl.h: add the SheetObjectDirection enums
	add ->direction to SheetObject
	add ->rubber_band_directly to SheetObjectClass

	* src/sheet-object-graphic.c (sheet_object_graphic_read_xml): read
	the object's direction
	(sheet_object_graphic_write_xml): save the direction of the object
	(sheet_object_graphic_class_init): so->direction = TRUE
	(sheet_object_graphic_init): initlalize so->direction

	* src/sheet-control-gui.c (scg_object_move): calculate the new direction
	of the object when moving a handle.
	(scg_object_view_position): the coordinates of the object depend on
	it's ->direction now.

	* src/item-grid.c (cb_obj_create_motion): if we are rubberbanding directly,
	calculate the sheet object direction and position.
	(cb_obj_create_button_release): only set the sheet if we are not rubber_banding_
	direcly. Objects that are rubber banded directly have already been attached to
	a sheet.
	(sheet_object_begin_creation): if we are rubber_banding_direclty the object,
	attach it to a sheet. 

	* src/sheet-object-widget.c (sheet_widget_checkbox_destroy): check if
	the dependent has been linked before unlinking. We might have created
	the object without attaching it to a sheet.

2001-05-21  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : revert
	  my silliness.

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

	* src/format.c (render_number) : avoid temporaries.
	(do_render_number) : ditto.

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

	* configure.in : bump version to 0.66.

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

	* Release 0.65

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

	* configure.in : Remove ja, ko, zh* from ALL_LINGUAS until the po
	  files are fixed.

2001-05-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/sheet-object.c (sheet_object_read_xml): Fixed leaks.

2001-05-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.c (plugin_db_init): Last patch changed behaviour from
	"treat every plugin as known" to "treat every plugin as unknown" :-)
	Now it should be really fixed.

2001-05-19  Almer S. Tigelaar  <almer@gnome.org>
 
 	* src/workbook-edit.c (wbcg_edit_attach_guru):
 	Guard against two anted region on the same sheet.

2001-05-19  Jody Goldberg <jgoldberg@home.com>

	* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
	  into plugin_db_init.
	(plugin_db_init) : Find the unknown plugins not the known plugins.
	  Remove the list of plugins that default to on.
	  Fix the use of gnome_config.

2001-05-19  Jody Goldberg <jgoldberg@home.com>

	* gnumeric.spec.in : update GAL req.
	* configure.in : ditto.
	* README : update

	* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
	  rather than the physical key for slash and space.

	* src/plugin.c (plugin_db_init) : Enable new plugins by default.

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

	* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.

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

	* src/item-bar.c (is_pointer_on_division) : Use
	  wbcg_rangesel_possible.
	* src/item-grid.c (item_grid_button_1) :  ditto.
	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : ditto.
	* src/sheet-control-gui.c (scg_select_all) : ditto.
	(scg_colrow_select) : ditto.
	(scg_construct) : ensure we start with focus.
	(scg_rangesel_possible) : move from here.

	* src/workbook-control-gui.c (wbcg_rangesel_possible) : to here.
	(cb_notebook_switch_page) : expand the logic slightly to correct gurus.

	* src/workbook-edit.c (wbcg_edit_finish) : always check for rangesel.

	* src/parse-util.c (gnumeric_char_start_expr_p) : improve handling of
	  NULL.

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

	* src/workbook-edit.c (wbcg_edit_finish) : stop the current rangesel,
	  not rangesel on the current display sheet.

	* src/workbook-control-gui.c (cb_notebook_switch_page) : simplify and
	  use the new wbcg::rangesel to make things easier.
	(workbook_control_gui_init) : init the new flag.

	* src/sheet-control-gui.c (scg_rangesel_start) : store the scg doing
	  the rangesel in the wbcg.
	(scg_rangesel_stop) : clear it here.

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

	* src/sheet.c (sheet_stop_range_selection) : delete.

	* src/commands.c (cmd_paste_copy) : call splits_region to check for
	  partial arrays and merged regions.

	* src/sheet.c (cb_set_cell_content) : Use the bounding box.
	(sheet_range_set_text) : set the bounding box.

2001-05-15  Jon K Hellan  <hellan@acm.org>
 
 	* src/workbook-control.h: Define menu state enums for print setup,
 	search/replace and define names and a define for the lot.
 
 	* src/workbook-control-gui-priv.h (struct _WorkbookControlGUI): 
 	Add menu_item_print_setup, menu_item_search_replace,
 	menu_item_define_name members.
 
 	* src/workbook-edit.c (workbook_edit_attach_guru,
 	workbook_edit_detach_guru): Update Update print setup,
 	search/replace and define names sensitivity according to whether
 	or not we have guru.
 
 	* src/workbook-control-gui.c (wbcg_menu_state_update): Ditto. This
 	is where it's actually implemented.
 
2001-05-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/sheet-control-gui.c (vertical_scroll_offset_changed): Sync
	for adjustment to scrollbars.
	(horizontal_scroll_offset_changed): Idem.

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

	* src/sheet-control-gui.c (vertical_scroll_offset_changed) : reinstate
	  this and optionally support delayed scrolling.
	(horizontal_scroll_offset_changed) : ditto.
	(scg_construct) : reinstate.

	* src/expr.c (cellref_boundingbox) : new function.
	(expr_tree_boundingbox) : implement.

2001-05-14  Almer S. Tigelaar  <almer@gnome.org>

	* src/colrow.c (rows_height_update): Add shrink flag.
	(cb_autofit_height_no_shrink): Callback function for new
	autofit without shrinking functionality.

	* src/commands.c (cmd_paste_cut_redo): Adjust for change
	to rows_height_update.
	(cmd_paste_copy_undo): Idem.
	(cmd_autoformat_undo): Idem.
	(cmd_format_undo): Idem.

	* src/clipboard.c (clipboard_paste_region): Idem.

	* src/sheet.c (sheet_clear_region): Idem.
	(sheet_apply_style): Idem.

2001-05-14  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c (cmd_paste_copy_impl): New, contains
	what was previously in cmd_paste_copy_undo.
	(cmd_paste_copy_undo): Call upon cmd_paste_copy_impl.
	(cmd_paste_copy_redo): Idem.
	(cmd_paste_copy): Remove initialization of me->is_undo flag,
	the flag has been burned.

2001-05-14  Almer S. Tigelaar  <almer@gnome.org>

	* configure.in: Bump GAL version requirement to 0.7.99.5
	
  	* src/workbook-format-toolbar.c (cb_back_color_changed): Add
  	by_user flag handling and sync the combo's on all other views
 	if the color changes.
  	(cb_fore_color_changed): Idem.
  	(workbook_create_format_toolbar): Pass workbook view's to
  	color_group_fetch and sync the colors of the back and fore combo's
 	with the other views on creation.

2001-05-14  Miguel de Icaza  <miguel@ximian.com>

	* src/sheet-control-gui.c: Removed support routines that used the
	Excel-like toolbar.  I got fed up with it. 
	(scg_construct): Use regular Gtk scrollbars.  Connect to value
	changed to reflect the state of the scrollbar on the spreadsheet
	inmediately instead of doing the broken Excel behaviour.
	That is one feature I cloned that was totally idiotic.

2001-05-13  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control-gui.c (wbcg_error_splits_array):
	Resolve warning.

2001-05-13  Almer S. Tigelaar  <almer@gnome.org>
 
 	* src/colrow.c (colrow_save_sizes): Use float.
 	(colrow_restore_sizes): Use float.
 	(colrow_restore_sizes_group): Walk the selections
 	in parallel with the saved_sizes. Now this will
 	actually work for variabele size multiple selections.

	* src/commands.c (cmd_paste_copy_undo): Use the new
	is_undo flag. We need this to properly set and restore
	the row heights.
	(cmd_paste_copy_redo): Set is_undo to false.
	(cmd_paste_copy): Init is_undo flag.

	* src/commands.c (cmd_resize_colrow): Correct descriptor
	for autofitting.
	
2001-05-13  Jody Goldberg <jgoldberg@home.com>

	* src/clipboard.c (clipboard_paste_region) : Use the new CLEAR_NORESPAN
	  flag.  It is premature to respan the content of surrounding cells.
	  That should only happen AFTER the new content goes in.

	* src/sheet.c (sheet_cell_calc_span) : check for spans into this cell
	  even if this cell is a merged cell.
	(sheet_clear_region) : Make the respan conditional on a new flag.

	* src/workbook-control-gui.c (cb_change_zoom) : Always update the zoom
	  combo in case the entry does not match what was used.

	* src/commands.c (cmd_clear_selection) : only print warning once.
	(cmd_clear_undo) : There is no undo for pasting comments.
	(cmd_paste_copy) : doh! We can not print the name of the target range,
	  it is out of bounds!
	(cmd_paste_cut) : ditto.

	* src/item-grid.c (item_grid_draw) : If everything is hidden we can
	  get into odd states.

	* src/expr.c (eval_expr_real) : New peek code generated some spurious
	  errors when concatenating blanks.

2001-05-12  Jody Goldberg <jgoldberg@home.com>
	From Juan Pablo Mendoza <pablo_juan@yahoo.com>

	* src/workbook-control-gui.c (show_gui) : remove -64 limit.

2001-05-11  Jody Goldberg <jgoldberg@home.com>

	* src/application.c (application_real_time_auto_expr_recalc) : new
	  function.

	* src/sheet.c (auto_expr_timer_clear) : new function.
	(sheet_update) : toggle the selection_content_changed flag here and
	  use a timer rather than an idle handler.

	* src/workbook-edit.c (wbcg_edit_ctor) : Init the sensitivity timer.

	* src/workbook-control-gui.c (workbook_setup_edit_area) : Use
	  wbcg_edit_ctor.
	(wbcg_destroy) : use wbcg_edit_dtor.

	* src/main.c (gnumeric_main) : setlocale (LC_ALL, NULL) to force
	  initialization of LC_* from the environment.

2001-05-11  Jon K Hellan  <hellan@acm.org>
 
 	* src/sheet-control-gui.c (scg_rangesel_changed): Improve handling
 	of merged cells. Freeze expr entry display until final range is found.
 
2001-05-10  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_sheet_delete) : Clear the combos as well as
	  the menus.

	* src/workbook-view.c (wb_view_selection_desc) : intelligent naming.

2001-05-10  Morten Welinder  <terra@diku.dk>

	* src/main.c (gnumeric_main): Complain if binary is more than 180
 	days old.

2001-05-10  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c (cmd_paste_cut_undo): Restore
	row heights after undo.
	(cmd_paste_cut_redo): Backup row heights.
	(cmd_paste_cut_destroy): Destroy saved sizes.
	(cmd_paste_cut): Initialize saved sizes.
	(cmd_paste_copy_undo): Save and restore row heights.
	(cmd_paste_copy_destroy): Destroy saved sizes.
	(cmd_paste_copy): Initialize saved sizes.

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

	* src/xml-io.c (xml_read_selection_info) : typo.  Use the child not
	  the parent node.
	(xml_write_selection_info) : Save the real position.

	* src/sheet.c (sheet_new_scg) : set cursor bound, not the details.
	(sheet_cursor_set) : add some sanity checks.
	(sheet_clone_selection) : use the real edit_pos.

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

	* src/item-cursor.c (cb_move_cursor) : typo.

	* src/cmd-edit.c (cmd_shift_cols) : correct bound if shifting right.
	(cmd_shift_rows) : correct bound if shifting down.

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : If the
	  first == last then it is likely we are uninitialized and we can
	  start the search from the first the target may be contained in the
	  current region without scrolling.

	* src/sheet-control-gui.c (scg_construct) : resize is now called when
	  attached and the zoom scg_set_zoom_factor is set.
	(scg_set_zoom_factor) : resize.

	* src/workbook-control.c (workbook_control_init_state) : cut-n-paste-o.

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

	* src/selection.c (sheet_selection_set_internal) : split this out into.
	* src/sheet-merge.c (sheet_merge_find_container) : here.
	* src/sheet-control-gui.c (scg_rangesel_changed) : and here.

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

	* src/xml-io.c (xml_read_selection_info) : Use sheet_set_edit_pos.

	* src/selection.c (sheet_selection_extend) : merge into
	  scg_cursor_extend.

	* src/sheet-control-gui.c (scg_cursor_move_to) : rename from
	  scg_cursor_move.
	(scg_cursor_extend) : merge scg_cursor_extend_[hv]
	(scg_cursor_move) : merge scg_cursor_move_[hv]
	(scg_rangesel_extend) : merge scg_rangesel_extend_[hv]
	(scg_rangesel_move) : merge scg_rangesel_move_[hv]
	(scg_rangesel_start) : cleanup.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : fix handling
	  of Home. Simplify the function pointers for move vs extend by
	  merging horizontal and vertical versions.

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

	s/scg_stop_range_selection/scg_rangesel_stop/

	s/scg_set_cursor_bounds/scg_cursor_bound/
	s/scg_cursor_vertical_extend/scg_cursor_extend_v/
	s/scg_cursor_horizontal_extend/scg_cursor_extend_h/
	s/scg_cursor_vertical_move/scg_cursor_move_v/
	s/scg_cursor_horizontal_move/scg_cursor_move_h/
	s/scg_cursor_vertical_extend/scg_rangesel_extend_v/
	s/scg_cursor_horizontal_extend/scg_rangesel_extend_h/
	s/scg_cursor_vertical_move/scg_rangesel_move_v/
	s/scg_cursor_horizontal_move/scg_rangesel_move_h/

	* src/sheet-control-gui.[ch] : Move the rangesel info from
	  gnumeric-sheet into here in preparation for panes.
	(scg_rangesel_extend_v) : merge content from
	  gnumeric-sheet equivalent.
	(scg_rangesel_extend_h) : ditto.
	(scg_rangesel_move_v) : ditto.
	(scg_rangesel_move_h) : ditto.
	(scg_rangesel_start) : ditto.
	(scg_rangesel_stop) : ditto.
	(start_range_selection) : moved from gnumeric-sheet.
	(scg_rangesel_possible) : renamed from
	    gnumeric_sheet_can_select_expr_range.
	(scg_rangesel_changed) : renamed from scg_range_selection_changed
	  and make this the point that rationalizes the cursor points.
	(scg_cursor_bound) : renamed from scg_set_cursor_bounds
	  and make this the point that raionalizes the cursor points.
	(scg_ant) : changes to item_cursor_set_bounds.
	(scg_colrow_select) : rangesel support is now in scg.
	(scg_select_all) : ditto.

	* src/workbook-edit.c : cleanup includes.

	* src/item-grid.c (item_grid_event) : rangesel support is now in scg.
	(item_grid_button_1) : ditto.

	* src/item-cursor.h : privatize the structure and class.

	* src/item-cursor.c (cb_autofill_scroll) : changes to
	  item_cursor_set_bounds_visibly signature.
	(cb_move_cursor) : ditto.
	(item_cursor_set_bounds_visibly) : changes to item_cursor_set_bounds
	  signature.
	(item_cursor_selection_event) : ditto.
	(item_cursor_set_bounds) : simplify.

	* src/item-bar.c (is_pointer_on_division) : rangesel support is now in scg.

	* src/gnumeric-sheet.[ch] : move the rangesel logic up into scg.

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

	From Juan Pablo Mendoza <pablo_juan@yahoo.com>
	* src/sheet.c: (sheet_clone_colrow_info): Clone col and row
	  default size.

2001-05-08  Almer S. Tigelaar  <almer@gnome.org>

	* src/colrow.c (colrow_restore_sizes_group): Restore
	default from list of savedsizes.
	(colrow_set_sizes): When changing default save as
	list of savedsizes.

2001-05-08  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control-gui.c (wbcg_menu_state_update): New, combine
	all the enabling/disabling of menu items here including the newly
	added show/hide menu items.
	(wbcg_menu_state_enable_insert): Remove.
	(wbcg_menu_state_paste_special): Remove.
	(workbook_control_gui_ctor_class): Init menu_state_update callback
	and remove paste_special and enable_insert initializations.
	(workbook_control_gui_init): Initialize show/hide menu items.

	* src/workbook-control-gui-priv.h: Add show/hide detail menu items
	and tidy structure lay-out.
	
	* src/workbook-control-priv.h: Remove menu_state_enable_insert
	and menu_state_paste_special callbacks and add menu_state_update
	callback.
	
	* src/workbook-control.[ch]: Add wb_menu_state_update and
	remove wb_menu_state_paste_special and wb_menu_state_enable_insert.
	(wb_control_sheet_add): call wb_menu_state_update, Remove
	call to menu_state_paste_special.

	* src/sheet-private.h: Add enable_showhide_detail.
	
	* src/sheet.c (sheet_new): Initialize menu state booleans.
	(sheet_menu_state_enable_insert): Use wb_control_menu_state_update.
	
	* src/workbook-view.c (wb_view_menus_update): Idem and
	remove call to wb_control_menu_state_paste_special.
	
	* src/application.c (application_clipboard_clear): Idem.
	(application_clipboard_copy): Idem.
	(application_clipboard_cut): Idem.

	* src/selection.c (sheet_selection_set_internal): Add comment for
	show/hide detail enabling/disabling, something we can't do just yet.

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

	* src/clipboard.c (clipboard_paste_region) : Add PASTE_IGNORE_COMMENTS.

	* src/commands.c (cmd_merge_cells_undo) : Use it here.

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

	* src/sheet-merge.c (sheet_merge_remove) : adjust comments.
	(sheet_merge_add) : ditto.

	* src/sheet-object-cell-comment.c (comment_get_points) : handle merged
	  cells.

	* src/commands.c (cmd_unmerge_cells) : don't queue an undo object if
	  there is nothing to do.
	(cmd_merge_cells) : filter existing ranges too.

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

	* src/item-cursor.c (item_cursor_event) : ignore events while editing.

	* src/functions/fn-string.c (gnumeric_value) : s/free/g_free/
	* src/parse-util.c (parse_cell_name_list) : ditto.

	* src/parser.y (gnumeric_expr_parser) : reorganize slightly to improve
	  readability.

	* src/sheet.c (sheet_range_contains_region) : doh!.  forgot to invert
	  logic when I renamed the function.

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

	* src/sheet-control-gui.c (scg_select_all): Handle select button
	both within and outside guru mode.
	(button_select_all): Use scg_select_all.

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

	* src/stf.c (stf_write_workbook): Plug file descriptor leak.
	(stf_write_func): Constify.
	(stf_open_and_read): Protect against missing file size after
 	fstat.

2001-05-07  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-edit.c
	(workbook_edit_toolbars_set_sensitive): New, enable/disable
	all toolbars. Now works for bonobo toolbars too.
	(cb_thaw_ui_toolbar): Use toolbars_set_sensitive.
	(workbook_edit_set_sensitive): Idem.

	* src/GNOME_Gnumeric.xml: Add toolbar commands and set verbs
	on existing toolbars.

2001-05-07  Almer S. Tigelaar  <almer@gnome.org>
    
    	* src/parser.y (gnumeric_expr_parser): Display which
    	token caused the parse error. And display more detailed
    	error messages for paren matching errors using
    	check_parens.
   	(find_matching_close): Utility function for paren matching.
    	(check_parens): Renamed from find_bracket. Replace bracket
    	with paren everywhere for consistency.
    	(yylex): Kill paren matching here.
 
2001-05-07  Morten Welinder  <terra@diku.dk>

	* src/item-grid.c (drag_start): Plug leak.

	* src/plugin.c (plugin_info_read): Fix truck-size leak.
	(plugin_file_state_from_string): Plug leak.

2001-05-07  Zbigniew Chyla  <cyba@gnome.pl>

	Improved plugin system performance & scalability:
	- reading plugin information from file only if necessary
	  (usually when activating a plugin)
	- some minor optimizations (using hashes instead of lists, etc.)

	* src/Makefile.am
	(GNUMERIC_BASE_SOURCES): Sorted some items.

	* src/gutils.h (g_list_to_vector_custom): New macro.

	* src/plugin.c:
	Made some functions static.
	s/plugin_loader_get_by_id/plugin_loader_get_type_by_id/
	(struct _PluginInfo): Added has_full_info field.
	(get_file_state_as_string, plugin_file_state_as_string,
	plugin_file_state_from_string, plugin_file_state_free,
	plugin_cache_init, plugin_cache_shutdown):
	New functions, support for caching information about plugin ids
	stored in XML files (together with modification dates).
	(plugin_info_read_full_info_if_needed_error_info,
	plugin_info_read_full_info_if_needed): New functions loading missing
	plugin information from file if necessary.
	(plugin_info_read):
	Use existing PluginInfo struct rather than creating a new one,
	take XML file name (not parsed XML tree) as an argument.
	(plugin_info_new_from_xml):
	New function, creates new PluginInfo struct from XML file (using
	plugin_info_read).
	(plugin_info_new_with_id_and_dir_name_only):
	New function, creates new PluginInfo struct with only plugin id and
	directory name given (sets has_full_info to FALSE).
	(plugin_info_get_name, plugin_info_get_description,
	plugin_info_get_extra_info_list, plugin_info_is_active,
	plugin_info_peek_name, plugin_info_peek_description,
	plugin_info_peek_loader_type_str,
	plugin_info_provides_loader_by_type_str,
	plugin_info_is_loaded, plugin_info_peek_services_data,
	plugin_info_get_loader,
	plugin_inc_dependants, plugin_dec_dependants,
	plugin_dependencies_inc_dependants,
	plugin_dependencies_dec_dependants,
	plugin_get_loader_if_needed, activate_plugin, deactivate_plugin,
	plugin_can_deactivate, plugin_info_force_mark_inactive,
	plugin_load_service, plugin_unload_service,
	plugin_load_dependencies):
	Read full plugin information if needed.
	(plugin_info_free):
	Don't try to free most data if has_full_info == FALSE.
	(plugin_info_list_read_for_dir):
	Return one PluginInfo instead of a list, create incomplete
	PluginInfo (using plugin_info_new_with_id_and_dir_name_only) if
	found a directory in plugin_file_state_dir_hash.
	(plugin_info_list_read_for_subdirs_of_dir):
	Don't check if current file is a directory (it'll be detected
	anyway).
	(plugin_db_get_known_plugin_id_list,
	plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
	plugin_db_get_saved_active_plugin_id_list,
	plugin_db_is_saved_active_plugin):
	Removed.
	(plugin_db_get_available_plugin_info_list): Just return
	available_plugin_info_list, never fail.
	(plugin_db_mark_plugin_for_deactivation,
	plugin_db_is_plugin_marked_for_deactivation, plugins_shutdown):
	Use hash table (plugins_marked_for_deactivation_hash) instead of
	a list.
	(plugin_db_init): Initialize available_plugin_info_list and
	saved_active_plugin_id_list here, use a hash table when detecting
	new plugins.
	(plugins_init): Call plugin_cache_init.
	(plugins_init): Call plugin_cache_shutdown.

	* src/plugin.h
	(plugin_info_read, plugin_info_print, plugin_info_list_read_for_dir,
	plugin_info_list_read_for_subdirs_of_dir,
	plugin_info_list_read_for_subdirs_of_dir_list,
	plugin_info_list_read_for_all_dirs,
	plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
	plugin_db_extend_saved_active_plugin_id_list,
	plugin_db_is_saved_active_plugin,
	plugin_db_activate_saved_active_plugins):
	Removed (most of them are now static functions).

	* src/plugin-service.c
	(plugin_service_file_saver_initialize): Fixed serious typo.

	* src/dialogs/dialog-plugin-manager.c
	(cb_pm_button_activate_plugin_clicked,
	cb_pm_button_activate_all_clicked,
	cb_pm_button_deactivate_all_clicked,
	update_plugin_manager_view): Adjusted to
	plugin_db_get_available_plugin_info_list signature change.

	* plugins/applix/plugin.xml, plugins/dif/plugin.xml,
	plugins/excel/plugin.xml, plugins/gb/plugin.xml,
	plugins/gda/plugin.xml, plugins/gnome-glossary/plugin.xml,
	plugins/guile/plugin.xml, plugins/html/plugin.xml,
	plugins/lotus-123/plugin.xml, plugins/numtheory/plugin.xml,
	plugins/oleo/plugin.xml, plugins/perl/plugin.xml,
	plugins/plan-perfect/plugin.xml, plugins/py-func/plugin.xml,
	plugins/python/plugin.xml, plugins/python-loader/plugin.xml,
	plugins/sc/plugin.xml, plugins/sylk/plugin.xml,
	plugins/xbase/plugin.xml, plugins/xml_sax/plugin.xml:
	Removed <gnumeric_plugin_group> tags. Now every directory may contain
	only one plugin.

2001-05-07  Almer S. Tigelaar  <almer@gnome.org>

	* src/preview-grid.c (preview_grid_draw_background):
	Call style_border_draw_diag here.

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

	* src/style-border.c (style_borders_row_draw) : don't draw the
	  diagonals here.
	(style_border_draw_diag) : split the diag drawing code into here.

	* src/item-grid.c (item_grid_draw_merged_range) : call
	  style_border_draw_diag here.
	(item_grid_draw_background) : and here.

	* src/workbook-format-toolbar.c (cb_merge_cells) : fragment the
	  selection just in case.
	(cb_unmerge_cells) : ditto.  Thanks Juan Pablo.

	* src/commands.c (cmd_unmerge_cells) : remove ugly hack cast.
	(cmd_merge_cells) : ditto.  DO NOT DO THAT !

	* src/sheet.c (sheet_range_splits_region) : implement the optional
	  ignore feature for merged regions too.

2001-05-06  Almer S. Tigelaar  <almer@gnome.org>

	* src/colrow.c (colrow_restore_sizes): Don't free things
	twice.
	(colrow_save_sizes): Initialize run length.

2001-05-06  Almer S. Tigelaar  <almer@gnome.org>

	* src/gnumeric.h: Define ColRowRLESizeList.

 	* src/commands.c (cmd_ins_del_colrow_*) : For saving
 	and restoring the col/row sizes we now use a
	ColRowRLESizeList instead of a double *.

 	* src/colrow.[ch] (colrow_save_sizes) : Rebuild to return
 	a Run-Length encoded list of sizes.
 	(colrow_restore_sizes): Idem, but as parameter.
 	(colrow_size_list_destroy): Use colrow_rle_size_list_destroy.
	(colrow_rle_size_list_destroy): Free SavedSize's.

2001-05-06  Jon K Hellan  <hellan@acm.org>

	* src/sheet-control-gui.c (scg_range_selection_changed): Change
	item cursor if expr entry changed the range.

2001-05-06  Jon K Hellan  <hellan@acm.org>

	* src/item-bar.h:  We don't need guru_cursor.

	* src/item-bar.c (item_bar_realize, item_bar_unrealize,
	set_cursor): Ditto

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

	* src/sheet-merge.c (sheet_merge_add) : update the edit_pos if
	  necessary.

	* src/sheet.c (sheet_update_only_grid) : fix typo.

2001-05-05  Almer S. Tigelaar  <almer@gnome.org>

  	* src/item-bar.[ch]:
 	(item_bar_realize): Initialize item_bar->shade and tidy to be
 	more correct.
 	(item_bar_unrealize): Unref item_bar->shade.
 	(item_bar_draw): Use item_bar->shade.

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

	* src/item-bar.h (struct _ItemBar): Add guru_cursor member.

	* src/item-bar.c (item_bar_realize): Initialize guru_cursor.
	(item_bar_unrealize): Destroy guru_cursor.
	(is_pointer_on_division): Handle uninitialized case.
	(set_cursor): Do not show resize cursor in guru mode.
	(item_bar_event): Allow gurus to do range selection. Do nothing if
	guru is up but no range selector active. Do not post context menu
	when guru is up.

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

	* src/sheet.c (sheet_range_splits_array) : Make the displaying the
	  warning optional.
	(sheet_range_splits_region) : ditto.
	(sheet_range_contains_region) : implement.

	* src/workbook-control-gui.c (sort_cmd) : no need to check for merges
	  or arrays here.
	* src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : or here.

	* src/commands.c (cmd_sort) : it belongs here.

	* src/print.c (print_page) : in the case of grid lines we were off by
	  a point.  In the case without gridlines we need not display the
	  leading cell margins.

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

	s/clipboard_release/cellregion_free/
	s/range_copy/range_dup/
	s/cell_region_render_ascii/cellregion_to_string/
	s/clipboard_release/cellregion_free/

	* src/commands.c (cmd_autofill) : Use sheet_range_contains_region.
	(cmd_autofill_redo) : no need to test here.
	(cmd_paste_cut) : test destination for validity and ensure that it
	  does not slice up any merged regions or arrays.  Make the descriptor
	  an argument so that other commands can use this one.
	(cmd_ins_del_colrow_redo) : use colrow_max.
	(cmd_area_set_text_redo) : use sheet_ranges_split_region.
	(cmd_colrow_outline_change) : suppress warning.

	* src/gui-clipboard.c (x_selection_to_cell_region) : simplify by using
	  some of the convenience routines.

	* src/gutils.c (gnumeric_sys_data_dir) : warning suppression.
	(gnumeric_sys_lib_dir) : ditto.

	* src/item-bar.c (item_bar_draw) : add missing warning.

	* src/item-cursor.c (item_cursor_drag_event) : Don't assume the
	  release came from the button that started the grab (think about
	  multiple simultaneous button downs.
	(item_cursor_selection_event) : ditto.
	(item_cursor_do_drop) : changes to selection_first_range.

	* src/parse-util.c (col_name_internal) : new routine split from
	  col_name with better buffer handling.
	(col_name) : used here.
	(cols_name) : and in this new function.

	* src/print.c (sheet_print_selection) : changes to
	  selection_first_range.

	* src/print-info.c (print_info_new) : default even_if_only_styles to
	  false.  This is probably what most people want.

	* src/ranges.c (range_translate) : don't invert.
	(range_height) : new util.  could probably be #define.
	(range_width) : new util.  could probably be #define.
	(range_is_infinite) : use range_is_full.
	(range_is_full) : new util.

	* src/search.c (calculate_replacement) : warning suppression.

	* src/selection.c (sheet_selection_cut) : Use
	  sheet_range_splits_region and selection_first_range.
	(sheet_selection_copy) : Use selection_first_range and remove TODO
	  about supporting not paste by content for partial arrays.
	(selection_first_range) : Add optional error reporting if there are
	  multiple selection ranges.

	* src/format.c (format_get_currency) : diddle the logic to get
	  undefined to work the way people expect for locale C.

	* src/sheet-merge.c (sheet_merge_relocate) : remove some dead code.
	(sheet_merge_add) : changes to sheet_range_splits_array.

	* src/sheet-object-widget.c (sheet_widget_checkbox_construct) :
	  changes to selection_first_range.

	* src/sheet.c (sheet_delete_{cols,rows}) : changes to
	  sheet_range_splits_array.
	(sheet_insert_{cols,rows}) : use sheet_range_splits_array.
	(avoid_dividing_array_vertical) : delete.
	(avoid_dividing_array_horizontal) : delete.
	(sheet_is_pristine) : constness.
	(sheet_mark_clean) : delete.
	(sheet_clear_region) : changes to sheet_range_splits_array.
	(sheet_ranges_split_region) : renamed from selection_check_for_array.
	(sheet_range_splits_region) : new routine to check arrays and merged
	  regions.
	(sheet_range_splits_array) : improve and add hooks to be used for
	  overlapping checks.
	(cb_check_array_vertical) : report the array being split.
	(cb_check_array_horizontal) : report the array being split.

	* src/stf-parse.c (stf_parse_region) : use cellregion_new.
	(stf_parse_is_valid_data) : simplify.

	* src/value-sheet.c (value_area_get_width) : warning suppression.
	(value_area_get_height) : warning suppression.
	(value_area_fetch_x_y : signedness.
	(value_area_get_x_y) : signedness.

	* src/value.c (value_array_resize) : signedness.
	(value_array_set) : signedness.

	* src/workbook-control-gui.c (wbcg_error_splits_array) : signature
	  change.
	(cb_insert_rows) : use selection_first_range
	(cb_insert_cols) : ditto.
	(sort_cmd) : ditto.
	(cb_workbook_debug_info) : clean out some deadwood.

	* src/workbook-edit.c (auto_complete_matches) : warning suppression.

	* src/workbook.c (workbook_sheet_detach) : warning suppression.
	(g_ptr_array_insert) : warning suppression, moved to gutils.

	* src/xml-io.c (xml_write_attributes) : warning suppression.
	(xml_read_selection_clipboard) : use cellregion_new and tidyup.

	* src/clipboard.c (paste_link) : Only make the link sheet specific if
	  we need to.
	(clipboard_paste_region) : constness, support being able to paste
	  content only as link or value.
	(clipboard_prepend_cell) : check for arrays.
	(clipboard_copy_range) : use cellregion_new
	(cellregion_new) : new function
	(cellregion_free) : renamed from clipboard_release.
	(cellregion_to_string) : moved here from render-ascii.

	src/cmd-edit.c (cmd_paste) : more protection. Merge in
	  application_paste.
	(cmd_paste_to_selection) : handle changes to selection_is_simple and
	  use selection_first_range
	(cmd_shift_rows) : changes to cmd_paste_cut.
	(cmd_shift_cols) : ditto.

	* src/command-context-priv.h : change signature of splits array.
	* src/command-context.h : ditto.
	* src/command-context.c (gnumeric_error_splits_array) : ditto.

	* src/application.c (application_clipboard_clear) :
	(application_set_selected_sheet) : remove #warning, it is not portable.

	* src/commands.c
	* src/Makefile.am : remove render-ascii.[ch]  Move their content into
	  clipboard.

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

	* src/clipboard.c (clipboard_prepend_cell) : remove ugly
	  implementation.

	* src/workbook-edit.c (auto_complete_matches) : remove warning.

	* src/xml-io.c (xml_write_attributes) : remove warning.

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

	* src/expr.c (expr_parse_string): Plug leak.

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

	* src/analysis-tools.c (set_cell_value): Make public.

	* src/solver-lp.c (solver_sensitivity_report,
 	solver_answer_report): Use set_cell_value.

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

	* src/expr.c (eval_expr_real): Simplify CONCAT case using
 	value_peek_string.

	* src/datetime.c (datetime_value_to_serial_raw): Simplify using
 	value_peek_string.

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

	* src/graph-vector.c (graph_vector_seq_string): Ditto.

	* src/solver-lp.c (find_name): Ditto.

2001-05-04  Almer S. Tigelaar  <almer@gnome.org>

 	* src/GNOME_Gnumeric.xml: Correct InsertComment
 	pixmap, add pixmap for Sort and add separators
 	on the right places.

 	* src/pixmaps: Split sort ascending into 16x16 and
 	24x24 versions.

 	* src/application.c: Account for the split. This
 	will make the menu item show up with a correct
 	icon in Bonobo.

	* src/workbook-control-gui.c: Idem. Use the 16x16
	icon for the menu.

2001-05-04  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c (cmd_unmerge_cells): Correct minor typo.
	(cmd_merge_cells): Idem.

2001-05-03  Jon K Hellan  <hellan@acm.org>

	* src/gnumeric-util.c (cb_remove_object_data): New callback
	function. Removes object data from wbcg when dialog is destroyed.
	(gnumeric_keyed_dialog): New function. Make dialog a transient
	child of wbcg, attaching to wbcg object data to identify the
	dialog.
	(gnumeric_dialog_raise_if_exists): New function: Raise the dialog
	identified by key if it is registered on the wbcg.

	* src/gnumeric-util.h (gnumeric_dialog_make_unique,
	gnumeric_dialog_raise_if_exists): Declare.

 	* src/about.c (dialog_about): Use gnumeric_keyed_dialog.
	Use gnumeric_dialog_raise_if_exists to ensure that only one sheet
	object config dialog at a time can be displayed for a wbcg.

 	* src/sheet-object-widget.c (sheet_widget_checkbox_user_config):
	Ditto.
	
2001-05-02  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-edit.c (cb_thaw_ui_toolbar): Callback timer
	routine, re-enables the toolbars.
	(workbook_edit_set_sensitive): Add a ui timer to eliminate
	toolbar flickering.

	* src/sheet.c (sheet_menu_state_enable_insert): Clean-up.

2001-05-01  Almer S. Tigelaar  <almer@gnome.org>

 	* src/parser.y (yylex): Seek for matching )'s for ('s and
 	vice versa.
 	(find_bracket): The meat for the above functionality
 	(find_char): Split out from yylex, might be useful in other
 	places. Currently used to scan for matching quotes.
	(gnumeric_expr_parser): If the ExprTree is null, assume that
	an error has occurred, set a general "invalid expression" and
	mark the whole expression. Also display more detail when both
	the expression and error message are non-null.

2001-05-01  Almer S. Tigelaar  <almer@gnome.org>

	* src/application.[ch] (application_clipboard_unant): Use
	sheet_unant.
	(application_clipboard_clear): Idem.
	(application_clipboard_copy): Use sheet_ant.
	(application_clipboard_cut): Idem.
	(application_clipboard_is_cut): New function, is the area
	on the clipboard marked for cutting or for copying?

	* src/selection.[ch] (sheet_selection_ant): Deprecated, remove.
	(sheet_selection_unant): Idem.

	* src/sheet-control-gui.[ch] (scg_selection_ant): Rename
	to scg_ant and add a ranges parameter where the ranges to
	ant can be specified.
	(scg_selection_unant): Rename to scg_unant.
	(scg_destroy): Make sure to un-ant everything.
	(scg_construct): Ant all anted regions on the sheet.

	* src/sheet.[ch] (sheet_ant): New, ants one or more regions
	on the sheet.
	(sheet_unant): New, unants all currently anted region on the
	sheet.
	(sheet_destroy): Make sure to free the ant list.

	* src/commands.c (cmd_ins_del_colrow_undo): Remove ugly ant-hack,
	this is no longer needed, application_clipboard_cut/copy handles
	this now.
	(cmd_ins_del_colrow_redo): Idem
	(cmd_ins_del_colrow): Oh dear, we were actually storing both
	the cut and copied area as a cut area and we were actually
	cutting even if the range was a copied area after shifting.

2001-04-30  Jody Goldberg <jgoldberg@home.com>

	* src/about.c (dialog_about) : sync with website.

	* src/format.c (format_number) : don't suppress the minus sign when
	  faced with a space in the format.  Is there a counter example ?
	(format_number) : handle negative improper fractions.

2001-04-30  Morten Welinder  <terra@diku.dk>

	* src/func.c (tokenized_help_find): Warning killer.

	* src/value.c (value_new_array): Kill warnings.
	(value_new_array_empty): Ditto.
	(value_release): Ditto.

	* src/print-cell.c (print_show): Use proper types.
	(get_width_string_n): Ditto.

	* src/number-match.c (gnumeric_error_init): Warning killer.

	* src/parser.y (deallocate_all): Warning killer.

	* src/item-bar.c (item_bar_draw): Avoid signedness problems.

	* src/format-template.c (hash_table_destroy): Warning killer.

	* src/colrow.h (struct _ColRowInfo): Make size_pixels an int.

	* src/value-sheet.c (value_area_get_width, value_area_get_height):
 	Return an int, not a guint.

2001-04-30  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c (cmd_clear_selection): More descriptive
	descriptor.
	(cmd_format): Idem.
	(cmd_resize_colrow): Idem.
	(cmd_autofill): Idem.
	(cmd_autoformat): Idem.
	(cmd_unmerge_cells): Idem.
	(cmd_merge_cells): Idem.
	(cmd_colrow_std_size): Add "pts" to end of descriptor.
	(cmd_zoom): No need to re-assign gstring.
	(range_list_to_string): Convert a list of ranges to a
	string representation.

	* src/colrow.[ch] (colrow_index_list_to_string): Convert
	an index list to a string representation.
	(colrow_string_build): Utility routine for
	colrow_index_list_to_string.

2001-04-30  Almer S. Tigelaar  <almer@gnome.org>

	* src/parser.y (gnumeric_expr_parser) : Give a warning
	when both the resulting ExprTree and error message is non-null.
	This should never happen.

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

	* src/parser.y (yylex) : return INVALID_TOKEN rather than EOF when a
	  lexical error is found.

	* src/selection.c (sheet_selection_cut) : It is ok for the source
	  region to have merged regions or arrays.  It is NOT ok for the
	  target to have regions that are split.

	* src/cmd-edit.c (cmd_paste) : Only clear the clipboard if the paste
	  was successful.

2001-04-29  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c (cmd_zoom) : Implement zoom undo/redo
	(cmd_zoom_destroy) : Idem.
	(cmd_zoom_redo): Idem.
	(cmd_zoom_undo): Idem.

	* src/workbook-control-gui.c (cb_change_zoom):
	Use cmd_zoom here.

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

	* src/style-border.c (print_hline) : handle offset of screen coords vs
	  printer coords.
	(print_vline) : ditto.
	(style_borders_row_print) : sync with style_borders_row_draw and pass
	  width to the line drawing to handle different coordinate types.

	* src/ranges.c (range_translate) : warn if clipped not just if
	  removed.

	* src/clipboard.c (clipboard_prepend_cell) : store the source sheet if
	  possible.
	(paste_link) : Use the right sheets.
	(clipboard_paste_region) : send enough information into paste_link.

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

	* src/format.c (pre_parse_format) : Catch fractions too.
	(render_number) : don't pass in so many copies of flags.  Just use the
	  info struct.  Add a 'has_fraction' flag to disable rounding.
	(do_render_number) : ditto.
	(stern_brocot) : simple stern brocot tree.  Should really use an
	  adaptive precision but I am lazy.
	(format_number) : add fractions.

	* src/commands.c (cmd_autofill_redo) : changing visiblity can triger a
	  draw which requiresthat things be rendered and spanned.  Be sure to
	  complete the action BEFORE changing visibility.

2001-04-27  Chema Celorio  <chema@celorio.com>

	* src/sheet-object.h: add the header for clone_sheet

	* src/sheet-object.c (sheet_object_clone): implement
	(sheet_object_clone_sheet): implemnt.

	* src/sheet-object-widget.c (SOW_MAKE_TYPE): add read_xml, write_xml
	and clone methods to macro
	(sheet_object_widget_clone): implement.
	Implement for X in label, frame, button, checkbox
	(sheet_widget_x_construct_with_label):
	(sheet_widget_x_destroy):
	(sheet_widget_x_clone):
	(sheet_widget_x_write_xml):
	(sheet_widget_x_read_xml):

	(sheet_object_widget_register): implement

	* src/sheet-object-impl.h: add the clone method

	* src/sheet-object-graphic.c (sheet_object_graphic_clone): implement.
	(sheet_object_filled_clone): implement.

	* src/sheet-object-cell-comment.c (cell_comment_clone): implement

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

	* src/item-grid.c (item_grid_button_1): Invoke
	scg_start_range_selection rather than
	gnumeric_sheet_start_range_selection.

	* src/sheet-control-gui.[ch] (scg_start_range_selection): New function.
	Start range selection in gsheet and notify expr entry.

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

	* configure.in : Add configure checks for finite and isfinite

	* src/mathfunc.h (FINITE) : Move the #define wrapper out here.

	* src/cell.c : prune some includes
	(cell_default_halign) : rename to
	* src/style.c (style_default_halign) : to simplify headers for systems
	  that do not support fwd declarations of enums. H - cough - PUX

2001-04-26  Morten Welinder  <terra@diku.dk>

	* src/stf-parse.c: Put a decisive end to the signed-vs-unsigned
	problems in here.  It's all glib's fault, really.

2001-04-26  Morten Welinder  <terra@diku.dk>

	* src/stf-parse.c (stf_parse_options_fixed_autodiscover): Fix a
 	signed vs. unsigned error.  (We underflowed from 0 to
 	0xffff...ff.)

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

	* src/item-grid.c (item_grid_class_init) : Drat part of a canceled
	  patch slipped in.

	* src/ranges.c (range_is_sane) : new function.
	(sheet_merge_add) : use it here.

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

	* src/item-grid.c (item_grid_draw_background): Fix typo.

	* src/gnumeric-util.c (gnumeric_dialog_run): Fix silly mistake

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

	* src/gnumeric-util.c (gnumeric_wb_dialog_run): Eliminate attempt
	to handle parent being closed underneath dialog running a
	recursive mainloop. That can't happen since GTK 1.2.7. Move what
	remains of the function into gnumeric_dialog_run.
	(gnumeric_dialog_run): See above.
	(gnumeric_set_transient): Place dialog according to user's
	placement policy.
	(gnumeric_non_modal_dialog): Use gnumeric_set_transient to get
	placement right.

	* src/gui-file.c (gui_file_save_as, dialog_query_load_file):
	No longer place at mouse, since gnumeric_set_transient now
	honours user's dialog placement policy.

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

	* src/sheet-style.c (sheet_style_get_list) : Add a horizontal merge
	  before dumping to a list.
	(cb_hash_to_list) : free elements that have been merged in the
	  horizonal step, but have not yet been removed.
	(cb_hash_merge_horiz) : new function. merge when possible, after a
	  merge either free the useless bit or mark it as useless for later
	  removal.
	(cb_style_list_add_node) : Use mstyle_equal for now to remerge
	  different instances of the same logical style.  This is necessary
	  until I finish the per sheet style index.
	(sheet_style_init) : add some sanity checks incase some bright boy
	  decides to up the size of sheet and forgets here.

	* src/xml-io.c (xml_sheet_write) : Add the properties for the
	  outline mode preferences.
	(xml_sheet_read) : ditto.

	* src/item-debug.h : fix the messages to include the module
	* src/item-bar.c : fix the item-debug grab/ungrab messages.
	(item_bar_update) : gnome_canvas_group_child_bounds is a deprecated
	  useless call.
	* src/item-edit.c : fix the item-debug grab/ungrab messages.
	(recalc_spans) : gnome_canvas_group_child_bounds is a deprecated
	  useless call.
	* src/item-grid.c : fix the item-debug grab/ungrab messages.
	(item_grid_update) : gnome_canvas_group_child_bounds is a deprecated
	  useless call.
	(item_grid_button_1) : If we are going to start selecting a range have
	  the grid to a grab on button down.  This should fix the pseudo-race
	  condition that was irritating the ExprEntry.

	* src/preview-grid.c (preview_grid_update) :
	  gnome_canvas_group_child_bounds is a deprecated useless call.
	* src/item-cursor.c : fix the item-debug grab/ungrab messages.
	(item_cursor_point) : animated cursors should never receive events.

	* src/cell-draw.c (cell_draw) : It is perfectly reasonable for
	  narrow/short cols/rows to produce cells that have negative sizes
	  with the margins removed.  exit silently.

2001-04-25  Almer S. Tigelaar  <almer@gnome.org>

	* src/stf-parse.c (stf_parse_options_fixed_autodiscover):
	Fix ugly discovering error that can cause a non-existant column
	to be discovered if there are leading spaces and avoid skipping
	over columns that should be checked for emptyness. Fixes Bug #53499

2001-04-24  Almer S. Tigelaar  <almer@gnome.org>

	* src/number-match.c : We are using the fabs function, so
	include math.h

2001-04-24  Morten Welinder  <terra@diku.dk>

	* src/parse-util.c (gnumeric_char_start_expr_p): Make sure lines
 	like "-----------" are not considered expressions.  (Even though
 	XL does.)

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

	* src/sheet-control-gui.c (scg_stop_range_selection): Stop
	sliding. This was a race condition. The slide handler would think
	we were still range selecting.

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

	* src/parse-util.c (gnumeric_char_start_expr_p): Handle initial
 	dash.  Also handle initial plus better.

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

	* src/xml-io.c (xml_read_style): Compare against right version.

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

	* src/number-match.c (compute_value): Handle negative numbers(!).
  	Handle overflow better.

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

	* src/gui-clipboard.c (x_selection_to_cell_region): Plug leak.

2001-04-23  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-edit.c (workbook_finish_editing): Give focus
	to the edit line when an error is encountered.
	* src/workbook-control-gui.c
	(wbcg_close_control) : Don't store the partially entered expression
	when we are going to close.
	(cb_file_quit) : Idem.
	(cb_notebook_switch_page) : Idem, for switching between tabs
	when we are _not_ in a subexpression.

	* src/parser.y : Correct off-by-one glitches and strtod exponent
	out of range error problem.

	* src/expr.[ch] (expr_parse_string): Use a ParseError struct
	instead of an error string.

	* src/commands.c (cmd_area_set_text_redo): Use expr_parse_string
	in the newly corrected fashion.
	* src/expr-name.c (expr_name_create): Idem, require a ParseError
	struct to be passed instead of a char** aswell.
	* src/parse-util.c (parse_text_value_or_expr): Idem.
	* src/sheet-object-widget.c (cb_checkbox_config_clicked): Idem.
	* src/test-parser.c (main): Idem.
	* src/xml-io.c (xml_cell_set_array_expr): Idem.

	* src/sheet.c (sheet_clone_names): Use expr_name_create which now
	uses ParseError instead of char **.
	* src/xml-io.c (xml_read_names): Idem.

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

	* src/GNOME_Gnumeric.xml: Define a few more outline commands, just
 	to shut up bonobo.

2001-04-22  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_colrow_outline_change) : Extend logic to support
	  having collapse buttons at the start or end of the range.  Fix a few
	  for behaviors.

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

	* src/colrow.c (colrow_visibility) : Don't toggle the visibility of
	  collapsed regions even if we are only hiding things.  It will make a
	  mess of undo.

	* src/workbook-control-gui.c (wbcg_menu_state_sheet_prefs) : add some
	  new prefs for outline mode.

	* src/colrow.c (colrow_adjust_outline_dir) : new stub.  implement
	  later.

	* src/sheet-control-gui.c (scg_set_gutters) : delete.
	(scg_resize) : split from.
	(scg_set_zoom_factor) : here. change signature to use zoom associated
	  with sheet.  No need to pass it in.

	* src/sheet.c (sheet_col_row_gutter) : Use scg_resize.
	(sheet_set_zoom_factor) : signature change.
	(sheet_adjust_preferences) : Adjust signature to optionally call
	  scg_resize.

	* src/item-bar.c (compute_pixels_from_indent) : Support disabling
	  outlines.

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

	* src/sheet.c (sheet_new) : init outline_symbols_{below,right},
	  and display_outlines

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

	* configure.in (have_gda): Today, gda plugin compiles again with
	CVS libgda. Bump required version to 0.2.4.

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

	* configure.in : Make gda plugin optional. Check for suitable
	versions - present CVS version doesn't compile.

2001-04-19  Jody Goldberg <jgoldberg@home.com>

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

	* src/workbook.c (workbook_sheet_rename) : fix error message.
	(workbook_sheets) : constness.
	(workbook_sheet_count) : ditto.
	(workbook_sheet_index_get) : ditto.

2001-04-18  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_cell_set_expr) : clear old span when an
	  expression is assigned.
	(sheet_cell_set_text) : ditto.

	* src/application.c (application_init) : add new icons.

	* src/workbook-control-gui.c : Use the new icons.
	* src/GNOME_Gnumeric.xml : ditto.

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

	* src/sheet-control-gui.c (scg_rangesel_cursor_extend,
	scg_rangesel_cursor_bounds, scg_rangesel_horizontal_move,
	scg_rangesel_vertical_move, scg_rangesel_horizontal_extend,
	scg_rangesel_vertical_extend, scg_rangesel_cursor_extend): Use
	value of item_cursor from after GnumericSheet method has been
	invoked.

	* src/workbook-edit.[ch] (workbook_get_entry,
	workbook_get_entry_logical): Change return type to
	GnumericExprEntry.
	(workbook_set_entry): Change type of entry argument to
	GnumericExprEntry.

	* src/gnumeric-sheet.c (move_cursor): Move to scg::scg_move_cursor
	(cursor_horizontal_move): Move to scg::scg_cursor_horizontal_move
	(cursor_horizontal_extend): Move to
	scg::scg_cursor_horizontal_extend
	(cursor_vertical_move): Move to scg::scg_cursor_vertical_move
	(cursor_vertical_extend): Move to scg::scg_cursor_vertical_extend
	(selection_remove_selection_string,
	selection_insert_selection_string): Remove. GnumericExprEntry
	widget now handles this.
	(start_cell_selection_at): Rename to start_range_selection_at.
	(start_cell_selection): Rename to start_range_selection.
	(gnumeric_sheet_start_cell_selection): Rename to
	gnumeric_sheet_start_range_selection.
	(gnumeric_sheet_stop_cell_selection): Rename to
	gnumeric_sheet_stop_range_selection. Remove clear_string parameter
	and selection string manipulation.
	(rangesel_horizontal_move): Make non-static, rename to
	gnumeric_sheet_rangesel_horizontal_move, remove selection string
	manipulation.
	(rangesel_vertical_move): Make non-static, rename to
	gnumeric_sheet_rangesel_vertical_move, remove selection string
	manipulation.
	(rangesel_horizontal_extend): Make non-static, rename to
	gnumeric_sheet_rangesel_horizontal_extend, remove selection string
	manipulation.
	(rangesel_vertical_extend): Make non-static, rename to
	gnumeric_sheet_rangesel_vertical_extend, remove selection string
	manipulation.
	(gnumeric_sheet_key_mode_sheet): Use movefn's from scg instead of
	from GnumericSheet.

	* src/gnumeric-sheet.h (gnumeric_sheet_start_cell_selection):
	Rename to gnumeric_sheet_start_range_selection.
	(gnumeric_sheet_stop_cell_selection): Rename to
	gnumeric_sheet_stop_range_selection. Remove clear_string
	parameter.
	(gnumeric_sheet_rangesel_horizontal_move,
	gnumeric_sheet_rangesel_vertical_move,
	gnumeric_sheet_rangesel_horizontal_extend,
	gnumeric_sheet_rangesel_vertical_extend): Declare.

	* src/gnumeric-util.[ch] (gnumeric_entry_at_subexpr_boundary_p):
	Rename to gnumeric_expr_entry_at_subexpr_boundary_p and move to
	gnumeric_expr_entry widget.

	* src/item-grid.c (item_grid_button_1, item_grid_event): Use scg
	methods instead of methods from GnumericSheet.

	* src/sheet.[ch] (sheet_stop_cell_selection): Rename to
	sheet_stop_range_selection.

	* src/sheet-control-gui.c (scg_colrow_select): Use scg methods
	instead of methods from GnumericSheet.
	(scg_stop_editing): Add call to scg_stop_cell_selection.
	(scg_range_selection_changed): New function. Notify ExprEntry that
	the expression range has changed.
	(scg_move_cursor): Moved here from GnumericSheet.
	(scg_rangesel_cursor_extend): Add call to
	scg_range_selection_changed.
	(scg_rangesel_cursor_bounds, scg_rangesel_horizontal_move,
	scg_rangesel_vertical_move, scg_rangesel_horizontal_extend,
	scg_rangesel_vertical_extend): New functions. Call GnumericSheet
	counterpart and notify ExprEntry.
	(scg_cursor_horizontal_move, scg_cursor_horizontal_extend,
	scg_cursor_vertical_move, scg_cursor_vertical_extend): Moved here
	from GnumericSheet.
	(scg_get_sel_cursor_pos): New function. Return selection cursor
	position.

	* src/sheet-control-gui.h (scg_range_selection_changed,
	scg_move_cursor, scg_rangesel_cursor_bounds,
	scg_rangesel_horizontal_move, scg_rangesel_vertical_move,
	scg_rangesel_horizontal_extend, scg_rangesel_vertical_extend,
	scg_cursor_horizontal_move, scg_cursor_vertical_move,
	scg_cursor_horizontal_extend, scg_cursor_vertical_extend,
	scg_get_sel_cursor_pos): Declare.

	* src/sheet-control-gui.[ch] (scg_stop_cell_selection): Rename to
	scg_stop_range_selection. Notify ExprEntry that range selection
	has stopped.

	* src/sheet-object-widget.c (cb_checkbox_config_focus): Call
	gnumeric_expr_entry_select_absolute.
	(sheet_widget_checkbox_user_config): Use GnumericExprEntry. Attach
	it to the scg.

	* src/workbook-control-gui.c (cb_notebook_switch_page): Use new
	function name sheet_stop_range_selection.

	* src/workbook-control-gui-priv.h (struct
	_WorkbookControlGUI::struct edit_line): entry and temp_entry are
	now GnumericExprEntries.
	(struct _WorkbookControlGUI): Remove select_abs_col,
	select_abs_row, select_full_col, select_full_row and
	select_single_cell.

	* src/workbook-control-gui.c (wbcg_finish_editing,
	wb_edit_key_pressed, cb_autofunction, workbook_setup_edit_area,
	auto_complete_matches): Entry must now be cast to GtkEntry.
	(workbook_control_gui_init): select_abs_col, select_abs_row,
	select_full_col, select_full_row and select_single_cell no longer
	exist.

	* src/workbook-edit.c (workbook_finish_editing, entry_changed,
	workbook_start_editing_at_cursor): entry must now be cast to
	GtkEntry.
	(workbook_start_editing_at_cursor): Attach scg to
	ExprEntry. wbcg->select_abs_col and select_abs_row no longer
	exist.
	(workbook_edit_select_absolute): Move to ExprEntry widget.
	(workbook_edit_toggle_absolute): New function. Probably remove it
	again.
	(workbook_edit_init): Remove redundant 'g_assert != NULL'. Use
	GnumericExprEntry widget.

2001-04-17  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wbcg_init_state) : implement.

2001-04-16  Jody Goldberg <jgoldberg@home.com>

	s/workbook_control_sheets_init/workbook_control_init_state/

	* src/commands.c (command_setup_combos) : new function to initialize
	  the undo/redo combos into a known state.
	* src/workbook-control.c (workbook_control_sheets_init) : called here.

	* src/workbook-control.c (wb_control_change_view) : new virtual.
	(workbook_control_set_view) : called here.

2001-04-17  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-edit.c (workbook_finish_editing) : fix.  We need to
	  ignore the leading '=' or '@'.

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

	* configure.in: Fix typo

2001-04-16  Jody Goldberg <jgoldberg@home.com>

	* configure.in : bump GAL version reqs.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar) :
	  Jump to updated interface.  Partially fix the shared group problems.

2001-04-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/item-grid.c : Within all functions
	where the ItemGrid is a variable, s/item_grid/ig,
	s/grid/ig.

2001-04-15  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_draw) : Hide merged cells.
	(item_grid_draw_merged_range) : calculate the size the same way we do
	  it in cell_draw.

	* src/workbook-control-gui.c (wbcg_finish_editing) : new virtual
	(workbook_control_gui_ctor_class) : connect it here.
	(wbcg_sheet_remove_all) : be sure we are no longer editing.

	* src/workbook-control-priv.h : new virtual.
	* src/workbook-control.c : ditto.
	* src/workbook-control.h : ditto.

	* src/colrow.c (colrow_visibility) : One last potential NULL.

	* src/graph-vector.c : some portability fixes.

2001-04-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/parser.y : Add detailed parser error messages.

	* src/workbook-edit.c (workbook_finish_editing) : Abort
	if the expression is invalid and return a boolean indicating
	success or failure.

	* src/expr.c (expr_parse_string): Set error message to the
	result of gnumeric_expr_parser.

	* src/parse-util.c (parse_error_init) : Properly initialize
	begin and end character.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Don't
	change the cursor position if workbook_finish_editing failed.
	(move_cursor): Idem.

	* src/item-grid.c (item_grid_button_1): Idem.

2001-04-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/preview-grid.c
	(preview_grid_realize) : Remove grid gc.
	(preview_grid_unrealize) : Idem.

	* src/item-grid.c
	(item_grid_realize) : Use gc.fill, gc.cell
	and gc.empty instead of fill_gc, etc.
	(item_grid_unrealize) : Idem.
	(item_grid_draw_merged_range) : Idem.
	(item_grid_draw_background) : Idem.
	(item_grid_draw) : Idem.

2001-04-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/preview-grid-controller.c,
	src/preview-grid-controller.h : Remove entirely, the
	preview-grid-controller abstraction is no longer
	needed.

2001-04-15  Almer S. Tigelaar  <almer@gnome.org>

	* src/preview-grid.c (pgrid_get_style) : Calls upon
	cb_cell_get_style, if NULL use default.
	(pg_get_row_height) : Retrieve row height.
	(pg_get_col_width) : Retrieve col width.
	(pg_get_row_offset) : Get offset of row.
	(pg_get_col_offset) : Get offset of column.
	(pg_construct_cell) : Construct a cell from a value.
	(pg_destruct_cell) : Destruct a cell.
	(preview_grid_realize) : Initialize default mstyle.
	(preview_grid_unrealize) : Free default mstyle.
	(preview_grid_set_arg) : Add support for row height and col
	width.
	(pg_style_get_row) : Use pg_* routines.
	(preview_grid_draw) : Idem.

2001-04-13  Jody Goldberg <jgoldberg@home.com>

	* idl/Makefile.am (dist-hook) : automate removing the generated files.

	* src/workbook-control-gui.c (workbook_menu_data_outline) : new menu.

	* src/Makefile.am : workbook-control-bonobo is not ready for prime
	  time.

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

	* src/workbook-control-gui.c (workbook_control_gui_init): Use
	gtk_idle_add to postpone clipboard setup. For mysterious reasons,
	connecting callbacks to the table doesn't work. Toplevel does
	work, but we must wait until we live inside a toplevel.

	* src/gui-clipboard.c (x_selection_received,
	x_clipboard_bind_workbook): Use wb_control_gui_toplevel to
	determine toplevel.

	* src/gui-clipboard.[ch] (x_clipboard_bind_workbook): Change
	signature to make it callable as an idle function. Make it
	determine the toplevel from

2001-04-13  Jody Goldberg <jgoldberg@home.com>

	* src/style.c (font_init) : rename fontmap -> fontmap2 for newer
	  versions of gnome-print.

2001-04-12  Jody Goldberg <jgoldberg@home.com>

	* src/Makefile.am : rename gnumeric.xml GNOME_Gnumeric.xml.

	* src/sheet.c (sheet_col_add) : update the max outline_level.
	(sheet_row_add) : ditto.

	* src/xml-io.c (xml_read_colrow_info) : restore the col/row outline
	  level data.
	(xml_write_colrow_info) : store it here.

	* src/colrow.c (colrow_set_visibility) : don't collapse things unless
	  they are at the end of the region.  Always uncollapse things.

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

	* src/item-bar.c (item_bar_draw) : tweak the redraw a bit to match
	  event handling

	* src/mstyle.c (mstyle_elements_equal) : remove pointless asserts and
	  correct the logic.
	(mstyle_element_equal) : Stop passing structs.
	(mstyle_elements_equal) : adjust here.
	(mstyle_elements_compare) : and here.

2001-04-12  Morten Welinder  <terra@diku.dk>

	* src/plugin-util.c: Portability fix.

2001-04-12  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_paste_copy_undo) : Make the corner of the
	  restored region visible.
	(cmd_autofill_undo) : Ditto.
	(cmd_autofill_redo) : Ditto.
	(cmd_colrow_outline_change) : Uncollapsing things should work better
	  now.

	* src/colrow.c (colrow_set_visibility) : collapse state changes can
	  occur more than once within a range.

	* src/sheet.c (sheet_col_row_gutter_pts) : simplify, no need to store
	  sizes in pts.  Outline level is enough.
	  s/sheet_col_row_gutter_pts/sheet_col_row_gutter/

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

	* src/cellspan.c (cell_calc_span) : fix chema's spanning problem.

	* src/workbook-control-gui.c (workbook_menu_data) : Add an icon for
	  the sort menu item.

2001-04-9  Jody Goldberg <jgoldberg@home.com>

	s/cmd_hide_selection_colrow/cmd_colrow_hide_selection/

	* src/commands.c (cmd_colrow_outline_change) : new wrapper for
	  colrow_hide that handled outline changes.

	* src/workbook-control-gui.c (cb_insert_{cols,rows}) : cancel edit.
	(cb_select_auto_expr) : return a value.

	* src/colrow.c (cb_col_row_visibility) : Use get rather than fetch.
	(colrow_find_outline_bound) : new function.
	(cb_colrow_visibility) : turn this into a wrapper for.
	(colrow_visibility) : this, and add honour_collapse flag.
	  invert the search to go fro mthe end to the start in preparation for
	  supporting the honour_collapse flag.  Insert the items into a sorted
	  list in case we want to merge them some day.
	(colrow_get_outline_toggle) : use new routine here too.

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

	* src/item-bar.c (item_bar_event) : Doh!  The outline events are
	  controled by the minor coordinate.

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

	* src/main.c (gnumeric_main) : shut plugins down first.

2001-04-04  Morten Welinder  <terra@diku.dk>

	* src/style.c (font_init): Improve error message.  Constify.

2001-04-04  Morten Welinder  <terra@diku.dk>

	* src/style.c (font_init): Refer to bugzilla, not bugs.

2001-04-01  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.c
	(plugin_db_activate_saved_active_plugins): Don't update saved active
	plugin ids if PLUGIN_DEBUG is defined.
	(plugins_shutdown): Update saved active plugin ids only if needed.

2001-04-01  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c
	(cmd_ins_del_colrow_redo): Don't mirror the size of the
	selected cols/rows, instead look at the next visible col/row
	to the top/left for the size.
	(cmd_hide_colrow_correct_selection): Pass extra "forward" parameter
	value to colrow_find_adjacent_visible.

	* src/colrow.h, src/colrow.c
	(colrow_find_adjacent_visible): Add optional "forward" parameter.
	If unset it will seek to the right/bottom otherwise to the left/top.

2001-03-31  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.[ch]: Replaced PLUGIN_MESSAGE macro with plugin_message
	function to avoid portability problems (some compilers don't support
	vararg macros), added "level" argument.

	* src/plugin-loader.c (gnumeric_plugin_loader_load,
	gnumeric_plugin_loader_unload): Adjusted to plugin.h.

2001-03-30  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wbcg_sheet_remove_all) : clear the
	  notebook BEFORE deleting it to avoid updating during destuction.

	* src/cellspan.c (cell_calc_span) : Cells in hidden columns can not
	  have spans.

	* src/file.c (file_finish_load) : no need to manually respan this will
	  happen via sheet_update.  This gives us a nice speed up.

	* src/sheet.c (sheet_cell_calc_span) : don't reregister spans that
	  have not changed.
	(sheet_new) : init all flags to true to ensure things get updated.

	* src/main.c : remove style_debug option tha was unused.
	* src/mstyle.c (mstyle_elements_equal) : It was only mostly unused :-)

	* src/workbook-control-gui.c (wbcg_menu_state_sheet_count) : fix.

	* src/item-bar.c (is_pointer_on_division) : robustify in the face of
	  clicking out of bounds.
	(item_bar_event) : ditto, also simplfy a bit.

2001-03-30  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.h: Commented out PLUGIN_DEBUG and PLUGIN_ALWAYS_LOAD
	macros.

2001-03-29  Morten Welinder  <terra@diku.dk>

	* configure.in (try_python): Fix redirections and don't use the
	non-standard "grep -q".

2001-03-29  Morten Welinder  <terra@diku.dk>

	Responding to lots of bug reports from drk@sgi.com:

	* src/application.c (application_display_dpi_get): Don't
 	explicitly inline.  (The compiler hopefully will by itself.)

	* src/sheet-object-widget.c (DEP_TO_CHECKBOX): Avoid pointer
 	arithmetic on void pointers.

	* src/item-bar.c: Don't use zero-sized array.

2001-03-29  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin-service.c (plugin_service_file_opener_probe_func):
	Print an error on terminal before ignoring it.

2001-03-28  Zbigniew Chyla  <cyba@gnome.pl>

	* sheet.c
	(sheet_update): Register idle function to update "auto_expression"
	instead of doing this immediately. Calculating a sum of many values
	may take a looong time.
	(sheet_update_auto_expr_idle_func): New function (code moved from
	sheet_update) updating "auto_expression" in idle loop.

	* sheet-priv.h (struct _SheetPrivate): Added auto_expr_idle_id
	field.

2001-03-26  Morten Welinder  <terra@diku.dk>

	* src/workbook.c (workbook_cells): New function, extracted from
 	cmd_search_replace_do.

	* src/sheet.c (sheet_cells): New function, extracted from
 	cmd_search_replace_do.

	* src/cell.c (cell_has_comment_pos): New function for those cells
 	that aren't really there.

	* src/commands.c (cmd_search_replace_do): Use workbook_cells and
 	sheet_cells.
	(cmd_search_replace_do_cell): Change to take position instead of
 	cell.  Handle missing cells without crashing.
	(cmd_search_replace_undo, cmd_search_replace_redo): Fix for
 	missing cells with comments.

2001-03-25  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c
	(cmd_ins_del_colrow_redo): Resize inserted columns/rows
	to have the same size of the columns/rows that previously
	occupied the same space.

2001-03-25  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c
	(cmd_ins_del_colrow_undo): Re-ant the original cut selection.
	(cmd_ins_del_colrow_redo): Re-ant accounting for the shift in
	columns/rows.
	(cmd_ins_del_colrow_destroy): Free stored cut range.
	(cmd_ins_del_colrow): Store the cut range if any.

2001-03-23  Almer S. Tigelaar  <almer@gnome.org>

	* src/about.c : Make some small changes and add Zbigniew.

2001-03-23  Morten Welinder  <terra@diku.dk>

	* src/gnumeric-util.c (gnumeric_glade_group_value): Function moved
 	from dialog-search-replace.c.

2001-03-21  Zbigniew Chyla  <cyba@gnome.pl>

	* src/gutils.h (g_vector_free_custom macro): Fixed stupid bug.

2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>

	Moved XL support from Gnumeric binary into real plugin.

	* src/Makefile.am
	(gnumeric_libs): Removed ../plugins/excel/libexcel.a

	* src/main.c:
	Removed:
	- include "../plugins/excel/boot.h"
	- xxx_debug variables
	- (gnumeric_popt_options) excel debugging options
	- excel_init() and excel_shutdown() calls

2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>

	Added support for plugin dependencies + some fixes.

	* src/gutils.h (g_list_to_vector, g_vector_free_custom):
	New macros. (used macros instead of functions to avoid casting and
	pointer size problems - ANSI C doesn't guarantee that
	sizeof (void *) == sizeof (something_else *).

	* src/plugin-loader.c
	(gnumeric_plugin_loader_load): Load required plugin dependencies
	before the plugin itself, increment n_deps for every loaded
	dependency (by calling plugin_dependencies_inc_dependants).
	(gnumeric_plugin_loader_unload): New function.
	(gnumeric_plugin_loader_load_service): Increment number of loaded
	services if loaded succesfully.
	(gnumeric_plugin_loader_unload_service): Decrement number of loaded
	services if unloaded succesfully, unload plugin if it reaches zero.

	* src/plugin-loader.h
	(struct _GnumericPluginLoader): Added n_loaded_services.
	(gnumeric_plugin_loader_unload): New function.

	* src/plugin-service.c:
	(plugin_service_file_opener_open_func,
	plugin_service_file_saver_save_func):
	Used gnumeric_io_error_occurred (and gnumeric_io_clear_error) when
	checking for error.

	* src/plugin.c:
	(plugins_active_by_default): Array containing ids of "standard"
	plugins. These will be active by default.
	(struct _PluginDependency): New struct.
	(struct _PluginInfo): Added dependencies_v, d_deps. Replaced
	service_list with services_v (vector in place of list).
	(plugin_info_get_config_prefix, plugin_dependency_get_plugin_info,
	plugin_info_read_dependency_list, plugin_dependency_free,
	plugin_inc_dependants, plugin_dec_dependants,
	plugin_dependencies_inc_dependants,
	plugin_dependencies_dec_dependants,
	plugin_load_dependencies):
	New functions.
	(plugin_info_provides_loader_by_type_str, plugin_info_free):
	Adjusted to service_list -> services_v change.
	(plugin_info_read): Read (optional) dependencies, adjusted to
	service_list -> services_v change.
	(activate_plugin):
	Activate required dependencies before the plugin itself.
	Increment n_deps for every activated dependency (by calling
	plugin_dependencies_inc_dependants).
	Adjusted to service_list -> services_v change.
	(deactivate_plugin):
	Decrement n_deps for every activated dependency (by calling
	plugin_dependencies_dec_dependants).
	Adjusted to service_list -> services_v change.
	(plugin_can_deactivate):
	Return FALSE if any of n_deps > 0.
	Adjusted to service_list -> services_v change.
	(plugin_list_sort_by_dependency): Removed.
	(plugin_db_activate_plugin_list): Removed sorting.
	(plugin_db_init): Always activate new plugin if it's defined in
	plugins_active_by_default array.

	* src/plugin.h:
	(PluginDependencyType): New enum.
	(plugin_load_dependencies,
	plugin_inc_dependants, plugin_dec_dependants,
	plugin_dependencies_inc_dependants,
	plugin_dependencies_dec_dependants,
	plugin_info_get_config_prefix): New functions.

2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/io-context-priv.h:
	(struct _IOContext): Added error_occurred field.

	* src/io-context.c
	(gnumeric_io_context_new): Set error_occurred to FALSE by default.
	(gnumeric_io_error_system, gnumeric_io_error_read,
	gnumeric_io_error_save): Set error_occurred to TRUE.
	(gnumeric_io_error_unknown, gnumeric_io_clear_error,
	gnumeric_io_error_occurred): New functions.

	* src/io-context.h
	(gnumeric_io_error_unknown, gnumeric_io_clear_error,
	gnumeric_io_error_occurred): New functions.

2001-03-18  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wb_edit_key_pressed) : handle failure
	  cases better.

	* src/colrow.c (colrow_foreach) : Doh!

	* src/item-bar.c (item_bar_event) : Now that we are zooming this
	  canvas we need to transform the coordinates.

2001-03-16  Jody Goldberg <jgoldberg@home.com>

	* src/item-bar.c (item_bar_calc_size) : rename from
	  item_bar_fonts_init.

	* src/sheet-control-gui.c (scg_set_zoom_factor) : prepare for panes by
	  zooming the col/row header canvases.  We need this as we transition
	  to using gnumeric-sheets instead of canvases to hold the item-bars.

2001-03-15  Jody Goldberg <jgoldberg@home.com>

	* src/colrow.c (colrow_equal) : handle outline&collapse.
	(colrow_copy) : ditto.

	* src/item-bar.c (outline_button_press) : new function.
	(item_bar_event) : used here.

2001-03-15  Jody Goldberg <jgoldberg@home.com>

	* src/item-bar.c (compute_pixels_from_pts) : new function.
	(item_bar_fonts_init) : resize the indent gutters based on the zoom.
	(item_bar_realize) : add another gc for outline drawing.
	(item_bar_unrealize) : ditto.
	(item_bar_draw) : implement drawing for groupings.
	(set_cursor) : handle cursor in the presence of groupings.

2001-03-14  Jody Goldberg <jgoldberg@home.com>

	* Makefile.am : update the handling of the oaf file.

	* src/sheet.c (sheet_col_row_default_calc) : rename from
	  sheet_col_row_default_init.

2001-03-13  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_write_print_repeat_range) : PrintRepeatRange now
	  uses a simple Range.
	(xml_read_print_repeat_range) : ditto.
	* src/print-info.c (print_info_new) : ditto.
	(save_range) : Ditto.
	* src/dialogs/dialog-printer-setup.c (do_fetch_page_info) : ditto.
	* src/print.c (print_range_used_units) : ditto.
	(print_range_right_then_down) : ditto.
	(print_range_down_then_right) : ditto.
	(print_page_repeated_intersect) : ditto.
	(print_page_repeated_cols) : ditto.
	(print_page_repeated_rows) : ditto.
	(print_page) : ditto.

	* src/sheet-control-gui.c (scg_set_zoom_factor) : The sizing has moved
	  into the itembar.

	* src/item-bar.c : s/orientation/is_col_header/
	(item_bar_fonts_init) : Init the ideal cell size.
	(item_bar_update) : Begin to support grouping.
	(item_bar_draw) : ditto.
	(item_bar_init) : init the new members.

	* src/print-cell.c (print_cell) : re-enable halign FILL.
	* src/cell-draw.c (cell_draw) : ditto.

2001-03-17  Jody Goldberg <jgoldberg@home.com>

	* Release 0.64

2001-03-16  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in: Checking if we can build a shared library depending on
	libpython and disabling Python support otherwise.

2001-03-15  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui.c (verbs): Fix the build for bonobo by
	  ifdefing out verbs for cb_data_validate and cb_view_freeze_panes.

2001-03-14  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_event) : don't go past edges

	* src/parser.y : Add portability.h to help on Tru64

	* src/workbook-control-gui.c : disable validate and freeze for
	  release.

2001-03-13  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (workbook_setup_auto_calc) : the autoexpr
	  button can not take focus.

2001-03-12  Jody Goldberg <jgoldberg@home.com>
	For  Vlad Harchev <hvv@hippo.ru> :

	* src/item-bar.c (item_bar_realize) :  Use colours from Style.

	* src/print-cell.c (print_show) : new routine to assist printing non
	  latin-1 characters.
	(get_width_string_n) : ditto.
	(get_width_string) : ditto.
	(print_text) : used here.
	(print_overflow) : here.
	(cell_split_text) : here.
	(print_cell) : and here.

2001-03-11  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_sort_destroy) : Add some safety in preparation
	  for gtk2.0.

	* src/workbook-control-gui.c (workbook_setup_auto_calc) : remove the
	  use of the canvas to avoid label flicker.  Add support for a status
	  widget.
	(wb_control_gui_set_status_text) : new function.

	* src/gnumeric.xml : Add Status control and reverse the order to work
	  around probable bonobo bug.

	* src/sheet-control-gui.c (horizontal_scroll_offset_changed) : Use
	  wb_control_gui_set_status_text.
	(vertical_scroll_offset_changed) : ditto.
	(scg_scrollbar_config) : ditto.

2001-03-10  Almer S. Tigelaar  <almer@gnome.org>

	* src/sheet-control-gui.c
	(scg_scrollbar_config): Clear scrollbar text.
	(vertical_scroll_offset_changed): Adjust to display hint in the scrollbar.
	(horizontal_scroll_offset_changed): Idem.

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

	* src/sheet-control-gui.c (scg_construct) : lay some ground work for
	  multiple panes.

2001-03-08  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : fix off by
	  one width/height error at far boundary.

	* src/xml-io.c (xml_get_print_unit) : make units case sensitive.

2001-03-05  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in:
	(AC_OUTPUT): Added plugins/python-loader/Makefile,
	plugins/gnome-glossary/Makefile, plugins/py-func/Makefile.
	Fixed Python configuration.

	* plugins/Makefile.am:
	Conditionally added plugins: python-loader, py-func, gnome-glossary.

2001-03-05  Zbigniew Chyla  <cyba@gnome.pl>

	Fixes #51316 (actually, it fixes the _real_ problem).

	* src/dialogs/dialog-plugin-manager.c
	(cb_pm_button_activate_plugin_clicked): If the plugin is already
	active, remove it from "marked for deactivation" list.
	(cb_pm_button_deactivate_plugin_clicked): If the plugin cannot be
	deactivated, optionally add it to "marked for deactivation" list
	(if the user wants to).
	(cb_pm_clist_row_selected):
	Make "Activate plugin" button sensitive for some active plugins (for
	those on "marked for deactivation" list).
	(cb_pm_clist_row_unselected):
	Bugfix: don't free pm_gui->current_plugin_id string.
	(update_plugin_manager_view):
	Display the plugin state after its name ("in memory", "marked for
	deactivation").
	(dialog_plugin_manager): Plug leak.

	* src/plugin.c
	(plugin_info_force_mark_inactive,
	plugin_db_mark_plugin_for_deactivation,
	plugin_db_is_plugin_marked_for_deactivation): New functions.
	(plugins_shutdown): Set all plugins on "marked for deactivation"
	list as inactive before saving active plugins in configuration.

	* src/plugin.h:
	(plugin_db_mark_plugin_for_deactivation,
	plugin_db_is_plugin_marked_for_deactivation): New functions.

2001-03-05  Almer S. Tigelaar  <almer@gnome.org>

	* src/sheet-control-gui.c
	(vertical_scroll_change) : Remove.
	(horizontal_scroll_change) : Remove.
	(vertical_scroll_event) : Remove.
	(horizontal_scroll_event) : Remove.
	(vertical_scroll_changed) : New function, handles the
	GnumericVScrollbar's "changed" signal.
	(horizontal_scroll_changed) : Idem for the GnumericHScrollbar.
	(scg_construct) : Create a gnumeric-vscrollbar instead of a
	gtk-vscrollbar and connect the "changed" signal do the same
	for gnumeric-hscrollbar.

2001-03-04  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control-gui.c
	(cb_data_validate) : New, invokes the data validation dialog.

2001-03-03  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_cell_calc_span) : rewrite to be less stupid.

2001-03-03  Zbigniew Chyla  <cyba@gnome.pl>

	Plugin code cleanup (removed unnecessary function arguments) + small
	fixes.

	* src/func.[ch]
	(struct _FunctionDefinition):
	Removed get_full_info_callback_data field.
	(function_add_name_only): Removed callback_data argument.
	(function_def_get_full_info_if_needed, FunctionGetFullInfoCallback):
	Now we just pass fn_def instead of name + callback_data.
	(function_call_with_list):
	Added missing function_def_get_full_info_if_needed() call.

	* src/plugin-loader.[ch]
	(gnumeric_plugin_loader_load_service,
	gnumeric_plugin_loader_unload_service):
	Return error (instead of crashing) if service is not supported.
	(gnumeric_plugin_loader_is_loaded): New function.

	* src/plugin-service.h
	(struct _PluginServiceGeneral, struct _PluginServiceFileOpener,
	struct _PluginServiceFileSaver, _PluginServicePluginLoader):
	Removed unneeded plugin argument from every function.

	* src/plugin-service.c
	(plugin_service_function_group_get_full_info_callback): Get fn_def
	arg instead of fn_name + callback_data.
	(plugin_service_function_group_initialize): Store pointer to service
	in fn_def's user_data.
	Adjusted to plugin-service.h (removed plugin argument).

	* src/plugin-loader-module.c
	(gnumeric_plugin_loader_module_func_init,
	gnumeric_plugin_loader_module_func_can_deactivate,
	gnumeric_plugin_loader_module_func_cleanup,
	gnumeric_plugin_loader_module_func_file_probe,
	gnumeric_plugin_loader_module_func_file_open,
	gnumeric_plugin_loader_module_func_file_save,
	gnumeric_plugin_loader_module_func_get_full_function_info,
	gnumeric_plugin_loader_module_func_get_loader_type):
	Adjusted to plugin-service.h (removed plugin argument).

	* src/plugin.[ch]
	s/plugin_load_loader_if_needed/plugin_get_loader_if_needed
	(plugin_info_get_extra_info_list): Get loader if it's not available.
	(plugin_info_is_loaded, plugin_info_get_loader): New functions.

2001-03-02  Morten Welinder  <terra@diku.dk>

	* src/ranges.h: Drop 24 bogus casts.

	* src/ranges.c (range_transpose): Drop extraneous &.
	(range_fragment_list_clip): Fix to work with new src/ranges.h

2001-03-01  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (cb_sheet_remove) : rename from
	  cb_edit_delete_sheet.

	* src/gnumeric.xml : Adopt a more consistent naming convention for
	  SheetRemove

	* src/mstyle.c (mstyle_element_dump) : add pattern.

2001-02-27  Almer S. Tigelaar  <almer@gnome.org>

	* src/commands.c
	(cmd_colrow_std_size) : Set undo descriptor for row height correctly.

2001-02-27  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-cmd-format.c
	(workbook_cmd_format_column_std_width) : Implement.
	(workbook_cmd_format_row_std_height) : Idem.

	* src/commands.c, src/commands.h
	(cmd_colrow_std_size_undo) : New, Undo for the std
 	row-height/col-width setting.
	(cmd_colrow_std_size_redo) : Idem, for redo.
	(cmd_colrow_std_size_destroy) : Idem.
	(cmd_colrow_std_size) : Entry point for std row-height/col-width
 	command.

2001-02-25  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (zoom_changed) : round the zoom factor
	  before displaying.

	* src/selection.c (sheet_selection_set_internal) : when the selection
	  shrinks and no longer selects full cols/rows redraw the union.

2001-02-25  Zbigniew Chyla  <cyba@gnome.pl>

	* src/file.c (workbook_save_as): Fixed crash (caused by calling
	gnumeric_io_context_free twice).

2001-02-24  Jody Goldberg <jgoldberg@home.com>

	* src/format.c (format_number) : Invert the logic if this test.
	  We increment again later.  So what we really want is to avoid double
	  incrementing and avoid incrementing past the end.

	* src/cellspan.c (cell_calc_span) : rework when to increment
	  boundaries.  It is important not to have a span end in a hidden
	  column or it will not be drawn.  As such we need to be careful to
	  only increment the margin args when a bound extends into a visible
	  column.

	* src/sheet.c (sheet_regen_adjacent_spans) : check for spans before
	  cells in case we are cutting off the span at its core.

	* src/colrow.c (colrow_set_visibility_list) : set all visibilities
	  before regening spans.

	* src/cell-draw.c (cell_draw) : Add some warnings for cols/rows that
	  are too small.

2001-02-24  Zbigniew Chyla  <cyba@gnome.pl>

	* plugins/applix/applix-read.c,
	plugins/applix/applix.h, plugins/applix/boot.c,
	plugins/applix/plugin.xml,
	plugins/dif/dif.c, /plugins/dif/plugin.xml,
	plugins/html/boot.c, plugins/html/html.c,
	plugins/html/html.h, /plugins/html/latex.c,
	plugins/html/latex.h, plugins/html/plugin.xml,
	plugins/html/roff.c, /plugins/html/roff.h,
	plugins/lotus-123/boot.c, plugins/lotus-123/lotus.c,
	plugins/lotus-123/lotus.h, plugins/lotus-123/plugin.xml,
	plugins/oleo/boot.c, plugins/oleo/oleo.c,
	plugins/oleo/oleo.h, plugins/oleo/plugin.xml,
	plugins/plan-perfect/pln.c, plugins/plan-perfect/plugin.xml,
	plugins/sc/plugin.xml, plugins/sc/sc.c,
	plugins/sylk/plugin.xml, plugins/sylk/sylk.c,
	plugins/xbase/boot.c, plugins/xbase/plugin.xml,
	plugins/xbase/xbase.c, plugins/xbase/xbase.h,
	plugins/xml2/plugin.xml, plugins/xml2/xml2.c:
	Export "file_opener" plugin service (+ "file_saver" for dif and html).
	Use ErrorInfo where needed.
	Use GNUMERIC_MODULE_PLUGIN_INFO_DECL macro instead of
	gnumeric_plugin_version[] declaration.

	* plugins/numtheory/numtheory.c, plugins/numtheory/plugin.xml:
	Export "function_group" plugin service.

	* plugins/gb/plugin.c, plugins/gb/plugin.xml,
	plugins/gda/plugin-gda.c, plugins/gda/plugin.xml,
	plugins/guile/plugin.c, /plugins/guile/plugin.xml,
	plugins/perl/perl.c, plugins/perl/plugin.xml,
	plugins/python/Makefile.am, plugins/python/plugin.xml,
	plugins/python/python.c:
	Export "general" plugin service.
	Use ErrorInfo where needed.
	(init_plugin, can_deactivate_plugin, cleanup_plugin): Rename and
	signature changes.

	* plugins/excel/boot.c (excel_save_95, excel_save_98, excel_save,
 	excel_probe, excel_load): Signature changes.

	* plugins/excel/ms-formula-write.c: Use accessor functions from
	func.h instead of accessing FunctionDefinition struct directly.

2001-02-24  Zbigniew Chyla  <cyba@gnome.pl>

	* src/Makefile.am: Added files:  plugin-service.[ch],
	plugin-loader.[ch], plugin-loader-module.[ch], module-plugin-defs.h.

	* src/error-info.[ch] (error_info_new_from_errno): New function.

	* src/file.c
	(struct _FileOpener, struct _FileSaver): Moved from file.h
	(file_opener_get_format_description, file_opener_has_probe,
	file_saver_get_extension,  file_saver_get_format_description):
	New accessor functions.
	(file_opener_probe, file_opener_open, file_saver_save,
	file_opener_set_user_data, file_opener_get_user_data,
	file_saver_set_user_data, file_saver_get_user_data): New
	functions.
	(get_file_opener_by_id, get_file_saver_by_id): Removed
	Now using FileOpener*/FileSaver* instead of FileOpenerId/FileSaverId
	everywhere.

	* src/file.h
	(struct _FileOpener, struct _FileSaver): Moved to file.c.
	Adjusted to file.c.

	* src/gui-file.c: Adjusted to file.[ch], now FileSaver.extension
	field should contain real extension (without a dot).

	* src/func.[ch]
	(enum FunctionFlags, struct _FunctionDefinition): Moved from func.h
	to func.c.
	(struct _FunctionCategory): Added "internal_name" and "display_name"
	in place of "name" field.
	(function_get_category_with_translation,
	function_category_remove_func, func_get_ref_count, function_remove,
	function_add_name_only): New functions.
	Now it's possible to load function implementation on demand (after
	registering function using function_add_name_only() and providing
	function of type FunctionGetFullInfoCallback).
	Rename fd and fndef to fn_def for consistency.

	* src/functions/fn-database.c (database_functions_init),
	src/functions/fn-date.c (date_functions_init),
	src/functions/fn-eng.c (eng_functions_init),
	src/functions/fn-financial.c (finance_functions_init),
	src/functions/fn-information.c (information_functions_init),
	src/functions/fn-logical.c (logical_functions_init),
	src/functions/fn-lookup.c (lookup_functions_init),
	src/functions/fn-math.c (math_functions_init),
	src/functions/fn-sheet.c (sheet_functions_init),
	src/functions/fn-stat.c (stat_functions_init),
	src/functions/fn-string.c (string_functions_init):
	Use function_get_category_with_translation, instead of
	function_get_category.

	* src/plugin.[ch]
	(struct _PluginInfo): Removed many fields.
	(plugin_info_get_extra_info_list):
	Just call gnumeric_plugin_loader_get_extra_info_list.
	(plugin_info_peek_services_data, plugin_info_peek_loader_type_str):
	New accessor functions.
	(plugin_info_read_service_list, plugin_info_read_loader,
	plugin_info_read):
	Read services and loader info, use functions from
	gal/util/e-xml-utils.h everywhere.
	(activate_plugin, deactivate_plugin): Just activate/deactivate all
	plugin services.
	(plugin_can_deactivate): Ask plugin services.
	(plugin_load_service, plugin_unload_service,
	plugin_info_offers_loader_by_type_str,
	plugin_loader_register_type, plugin_loader_register_id_only,
	plugin_loader_get_by_id, plugin_loader_is_available_by_id,
	plugin_list_sort_by_dependency):
	New functions.
	(plugin_db_activate_plugin_list): Activate plugins in correct order,
	using plugin_list_sort_by_dependency function.
	(plugin_info_print): Removed.
	(module_plugin_print_info, module_plugin_info_get_extra_info_list,
	module_plugin_free, module_plugin_info_read, module_plugin_activate,
	module_plugin_deactivate, module_plugin_can_deactivate): Removed,
	most code  moved to plugin-loader.c and plugin-loader-module.c.

	* src/plugin-service.[ch]: New files, support for plugin services
	(five types of these so far).

	* src/plugin-loader.[ch]: New files, base class for plugin loaders.

	* src/plugin-loader-module.[ch]: New files, support for "g_module"
	plugins.

	* src/plugin-util.[ch] (gnumeric_fopen_error_info,
	gnumeric_open_error_info, gnumeric_mmap_error_info): New functions.

	* src/gutils.[ch] (g_list_free_custom, g_slist_free_custom,
	gnumeric_time_counter_push, gnumeric_time_counter_pop):
	New functions.

	* src/io-context-priv.h (struct _IOContext): Added error_info field.

	* src/io-context.[ch] (gnumeric_io_context_new,
	gnumeric_io_context_free, gnumeric_io_error_info_set,
	gnumeric_io_error_info_push, gnumeric_io_error_info_pop,
	gnumeric_io_error_info_clear, gnumeric_io_error_info_display,
	gnumeric_io_has_error_info): New functions, quick hack to add
	support for ErrorInfo.

	* src/module-plugin-defs.h: New file, should be included be every
	g_module plugin.

	* src/auto-format.c: Use accessor function from func.h.

	* src/bonobo-io.c (gnumeric_bonobo_write_workbook,
	gnumeric_bonobo_read_workbook, gnumeric_bonobo_io_probe),
	src/stf.c (stf_read_workbook, stf_write_workbook),
	src/xml-io.[ch] (xml_probe, gnumeric_xml_read_workbook,
	gnumeric_xml_write_workbook):
	Signature changes.

	* src/workbook.c: Adjusted to
	workbook_load_from/gnumeric_xml_write_workbook signature change.

	* src/dialogs/dialog-function-select.c: Adjust to func.[ch].

	* src/dialogs/dialog-plugin-manager.c
	Adjust to plugin.[ch].
	(cb_pm_button_activate_plugin_clicked): Check if loader for current
	plugin is available, suggest activating loader plugin otherwise.

2001-02-24  Morten Welinder  <terra@diku.dk>

	* src/workbook-control-gui.c (cb_edit_search_replace_action): New
 	function for non-modal action.
	(cb_edit_search_replace): Supply action callback.

2001-02-24  Almer S. Tigelaar  <almer@gnome.org>

	* src/workbook-control-gui-priv.h :
	Add sheet remove and sheet re-order menu items.

	* src/workbook-control-gui.c
	(wbcg_menu_state_sheet_count) : New, Take care of sheet counts
 	dependant gui elements like the sheet remove/re-order menus.
	(wbcg_sheet_add) : Call menu_state_sheet_count from here.
	(wbcg_sheet_remove) : Idem.
	(workbook_control_gui_init) : Initialize the remove and re-order
 	menu-items.

2001-02-24  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (workbook_control_gui_new) : Why was I
	  protecting a generic call ?  Its constituents not the caller are
	  responsible for blocking events.
	(workbook_control_gui_init) : Be anal and init this just in case.

2001-02-24  Almer S. Tigelaar  <almer@gnome.org>

	* src/sheet-control-gui.c
	(horizontal_scroll_event) : If we reach the maximum scroll offset
	increase it so we can keep scrolling down.
	(vertical_scroll_event) : Idem.
	(horizontal_scroll_change) : Directly manipulate scroll offset.
	(vertical_scroll_change) : Idem.

2001-02-23  Jody Goldberg <jgoldberg@home.com>

 	* src/commands.c (cmd_merge_cells_redo) : reorder to handle unmerging
 	  directly.
 	(cmd_merge_cells_undo) : ditto.
 	(CmdMergeCells) : no need to inherit from CmdUnmergeCells.
 	(cmd_unmerge_cells_redo) : merge the 'internal' versions.
 	(cmd_unmerge_cells_undo) : merge the 'internal' versions.

2001-02-22  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_border_vmargins) : remove unnecessary
	  reference to next_sr.  sr.bottom == next_sr.top
	  For normal borders horizontal always dominates vertical.
	(style_border_hmargins) : Only cut corners for doubles if the corner
	  is a double.

	* src/sheet.c (sheet_cursor_set_full) : new function.

	* src/selection.c (sheet_selection_set_internal) : Use it here.
	  The trick is that when extending a selection to include merged cells
	  it is possible that the edit cell is neither the base nor the move
	  col/row.  When you then shrink the selection to the pre-extended
	  state, without the merged region, you have lost track of the corner
	  and can easily loose the edit_position.

	* src/workbook-format-toolbar.c (toggled_from_toolbar) : delete this
	  ugliness.  We don't need it anymore.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wbcg_ui_update_begin) : new utility
	(wbcg_ui_update_end) : new utility

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Use them
	  here.
	(workbook_format_halign_feedback_set) : update center-across-selection
	  in the bonobo case.
	(do_modify_format) : rewrite to use the format from the edit cell and
	  to support undo.

	* src/format.c (format_toggle_thousands) : delete.

2001-02-23  Jody Goldberg <jgoldberg@home.com>

	* configure.in : post release version bump to 0.64.

2001-02-23  Jody Goldberg <jgoldberg@home.com>

	* Release 0.63

2001-02-23  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_draw_merged_range) : check for background
	  before checking for selection.

	* src/sheet-merge.c (sheet_merge_add) : don't apply the borders from
	  the corner cell to the whole region.  Just the content.

	* src/sheet-control-gui.c (scg_comment_display) : We only need to be
	  sure that scg::selected is a comment if we are using it and no other
	  comment is visible.

	* src/style-border.c (print_hline) : gdk_draw_line excludes the far
	  pixel.  Make this match to keep the draw code consistent.
	(print_vline) : ditto.

	* src/print-cell.c (print_cell_range) : Use the hide_grid from the
	  print flags not the sheet itself.

	* src/print.c (print_page_cells) : We now pass 'HideGridLines' so
	  invert the logic.

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

2001-02-22  Jody Goldberg <jgoldberg@home.com>

	* src/item-edit.c (point_is_inside_range) : dont highlight ranges on
	  other sheets.
	(scan_at) : simplify.

	* src/workbook-control-gui.c (cb_notebook_switch_page) : If we are
	  only switching pages to select a range there is no need to update
	  anything.

	* src/expr.c (eval_expr_real) : fix old typo.

	* src/commands.c (cmd_unmerge_cells_init) : add simple test to avoid
	  merging singletons.
	(cmd_unmerge_cells) : check for failure.
	(cmd_merge_cells) : ditto.

2001-02-22  Almer S. Tigelaar  <almer@gnome.org>

	* src/preview-grid.c (preview_grid_draw): The style row
	init routine expect a hide gridlines parameter, so we need
	to pass the inverse of the preview grid's show gridlines property.

2001-02-21  Jody Goldberg <jgoldberg@home.com>

	* src/render-ascii.c (cell_region_render_ascii) : The list reveral
	  stuff is no longer needed.  The new engine keeps only complete
	  styles and keeps the list as a partition.

	* src/sheet-style.c (sheet_style_insert_colrow) : When inserting
	  before the first row/col use the style from A/1.

	* src/sheet.h (SHEET_FOREACH_CONTROL) : Be really really careful about
	  potential modifications to the list why we are walking it.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_default_halign) : add support for arrays
	  and center booleans.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_write_style) : store indent.
	(xml_read_style) : restore indent.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/item-edit.c (item_edit_draw_text) : draw autocompletions of
	  wrapped text nicely.

2001-01-20  John Gotts  <jgotts@linuxsavvy.com>

	* gnumeric.spec.in: Sync with new directory structure.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/item-edit.c (item_edit_draw_text) : kill warning.

2001-02-20  Jody Goldberg <jgoldberg@home.com>

	* src/main.c : remove inclusion of embeddable-grid.h this causes
	  problems in the release because main.c then depends on files that
	  are only available in the ENABLE_BONOBO case.

	* src/item-bar.c (bar_draw_cell) : set the clip for the text.  no need
	  to clip a rectangle or shadow whose boundaries we define.

	* src/sheet-control-gui.c (scg_redraw_cell_region) : Handle shrinkage.

2001-02-20  Jon K Hellan  <hellan@acm.org>

	* src/item-edit.c (item_edit_draw_text): Fix wrapped line drawing
	problem.

2001-02-20  Morten Welinder  <terra@diku.dk>

	* src/item-bar.c (bar_draw_cell): Fix column header drawing
 	problem.  (And possibly other weird drawing problems related to
 	style.)

2001-02-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/dialog-cell-format.c (setup_color_pickers): Move
	variable assignments out of assertions to allow compilation with
	"G_DISABLE_ASSERT" defined.

	* src/dialogs/dialog-cell-sort.c:
	Use e_free_string_list() from GAL instead of newly defined
	free_string_list().
	(dialog_cell_sort): Plug leak.

2001-02-20  Morten Welinder  <terra@diku.dk>

	* src/regression.c (LUPDecomp): Really fix row flipping.

2001-02-19  Jon K Hellan  <hellan@acm.org>

	* src/file.h: Add level FILE_FL_MANUAL_REMEMBER. Fix typos:
	FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID,
	FILE_OPENER_ID_INVAID -> FILE_OPENER_ID_INVALID.

	* src/file.c (file_format_register_open): Fix typo:
	FILE_OPENER_ID_INVAID -> FILE_OPENER_ID_INVALID.
	(file_format_register_save): Fix typo: FILE_OPENER_ID_INVAID ->
	FILE_SAVER_ID_INVALID.
	(cb_unregister_save, workbook_save): Fix
	typo: FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID.

	* src/workbook.c (workbook_destroy): Only include in history is
	file_format_level >= FILE_FL_MANUAL_REMEMBER.
	(workbook_new, workbook_set_saveinfo): Fix typo:
	FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID.

	* src/xml-io.c: Fix typos: FILE_SAVER_ID_INVAID ->
	FILE_SAVER_ID_INVALID, FILE_OPENER_ID_INVAID ->
	FILE_OPENER_ID_INVALID.

2001-02-19  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_format) : Optionally supply a name.

	* src/cell-draw.c (cell_draw) : numbers with indents turn to hashes
	  too.  Hmm, I do not like the hash marks.

	* src/print-cell.c (print_cell) : merge in the indent code.

2001-02-19  Morten Welinder  <terra@diku.dk>

	* src/regression.c (LUPDecomp): Fix row flipping.
	(general_linear_regression): Survive failing LUPDecomp.

2001-02-19  Jody Goldberg <jgoldberg@home.com>

	* src/rendered-value.c (rendered_value_calc_size_ext) : tune the size
	  of an indent step.

	* src/workbook-control-gui.c (show_gui) : kill warning.

	* src/workbook-format-toolbar.c (cb_format_dec_indent) : implement.
	(cb_format_inc_indent) : ditto.

	* src/gnumeric.xml : Move the toggle specs into commands.

	* src/workbook-control-gui.c (toggle_util) : new func.
	(TOGGLE_HANDLER) : util macro to simplify gnome/bonobo transition.
	(workbook_control_gui_init) : use TOGGLE_REGISTER for the bonobo case.

2001-02-19  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui.c (show_gui): Call
	scg_adjust_preferences only if sheet exists.

2001-02-19  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_paste_cut_redo) : update the selection after the
	  move to handle merged cells.

	* src/workbook-format-toolbar.c : Add a separator and rename the
	  callbacks to follow std conventions.

2001-02-19  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wbcg_menu_state_enable_insert) : There
	  has not been a need for the menu path for a while.  Why was this
	  still here ?
	(toggle_menu_item) : clean up the #ifdef to make this readable.
	(wbcg_menu_state_sheet_prefs) : Finish the bonobo case.

2001-02-19  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (show_gui) : It seems like we need to
	  show_all for the bonobo build, I don't know why.  Add an explicit
	  call the scg_adjust_preferences to rehide headers that may be shown
	  inadvertently.

	* src/cellspan.c (cell_calc_span) : Even if the content fits the
	  indent may cause a span.

	* src/style.c (required_updates_for_style) : flag an indent change as
	  something that requires a resize.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* src/embeddable-grid.c (set_header_visibility) : delete.

	* src/workbook-control-gui.c (cb_change_zoom) : Block recursion here.
	(zoom_changed) : not here.
	(toggle_menu_item) : add warning for bonobo case.
	(workbook_setup_edit_area) : add show_all to compensate for changes in
	  construct.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c : Back port the help text from the bonobo
	  verson.
	(workbook_menu_edit_select) : Use Meta-space for select row,
	  Shift-space does not work well.
	(wbcg_close_control) : fix typo (bug 51058)

	* src/workbook-edit.c (workbook_finish_editing) : Editing is local to
	  the control.
	(workbook_start_editing_at_cursor) : ditto.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-control-gui.c : reindent some ugliness from the rename.

	* src/sheet.c (sheet_create_editor) : delete.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	s/display_zero/hide_zero/		+ necessary logic inversions
	s/show_grid/hide_grid/			+ necessary logic inversions
	s/show_col_header/hide_col_header/	+ necessary logic inversions
	s/show_row_header/hide_row_header/	+ necessary logic inversions
	s/wb_control_paste_special_enable/wb_control_menu_state_paste_special/
	s/wbcg_paste_special_enable/wbcg_menu_state_paste_special/

	* src/workbook-format-toolbar.c (workbook_format_toolbutton_update) :
	  Simplfy and use wbcg::updating_ui.
	(workbook_format_halign_feedback_set) : use simplified interface.
	(workbook_feedback_set) : Ditto.
	(set_selection_halign) : If the current alignment is already set to
	  the target type revert to general.

	* src/preview-grid.c (preview_grid_draw) : cell_draw::h_center
	  will default to width / 2.
	* src/item-grid.c (item_grid_draw_merged_range) : Ditto.
	(item_grid_draw) : Ditto.

	* src/print-cell.c (print_cell) : print_cell::h_center
	  will default to width / 2.
	(print_merged_range) : Ditto.
	(print_cell_range) : Ditto.

	* src/sheet.c (sheet_adjust_preferences) : Update the menus to reflect
	  changes in prefs.  Take a flag to control redraw requests.
	(sheet_menu_state_enable_insert) : new function.

	* src/workbook-control-gui.c (wbcg_menu_state_enable_insert) : Merge
	  all the insert col/row/cell menu updates into here.
	(wbcg_menu_state_sheet_prefs) : new function.
	(cb_sheet_pref_display_formulas) : reentrancy protection and use
	  sheet_adjust_preferences.
	(cb_sheet_pref_hide_zeros) : ditto.
	(cb_sheet_pref_hide_grid_lines) : ditto.
	(cb_sheet_pref_hide_col_header) : ditto.
	(cb_sheet_pref_hide_row_header) : ditto.
	(workbook_control_gui_init) : add the new menu items.
	(workbook_control_gui_ctor_class) : reorg a bit.

	src/workbook-control.c : reorg a bit.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* configure.in : Make python plugin optional.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control.c (wb_control_sheet_add) : update menus here.

	* src/print-cell.c (print_cell) : fix the display zero logic.
	* src/cell-draw.c (cell_draw) : ditto.  And fix the comment.

2001-02-18  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_default_halign) : Handle alignment of numbers
	  correctly when displaying formulas.

	* src/embeddable-grid.c (set_header_visibility) : start using our
	  native MVC.
	(Grid_set_header_visibility) : ditto.
	(embeddable_grid_set_header_visibility) : delete.

	* src/sheet-control-gui.c (scg_set_header_visibility) : delete.
	(scg_adjust_preferences) : Make this contingent on having a wbcg.

	* src/selection.c (sheet_selection_set_internal) : Use
	  sheet_menu_state_enable_insert.
	(sheet_selection_reset) : ditto.

2001-02-18  Almer S. Tigelaar  <almer1@dds.nl>

	* src/sheet-private.h : Add flag for insert cells.

	* src/workbook-control-gui.c :
	(wbcg_insert_cells_enable) : New, enable/disable the Insert->Cells
 	menu item.
	(workbook_control_gui_init) : Initialize the insert_cells menu
 	item.
	(workbook_control_gui_ctor_class) : Initialize insert_cells
 	function pointer.

	* src/workbook-control-gui.h : Add menu_item_insert_cells.

	* src/workbook-control.c, src/workbook-control.h,
 	src/workbook-control-priv.h : Export wbcg_insert_cell_enable to
 	workbook-control.

	* src/selection.c
	(sheet_selection_set_internal) : If the whole sheet is selected,
	disable Insert->Cells. Otherwise enable it.
	(sheet_selection_reset) : Enable Insert->Cells.

 	* src/workbook-view.c
 	(wb_view_menus_update) : Update Insert->Cells too.

2001-02-17  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_sheet_write) : Store some flags about the sheet.
	(xml_sheet_read) : Restore them.

2001-02-17  Jody Goldberg <jgoldberg@home.com>

	* src/commands.c (cmd_clear_undo) : reset the selection to queue a
	  redraw.

	* src/cell-draw.c (cell_draw) : take the coords of the center of the
	  region directly, rather than the left offset.
	* src/print-cell.c (print_cell) : ditto.

	* src/preview-grid.c (preview_grid_draw) : change sematics of the
	  centering arg to cell_draw.
	* src/item-grid.c (item_grid_draw) : ditto.
	(item_grid_draw_merged_range) : ditto. Fix drawing of selected cells.
	* src/print-cell.c (print_cell_range) : ditto.
	(print_merged_range) : ditto.

2001-02-17  Jody Goldberg <jgoldberg@home.com>

	* src/clipboard.c (clipboard_paste_region) : Allow pasting just
	  formats.

	* src/print.c (print_page) : fix typo.

	* src/xml-io.c (xml_read_style) : Before version 1 and after version 6
	  we stored full styles.  Be sure the create a default style as a
	  backward compatibility measure incase we add elements to styles in
	  the future.

2001-02-17  Almer S. Tigelaar  <almer1@dds.nl>

	* src/commands.c
	(cmd_hide_colrow_correct_selection) : Make sure the
	hidden cols/rows are not selected. Selecting adjacent cols/rows
	instead. Fixes #38179.
	(cmd_hide_colrow_undo) : Call cmd_hide_colrow_correct_selectio here.
	(cmd_hide_colrow_redo) : And here.

	* src/colrow.h, src/colrow.c (colrow_find_adjacent_visible) :
	New, Find the next visible col/row in the sheet.

2001-02-17  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_borders_row_draw) : Don't draw the
	  diagonals unless we are drawing the verticals.

	* src/sheet-control-gui.c (scg_scrollbar_config) : simplify a bit.

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) :
	  begin support for indenting.
	* src/workbook-format-toolbar.c : ditto.

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* configure.in : post release version bump

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* s/fit_in_cell/wrap_text/
	rename this in preparation for supporting shrink_to_fit

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* Release 0.62

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (render_sheet_objects) : more constness.

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric.xml : remove the 'pack-end' from some of the format
	  controls too.

2001-02-16  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : fix some warnings.

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* src/number-match.c (compute_value) : check for overflow.

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* configure.in : remove dead dirs
	* Makefile.am : Add the xml-i18n-*.in files

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (compute_sheet_pages) : Use even_if_only_styles.
	(print_page) : Ditto.
	(print_sheet) : Ditto.

	* src/xml-io.c (xml_write_print_info) : Support 'even_if_only_styles'
	(xml_read_print_info) : Ditto.
	* src/dialogs/dialog-printer-setup.c (do_fetch_page_info) : ditto.
	(do_setup_page_info) : Ditto.
	* src/print-info.c (print_info_copy) : ditto.
	(print_info_new) : ditto.
	(print_info_save) : ditto.

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : Support indents for left/right
	  alignment.

	* src/cellspan.c (cell_calc_span) : Support indents when calculating
	  spans.

	* src/rendered-value.c (cell_rendered_offset) : new function

2001-02-15  Almer S. Tigelaar  <almer1@dds.nl>

	* preview-grid-controller.c
	(preview_grid_controller_new) : Properly initialize the
 	selection_rect.
	(preview_grid_controller_free) : Remove rect and selection_rect
 	from canvas.

	* templates/autoformat/autoformat.General.advanced.xml : Correct
 	wrongly set border.

2001-02-15  Jody Goldberg <jgoldberg@home.com>

	* src/mstyle.c (mstyle_visible_in_blank) : off by one error.
	* src/xml-io.c (xml_write_style_border) : Ditto.
	(xml_read_style_border) : ditto.

	* src/rendered-value.c (rendered_value_calc_size_ext) : calculate the
	  indent offsets.

	* src/sheet-merge.c (sheet_merge_add) : redraw the entire region.

2001-02-14  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_border_draw) : delete.

2001-02-14  Jody Goldberg <jgoldberg@home.com>

	* src/preview-grid.c (pg_style_get_row) : new function.
	(preview_grid_draw) : for use here.

	* src/sheet-style.c (style_row_init) : New routine spit out from.
	* src/item-grid.c (item_grid_draw) : here.
	* src/preview-grid.c (preview_grid_draw) : for use here.
	(preview_grid_draw_background) : there is no selection.

2001-02-14  Jody Goldberg <jgoldberg@home.com>

	* s/sheet_view/scg/
	Do some renaming before the release

2001-02-14  Almer S. Tigelaar  <almer1@dds.nl>

	* configure.in: Small correction to libglade requirement.

2001-02-14  Morten Welinder  <terra@diku.dk>

	* src/plugin.c (plugin_info_list_read_for_dir): Prepare for xml2.
  	(s/childs/xmlChildrenNode/).

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

2001-02-14  Almer S. Tigelaar  <almer1@dds.nl>

 	* src/preview-grid.c
 	(preview_grid_draw_border): Remove.
 	(preview_grid_draw): Revamp excluding border drawing.

2001-02-14  Jody Goldberg <jgoldberg@home.com>

	* configure.in : bump the libglade req to get some translation fixes.
	* README : ditto.
	* gnumeric.spec.in : ditto.

2001-02-14  Karl Eichwalder  <ke@suse.de>

	* src/workbook-control-gui.c (cb_edit_search_replace_query):
	Untabify message.

2001-02-13  Jody Goldberg <jgoldberg@home.com>

	* some header cleanup.  Remove unused copies of
	  rendered-value.h

2001-02-13  Morten Welinder  <terra@diku.dk>

	* src/plugin.c (plugin_info_list_read_for_dir): Plug leak big
 	enough to drive a truck through.
	(plugin_info_free): Plug leak.

2001-02-13  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_clone_styles) : rewrite for new style engine.
	(sheet_move_range) : remove warning.

2001-02-13  Maciej Stachowiak  <mjs@eazel.com>

	Changes to make gnumeric distcheck properly (mildly xml-i18n-tools
	related).

	* po/Makefile.in.in: Remove; this should not be in cvs, autogen
	will create it with gettextize and patch it with xml-i18n-tools.

	* src/dialogs/Makefile.am: Remove define of glade_msgs and remove
	it from EXTRA_DIST; these files are not in cvs any more, rather
	they are generated on demand by the xml-i18n-tools extraction
	code, so they should not (and cannot) go into the distribution
	tarball.

2001-02-12  Karl Eichwalder  <ke@suse.de>

	* templates/autoformat/Makefile.am (Category_files): Typo.

2001-02-12  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : Center content on the cell with the
	  content, not on the width of the span (think about asymetric column
	  widths on the left and right.
	* src/print-cell.c (print_cell) : Ditto.

	* src/item-grid.c (item_grid_draw) : Pass the offset from the left
	  edge to the cell with content.
	* src/print-cell.c (print_cell) : Ditto.

2001-02-12  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : Fence post problem.  Measure right
	  margin as 'left + width - 1'
	* src/print-cell.c (print_cell) : ditto.

2001-02-11  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_draw) : pass the correct width.

2001-02-11  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-control-gui.c (wb_control_gui_focus_cur_sheet) :
	  Improve the precondition.
	(cb_autosave) : ditto.
	(cb_notebook_switch_page) : Add some safety.

2001-02-11  Karl Eichwalder  <ke@suse.de>

	* src/main.c: s/behaviour/behavior/ and s/colours/colors/ .
	Typo.

2001-02-11  Almer S. Tigelaar  <almer1@dds.nl>

	* configure.in: Small correction for GAL.

2001-02-11  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_cell_set_text) : Queue a redraw before changing
	  in case span shrinks after change.

	* src/sheet-merge.c (sheet_merge_add) : Clear spans

2001-02-11  Jody Goldberg <jgoldberg@home.com>

	* README : bump GAL req.
	* gnumeric.spec.in : ditto.
	* configure.in : Ditto.

2001-02-11  Jody Goldberg <jgoldberg@home.com>

	* src/parser.y : Move the state information into a struct so that we
	  can eventually get rid of the statics.
	Take a 'ParseError' as a place to return more detailed information
	  about parsing errors (Not used yet).

2001-02-10  Jon K Hellan  <hellan@acm.org>

	* src/print.c: Illustrate margin definitions.
	(print_headers): Header, not top margin, should be top of header
	area.
	(print_footers): Footer, not bottom margin, should be top of
	footer area.

	* src/xml-io.c (xml_print_info_fix_margins): New function fix up
	incorrectly stored margins.
	(xml_read_print_margins): Use it.

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

	* src/workbook-control-gui.c (insert_bonobo_object) : help
	  translators.

	* src/sheet-style.c (foreach_tile) : Only apply to applicable row or
	  col tile segments.

2001-02-09  Jeffrey Stedfast  <fejj@ximian.com>

	* src/print.c: include ranges.h

	* src/expr.c: include gutils.h

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

	* src/gnumeric.xml : Remove the ugly alight right

	* src/style-border.c (style_borders_row_draw) : Do a quick
	  implementation of diagonals.

2001-02-08  Jon K Hellan  <hellan@acm.org>

	* src/embeddable-grid.[ch]: Adapt to more Bonobo changes.

	* src/embeddable-grid.h (struct EmbeddableGridClass): Add
	POA_GNOME_Gnumeric_Grid__epv.

	* src/embeddable-grid.c:  Remove
	embeddable_grid_(v)?epv.
	(embeddable_grid_class_init): New version.
	(init_embeddable_grid_corba_class, create_embeddable_grid):
	Remove.
	(embeddable_grid_new(_anon)?): Remove CORBA stuff.
	(embeddable_grid_get_type, grid_view_get_type): Use
	bonobo_x_type_unique.
	(grid_view_get_type):

2001-02-08  Almer S. Tigelaar  <almer1@dds.nl>

	* src/style-border.h, src/style-border.c (style_borders_row_draw):
	Adjust so it uses a vector of ints for column widths instead of
	reading them out of the Sheet directly.

	* src/item-grid.c (item_grid_draw): Built a column width
	vector and pass it to the style_borders_row_draw routine.

2001-02-08  Morten Welinder  <terra@diku.dk>

	* src/file-autoft.c (category_group_list_get): Plug leak.
	(category_group_free): Plug grave leak.

2001-02-07  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace_do_cell): Improve quoting
 	using gnumeric_strescape.

	* src/gutils.c (gnumeric_strescape): Imported from src/expr.c.
  	Constified and changed to add the quotes.

	* src/expr.c (strescape): Moved to gutils.
	(do_expr_tree_to_string): Use gnumeric_strescape.

2001-02-07  Jon K Hellan  <hellan@acm.org>

	* src/print.c (print_hf_line): Check if there is room to print a
	header or footer.

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

	* src/sheet-style.c (border_mask_vec) : fix the problem where
	  artificial conflicts were created when comparing cells without
	  borders to cells with backgrounds and no borders.  the backgrounds
	  were causing the borders to be NULL which would toggle a conflict.

2001-02-06  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (print_page) : Print areas with visible styles too.

	* src/sheet-style.c (sheet_style_has_visible_content) : new function

2001-02-06  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_borders_row_print) : Use print_hline
	  print_vline to simplify things later.

	* src/print.c (print_page) : typo.

	* src/sheet.c (sheet_col_set_default_size_pts) : Add some safety.
	(sheet_row_set_default_size_pts) : Add some safety.

2001-02-06  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (print_page) : Add a simple filter to avoid printing
	  pages with no content.  Currently uses only cells.  No tests for
	  visible styles on blank cells.

	* src/cellspan.c (cell_calc_span) : improve const.

2001-02-06  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_border_data) : DO NOT use width 0 lines
	  with dashes.  Strange offset problems happen when you do partial
	  redraws.

2001-02-06  Morten Welinder  <terra@diku.dk>

	* src/workbook-private.c (workbook_private_new): Fix prototype.

	* src/commands.c (cmd_search_replace_destroy): Plug leak.
	(cmd_search_replace_do_cell): Implement string and error failure
 	modes (apart from a FIXME in the code).

2001-02-06  Jon K Hellan  <hellan@acm.org>

	* configure.in, README: Depend on bonobo >= 0.35.

2001-02-06  Almer S. Tigelaar  <almer1@dds.nl>

	* src/gui-clipboard.c (x_selection_to_cell_region):
	Use mstyle_new_default instead of mstyle_new.

	* src/preview-grid-controller.c (preview_grid_controller_new):
	No need to make a copy of the default mstyle.

	* src/format-template.c (format_template_set_style):
	Make sure the passed mstyle gets all it's elements set.

2001-02-06  Jody Goldberg <jgoldberg@home.com>

	* src/style-border.c (style_borders_row_draw) : init x.
	(style_borders_row_print) : init x.

	* src/print-cell.c (print_cell_range) : typo.

2001-02-06  Almer S. Tigelaar  <almer1@dds.nl>

	* src/gui-clipboard.c (x_selection_to_cell_region):
	Don't invoke the STF druid when pasting a single line. Fixes #21507.

2001-02-06  Jon K Hellan  <hellan@acm.org>

	* src/embeddable-grid.c (grid_view_new): Adapt to changes in bonobo.

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

	* src/sheet-style.c (sheet_style_get_extent) : this should search the
	  entire sheet, not just decrease the extent passed in.

	* src/style-border.c (style_borders_row_draw) : new function.

	* src/print-cell.c (print_cell_grid) : delete.
	(print_cell_range) : sync with itemgrid.
	(print_merged_range) : ditto.
	(print_cell_background) : ditto.

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

	* src/item-grid.c (item_grid_draw) : Off by one.
	(item_grid_draw_merged_range) : some simple optimization.  No need to
	  calc the coords for the entire cell unless we are painting the
	  content too.

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

	* src/style-border.c (style_borders_row_draw) : check for NULL even on
	  the last border.

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

	* src/style-border.c (style_border_hmargins) : built from the original
	(style_border_vmargins) : draw routines.
	(style_borders_row_draw) : a wrapper to draw a set of borders.

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

	* src/sheet-style.c (style_row) : Handle the display of gridlines
	  here.

	* src/item-grid.c (item_grid_draw_merged_range) : prepare to do
	  borders & grids in a batch as part of the standard render process.
	(item_grid_draw) : Ditto.

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

	* src/preview-grid.c (preview_grid_realize) : no need for
	  visual_is_paletted.
	* src/item-grid.c (item_grid_realize) : ditto.

2001-02-03  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_workbook_read) : bump xml version to 6.
	(xml_read_style_region) : V6 uses set_range rather than the older
	  apply_range.  We now save/restore fully qualified styles.

2001-02-03  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-object.c (sheet_objects_max_extent) : new routine.
	(sheet_object_destroy) : regen extent if necessary.

	* src/sheet-control-gui.c (scg_scrollbar_config) : Honour the object
	  max extent flag.

	* src/gui-file.c (gui_file_import) : A successful import must have at
	  least 1 sheet.

	* src/file.c (do_load_from) : Check that a successful read actually
	  imported something.

	* src/gui-clipboard.c (x_selection_to_cell_region) : Init
	  CellRegion::merged.
	* src/stf-parse.c (stf_parse_region) : Ditto.
	* src/xml-io.c (xml_read_selection_clipboard) : Ditto.

	* src/sheet-control-gui.c (scg_object_move) : split out from the
	  control point motion handler.
	(cb_control_point_event) : Use it here.
	(cb_slide_handler) : and here.

2001-02-01  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_draw) : Last couple of intersection
	  cases.  We now draw correctly for the simple cases.  Grid lines are
	  handled incorrectly.  The error won't show up when drawing, but it
	  will when we do this for printing.  We should also be more careful
	  with the intersection cases for borders.  double check using borders
	  of different colours.

2001-02-01  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (cb_obj_create_button_release) : Use the new default
	  size routine.

	* src/sheet-object-impl.h : Add default_{width, height} to class.

	* src/sheet-control-gui.c (scg_object_update_bbox) : when we select a
	  new object get its position.
	(cb_control_point_event) : This is a motion event.  Get rid of the
	  stupid statics.

	* src/sheet-merge.c (sheet_merge_remove) : free the range AFTER we
	  lookup the cell.  It is possible that the range is the same as the
	  argument and we still need it.

	* src/item-grid.c (item_grid_draw) : Init the extra horizontals
	  in the next two rows.

2001-02-01  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_get_extent) : don't call style_extent.  The
	  caller can do that if desired.

	* src/item-grid.c (item_grid_draw) : Use the new drawing code.

	* src/style-border.c (style_border_fetch) : init 'width'
	(style_border_set_gc_dash) : Use 'CAP_NOT_LAST' to get consistent
	  behavior with width 0 and width > 0 lines.
	(style_border_hdraw) : implement.
	(style_border_vdraw) : implement.

2001-01-31  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace): Revert previous interface
 	change (and use a callback instead).  Commands should not know
 	about user interfaces.

	* src/workbook-control-gui.c (wbcg_paste_special_enable): Fix
 	Bonobo case, I hope.
	(cb_edit_search_replace_query): New function.
	(cb_edit_search_replace): Connect cb_edit_search_replace_query.

	* src/item-grid.c (item_grid_draw): Kill a few (real) warnings.

2001-01-31  Almer S. Tigelaar  <almer1@dds.nl>

 	* src/sheet.h :
 	Remove all menu item state flags.

 	* src/sheet-private.h:
 	Put the menu item state flags here.

 	* src/workbook-control-gui.c:
 	(wbcg_paste_special_enable): Remove the second argument to
 	this function. Instead read this directly out of the flags. Add sheet
	argument.
 	(wbcg_insert_cols_rows_enable): Ditto for the 3rd argument and
 	also remove the cols arguments so that one call will update both
 	row and column menu items. Also add sheet argument.

 	* src/workbook-control.c, src/workbook-control.h,
	src/workbook-control-priv.h:
 	Adjust arguments to wbcg_paste_special_enable and insert_cols_rows.

 	* src/application.c:
	(application_clipboard_copy): First set the paste special flag
 	and don't pass argument to paste_special_enable.
 	(application_clipboard_cut): Ditto.
 	(application_clipboard_clear): Ditto.

 	* src/workbook-view.c:
 	(wb_view_menus_update): Update to don't pass flags as argument,
 	don't do separate calls for cols and rows and optimize to do all
 	calls in one loop.

 	* src/selection.c:
 	(sheet_selection_set_internal): Disable or enable insert cols/rows,
 	update UI only when neccessary and rename label for clarity.
 	(sheet_selection_reset): Enable insert cols/rows flags.

2001-01-31  Morten Welinder  <terra@diku.dk>

	* src/search.c (search_replace_verify): For regexps, validate the
 	replacement string.
	(search_replace_compile): Detect whether replacement text is
 	literal (modulo case of letters).

	* src/commands.c (cmd_search_replace): Take a wbcg so we can pop
 	up dialogs.
	(cmd_search_replace_do_cell): Implement "Fail" error mode.

2001-01-30  Jody Goldberg <jgoldberg@home.com>

	* src/preview-grid-controller.c (preview_grid_controller_force_redraw)
	  work around overflow on BSD.
	* src/item-bar.c (item_bar_event) : ditto.

2001-01-30  Jody Goldberg <jgoldberg@home.com>

	* src/xml-io.c (xml_sheet_create) : typo.

2001-01-30  Jody Goldberg <jgoldberg@home.com>

	s/float_t/gnum_float/
	s/int_t/gnum_int/

	* src/sheet-style.c (sheet_style_get_uniform) : implement.

	* src/parse-util.c (parse_text_value_or_expr) : dont lose the entered
	  text.

	* src/history.c (history_menu_insert_separator) : keep case
	  consistent.
	* src/workbook-control-gui.c (workbook_menu_file) : ditto.

	* configure.in : update GAL req.
	* README : ditto.
	* gnumeric.spec.in : ditto.

2001-01-29  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.h : decl for StyleRow.

	* src/xml-io.c : Use the Child and Root aliases to ease ease
	  transition from xml1 -> xml2.
	(xml_sheet_create) : default name for sheets that fail to specify one.

	* src/workbook.c (workbook_sheet_by_index) : improve safety.

2001-01-30  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object-bonobo.c (sheet_object_bonobo_set_server):
	add a ref to the server, we seem to have lost one somewhere.

2001-01-30  Almer S. Tigelaar  <almer1@dds.nl>

	* src/selection.c, src/selection.h:
	(sheet_selection_reset_only): Rename to sheet_selection_reset.

	* src/cmd-edit.c: s/sheet_selection_reset_only/sheet_selection_reset.
	* src/commands.c: Ditto.
	* src/gnumeric-sheet.c: Ditto.
	* src/item-grid.c: Ditto.
	* src/sheet.c: Ditto.
	* src/sheet-control-gui.c: Ditto.
	* src/xml-io.c: Ditto.

2001-01-29  Almer S. Tigelaar  <almer1@dds.nl>

	* src/sheet.h: Add flags for insert cols/rows and paste special.

	* src/selection.c
	(sheet_selection_add_range):
	Remove the settings of insert cols/rows here.
	(sheet_selection_set_internal):
	Set insert cols/rows menu items and flags correctly.
	(sheet_selection_reset_only): Reset insert cols/rows flags.

	* src/application.c
	(application_clipboard_clear): Set enable paste special flag.
	(application_clipboard_copy): Ditto.
	(application_clipboard_cut): Ditto.

	* src/workbook-view.c, src/workbook-view.h
	(wb_view_menus_update): New function, updates the
	insert cols/rows and paste special menu items.
	(wb_view_sheet_focus): Call menus_update here.
	(wb_view_sheet_add): Ditto.

	* src/workbook-control-gui.c
	(workbook_control_gui_init): Update menu items here.

2001-01-29  Fatih Demir	<kabalak@gmx.net>

	* .cvsignore: Added the xml-i18n-* files and the intl
		subdir to the ignores.

2001-01-28  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.c, src/xml-io-autoft.c:
	s/xml_search_child/e_xml_get_child_by_name/
	s/xml_search_child_lang_list/e_xml_get_child_by_name_by_lang_list/

	* src/xml-io.[ch]:
	Removed function: xml_search_child.
	Functions moved to GAL:
	xml_search_child_lang_list_with_score,
	xml_search_child_lang_list,
	xml_search_child_no_lang.
	Use e_xml_get_child_by_name instead of xml_search_child everywhere.

2001-01-27  Zbigniew Chyla  <cyba@gnome.pl>

	Making Gnumeric -Werror friendly (well, almost).

	* plugins/excel/ms-chart.c: Added "#if 0/#endif" around declarations
	of unused variables.

	* plugins/gda/plugin-gda.c (display_recordset): Removed unused
	variable, fixed some errors (that's why I use -Werror).

	* plugins/xml2/xml2.c (init_plugin): Used xml2_probe function.

	* src/search.c: Included "ranges.h".

	* src/style.c: Included "sheet.h"

2001-01-27  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/plugin-manager.glade: Set policy to AUTOMATIC for some
	scrollbars.

2001-01-26  Zbigniew Chyla  <cyba@gnome.pl>

	* src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): Added
	missing file_finish_load(). Displaying error dialog in non-bonobo
	version if file has unknown format.

2001-01-26  Jon K Hellan  <hellan@acm.org>

	* src/sheet-control-gui.[ch] (scg_rangesel_cursor_extend,
	  scg_take_focus): new functions to wrap direct calls to gsheet.

	* src/sheet-control-gui.c (sheet_view_destroy): Yield focus if we
	have it.

	* src/workbook-control-gui.c (wb_control_gui_focus_cur_sheet): Use
	scg_take_focus instead of gtk_window_set_focus.
	(yield_focus): Remove. sheet_view_destroy now takes care of this.
	(wbcg_sheet_add): Do not attach yield_focus.

	* src/item-grid.c (cb_extend_expr_range): Use
	scg_rangesel_cursor_extend instead of gnumeric_sheet version.

2001-01-26  Michael Meeks  <michael@helixcode.com>

	* src/plugin.c (plugin_info_read): g_new0 the PluginInfo so the
	umpteen function pointers are NULL'd.

2001-01-25  Almer S. Tigelaar  <almer1@dds.nl>

        * src/workbook-control-priv.h: Remove insert struct, there
	is only one function in it anyway so no need for a struct.

	* src/workbook-control.c: Adjust for removal of the insert struct.

	* src/workbook-control-gui.c
	(wbcg_paste_special_enable): Use change_menu_sensitivity.
	(workbook_control_gui_ctor_class): Adjust for removal of the
 	insert struct.

2001-01-25  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace_update_after_action): Delete
 	unused variable.
	(enum SearchReplaceItemType): retire SRI_expr.

	* src/parser.y (parse_ref_or_string): Constify.
	(gnumeric_parse_error): Fix prototype.
	(STRING '(' arg_list ')'): plug leak and use proper error
 	reporting method.

2001-01-25  Zbigniew Chyla  <cyba@gnome.pl>

	* plugins/applix/boot.c plugins/dif/dif.c plugins/excel/boot.c
	plugins/gb/plugin.c plugins/gda/plugin-gda.c plugins/guile/plugin.c
	plugins/html/boot.c plugins/html/boot.h plugins/html/html.c
	plugins/html/html.h plugins/html/latex.c plugins/html/latex.h
	plugins/html/roff.c plugins/html/roff.h plugins/lotus-123/boot.c
	plugins/numtheory/numtheory.c plugins/oleo/boot.c
	plugins/plan-perfect/pln.c plugins/python/python.c plugins/sc/sc.c
	plugins/sylk/sylk.c plugins/xbase/boot.c plugins/xml2/xml2.c:
	Defined gnumeric_plugin_version variable containing Gnumeric version
	string for every plugin.
	Added user_data parameter to "probe", "open" and "save" functions.
	Changed PluginData to PluginInfo.
	Modified can_deactivate_plugin, cleanup_plugin and init_plugin
	functions to match new prototypes in plugin.h.
	Storing registered opener_id/saver_id in variables and using them
	while unregistering.

	* plugins/applix/Makefile.am plugins/dif/Makefile.am
	plugins/gda/Makefile.am plugins/html/Makefile.am
	plugins/lotus-123/Makefile.am plugins/numtheory/Makefile.am
	plugins/oleo/Makefile.am plugins/plan-perfect/Makefile.am
	plugins/sc/Makefile.am plugins/sylk/Makefile.am
	plugins/xbase/Makefile.am plugins/xml2/Makefile.am:
	Installing every plugin in separate directory, together with plugin
	descriptions (plugin.xml files).

	* plugins/applix/plugin.xml, plugins/dif/plugin.xml,
	plugins/gda/plugin.xml, plugins/html/plugin.xml,
	plugins/lotus-123/plugin.xml, plugins/numtheory/plugin.xml,
	plugins/oleo/plugin.xml, plugins/plan-perfect/plugin.xml,
	plugins/python/plugin.xml, plugins/sc/plugin.xml,
	plugins/sylk/plugin.xml, plugins/xbase/plugin.xml,
	plugins/xml2/plugin.xml:
	New files - plugin descriptions in XML files.

2001-01-25  Zbigniew Chyla  <cyba@gnome.pl>

	* src/Makefile.am (GNUMERIC_BASE_SOURCES): Added error-info.[ch]

	* error-info.[ch]: New files.

	* src/plugin.[ch]: New plugin engine.

	* src/dialogs/dialog-plugin-manager.c,
	src/dialogs/plugin-manager.glade,
	src/dialogs/plugin-manager.glade.h:
	New plugin manager.

	* src/main.c (gnumeric_main): Call plugins_shutdown() on shutdown.

	* src/bonobo-io.c
	(gnumeric_bonobo_write_workbook, gnumeric_bonobo_read_workbook,
	gnumeric_bonobo_io_probe): Added "user_data" arg.
	(gnumeric_bonobo_io_init): Saving saver/opener id.

	* src/file-autoft.c (gnumeric_extra_autoformat_dirs): Used
	gnumeric_config_get_string_list function.

	* src/file.c
	(file_format_register_open, file_format_register_save): Added
	user_data parameter, return FileOpenerId/FileSaverId.
	(file_format_unregister_open, file_format_unregister_save): Take
	only FileOpenerId/FileSaverId as parameter.
	(get_file_saver_by_id, get_file_opener_by_id): New functions.
	(do_load_from): Pass user_data parameter to "probe" and "open"
	functions.
	(workbook_save_as, workbook_save): Pass user_data parameter to "save"
	function.

	* src/file.h
	(FileFormatProbe, FileFormatOpen, FileFormatSave): Adder user_data
	parameter.
	(struct _FileOpener, struct _FileSaver): Added opener_id/saver_id
	field.
	(file_format_register_open, file_format_register_save):
	Added user_data parameter, return FileOpenerId/FileSaverId.
	(file_format_unregister_open, file_format_unregister_save):
	Take only FileOpenerId/FileSaverId as parameter.

	* src/gnumeric-util.[ch]
	(gnumeric_error_info_dialog_show, static ctree_insert_error_info):
	New functions displaying dialog with ErrorInfo contents.

	* src/gui-file.c (gui_file_import): Pass user_data parameter to
	"open" function.

	* src/gutils.[ch]
	New functions: gnumeric_config_get_string_list,
	gnumeric_config_set_string_list, g_string_list_copy,
	g_strsplit_to_list.
	(g_create_list): Added missing va_end().

	* src/stf.c (stf_read_workbook, stf_write_workbook): Added user_data
	parameter.

	* src/workbook.[ch] (workbook_set_saveinfo): Now takes file_saver_id
	instead of save_fn.

	* src/xml-io.c
	(xml_probe, gnumeric_xml_read_workbook, gnumeric_xml_write_workbook):
	Added user_data parameter.
	(xml_init): Store xml_opener_id and xml_saver_id.
	(gnumeric_xml_get_opener_id, gnumeric_xml_get_saver_id): New
	functions.

2001-01-25  Almer S. Tigelaar  <almer1@dds.nl>

	* src/clipboard.h : Add PASTE_UPDATE_ROW_HEIGHT as a new paste flag.

	* src/commands.c
	(cmd_paste_copy_undo): Add PASTE_UPDATE_ROW_HEIGHT to the paste flags.
	(cmd_paste_cut_redo): Update the row heights of the target region after
	pasting for consistency with the behaviour of copy.
	(cmd_paste_cut): Show source cut range in undo descriptor.

	* src/clipboard.c (clipboard_paste_region): Update row height after
	pasting if PASTE_UPDATE_ROW_HEIGHT flag is given.

2001-01-25  Jody Goldberg <jgoldberg@home.com>

	* src/cmd-edit.c (cmd_paste_to_selection) : allow merged regions

	* src/clipboard.c (clipboard_paste_region) : Optionally paste merged
	  regions too.

	* src/style-border.c (style_border_fetch) : add margins.

2001-01-24  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace_update_after_action): New
 	function.
	(cmd_search_replace_undo, cmd_search_replace_redo,
 	cmd_search_replace_do): Call
 	cmd_search_replace_update_after_action.
	(cmd_search_replace_do_cell): Change to work on entered text which
 	is, we believe, what XL does.

2001-01-24  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (sheet_style_get_uniform) : disable stupid cruft
	  until I actually write this function.

	* src/format-template.c (format_template_recalc_hash) : remove the
	  cruft to apply shifted borders.

	* src/gnumeric.xml : Define font Underline/Italic as toggles.

2001-01-24  Jody Goldberg <jgoldberg@home.com>

	* src/clipboard.c (clipboard_copy_range) : save the merged regions.
	(clipboard_release) : cleanup merged regions.

	* src/commands.c (cmd_merge_cells_redo) : move the non-corner content
	  clearing from here.
	* src/sheet-merge.c (sheet_merge_add) : to here.  Apply the style from
	  the corner to the entire region.

	* src/sheet.c (sheet_range_set_text) : clear range_filled merged
	  regions.

	* src/item-grid.c (item_grid_draw) : borders & grids for merged cells.

2001-01-23  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (style_row) : move the clearing of grid lines
	* src/item-grid.c (item_grid_draw) : from here.

2001-01-24  Almer S. Tigelaar  <almer1@dds.nl>

	* src/gnumeric-util.c (gnumeric_create_popup_menu):
	Let the sensitivity filter function exacly like the
	display filter.

	* src/sheet-control-gui.c (scg_context_menu):
	Disable insert rows/cols according to the selected
	rows/cols. We don't want people to insert anything if
	the whole sheet is selected or if there are multiple
	selections of whole rows and cols.

	* src/workbook-control-gui.c (wbcg_insert_cols_rows_enable):
	Fix typo, "Cols" should be "Columns".

2001-01-24  Almer S. Tigelaar  <almer1@dds.nl>

	* src/clipboard.c (clipboard_paste_region):
	Update row heights after pasting a region.

2001-01-23  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace_do): Implement
 	search-and-replace in range.

	* src/search.c (calculate_replacement): New function.  Implements
 	case preservation.

2001-01-23  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-control-gui.c (scg_colrow_select) : If we are not
	  selecting a range for an expression then we should cancel editing.
	(scg_context_menu) : cancel editing.

2001-01-22  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c : Use the new wrapper function in scg (for now) rather
	  than a direct call to gsheet.

	* src/sheet-control-gui.c (scg_set_cursor_bounds) : new function to
	  wrap direct calls to gsheet.  This is prep for supporting panes.
	(scg_compute_visible_region) : new function
	(scg_make_cell_visible) : new function
	(scg_create_editor) : new function
	(scg_stop_editing) : new function
	(scg_stop_cell_selection) : new function

	* src/pattern.c (gnumeric_background_set_gc) : no need for setting GC
	  in non selection case.

	* src/gnumeric-sheet.c (gnumeric_sheet_create_editor) : renamed from
	  gnumeric_sheet_create_editing_cursor.
	(gsheet_compute_visible_region) : rename from
	  gnumeric_sheet_compute_visible_ranges

2001-01-22  Morten Welinder  <terra@diku.dk>

	* src/search.c (match_is_word): I got this right-end condition
 	wrong.  Oh dear.

	* src/cell.c (cell_has_comment): Resurrect.

	* src/commands.c (cmd_search_replace_do_cell): No need for the
 	sheet argument.
	(command_push_undo): Remove duplicate call to update_after_action.
  	First check parameters, then use them.
	(command_register_undo): New function, split from
 	command_push_undo.
	(command_push_undo): Use command_register_undo.
	(truncate_undo_info): Change to take a Workbook directly.  Caller
 	changed.
	(cmd_search_replace): Use command_register_undo and eliminate
 	gross hack.

2001-01-22  Morten Welinder  <terra@diku.dk>

	* src/search.c (search_replace_verify): When relevant, check that
 	the range text is not empty.  Implement searching for whole words.

	* src/application.c (application_dpi_to_pixels): Fix prototype.
	(application_history_update_list): Constify.
	(application_display_dpi_get, application_display_dpi_set): Change
 	to using doubles, not floats.

	* src/commands.c (cmd_search_replace_redo): hack: don't do
 	anything the first time around.
	(cmd_search_replace_do_cell): Partially implement.
	(cb_search_replace_collect): New function.
	(cb_order_sheet_row_col): New function.
	(cmd_search_replace_do): Partially implement.

	* src/workbook-control-gui.c (cb_edit_search_replace): Activate
 	undo/redo support.

2001-01-22  Almer S. Tigelaar  <almer1@dds.nl>

	Fixes #32417

	* src/workbook-control-gui.c, src/workbook-control-gui-priv.h:
	(wbcg_insert_cols_rows_enable): New, handles enabling/disabling
	of insert cols/rows menu items.
	(change_menu_sensitivity): New, for settings the sensitivity
	of menu items.
	(workbook_control_gui_ctor_class): Add insert_cols_rows.enable
	here.

	* src/workbook-control.c, src/workbook-control.h: Add
	insert_cols_rows_enable as a virtual function.

	* src/workbook-control-priv.h: Add struct for insert_cols_rows
	here.

	* src/selection.c
	(sheet_selection_add_range): After adding a range, find out if
	any range specifies either a whole row or whole col selection
	and disable insert rows/cols accordingly.
	(sheet_selection_reset_only): Re-enable insert rows/cols here.

2001-01-18  Morten Welinder  <terra@diku.dk>

	* src/search.c (search_replace_verify, search_replace_string): New
 	functions.

	* src/commands (cmd_search_replace_do_cell): new function.

2001-01-22  Almer S. Tigelaar  <almer1@dds.nl>

	* src/commands.c (update_after_action):
	Make the sheet that was subject to an undo/redo operation
	the active sheet after the operation has succeeded. Fixes #38208.

2001-01-21  Almer S. Tigelaar  <almer1@dds.nl>

	* src/sheet-autofill.c (autofill_cell): Use sheet_cell_set_value
 	instead of sheet_cell_set_text. Fixes bug #38175.

2001-01-17  Morten Welinder  <terra@diku.dk>

	* src/commands.c (cmd_search_replace_undo,
 	cmd_search_replace_redo, cmd_search_replace_do,
 	cmd_search_replace, cmd_search_replace_destroy): New functions,
 	partly from jpablo.

2001-01-16  Morten Welinder  <terra@diku.dk>

	* src/item-grid.c (item_grid_draw): UMR fixes from jody.

2001-01-16  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (sheet_style_get_uniform) : don't leak border ref.

	* src/workbook.c (workbook_sheet_delete) : disable the undo/redo
	  combos when we clear the undo stack.

2001-01-14  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (style_row) : don't apply none to a cleared
	  border.

	* src/sheet-style.h (StyleRow) : const.

	* src/mstyle.c (mstyle_get_color) : const.

	* src/pattern.c (gnumeric_background_set_gc) : remove duplicate
	  test, const.

2001-01-13  Jody Goldberg <jgoldberg@home.com>

	* src/item-grid.c (item_grid_draw) : rewrite.

	* src/sheet-control-gui.c (sheet_view_redraw_cell_region) : make the
	  borders wider.

	* src/commands.c (cmd_format) : if there are no borders there is no
	  need to save the surroundings.

	* src/selection.c (selection_contains_colrow) : const

	* src/sheet-style.c (get_style_row) : Fix stupidity.
	(style_row) : ditto.

2001-01-12  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : const.

	* src/pattern.c (gnumeric_background_set_gc) : const.
	(gnumeric_background_set_pc) : const.

	* src/sheet-control-gui.c (sheet_view_selection_ant) : No more 'grid'
	  argument.

	* src/item-grid.c : privatize the structure in preparation for panes.

	* src/item-edit.c (entry_create_feedback_range) : no more grid
	  argument.  Use scg instead.
	(item_edit_set_arg) : ditto.

	* src/item-cursor.c (item_cursor_set_arg) : delete the GRID argument
	  it was useless.

	* src/gnumeric-sheet.c (start_cell_selection_at) : Avoid casting the
	  result of a function call.  Remove setting 'Grid' deleted argument.
	(gnumeric_sheet_new) : No more Grid argument.

	* src/preview-grid.c (preview_grid_draw_border) : moved here from
	  item-grid.

2001-01-16  Jody Goldberg <jgoldberg@home.com>

	* configure.in : Switch to AM_GNOME_GETTEXT and remove the
	  AC_LINK_FILES line so that things configure and compile again.

2001-01-12  Morten Welinder  <terra@diku.dk>

	* src/history.c (file_history_cmd) [ENABLE_BONOBO]: Plug leak.

2001-01-12  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (cb_style_extent) : new function.
	(sheet_style_get_extent) : quick easy implementation.

2001-01-11  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-style.c (sheet_style_get_extent) : implement.
	(cb_style_extent) : implement.

2001-01-11  Jody Goldberg <jgoldberg@home.com>

	* src/mstyle.c (mstyle_ref_multiple) : new function.
	(mstyle_copy_merge) : new function.
	(mstyle_new_default) : Do not cache the result.  That is done at the
	  sheet level.
	(mstyle_do_merge) : delete.
	(mstyle_get_format) : constness.

	* src/format-template.c (cb_format_sheet_border) : delete.
	(format_template_apply_to_sheet_regions) : borders are no longer
 	special.

	* src/expr.c (expr_tree_array_formula_corner) : do not store the
	  corner anymore.
	(expr_tree_new_array) : ditto.
	(do_expr_tree_unref) : ditto.

	* src/cell.c (cell_relocate) : Arrays are simplified.  No need to keep
	  a pointer to the corner.  It made the system too brittle.
	(cell_set_mstyle) : delete.

	* src/Makefile.am : remove test.[ch]

	* src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : There is no
	  1 pixel border.

2001-01-09  Jody Goldberg <jgoldberg@home.com>

	* src/mstyle.h : Change order of borders to match BorderLocation

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

	* src/ranges.c (range_has_header) : avoid leaking styles.

	* src/cell.c (cell_get_mstyle) : Use sheet_style_get, and do not bump
	  the ref count.
	(cell_render_value) : Adjust.
	(cell_get_format : Adjust.
	(cell_set_text) : Adjust.

	* src/functions/fn-information.c (gnumeric_cell) : sheet_style_get
	  does not make a reference. Use it.
	* src/workbook-format-toolbar.c (modify_cell_format) :  Ditto.
	(change_selection_font) : Ditto.
	* src/sheet-autofill.c (fill_item_new) : ditto.
	* src/print-cell.c (print_cell_range) : ditto.
	* src/cellspan.c (cell_calc_span) : ditto.
	* src/sheet.c (sheet_cell_set_text) : ditto.
	* src/rendered-value.c (rendered_value_calc_size) : ditto.
	* src/workbook-view.c (wb_view_format_feedback) : ditto.

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

	* src/dialogs/dialog-cell-format.c (dialog_cell_format) :
	  init initial style to NULL.
	(fmt_dialog_selection_type) : call sheet_style_get_uniform here.

	* src/commands.c (cmd_format_redo) : Now that apply_border is not
	  doing a redraw we need to if there is no style applied.

	* src/selection.c (sheet_selection_extend_to) : Add support akin to
	  gnumeric_sheet_rangesel_cursor_extend to extend to full col/row.

	* src/sheet-control-gui.c (scg_colrow_select) : extend to full col/row
	  if necessary.

	* src/item-bar.c (item_bar_event) : Set the selection, not extend it.

2001-01-11  Morten Welinder  <terra@diku.dk>

	* src/search.h: New file.
	* src/search.c: New file.

	* src/workbook-control-gui.c (cb_edit_search_replace): New
 	function.

	* src/gnumeric.xml: Fix edit->sheet->rename.
	* src/workbook-control-gui.c: Ditto.

2001-01-10  Jon K Hellan  <hellan@acm.org>

	* src/workbook-control-gui.c (wbcg_undo_redo_labels): Add "_" in
	bonobo menu labels.

	* src/gnumeric.xml: Caught another missing "_" in menu labels.

2001-01-10  Morten Welinder  <terra@diku.dk>

	* src/workbook-control-gui.c: Setup verbs EditDuplicateSheet and
 	EditRenameSheet.
	(wbcg_sheet_remove): Don't unref page; we no longer own the
 	reference.
	(workbook_menu_edit): mirror gnumeric.xml changes.

	* src/gnumeric.xml: Move "Delete Sheet" into a submenu and add
 	duplicate, insert, and rename.
	Remove a few extraneous "..."
	Added and corrected the occasional "_" in menu labels.

2001-01-09  Jon K Hellan  <hellan@acm.org> (on behalf of Jody)

	* src/sheet.c (sheet_update_only_grid): Only set selection if it
	hasn't been cleared.

2001-01-09  Morten Welinder  <terra@diku.dk>

	* src/functions/fn-date.c: Fixup various docs based on a patch
 	from Phillip J Shelton <shelton11@dingoblue.net.au>.

2001-01-09  Jon K Hellan  <hellan@acm.org>

	* src/sheet-control-gui.c (horizontal_scroll_event,
	vertical_scroll_event): Fix bug: Pressing both left and right
	button would pop up a tooltip that couldnt be removed.

2001-01-07  Jon K Hellan  <hellan@acm.org>

	* src/xml-io.c (POINT_SIZE_PRECISION): New define giving precision
	for point measures.
	(xml_set_value_double): Add precision parameter.  -1 means default
	(DBL_DIG).
	(xml_set_value_points): New function. Set a double value for a
	node with POINT_SIZE_PRECISION digits precision.
	(xml_set_print_unit): Save in a more natural way.
	(xml_get_print_unit): Do not expect the node to have a child.
	(xml_write_print_info): Save margins as children of a "Margins"
	node.
	(xml_read_print_margins): New function: Read margins.
	(xml_read_print_info): Find the PrintInformation node so that we
	actually read print info.
	(xml_write_style): Save font size using xml_set_value_points.
	(xml_write_colrow_info): Save font size using
	xml_set_value_points.
	(xml_sheet_write): Save Cols, Rows DefaultSizePts using
	xml_set_value_points.

2001-01-07  Fatih Demir	<kabalak@gmx.net>

	* configure.in: Added tr to ALL_LINGUAS.

2001-01-06  Mike Kestner  <mkestner@ameritech.net>

	* configure.in - Depend on bonobo-0.32.

	* src/sheet-object-item.c (sheet_object_item_new_view): Add ui_cont
	param to the client_site_new_item call.

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

	* src/workbook-control-gui.c (workbook_close_if_user_permits): Use
	gui_file_save instead of workbook_save.

	* src/gui-file.c (gui_file_import): Do not set selection
	mode. That belongs in the Glade file.

	* src/workbook-control-gui.c (cb_realize): New callback
	function. Make current control size the default. Toplevel would
	resize spontaneously. This makes it stay the same size until user
	resizes.
	(workbook_control_gui_init): Connect cb_realize to realize signal.

2001-01-06  Kenneth Christiansen  <kenneth@gnu.org>

        * configure.in, macros/autogen.sh:
          added support for xml-i18n-tools. This module is now required
          when building from cvs. Please make sure that the macrofile
          installed by xml-i18n-tools is installed so it's in aclocal's
          path. or do:

 	  export ACLOCAL_FLAGS='-I <prefix>/share/aclocal'

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

	* src/Makefile.am: Add files gui-file.c, gui-file.h

	* src/file.[ch]: Factor out GUI dependent parts of workbook I/O
	handling and move to gui-file.[ch].
	(file_format_get_savers, file_format_get_openers):
	New functions. Used by GUI to access file saver and file opener
	lists.
	(workbook_import): Move to gui-file.[ch].
	(file_finish_load): Made visible in order to split out the GUI.
	(workbook_save_as): The old version moved to gui-file.c and was
	renamed to gui_file_save_as. The new version contains the GUI
	independent part of the old do_save_as. It has explicit file name
	and file saver parameters to remaining GUI independent function.
	(workbook_save): No longer check if it should call
	workbook_save_as. This happens at the GUI layer. Change control
	parameter to WorkbookControl.

	* src/file.h (struct _FileOpener, struct _FileSaver): Had to make
	these visible in order to split out the GUI.

	* src/file.c: Remove file static variable current_saver.
	(file_format_unregister_save): Do not update current_saver.
	(workbook_try_read): Report the error if failure.
	(cb_select, handle_ok, saver_activate,
	file_saver_is_default_format, fill_save_menu, make_format_chooser,
	file_dialog_delete_event, fs_key_event, fs_set_filename,
	wants_to_overwrite, can_try_save_to, dialog_query_load_file): Move
	to gui-file.c

	* src/gui-file.c, src/gui-file.h: New files. Gui dependent parts
	of I/O handling moved here from file.[ch].
	(gui_file_import): New name for workbook_import. Use
	file_format_get_openers to access file opener list.
	(is_saver_registered): New function. Check that a given file saver
	is present in the file saver list.
	(handle_ok): Fix a bug when changing into directory user entered,
	and simplify code.
	(saver_activate, file_saver_is_default_format, fill_save_menu):
	Use file_format_get_savers to access file saver list.
	(file_saver_is_default_format, make_format_chooser): Add GUI
	control parameter.
	(fill_save_menu): Save GUI control as object data on menu items.
	(do_save_as): Don't call insure_saver. That check is redundant
	here. Set view's preferred size to size of control's notebook
	before saving, so that this size gets saved in workbook.
	(gui_file_save_as): New name for old workbook_save_as.
	Verify that control's current saver is still valid before displaying
	dialog.
	(dialog_query_load_file): Simplify code to select workbook's
	directory.
	(gui_file_save): New function. Set view's preferred size as in
	do_save_as, then call workbook_save.

	* src/workbook-control-gui.c (cb_autosave, cb_file_save): Call
	gui_file_save instead of workbook_save.
	(workbook_close_if_user_permits): Cast wbcg to WorkbookControl
	before calling workbook_save.
	(cb_file_import): Call gui_file_import instead of workbook_import.
	(cb_file_save_as): Call gui_file_save_as instead of
	workbook_save_as.

	* src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
	Add current_saver member. Include file.h.

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

	* src/gnumeric-sheet.c (rangesel_{horizontal,vertical}_move) : remove
	  crufty use of ItemCursor::base.  The cursors have both corners now.

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

	* src/item-cursor.c (item_cursor_event) : animated cursors can no be
	  dragged or resized.   NOTE : This introduces a small bug while
	  fixing another.  The animated cursor is frequently drawn on top of
	  the current selection cursor when it is first created.  As such the
	  selection cursor does not receive all the events it should.
	  Ideally the canvas would pass ignored events to the widget below, but
	  that is not going to happen.  We can not just forward the events to
	  the other cursor because it may have moved.  We would need to ensure
	  that we only forward things in the areas that are overlapping.  Which
	  is not easy.
	(item_cursor_set_spin_base) : delete.

	* src/item-grid.c (item_grid_button_1) : support shift-extending a
	  range selection cursor.

	* src/workbook-view.c (wb_view_selection_desc) : Add some safety.

	* src/gnumeric-sheet.c (gnumeric_sheet_rangesel_cursor_extend) :
	  Intelligently handle extension to full rows/cols and rename from
	  gnumeric_sheet_selection_extend.
	(start_cell_selection_at) : no need to set the base a second time.
	(gnumeric_sheet_rangesel_cursor_bounds) : rename from
	  gnumeric_sheet_selection_cursor_place and allow the specification of
	  base and move coords.
	(gnumeric_sheet_selection_cursor_base) : delete.

	* src/item-bar.c (is_pointer_on_division) : no resizing while range
	  selecting.
	(get_element_from_pixel) : delete dead code.

2001-01-03  Jody Goldberg <jgoldberg@home.com>

	* src/item-bar.c (item_bar_event) : Call scg_colrow_select directly.
	  and convert from using 'is_vertical' to 'is_cols' which is the
	  convention everywhere else.
	(cb_extend_selection) : ditto.
	(colrow_tip_setlabel) : ditto.
	(item_bar_marshal) : delete.
	(get_row_name) : fortify a bit.

	* src/sheet-control-gui.c (scg_colrow_select) : merge together from
	  sheet_view_{col,row}_selection_changed and rewrite.
	(sheet_view_construct) : remove handlers for the item-bar signal.

	* src/commands.c (cmd_autofill_redo) : check for array violations.
	  Clear the target range.  This will allow entire arrays to be filled.
	(cmd_autofill) : Use the area that we will be filling rather.  Excude
	  the area that will not change.

	* src/sheet.c (sheet_{col,row}_get_info) : simplify.

	* src/selection.c (walk_boundaries) : don't walk into hidden cols/rows.

2001-01-02  Jody Goldberg <jgoldberg@home.com>

	* src/Makefile.am : add the new file.

	* src/sheet-style.h : new file split from sheet.h in preparation
	  for changing the style engine.

2001-01-01  Jody Goldberg <jgoldberg@home.com>

	* src/colrow.c (cb_set_colrow_size) : ignore resize requests for
	  hidden cols/rows.

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

	* src/commands.c : fix includes.
	* src/file-autoft.c : ditto.
	* src/format-template.c : ditto.
	* src/workbook-format-toolbar.c : ditto.
	* src/xml-io-autoft.c : ditto.
	* src/format-template.h : do not in include <config.h> publicly

	* src/mstyle.c (mstyle_new_default) : use style_color_{black,white}

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

	* rename border.[ch] -> style-border.[ch]
	* rename color.[ch] -> style-color.[ch]

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

	* src/border.c (style_border_draw) : Take a StyleBorderLocation rather
	  than an MSTYLE_ELEMENT.  The fit is more natural.
	(style_border_print) : ditto.
	(style_border_get_orientation) : ditto.

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

	* src/workbook-control-gui.c (wbcg_size_pixels_set): Remove it.
	(workbook_setup_edit_area, workbook_setup_sheets)): Add GTK_SHRINK
	option to gtk_table_attach.
	(show_gui): New function. Size window, then show it.  If
	the workbook specifies a preferred size, the notebook is sized,
	and the window size constrained to not exceed the screen
	size. Otherwise, a size is computed based on screen size. Parts
	extracted from workbook_control_gui_init.
	(workbook_control_gui_init): Move sizing to show_gui. To be sure
	that everything is initialized, run show_gui as a GTK idle proc.

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

	* src/cell-draw.c (cell_draw) : sync drawing with
	* src/print-cell.c (print_cell) : printing.

	* src/item-grid.c (item_grid_draw) : sync drawing with
	* src/print-cell.c (print_cell_range) : printing.
	(print_merged_range) : new function, sort of works.  We need to draw
	  grids AFTER content to avoid this sort of sillyness.

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

	* src/cell-draw.c (cell_draw) : support multiline text in merged
	  cells.

	* src/sheet.c (cb_max_cell_height) : merged cells do not contribute to
	  the row height.

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

	* src/sheet-autofill.c (sheet_autofill_dir) : support merged cells.
	(fill_item_new) : Ditto.

	* src/sheet.c
	(sheet_merge_add) : rename
	(sheet_merge_remove) : rename
	(sheet_merge_get_overlap) : rename
	(sheet_merge_contains_pos) : rename
	(sheet_merge_is_corner) : rename
	(sheet_merged_relocate) : rename
	(sheet_merge_get_adjacent) : rename

	* src/rendered-value.c (rendered_value_new) : Use
	  sheet_merge_is_corner rather than sheet_region_get_merged_cell.

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

	* src/sheet-control-gui.c (scg_object_update_bbox) : Use the
 	  stored coordinates for movement.
	(scg_object_calc_position) : handle inversion and store the
 	coordinates.
	(cb_control_point_event) : use the stored coordinates.

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

	* src/sheet.c (sheet_redraw_cell_region) : support merged cells.

	* src/style.c (style_font_new_simple) : guestimate width.
	(style_font_get_width) : new function.

	* src/rendered-value.c (rendered_value_new) : appoximate with via pts.
	  handle merged cells.

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

	* src/sheet.c (sheet_region_unmerge) : untag an existing cell as being
	  merged.
	(sheet_cell_remove_from_hash) : ditto.
	(sheet_region_merge) : tag an existing cell as being merged.
	(sheet_cell_add_to_hash) : ditto.

	* src/item-edit.c (recalc_spans) : support merged cells.

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

	* src/xml-io.c (xml_read_cell) : Early versions had newlines at the
	  end of their content

	* src/sheet.c (sheet_{insert,delete}_{cols,rows}) : no need to update
	  object positions, we have already moved them.

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

	* src/commands.c (GNUMERIC_MAKE_COMMAND_WITH_PARENT) : new macro.
	(update_after_action) : new function to localize calls to
	  sheet_update, dirty, recalc.
	(GnumericCommand) : Add a sheet to help localize repeated calls to
	  sheet_update, dirty, recalc.
	(command_undo) : Call update_after_action.
	(command_redo) : Call update_after_action.
	(command_push_undo) : Call update_after_action.
	(cmd_*_{undo,redo}) : remove calls to sheet_update, dirty, recalc.
	(cmd_*) : set the sheet.
	(cmd_paste_cut_update_origin) : new function.
	(cmd_paste_cut_undo) : call cmd_paste_cut_update_origin.
	(cmd_paste_cut_redo) : ditto.

	* src/commands.c (CmdMergeCells) : inherit from CmdUnmergeCells to
	  facilitate reuse and implement.

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

	* src/sheet.c (sheet_cell_insert) : privatize.
	(sheet_cell_remove_simple) : privatize.

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

	* src/workbook-format-toolbar.c
 	(workbook_format_toolbutton_update): Plug leak.

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

	* src/workbook-format-toolbar.c (cb_unmerge_cells) : hook up the
	  commands.
	(cb_merge_cells) : ditto.  Although merge is not yet implemented.

	* src/sheet.c (sheet_update_only_grid) : Add support for repositioning
	  the selection.
	(sheet_region_unmerge) : set the flag here.
	(sheet_region_merge) : and here.

	* src/commands.c (cmd_unmerge_cells) : implement.
	(cmd_unmerge_cells_destroy) : ditto.
	(cmd_unmerge_cells_redo) : ditto.
	(cmd_unmerge_cells_undo) : ditto.

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

	* src/item-cursor.c (cb_move_cursor) : fix old off by 1 error.

	* src/workbook-format-toolbar.c (workbook_format_toolbar)
	  merge/unmerge are not toggle items.

	* src/gnumeric.xml : Add entries for merge/unmerge.

	* s/MStyleBorder/StyleBorder/

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

	* src/analysis-tools.c (set_cell_text_col, set_cell_text_row): New
 	functions.
	(summary_statistics): Use set_cell_text_col and/or
 	set_cell_text_row.
	(ztest_tool): Ditto.
	(ttest_paired_tool): Ditto.
	(ttest_eq_var_tool): Ditto.
	(ttest_neq_var_tool): Ditto.
	(ftest_tool): Ditto.
	(regression_tool): Ditto.
	(anova_single_factor_tool): Ditto.
	(anova_two_factor_without_r_tool): Ditto.

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

	* src/ranges.h : clean up includes.

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

        * src/clipboard.c : Remove superflous remnants of
	the previously integrated gui-clipboard.c

	* src/gui-clipboard.c (x_selection_handler) :
	Replace the hardcoded "2000" with the GNUMERIC_ATOM_INFO
	constant.

	* src/clipboard.c
	(paste_cell_with_operation) : Get rid of sheet_cell_insert.
	(paste_cell) : Idem.

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

	* src/format.c (format_number) : partial support for formats of the
	  form [$<currency>-{digit}+].  Eventually we may want to understand
	  what the locale specifier changes.

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

	* src/sheet-object-container.c (sheet_object_container_new) : new
	  function.
	(sheet_object_container_new_bonobo) : delete.

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

	* src/cell.c (cell_set_expr_and_value) : Make linking the
	  expression optional.

	* src/ranges.c (range_init_full_sheet) : adjusted from
	  sheet_get_full_range.

2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>

	* plugins/applix/boot.c gnumeric/plugins/applix/boot.c,
	plugins/lotus-123/boot.c gnumeric/plugins/lotus-123/boot.c,
	plugins/oleo/boot.c gnumeric/plugins/oleo/boot.c,
	plugins/xbase/boot.c gnumeric/plugins/xbase/boot.c:
	Used g_extension_pointer() function from gnome-libs, removed
	unnecessary function (filename_ext).

2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>

	* src/plugin.c (plugin_load): Displaying plugin name as part of
	error messages. Removed allocation check - g_new0 is guaranteed to
	return value != NULL unless sizeof (type) == 0.

2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/dialog-stf-preview.c: Fixed bug. Allocated array was
	to small.

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

	* src/bonobo-io.c (gnumeric_bonobo_obj_read) : Don't create the object
	  here.  Pass it in.

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

	* src/sheet-object.c (sheet_object_position_pixels) : Add some safety.

	* src/selection.c (selection_is_simple) : Fix warning.

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

	* src/mathfunc.c (gnumeric_add_epsilon): New function for more
 	user-wanted rounding behaviour.
	(gnumeric_fake_floor, gnumeric_fake_ceil, gnumeric_fake_round):
 	New functions.

	* src/fn-math (gnumeric_round, gnumeric_roundup,
 	gnumeric_rounddown, gnumeric_trunc, gnumeric_ceil,
 	gnumeric_floor): use fake rounding.

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

	* src/workbook-control-gui.c (insert_bonobo_object) : utility routine
	  to create objects and to catch errors.
	(cb_insert_bonobo_object) : used here.
	(select_component_id) : and here.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_set_object_iid) :
	  handle object creation failure.

	* src/sheet-object.c (sheet_object_destroy) : Handle the destruction
	  of objects before they are attached to a sheet.

2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/dialog-autoformat.c (cb_get_cell_content): Reverted
	g_strtod => strtod change. I was wrong.

2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/value.c (value_compare):  Use strcoll() when comparing string
	values (interpret strings as appropriate for the current locale).

2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>

	* templates/autoformat/*.xml: Added Polish translations.

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

	* src/file-autoft.c: Include <config.h>.

2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>

	* src/Makefile.am: Removed "-DGNUMERIC_AUTOFORMATDIR" from INCLUDES.
	Now we use a function inside Gnumeric for this.

	* src/dialogs/dialog-autoformat.c:
	Marked strings for translation (sample data).
	(struct AutoFormatInfo): Now we have field current_category_group
	(of type FormatTemplateCategoryGroup *) instead of current_category
	and category_groups instead of categories.
	(cb_get_cell_content): Function g_strtod always uses "C" locale,
	used strtod instead.
	(templates_load): Mostly new implementation, uses
	category_group_get_templates_list().
	(cb_remove_current_activated): Now it is implemented.
	(cb_canvas_button_release): Showing real category name
	(template->category->name). Setting sensitivity of
	info->remove_current menu item.
	(cb_category_popwin_hide): Used
	category_group_list_find_category_by_name when setting
	info->current_category_group and category_list_get_names_list
	when calling gtk_combo_set_popdown_strings. Selecting "General"
	category by default if it exists. Displaying current category
	description in the category combo tooltip.

	* src/file-autoft.c, src/file-autoft.h: New functions:
	gnumeric_sys_autoformat_dir, gnumeric_usr_autoformat_dir,
	gnumeric_extra_autoformat_dirs,
	category_free, category_get_templates_list, category_list_free,
	category_group_free, category_group_get_templates_list,
	category_group_list_get, category_group_list_find_category_by_name,
	category_group_list_get_names_list, category_group_list_free.
	Removed functions: template_list_load, template_list_free,
	util_list_free, category_list_load, category_list_free.

	* src/format-template.c, src/format-template.h:
	New function: format_template_compare_name.
	New structs: FormatTemplateCategory and
	FormatTemplateCategoryGroup.
	(struct FormatTemplate): field category is now of type
	FormatTemplateCategory.

	* src/gutils.c, src/gutils.h: New functions: g_create_list,
	g_lang_score_in_lang_list, g_lang_score_is_better (implemented
	as a macro).

	* src/xml-io-autoft.c:
	(xml_write_format_template_members): Don't write category
	information.
	(xml_read_format_template_members): Used
	xml_search_child_lang_list instead of xml_search_child to find
	"Information" node. Ignore category information.
	(gnumeric_xml_read_format_template_category): New function.

	* src/xml-io-autoft.h: Added
	gnumeric_xml_read_format_template_category function declaration.

	* src/xml-io.c, src/xml-io.h: New functions:
	xml_search_child_lang_list, xml_search_child_no_lang,
	xml_search_child_lang_list_with_score (static function).

	* templates/autoformat/3D.category,
	templates/autoformat/Financial.category,
	templates/autoformat/Classical.category,
	templates/autoformat/General.category,
	templates/autoformat/Colourful.category,
	templates/autoformat/List.category:
	New files, XML descriptions of default categories.

	* templates/autoformat/Makefile.am:
	Templates grouped into categories, now every category is installed
	in separate directory. Installing *.category files as ".category" in
	appropriate directories.

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

	* src/file.c (dialog_query_load_file): Select directory of
	workbook file if there is one.

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

	* src/selection.c (selection_is_simple) : Handle merged cells and
	  arrays.

	* src/sheet.c (sheet_relocate_merged) : new function.

	* src/sheet-object.c (sheet_relocate_objects) : we only need to move
	  objects in the origin zone.

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

	* src/sheet.c (sheet_clone_merged_regions) : implement.
	(sheet_duplicate) : call sheet_clone_merged_regions.

	* src/xml-io.c (xml_sheet_read) : add IO for merged regions.
	(xml_sheet_write) : Ditto.
	(xml_read_merged_regions) : new function.
	(xml_write_merged_regions) : new function.

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

	* configure.in: Introduce variables for the <yes> and <no> visible
 	markers.  Prepare for fanciness.

	* src/complete-sheet.c (complete_sheet_class_init): Set finalize.
	(complete_sheet_finalize): New function.
	(complete_sheet_destroy): Move the freeing of ->current to
 	_finalize.

	* src/complete.c (complete_destroy): Zero out text field after
 	freeing it.
	(complete_start): Handle the special case of text not changing.

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

	* src/complete.h (CompleteClass): new method: start_over.

	* src/complete.c (complete_start): invoke start_over.

	* src/complete.c, src/complete-sheet.c: Use E_MAKE_TYPE instead of
	GNUMERIC_MAKE_TYPE.

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

	* src/selection.c (walk_boundaries) : Make smart walking of merged
	  cells optional.  It only seems to affect walking fixed regions.
	(sheet_selection_walk_step) : Fix previous thinko.

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

	* src/selection.c (sheet_selection_walk_step) : recognize singletons
	  even when they are merged cells.

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

	* src/selection.c (sheet_selection_walk_step) : support merged cells.
	(walk_boundaries) : Rewrite to support intelligent walking of merged
	  regions.

	* src/sheet.c (sheet_set_edit_pos) : signature change.

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

	* src/eval.c (sheet_region_get_deps): Take a Range pointer, not a
 	Range structure as argument.  All callers changed.

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

	* src/print.c (print_page): Fix bug: We must use gnome-print
	coordinate system when clipping to page limit. Also take into
	account that Postscript/gnome-print clip paths exclude the pixels
	on the path.

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

	* configure.in : Fix typo in gb check.

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

	* configure.in : Post release bump

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

	* Release 0.61

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

	* src/ranges.c (parse_range) : support singletons.

	* src/sheet-object.c (sheet_object_write_xml) : Store the anchor
	  descriptor.
	(sheet_object_read_xml) : restore the descriptor.

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

	* src/gnumeric-sheet.c (cursor_vertical_move) : fix cut-n-paste-o.
	(rangesel_vertical_move) : Ditto.

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

	* src/sheet.c (sheet_find_boundary_horizontal) : support merged cells
	  fully.
	(sheet_find_boundary_vertical) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_set_cursor_bounds) : Remove
	  unnecessary sanity checks.
	(cursor_horizontal_move) : pass the base row.
	(cursor_vertical_move) : Ditto.
	(rangesel_horizontal_move) : Ditto.
	(rangesel_vertical_move) : Ditto.
	(rangesel_horizontal_extend) : Ditto.
	(rangesel_vertical_extend) : Ditto.

	* src/selection.c (sheet_selection_extend) : Pass the base row/col.
	* src/item-cursor.c (item_cursor_selection_event) : Ditto.

2000-12-17  Almer S. Tigelaar  <almer1@dds.nl>

	* src/dialogs/dialog-stf-preview.c (stf_preview_format_line) :
	Pass desired format to format_match to preserve certain formatting
	information which would previously have been lost.

	* src/stf.c (stf_read_workbook) : First apply the styles to
	the sheet and then fill the contents of the cells instead of
	vice versa.

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

	* src/about.c (dialog_about): Made a little more consistent in
 	style.

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

	* src/sheet.c (sheet_new_sheet_view) : no need to normalize.
	(sheet_cursor_set) : no need to normalize.

	* src/item-cursor.c (item_cursor_set_bounds) : Add a notion of
	  move_corner and base_corner.

	* src/gnumeric-sheet.c
	(cursor_horizontal_move) : renamed from move_cursor_horizontal.
	(cursor_horizontal_extend) : renamed from
 	move_horizontal_selection.
	(cursor_vertical_move) : renamed from move_cursor_vertical.
	(cursor_vertical_extend) : renamed from move_vertical_selection.
	(gnumeric_sheet_selection_extend) : no need to normalize.  the
 	  item-cursor now does it for us.
	(rangesel_horizontal_move) : renamed from
 	selection_cursor_move_horizontal.
	(rangesel_vertical_move) : renamed from
 	selection_cursor_move_vertical.
	(rangesel_horizontal_extend) : renamed from
 	  selection_expand_horizontal.  Use the new item-cursor base/move
 	  corners.
	(rangesel_vertical_extend) : renamed from
 	  selection_expand_vertical.  Use the new item-cursor base/move
 	  corners.
	(gnumeric_sheet_key_mode_sheet) : simplify.

	* src/sheet.c (sheet_find_boundary_horizontal) : support merged cells.
	(sheet_find_boundary_vertical) : ditto.
	(sheet_set_edit_pos) : Add edit_pos vs edit_pos_real to improve merged
	  cell support.
	(sheet_region_get_merged_cell) : new function.

	* src/gnumeric-sheet.c (move_cursor_horizontal) : Use edit_pos_real to
	  improve handling for merged cells.
	(move_cursor_vertical) : Ditto.
	(start_cell_selection) : Ditto.

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

	s/Sheet::cursor::edit_pos/Sheet::edit_pos/

	* src/gnumeric-sheet.c (gnumeric_sheet_new) : No need to pass in the
	  col/row items.  They are available from the sheet control.

	* src/sheet-control-gui.c (sheet_view_construct) : signature change to
	  gnumeric_sheet_new.

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

	Tidy up the naming scheme a bit.
	s/row_col/colrow/
	s/col_row/colrow/
	s/SheetSelection/Range/

	* src/workbook-cmd-format.c (workbook_cmd_resize_selected_colrow) :
	  Merged from workbook_cmd_format_column_width and.
	  & workbook_cmd_format_row_height

	* src/item-bar.c (item_bar_end_resize) : Call scg_colrow_size_set
	  directly.
	(item_bar_class_init) : remove the SIZE_CHANGED signal.

	* src/selection.c (sheet_selection_full_cols_rows) : merge
	  sheet_selection_full_cols & sheet_selection_full_rows.

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

	* src/item-grid.c (item_grid_draw) : Move the span handling here.
	* src/cell-draw.c (cell_draw) : from here.

	* src/print-cell.c (print_cell_range) : Move the span handling here.
	(print_cell) : rather than here.

	* src/sheet-control-gui.c (scg_get_distance) : merge
	  sheet_{row,col}_distance_get_pixels and make the result sheet
	  control specific.

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

	* src/cell.c (cell_convert_expr_to_value) : rename from
 	cell_make_value.

	* src/format.c (format_number) : adjust signature to take the
	  colwidth in preparation for supporting
	(format_value) : pass in the width.

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

	* src/formats.c (currency_date_format_init) : correctly place currency
	  before or after the value, and optionally include a space.

	* src/format.c (format_get_currency) : include info on currency
	  placement.

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

	* src/workbook.c (workbook_sheet_rename) : Handle renames that only
	  change case more smoothly.

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

	* configure.in : Gussy up the reporting to improve readability

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

	* src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : create
	  the client site here.
	(sheet_object_bonobo_set_object_iid) : rather than here.

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

	* src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p) :
	  Add ')' bug 35149

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

	* src/functions/fn-math.c (gnumeric_round): Apply patch from
 	hans@snow.nl, see bug 34844.

	* src/functions/fn-math.c (help_int): fix bogus docs for negative
 	arguments.

	* configure.in: clean up quote stuff.

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

	* configure.in: first cut at improved version checks for required
	packages.

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

	* src/expr-name.c (expr_name_invalidate_refs_sheet) : comment out
 	  the warning.  The life cycles of names are too fluid to scare
 	  users yet.
	(expr_name_invalidate_refs_wb) : Ditto.

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

	* src/cell.c (cell_set_text) : send the current format to the
	  number matcher.
	* src/sheet.c (sheet_cell_set_text) : Ditto.

	* src/parse-util.c (parse_text_value_or_expr) : send the current
	  format to the number matcher.

	* src/number-match.c (format_match) : take the current format as a
 	  parameter.  Begin using it to handle cells formated as text.

	* src/format.c (style_format_is_text)  utility routine.

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

	* src/selection.c (sheet_selection_set_internal) : rename from
 	  sheet_selection_set and add the 'just_add_it' flag to indicate
 	  that we don't need to do anything fancy.

2000-12-09  Chema Celorio  <chema@celorio.com>

	* src/xml-io.c (xml_write_names): Always write a <Names> node,
	even if it is empty.  (See comment in code for details)

	* src/sheet.c (sheet_new): make sheet->names NULL.
	(sheet_clone_names): free the list with g_list_free not g_free
	(sheet_clone_names): add a warning about not duplicating
	names yet.

	* src/expr-name.h (expr_name_wb2sheet): add prototypes for
	wb2sheet & sheet2wb

	* src/expr-name.c (expr_name_unlink): new funct. Code from
 	expr_name_remove
	(expr_name_remove): call expr_name_unlink
	(expr_name_invalidate_refs_name): add a warning about this
 	function not being implemented
	(expr_name_invalidate_refs_sheet): ditto
	(expr_name_invalidate_refs_wb): ditto
	(expr_name_sheet2wb): new funct. changed the scope of a
 	NamedExpression from sheet to workbook.
	(expr_name_wb2sheet): not implemented yet. Workbook to sheet scope
 	change

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

	* src/sheet-control-gui.c (scg_comment_display) : Always clear the
	  timer.

	* src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p)
	: Add '<' '>'.  Bug 34642

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

	* src/sheet-object.c (sheet_object_construct) : delete.
	(sheet_object_set_bounds) : Delete.
	(sheet_object_set_sheet) : new function.
	(sheet_object_clear_sheet) : new function.
	(sheet_object_read_xml) : implement.
	(sheet_object_write_xml) : implement.
	(sheet_object_range_get) : support setting the range without a having
	  a sheet.
	(sheet_relocate_objects) : Use set_sheet & clear_sheet.
	(sheet_object_register) : new function.

	* src/sheet-object-widget.c (sheet_widget_checkbox_set_sheet) : new
	  function.  we need to move the dependent into the new sheet.
	(sheet_widget_checkbox_clear_sheet) :  ditto.

	* src/sheet-object-graphic.c :
 	  (sheet_object_graphic_{read,write)_xml) : new functions.
	(sheet_object_filled_{read,write)_xml) : new functions.

	* src/sheet-object-container.c (view_activated_cb) : no more
	  sheet_object_construct.

	* src/sheet-object-cell-comment.c (cell_comment_{read,write)_xml) :
	  new functions.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_{read,write)_xml) :
	  New functions.  These need work.  the 'read_fn' and 'write_fn' do
	  not merge nicely yet.

	* src/main.c (gnumeric_main) : Register the sheet object types.
	  We need this until the plugin scheme is ready.

	* src/item-grid.c (cb_obj_create_button_release) : Use set_sheet
	  rather than realize.

	* src/bonobo-io.c (gnumeric_bonobo_obj_write) : constness.

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

	From :Ade Lovett <ade@FreeBSD.org>
	* templates/english/Makefile.am : typo.
	* idl/Makefile.am : Ditto.

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

	* src/sheet-object.c (sheet_object_write_xml) : protect from missing
	  virtual.
	(sheet_object_read_xml) : Ditto.

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

	* configure.in : Bump the version number

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

        * Release 0.60

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

	* src/item-grid.c : Disable canvas grab debug.
	* src/item-cursor.c : Ditto.
	* src/item-bar.c : Ditto.
	* src/sheet-control-gui.c : Ditto.

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

	* src/sheet-control-gui.c (scg_context_menu) : Use more of the new
	  artwork.

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

	* src/expr.c (cellrange_relocate) : disable the relocating the partner
	  for forced partial relocation.

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

	* src/application.c (application_init) : Add some new icons

	* src/gnumeric.xml : Use the new icons
	* src/workbook-control-gui.c : Ditto
	* src/workbook-format-toolbar.c : Ditto.

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

	* src/mstyle.c (mstyle_hash) : add indent.
	(mstyle_element_equal) : Ditto.
	(mstyle_new_default) : Ditto.
	(mstyle_[gs]et_orientation) : new functions.

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

	* configure.in : Update GAL req.

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

	* src/file.c (set_ok): Rename to handle_ok. Make it check if
	current file selection is a directory. If so, change to the
	directory and continue selecting file.

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

	* src/sheet.c (sheet_region_adjacent_merge) : new function.

	* src/cellspan.c (cell_calc_span) : Use it here to pre bound the
	  potential span region.

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

	* src/item-grid.c (item_grid_draw_merged_range) : Draw borders too.
	  This can easily be optimized.

	* src/selection.c (sheet_selection_add_range) : Use
	  sheet_selection_set.

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

	* src/sheet-object.c (sheet_object_realize): Check that the sheet
 	object belongs to a valid sheet.

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

	* src/workbook-control-gui.c (wbcg_zoom_feedback) : Move the bounding
	  box if the zoom changes.

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

	* src/workbook-view.c (wb_view_sheet_focus) : Init the selection
	  descriptor and format format.
	(wb_view_selection_desc) : new function.
	(workbook_view_init) : Init the expression and format before setting
	  the current sheet.  Setting the sheet will update the content.

	* src/workbook-control.c (wb_control_sheet_add) : Init the format,
	  edit line, and selection descriptor.

	* src/selection.c (sheet_get_selection_name) : Delete.
	(sheet_selection_extend_to) : Use wb_view_selection_desc.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_release) : Use
	  wb_view_selection_desc.
	* src/item-grid.c (item_grid_event) : Ditto.

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

	* src/main.c (gnumeric_main): do the bonobo activate before we
	start doing CORBA calls and bonobo stuff!

	* src/embeddable-grid.c: Fixup for the generic factory.

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

	* src/workbook-view.c (wb_view_edit_line_set) : renamed from
	  workbook_edit_load_value and tweaked to operate on the view level.

	* src/workbook-edit.c (workbook_finish_editing) : Adjust to changes in
	  edit-line update api.

	* src/sheet.c (sheet_update) : Use wb_view_edit_line_set.

	* src/workbook-view.c (wb_view_sheet_focus) : bug 34185.

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

	* src/mstyle.c (mstyle_hash): Don't shift all the hash information
 	away.  Rotate, don't shift.

	* src/mathfunc.c: white-space mania.

	* src/item-bar.c: Make debug-code statement-safe, just in case.
	* src/item-cursor.c: Ditto.
	* src/item-grid.c: Ditto.
	* src/sheet-control-gui.c: Ditto.

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

	* src/number-match.c (print_regex_error): Print error code
 	numerically if our switch does not catch it.  Catch REG_EBOL and
 	REG_EEOL.  Print errors to stderr.
	(format_match_define): Change result type to gboolean.  Plug leak.
	(format_create_regexp): Properly regexp-quote quoted
 	format-strings.

2000-12-04  Zbigniew Chyla  <cyba@gnome.pl>

	* src/sheet-object-widget.c (sheet_widget_checkbox_toggled): calling
	workbook_recalc() after setting cell value based on checkbox state.

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

	* src/sheet-object.c (sheet_relocate_objects) : Remember to move the
	  object to the new sheet, not just the views.
	(sheet_object_position) : Off by one.  Use < not <=

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

	* src/sheet.c (sheet_{insert,delete}_{cols,rows}) : Call
	  sheet_relocate_objects.
	(sheet_move_range) : Ditto.

	* src/sheet-object.c (sheet_object_unrealize) : restore this routine.
	(sheet_object_destroy) : Use it here.
	(sheet_object_position) : renamed from sheet_object_reposition.
	(sheet_relocate_objects) : new routine.  Only handles current anchor
	  format.  Will need to extend this.

	* src/item-bar.c (item_bar_event) : Exit object edit mode when a
	  button presses on the itembar.

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

	* src/expr.c (cellrange_relocate) : Still not doing the 'right' thing
	  in all cases.   However at least it will no longer create broken
	  references.
	(cellref_relocate) : tweak a bit.

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

	* configure.in: check for gb >= 0.0.17

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

	* src/expr.c (cellrange_relocate) : fix the logic that was broken when
	  supporting the partial ranges.
	(cellref_relocate) : move some of the code here, to decrease
	  replication.

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

	* src/item-bar.c : Add some debug macros to catch the magic helix
	  cursor grab.
	* src/item-cursor.c : Ditto.
	* src/item-grid.c : Ditto.
	* src/sheet-control-gui.c : Ditto.

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

	* src/functions/fn-lookup.c (gnumeric_hlookup) : fix cut-n-paste-o.

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

	* src/item-cursor.c (item_cursor_drag_event) : Ignore press events fro
	  drag cursors.  And ignore release events for buttons other than the
	  one that started the drag.
	s/prepared_to_drag/drag_button/
	(item_cursor_set_arg) : Add 'Button' arg
	(item_cursor_class_init) : Ditto.

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

	* src/sheet-control-gui.c (scg_object_stop_editing) : fix warning.
	  this is static now.

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

	* src/sheet-object.c (sheet_object_position_pts) : new function.
	(sheet_object_position_pixels) : new function.

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

	* src/xml-io.c : Begin moving the sheet object xml io into virtuals.

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

	* src/sheet.c : Add SHEET_FOREACH_CONTROL to help abstract the
	  implementation of controls and simplify changes later.
	(sheet_set_zoom_factor) : reposition objects not just comments.
	(sheet_get_objects) : New function.

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

	* src/sheet-object.c : Move most (not yet all) of the GUI aspects into
	  the sheet control.  Revamp the semantics of the sheet-object
	  virtuals.
	new_view : now handles the sizing and realizing of objects.
	Add support for persistance here.
	Delete get/set bound.

	* src/sheet-object-container.c : convert to new object management
	  design
	* src/sheet-object-graphic.c : Ditto.
	* src/sheet-object-item.c : Ditto.
	* src/sheet-object-widget.c : Ditto.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_construct) :
	  sheet_object_construct now takes a default size.

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

	* src/sheet-control-gui.c : Move cell comment and sheet object
	  placement routines here.  Rather than scattering them in non-gui
	  modules.

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

	* src/print.c (print_object_view_position) : Convert object position
	  to points.

	* src/selection.c (sheet_selection_redraw) : simplify.

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

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) : SheetObject
	  editing is now specific to the SheetControl.
	(gnumeric_sheet_key_press) : Ditto.
	(gnumeric_sheet_key_release) : Ditto.

	* src/selection.c (sheet_is_cell_selected) : Ditto.
	(sheet_col_selection_type) : Ditto.
	(sheet_row_selection_type) : Ditto.

	* src/item-bar.c (item_bar_draw) : Ditto.

	* src/item-grid.c (item_grid_draw_background) : Ditto.
	(item_grid_button_1) : Ditto.
	(item_grid_event) : Ditto.
	(cb_obj_create_motion) : Move the object creation GUI here.
	(cb_obj_create_button_release) : and add partial support for
	  autoscroll.
	(sheet_object_begin_creation) : Ditto.

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

	* src/cell.c (cell_copy) : Comments are no longer associated directly
	  with cells.
	* src/clipboard.c (paste_cell) : Ditto.
	(clipboard_release) : Ditto.

	* src/bonobo-io.c (gnumeric_bonobo_obj_read) : No need to set bounds
	  or realize the object here.  That is handed at a higher level.

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

	* src/number-match.c (compute_value) : Use strtol to simplify things.

	* src/func.c (tokenized_help_new) : translate the help text.

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

	* src/formats.c (currency_date_format_init) : quote the currency
	  names.

2000-11-30  Almer S. Tigelaar  <almer1@dds.nl>

	* src/preview-grid-controller.c (preview_grid_controller_new) :
	Make the selection rectangle fatter and position it slightly better.

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

	* src/xml-io.c (xml_sheet_write): Initialise closure's rle_count
 	member.
	(natural_order_cmp): Fix major brown-bag in ordering.

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

	* src/analysis-tools.c (anova_single_factor_tool): Apply the rest
 	of Christensens' patch.

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

	* src/workbook-view.c (workbook_view_init) : Init the format feedback.
	  But don't bother displaying.  We don't have any controls yet.

	* configure.in (have_gda) : init to false.

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

	* src/embeddable-grid.c (EmbeddableGridFactory_init): upd.

	* Makefile.am (oaf_DATA): upd to GNOME_Gnumeric.oafinfo

	* GNOME_Gnumeric.oafinfo: upd.

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

	* src/file.c (do_save_as): Remember name with extension, so
	subsequent saves are done to the correct file.

	* src/workbook.c (workbook_set_saveinfo): Remove redundant setting
	of title.

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

	* src/print-cell.c (print_cell) : bubble the sizing code further up.
	  src/cell-draw.c (cell_draw) : ditto.  Move towards a better api that
	  will pass in the bounding box rather than all the parameters needed
	  to generate it in different circumstances.

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

	* src/print-cell.c (print_cell) : until printing of the grid is synced
	  with drawing a grid, disable the tests for width, height.

	* src/expr.c (cellrange_relocate) : Use simple heuristic to help
	  diffentiate the 'expected' behavior of  moving expressions with
	  range references that are partially contained.

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

	* src/functions/fn-math.c (gnumeric_sumx2py2): Plug leaks.
	(gnumeric_sumxmy2): Plug leaks.
	(gnumeric_sumx2my2): Plug leaks.

2000-11-22  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/dialog-plugin-manager.c (refresh_right_frame):
	Replaced ctime() with strftime() to display translated form of
	plugin modification date.

	* src/item-bar.c (colrow_tip_setlabel): Translated (Polish)
 	version of string doesn't fit within "buffer". Dropped static
 	array and used dynamic memory allocation (g_strdup_printf).
	(vertical_scroll_change, horizontal_scroll_change): It fits with
 	Polish translation but code is similar to the above.

2000-11-22  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dialogs/summary.glade: Centered "Document Summary
	Information" label.

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

	* src/sheet.c (sheet_new_sheet_view): Remove spurious ref.

	* src/stf-parse.c (stf_parse_get_colwidth): Don't overrun buffer.

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

	* src/gutils.c (gnumeric_usr_dir): Use g_get_home_dir, not just
 	$HOME.  Don't return duplicate slashes.

	* src/commands.c (cmd_resize_row_col_redo): Proper undo sizing.
	(cmd_sort_redo): Ditto.
	(cmd_hide_selection_rows_cols): Ditto.
	(cmd_autofill_redo): Ditto.

	* gnumeric.spec.in (gal): Require 0.2.99.

	* configure.in (gal): Require 0.2.99 (and fix check).

	* src/workbook-control-gui.c (workbook_control_gui_ctor_class):
 	Set undo_redo.truncate.
	(wbcg_undo_redo_truncate): New function.

	* src/commands.c (command_push_undo): truncate undo information.
	(truncate_undo_info): New function.
	(cmd_format): Properly size undo information.

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

	* src/colrow.c (col_row_get_index_list) : Take away my crack pipe.

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

	* configure.in : Use a more conventional approach to path separators.
	* src/gutils.c (gnumeric_usr_dir) : Adjust here.
	(gnumeric_sys_data_dir) : and here.
	(gnumeric_sys_lib_dir) : and here.

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

	* src/sheet.c (sheet_clone_selection) : Fix.

	* src/item-grid.c (item_grid_draw_merged_range) : If the merged region
	  is fully selected paint it as such.

	* src/selection.c (sheet_is_full_range_selected) : new function.
	(sheet_selection_set) : support merged cells.

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

	* src/sheet.c (sheet_destroy_contents): Eliminate merged regions.
	(sheet_destroy): Free data structures for merged regions.
	(sheet_new): Activate temporary debugging code on
 	GNUMERIC_DEBUG_MERGE in environment.

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

	* src/sheet.c (sheet_region_is_merge_cell) :
	(sheet_region_get_merged) :
	(sheet_region_unmerge) :
	(sheet_region_merge) : implement.

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

	* src/item-grid.c (item_grid_draw_merged_range) : new function.
	  This may be clearer if we draw the grid lines after the background.
	  It does not support borders or selection yet.
	(item_grid_draw) : Use it.

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

	* src/cellspan.c (cell_is_empty) : new utility function.
	  span calculation is now rather inefficent.  We could be smarter if
	  we had a better representation of spans.  For now adding support for
	  merged cells here would be enough.
	(cell_calc_span) : Use it.

	* src/cell-draw.c (cell_draw) : decrease dependence on
	  Cell::{col,row})_info::size_pixels.  This is not accurate for merged
	  cells.  More work is needed.  I have not converted the multiline
	  formating yet.  The signature of this function sucks.
	  We should pass in either span or width height, not both.

	* src/print-cell.c (print_cell) : Stay consistent with cell_draw.
	  NOTE : I have not ported over the merged cell support.  It seems
	  pointless until it is working completely for drawing.

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

	* s/sheet_view/scg/

	* src/formats.c (currency_symbols) : Add the slovenian tolar.

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

	* src/sheet-control-gui.c (scg_context_menu) : renamed from
	  item_grid_popoup_menu and moved here where it makes more sense.

	* src/sheet.c (sheet_merge_region) : implement.
	(sheet_unnmerge_region) : Ditto.
	(sheet_get_merged_regions) : Ditto.

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

	* configure.in : Bump to 0.60 post release
	* NEWS : ditto

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

	* Release 0.59

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

	* src/command-context-corba.c (command_context_corba_new) : warning
	  suppression.

	* src/workbook-control-gui.c (workbook_control_gui_ctor_class) : Init
	  progress_set in CommandContextClass, and add support for
	  splits_array at this level.

	* src/command-context.c (gnumeric_error_splits_array) : The decision
	  to use invalid should be done in the implementation.

	* src/workbook-control.c (wb_control_progress_set) : delete replicated
	  function.

2000-11-17  Chema Celoria  <chema@celorio.com>

	* src/print.c (sheet_print): change to a g_return_val_if_fail
	by gmorten's request

2000-11-17  Chema Celorio  <chema@celorio.com>

	* src/print.c (sheet_print): if gnome-print dialog is NULL,
	return. This avoids a crash if there aren't any printers installed.

2000-11-17  Almer S. Tigelaar  <almer1@dds.nl>

	* src/preview-grid-controller.c, src/preview-grid-controller.h
	(preview_grid_controller_new) : Extra selected parameters,
	if set a red rectangle will be drawn over the preview to indicate
	the selected state.

	* src/dialogs/dialog-autoformat.c (previews_load): Adjust so
	the selected preview will be drawn in selected state.

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

	* src/format.c (format_month_before_day) : Add config test.
	* configure.in : Implement test here.
	* config.h.in : and here.

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

	* src/sheet.c (sheet_update_only_grid) : split from sheet_update.
	(sheet_update) : call sheet_update_only_grid.

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

	* src/xml-io.h: add xmlmemory.h

	* src/gui-clipboard.c (x_selection_handler): xmlFree
	not g_free.

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

	* plugins/Makefile.am (GDA_DIR): Blank.

2000-11-16  Zbigniew Chyla  <cyba@gnome.pl>

	* src/sheet-autofill.c: Added support for boolean values (just copy
	them).

2000-11-16  Rodrigo Moya <rodrigo@linuxave.net>

	* configure.in: added support for conditional compilation of
	the GDA (GNOME-DB) plugin
	* plugins/gda/*: updated to current GDA code. Does not compile
	yet though

2000-11-16  Zbigniew Chyla  <cyba@gnome.pl>

	* src/selection.c, src/dialogs/dialog-cell-sort.c: Marked strings
	for translation.

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

	* src/workbook-control.c (workbook_control_set_view) : Follow
	  convention that the manager is set when attached, and not before.
	* src/workbook-view.c (wb_view_attach_control) : Ditto.  Set the
	  tile on the new control.
	* src/workbook.c (workbook_attach_view) : Ditto.

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

	* src/command-context-corba.[ch] : This is incorrectly named and used
	  the wrong way :-( But at least it is compilable.  I'll fix this
	  later.

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

	* src/colrow.c (col_row_foreach) : Use ColRowSegments
	(col_row_restore_sizes) : Ditto.
	* src/sheet.c (sheet_{col,row}_add) : Ditto.
	(sheet_{col,row}_get_info) : Ditto.
	(sheet_{col,row}_get) : Ditto.
	(sheet_cell_foreach_range) : Ditto.
	(sheet_{col,row}_destroy) : Ditto.
	(sheet_regen_adjacent_spans) : Ditto.
	(colrow_move) : Ditto.
	(sheet_{col,row}_get_distance_pixels) : Ditto.
	(sheet_{col,row}_get_distance_pts) : Ditto.
	(sheet_{col,row}_set_size_pts) : Ditto.

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

	s/sheet-view/sheet-control-gui/

	* src/Makefile.am : Add command-context-corba.[ch] temporarily

	* configure.in : Default to non-bonobo build

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

	* gnumeric.oafinfo: rename to ObjectFactory

2000-11-54  John Gotts  <jgotts@linuxsavvy.com>

	* gnumeric.spec.in: Create a devel RPM.  Added some missing files.
	Made the build work from either a tar file or CVS.

2000-11-14  Almer S. Tigelaar  <almer1@dds.nl>

	* src/io-context.h, src/io-context.c
	(gnumeric_io_progress_set): New function, calls
	upon gnumeric_progress_set to do the job.

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

	* src/workbook-control-gui.c : Fix warning.

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

	* configure.in : Bump to 0.59 post release.

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

        * Release 0.58

2000-11-13  JP Rosevear  <jpr@helixcode.com>

	* src/functions/fn-lookup.c (find_bound_walk): Only reverse
	direction if we haven't already switched direction once.
	Fixes bug #2872

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

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Doh!

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

	* src/dialogs/dialog-graph-guru.c
 	  (graph_guru_create_vectors_from_range) : small improvement to
 	  vector selection heuristics.

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

	* src/sheet-object.c (sheet_object_new_view) : Make public.

	* src/workbook-control-gui.c (wbcg_sheet_add) : Create views of all
	  sheet objects.

2000-11-12  Almer S. Tigelaar  <almer1@dds.nl>

	* src/stf-export.c (stf_export_sheet): Use sheet_get_extent
	instead of sheet->rows and sheet->cols.

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

	* src/workbook.c (workbook_sheet_attach) : Use wb_view_sheet_add.

	* src/workbook-view.c (wb_view_sheet_add) : new function.
	(wb_view_format_feedback) : Ditto.
	(wb_view_auto_expr) : Store the display result.
	(wb_view_auto_expr_value_display) : renamed
	  from wb_view_auto_expr_value_set.
	(wb_view_destroy) : clear out the new members.

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Calculate
	  the style here.  This is transitory.  It will eventually move into
	  the sheet view when that is split.

	* src/workbook-control.c (wb_control_sheet_add) : Do this manually
	  so that if the new sheet is the focus sheet for the view we can
	  update the various feedback mechanisms.
	(workbook_control_sheets_init) : rather than here.

	* src/sheet.c (sheet_update) : prepare for having the wb_view handle
	  the selection.

	* src/Makefile.am : Add missing workbook-control.h

	* src/workbook-view.c (wb_view_auto_expr) : When the expression
	  changes, recalculate.

	* src/workbook-control-gui.c (wbcg_auto_expr_value) : Mark as updating
	  the ui.
	(cb_auto_expr_changed) : test the updating flag here, don't set it.

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

	* src/bonobo-io.c (gnumeric_bonobo_obj_write),
	(write_stream_to_storage): update unref fns.
	(read_stream_from_storage): upd.
	(gnumeric_bonobo_obj_read): set the bounds correctly.

	* src/xml-io.c (xml_write_sheet_object): NULL the sheet object
	we free.

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

	* src/clipboard.c (apply_paste_oper_to_values): kill warning.

	* src/xml-io-autoft.c: remove stale enum.

	* src/xml-io.c (xml_check_version): publicized.
	(xml_parse_ctx_new_full): add version parameter.
	(xml_parse_ctx_new): update.

	* src/bonobo-io.c (gnumeric_bonobo_read_workbook): use
	xml_check_version.

	* src/bonobo-io.c (gnumeric_bonobo_write_workbook): open the
	stream with the correct permissions.
	(gnumeric_bonobo_io_probe): update to like directories too.
	(gnumeric_bonobo_io_init): register for '.efs'
	(gnumeric_bonobo_read_workbook): beef up exception reporting.

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

	* src/gnumeric.xml: fiddle, lots of strange mangling, needs HEAD
	bonobo to look at all good.

	* src/xml-io.c (xml_write_sheet_object): free the node nicely in
	the failure case.

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

	* configure.in (LIBS): add gnome-config --cflags idl to the default
	IDL_FLAGS.

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

	* src/workbook-control-gui.c : Fix typos in the accelerator selections
	  for the name menu.

	* src/gnumeric.xml : Add entries for new shared/unshared views.

	* src/style.c (font_init) : Use the correct scale.

	* src/value.c (value_get_default_halign) : Renamed and moved from here
	* src/cell.c (cell_default_halign) : to here.  Added support for
	  displaying formulas.

	* src/print-cell.c (print_cell) : only draw hash marks for numbers
	  not when displaying formulas.
	* src/cell-draw.c (cell_draw) : Ditto.
	* src/cellspan.c (cell_calc_span) : Ditto.
	* src/rendered-value.c (rendered_value_calc_size_ext) : Ditto.

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

	Patch from Tyler & James Christensen
	* src/analysis-tools.c (anova_single_factor_tool) : Correct handling
	  of variables stored in rows rather than columns.

2000-11-11  Zbigniew Chyla  <cyba@gnome.pl>

	* src/dependent.c (dependent_list_filter): Correct "for" loop
	condition.

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

	* src/sheet-object.c (sheet_object_new_view) : Store the SheetObject
	  and SheetView as object_data.
	(cb_sheet_object_configure) : Pass the SheetView to configuration
	  routines.
	(sheet_object_populate_menu) : Pass the CanvasItem it has the useful
	  property of having the associated view and sheet object as user data.
	  This makes it handy for use in callbacks.
	(display_object_menu) : signature change.
	(control_point_handle_event) : changes to display_menu_object.
	(sheet_object_canvas_event) : Ditto.

	* src/sheet-object-widget.c (sheet_widget_checkbox_user_config) :
	  signature change.  This should get things working again.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_populate_menu) :
	  signature change.

2000-11-10  Jody Goldberg <jgoldberg@home.com>
      Patch from Juan Pablo Mendoza <pablo_juan@yahoo.com>

      * sheet-view.c (sheet_view_comment_create_marke): Memory leak.

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

	* src/workbook-format-toolbar.c (workbook_format_toolbutton_update) :
	  Minor optimization to decrease flicker.

	* src/sheet.c (sheet_cell_calc_span) : Clarify the semantics of
	  the various flags.
	(cb_max_cell_width) : If the value used a dynamic format we need to
	  rerender ignoring the current width.

	* src/rendered-value.c (rendered_value_new) : renamed from
	  rendered_value_new_ext and delete the old rendered_value_new.
	  Extend slightly to flag whether or not to handle dynamic formats.

	* src/render-ascii.c (cell_region_render_ascii) : Handle the style
	  lookup localy.

	* src/cell.c (cell_eval_content) : We need to manually render
	  the value here, but no longer need to calculate the size
	  separately.  That is done automatically in the render.
	(cell_render_value) : Handle style localy, and calculate the size.

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

	* src/workbook-control-gui.c (workbook_control_gui_init) : move the
	  autosave code here.
	* src/workbook.c : from here.

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

	* src/border.c (style_border_unref): Take border out of hash table
 	before we destroy the hashed fields.

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

	* src/workbook-view.c (workbook_view_init) : Add prototype.

	* src/workbook-control-gui.c (cb_sheet_change_name) : Make static to
	  kill warning.
	* src/workbook-edit.c (workbook_edit_set_sensitive) : Ditto.

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

	* src/gnumeric-sheet.h (GNUMERIC_SHEET_FACTOR_X,
 	GNUMERIC_SHEET_FACTOR_Y): 1000000 and 2000000.  Still ugly, but
 	now central.

	* src/sheet-view.c (sheet_view_set_zoom_factor): Don't hard-code
 	scroll region sizes multiple places.

	* src/gnumeric-sheet.c (gnumeric_sheet_new): Ditto.

	* src/sheet-control.c (sheet_control_set_zoom_factor): Ditto.

	* src/sheet.h (SHEET_MAX_ROWS, SHEET_MAX_COLS): Remove duplicate
 	macros.

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

	* src/stf.c (stf_read_workbook) : We are passing an IOContext.

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

	* src/item-cursor.c (item_cursor_selection_event) : Make
	  the double click handler smarter.  It now handles empties
	  and checks both sides of a row/col.  Left/top is perfered to
	  bottom/right.

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

	* src/item-cursor.c (item_cursor_init) : Initialize fully, add
	  prepared_to_drag_flag.
	(item_cursor_selection_event) : Move most of the state change
	  associated with BUTTON_PRESS into MOTION_NOTIFY.  And use the
	  prepared_to_drag_flag flag to indicate a requirement to initiate a
	  drag. Move most of the double click handling here.  The resone for
	  these changes was that there was a race condition in the old
	  version.  We were creating a new item cursor when we did a button
	  press.  It started in exactly the same position as the current
	  cursor.  2BUTTON_PRESS were sometimes being sent to the new cusor
	  and sometimes showing up as PRESS events on the old with no RELEASE.
	  This patch attempts to delay creating the new drag cursor until we
	  are sure this is not a double click so that the proper event
	  sequence is sent to the main cursor.

	* src/border.c (style_border_unref) : Unref the colour.
	(style_border_fetch) : unref the colour when needed.

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

	* src/sheet.c (sheet_is_region_empty) : New function.

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

	* src/complex.c (complex_from_string): Handle overflow.

	* src/number-match.c (format_match_simple): Don't depend on
 	incoming errno not to be ERANGE.

	* src/sheet-autofill.c (string_has_number): Ditto.

	* src/parser.y (yylex): Ditto.

	* src/value.c (value_new_from_string): Ditto.  Also take care of
 	empty string.

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

	* src/clipboard.c (apply_paste_oper_to_values) : Rewrite to use
	  eval_expr.
	(paste_cell_with_operation) : rework to handle pasting as_value
	  correctly.
	(paste_link) : This is broken.  FIXME.
	(paste_cell) : Move the check for pasting content or as_value to the
	  top.

	* src/cell.c (cell_make_value) : Unlink expressions if necessary.

	* src/sheet.c (sheet_cell_set_expr) : flag that content changed.

	* src/dependent.c (dependent_queue_recalc_list) : Add some safety.

	* src/item-cursor.c (item_cursor_event) : clicking on an anted cursor
	  is almost the same as clicking on a selection cursor.

	* src/expr-name.c (expr_name_add) : It is legal to add names that are
	  available in other scopes as long as the new scope does not contiain
	  the name.

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

	* src/sheet-autofill.c (autofill_cell) : Use cell_set_value directly.
	  No need to do depends or respaning for each cell.

	* src/commands.c (cmd_autofill_redo) : When we can do it here, for the
	  entire range.
	(cmd_area_set_text_redo) : Add the missing depend update here.

	* src/sheet.c (sheet_cell_set_value) : Render if required.

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

	* src/gui-clipboard.c:
	(x_selection_to_cell_region): Make error message more descriptive.

	* src/stf.c:
	(stf_read_workbook): Ditto.

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

	Fix bug #21674. (Fix will kick in once the version number of the
	XML format is bumped to GNUM_XML_V5)

	* src/print-info.c (print_info_new): Add extra commenting.

	* src/xml-io.c:
	(xml_write_print_repeat_range): New function, for saving a repeat range.
	(xml_read_print_repeat_range): New function, for loading a repeat range.
	(xml_write_print_info): Save the row repeat and col repeat range using
	xml_write_print_repeat_range.
	(xml_read_print_info): Read col and row repeat range if file format
	version > GNUM_XML_V4 using xml_read_print_repeat_range.

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

	* src/workbook.c (workbook_sheet_detach) : remove unused parm.
	  Be more paranoid about focus handling.

	* configure.in : fix typo.

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

	* src/sheet.c (cb_set_cell_content) : Use cell_set_value.
	(sheet_range_set_text) : remove need for entered_text.

	* src/xml-io.c (xml_read_cell) : Remove 'General' hack.

	* src/dialogs/dialog-cell-format.c (draw_format_preview) : remove
	  entered_text.

	* src/rendered-value.c (rendered_value_new_ext) : No need for
	  entered_text.  Use format_value in place of value_as_string.

	* src/format.c (format_value) : No need for entered_text.
	  Be careful to always set the colour.  This may need to be tuned
	  if we enter '$10' and use a display format of @ what should be
	  displayed ?  10 or $10 ?  We may need to pass in the parse format.

	* src/cell.c (cell_cleanout) : Remove entered_text.
	(cell_copy) : Ditto.
	(cell_set_text) : Ditto.
	(cell_set_value) : Ditto, do not render value here.
	(cell_set_text_and_value) : Delete.
	(cell_set_expr_and_value) : Remove entered_text, and add format
	  argument.
	(cell_set_expr_internal) : No need to manually unref the old expr.
	  That was already done in cleanout.
	(cell_make_value) : remove entered_text.

	* src/rendered-value.c (cell_get_entered_text) : Use the stored parse
	  format and format_value to regenerate the entered text from a value.

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

	* src/sheet-view.c (sheet_view_{col,row}_size_changed) : Only resize
	  all columns if the column that changed is part of the selection.

	* src/selection.c (sheet_selection_full_{cols, rows}) : flag whether
	  the selection contains the requested col.

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

	* src/format-template.c (format_template_apply_to_sheet_regions) : No
	  need to request a redraw.
	(cb_format_sheet_style) : Use sheet_range_apply_style because it
	  requests a redraw and handles respaning/spacing when necessary.

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

	* src/commands.c (cmd_paste_copy_undo) : Clear any operations when
	  storing the undo info for paste_copy.  There is no longer any need
	  for the operations.  We are storing the image.

	* src/clipboard.c (clipboard_prepend_cell) : Be safe and init the
	  comment field.

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

	* configure.in : Update the GAL requirement.

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

	* src/clipboard.c (clipboard_paste_region) : Optimize the styles for
	  the entire target region in one swoop, rather than each tile
	  individually.  This fixes the reported problem symptom.  I do not
	  have a definite reason why it was failing before.  This may just be
	  sweeping it under the rug.

	* src/xml-io.c (xml_workbook_write) : Bump the xml version.

	* src/format.c (format_value) : A string value takes precedence over
	  the entered text.

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

	* src/dialogs/analysis-tools.glade : Rename 'Alpha' to '1 - Alpha'

	* src/complete-sheet.c (text_matches) : Only use values that are strings
	  do not bother with 'entered_text'
	(complete_sheet_search_iteration) : Adjust the calls to text_matches.

	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page) : Be
	  careful to use the non-localized version of the format internally.

	* src/cellspan.c (cell_calc_span) : Ignore hidden columns.

	* src/colrow.c (col_row_set_visibility_list) : regen the spans outside
	  the region which changes visibility.

	* src/sheet.c (sheet_regen_adjacent_spans) : Split this out
	  from sheet_clear_region.

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

	* src/sheet-autofill.c (string_has_number) : thou shalt not use atoi
	  for it does not check for oeverflow.

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

	* src/print-cell.c (print_cell_range) : Set the printed flag whenever
	  there is a valid cell.

	* src/sheet-autofill.c (autofill_create_fill_items) : Do not look up
	  the cell here.
	(fill_item_new) : lookup the style and cell here.
	(sheet_autofill_dir) : Always apply the style.
	(fill_item_destroy) : release the style.

2000-11-02  JP Rosevear  <jpr@helixcode.com>

	* src/xml-io.c (xml_read_attributes): Don't check for a workbook,
	this is redundant and not even true any more.
	(xml_workbook_read): Only read the attributes if the workbook is
	version 5 or later.

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

	* src/rendered-value.c (rendered_value_new_ext) : Any form of General
	  will need a width.  Default to full precision.

	* src/cell.c (cell_set_value) : Do not assign optional formats of General

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

	* src/workbook-control-gui.c (cb_file_new) : We need to create a
	  control & view.
	(workbook_close_if_user_permits) : Do not attempt to finsihed editing
	  here.  This is called in a loop from cb_file_quit.
	(wbcg_close_control) : stop editing here.
	(cb_file_quit) : and stop editing here before closing and workbooks.
	  While closing workbooks save the calling working for last so than
	  can save the current view rather than guessing and using the first.

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

	* src/dialog-autoformat.c:
	(templates_load): Also apply filtering to newly loaded templates.
	(dialog_autoformat): Don't call format_template_apply_to_sheet_regions,
	pushing the undo stuff (cmd_autoformat) already does this anyway.

	* src/format-template.c: Fix bug #30413
	(format_template_range_check): New, checks if the target range
	is wide enough to apply the format template to.
	(format_template_apply_to_sheet_regions): Use format_template_range_check
	to check the ranges. Display an error and abort when a range is invalid.
	(format_template_recalc_hash): Idem, but don't display an error but a
	warning, as no such error is supposed to happen here.

	* src/format-template.c: Fix bug #30419
	(format_template_filter_style): Add COLOR_BACK to pattern filtering.
	(format_template_filter_style): Correct to not always replace
	unset elements with default elements.
	(cb_format_hash_style): call format_template_filter_style with
	default element replacing.
	(cb_format_sheet_style): call format_template_filter_style without
	default element replacing.
	(cb_format_sheet_border): Idem.

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

	* configure.in: Require bonobo-0.27+

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

	* The big api rename ...

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

	* configure.in: bump gb requirement to gb-0.0.15

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

	* src/sheet.c (sheet_new_sheet_view) : Set the cursor when the sheet
	  is attached.

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

	* src/commands.c (cmd_clear_redo) : reverse the content list to keep
	  it in sync with the range list.

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

	* src/xml-io.c (xml_read_cell) : Default the parse format to General.
	  Eventually we can simply cell_set_value to not guess that the
	  display format == the parse format.  However, that will require
	  changing all of the importers.  For now we can cheat, and supply
	  General as the format.

	* src/functions/fn-string.c (gnumeric_dollar) : use string_get_nocopy.

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

	* src/expr.c (cellref_relocate) : inside is always calculatd based on
	  the source sheet.  eg  Sheet1:A1 = '=A2' and we are moving A1:A2
	  from Sheet1 -> Sheet2.  The reference to A2 should be considered
	  'inside'.  References to Sheet2!A2 have already been #REF!ed.

	* src/commands.c (cmd_paste_cut_redo) : Use range_check_sanity.

	* src/sheet.c (sheet_cell_insert) : Render if necessary.
	(sheet_move_range) : Extra care is only necessary if the source and
	  target sheets are the same.  When they are different we should just
	  invalidate all references to the target range.

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

	* src/workbook.c (workbook_history_update): Fix test to avoid
	  changing an already correct history.
	(workbook_destroy): Don't free wb->filename until we're through
	  using it.

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

	* src/gnumeric-sheet.c (selection_insert_selection_string) :
	  Set the position to where we expect it to be.
	(gnumeric_sheet_key_mode_sheet) : Only call sheet_update if we are not editing.

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

	* src/sheet.c (sheet_name_quote) : names with parethesis require quotes.

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

	* src/workbook-edit.c (workbook_finish_editing) : Restore the focus
	  from here.
	* src/workbook-control-gui.c
	(cb_cancel_input, cb_accept_input) : rather than here or here.

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

	* */*.[ch] : s/SheetView::sheet_view/SheetView::canvas/
	  This has been bugging me for months.

	* src/gnumeric-sheet.c (move_cursor) : stop the edit at this level
	  rather than in sheet_cursor_set.
	(gnumeric_sheet_key_mode_sheet) : Use move_cursor.

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

	* src/ranges.c (range_translate) : Split sanity check into new function.
	(range_check_sanity) : here.

	* src/xml-io.c (xml_read_range) : Use it.

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

	* src/sheet.c (sheet_new) : Be mroe fine grained about the changes to
	  the edit position.
	(sheet_flag_status_update_cell) : Only content and format have changed.
	(sheet_flag_status_update_range) : handle the new flags.
	(sheet_flag_format_update_range) : new function.
	(sheet_update_editpos) : delete and split up.
	(sheet_update) : Do each update separately. NOTE : this is broken.
	  All of these flags should be at the View level.

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

	* src/selection.c (sheet_selection_copy) : pass a workbookcontrol.
	(sheet_selection_cut) : Ditto.

	* src/commands.c (cmd_format_undo) : flag the format change.
	(cmd_format_redo) : Ditto.

	* src/workbook-control.h (wb_control_claim_selection) : new virtual.
	* src/application.c (application_set_selected_sheet) : Used here.
	(application_clipboard_copy) : Take a WorkbookControl.
	(application_clipboard_cut) : Ditto.

	* src/workbook-control-gui.c (wbcg_paste_from_selection) : new
	  function.
	(workbook_control_gui_ctor_class) : register it.

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

	* src/print-cell.c (print_cell_range) : We are only outputing
	  something in the case of a blank cell if the format is visible.

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

	* src/dialogs/dialog-stf.glade:
	Beautify dialog.

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

	* src/print-cell.c:
	(print_cell_range): Fix #29442, if a cell's background
	is 'printed' this also counts as a 'printed cell'

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

	* src/dialogs/dialog-autoformat.c:
	(dialog_autoformat): Kill memory leak, we were not freeing
	the list of acquired selection ranges.

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

	* src/commands.c (cmd_set_text_undo) : Use sheet_clear_region to
	  ensure that spans get regenerated in neighbouring cells.
	(cmd_set_date_time_undo) : Ditto.

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

	* src/number-match.c (format_create_regexp) : Fix typo in regexp.
	  Be careful to only match 1 or more digits as a number.

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

	* src/parser.y (unregister_allocation): plug leak.
	("line = error"): deallocate the result, just in case the parser
 	discovers the error after reducing the regular line production.
	(gnumeric_expr_parser): Initialise *parser_result.

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

	* src/commands.c (cmd_ins_del_row_col_undo) : Correct target range.

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

	* src/command-context-corba.[ch]: privatize the command context.

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

	* src/cmd-edit.c (cmd_paste) : change the selection when pasting.
	(cmd_shift_{rows,cols}) : Do not change the selection when pasting.

	* src/commands.c (cmd_paste_cut_{undo,redo}) : Only select the target
	  if requested.
	(cmd_paste_cut) : new argument.

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

	* src/value.c (value_new_from_string) : Reset errno on over/underflow.
	* src/number-match.c (format_match_simple) : Ditto.

	* src/parser.y (yylex) : reset errno in the event of over/underflow.
	  test for 'e' as an indicator of flaoting point numbers.

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

	* src/application.c (application_init) : Register a shrunken version
	  of the print preview.

	* src/workbook-control-gui.c (workbook_menu_file) : Use the new
	  shrunken print preview icon.

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

	* src/workbook-control-gui.c (cb_cancel_input) : renamed from
	  cancel_input, and return focus to the sheet.
	(cb_accept_input) : renamed from accept_input, and return focus
	  to the sheet.

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

	* src/item-grid.c (item_grid_popup_menu) : Use the MENU versions of
	  the stock pixmaps.

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

	* src/analysis-tools.c (get_data_groupped_by_columns): Properly
 	offset col.  Constify.
	(get_data_groupped_by_rows): Properly offset row.  Constify.

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

	* src/io-context.c (gnumeric_io_error_system): Added it.

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

	* src/workbook-view.c (wb_view_auto_expr) : Set LC_MONETARY and
	  LC_NUMERIC.
	* src/xml-io.c (xml_workbook_write) : Ditto.
	(xml_workbook_read) : Ditto.

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

	* src/dialogs/*.[ch] : WorkbookControlGUI is now required for gui
	  operations.  A WorkbookView is required to know which sheet is the
	  current.

	* src/xml-io.c : We now load/save WorkbookViews.

	* src/xml-io-autoft.c : Adjust to signature changes.

	* src/workbook.c : Split the View into WorkbookView.
	  Abstract the Controler interface, and move the GUI specific
	  implementation of the Controler into WorkbookControlGUI.

	* src/workbook-view.c : Complete rewrite with correct semantics.

	* src/workbook-private.h : Move all the GUI specific stuff into
	  WorkbookControlGUI were it belongs.

	* src/workbook-private.c (workbook_private_class_init) : Fix typo.

	* src/workbook-edit.c : These are now WorkbookControlGUI specific.
	  We should rename the functions eventually.
	* src/workbook-format-toolbar.c : Ditto.
	* src/workbook-object-toolbar.c : Ditto.

	* src/workbook-cmd-format.c : Adjust to signature changes.
	  and use WorkbookControlGUI were necessary.

	* src/style.c (style_font_new_from) : Delete dead code.

	* src/solver-lp.c : Adjust to signature changes.
	* src/sort.c : Ditto.
	* src/stf.c : Ditto. Make dialog conditional on gui-ness.

	* src/sheet.c (sheet_new_sheet_view) : IS_SHEET checks for NULL.
	(sheet_detach_sheet_view) : renamed from sheet_destroy_sheet_view
	  and only take a SheetView as argument.
	(sheet_new) : Do not create a view by default.
	(sheet_update_zoom_controls) : foreach control.
	(sheet_update_editpos) : ditto.
	(sheet_update) : handle multiple views and controls.

	* src/sheet-view.c : Commands take WorkbookControls rather than
	  CommandContexts.

	* src/sheet-object-widget.c : Most things take WorkbookControlGUI
	  rather than Workbooks.

	* src/sheet-object-container.c (sheet_object_container_new_view) :
	  Use the uic from the WorkbookControlGUI.

	* src/sheet-control.c : New file. Unused so far.
	  cp sheet-view.c sheet-control.c
	  s/SheetView/SheetControl/

	* src/print.c : Make the GUI dependency explicit.
	  At some point the setup dialog should be split out of here.

	* src/main.c (gnumeric_main) : Explicitly create a WorkbookControlGUI
	  only adding sheets if nothing was loaded.  Improve handing of exit
	  request while loading.

	* src/item-grid.c (item_grid_draw) : Filter the edit cell from here
	  because we know which control to use.
	(context_menu_hander) : Switch to WorkbookControlGUI.
	(item_grid_popup_menu) : Ditto.

	* src/item-edit.c : Everything takes a WorkbookControlGUI inplace of a
	  Workbook now.

	* src/item-cursor.c (item_cursor_target_region_ok) : dialog_run takes
	  a WorkbookControlGUI.
	(item_cursor_do_action) : All the commands take WorkbookControls.

	* src/item-bar.c (item_bar_event) : item_grid_popup_menu takes a
	  SheetView now.

	* src/history.c : Take WorkbookControlGUI.
	  Update all controls for each workbook.

	* src/gui-clipboard.c : Use 'unsigned char'

	* src/gnumeric.xml : More work to split commands from layout.

	* src/gnumeric-util.c (gnumeric_no_modify_array_notice) : Delete.
	(gnumeric_notice) : Take a WorkbookControlGUI.
	(gnumeric_wb_dialog_run) : Ditto.
	(gnumeric_dialog_run) : Ditto.
	(gnumeric_dialog_show) : Ditto.
	(gnumeric_set_transient) : Ditto.
	(gnumeric_glade_xml_new) : Ditto.
	(gnumeric_non_modal_dialog) : Ditto.
	(gnumeric_inject_widget_into_bonoboui) : Ditto.

	* src/gnumeric-sheet.c : SheetView now has a WorkbookControlGUI member
	  to keep track of which control it is associated with. Use it.

	* src/file.c : Adjust to lots of signature changes.
	  We now load/save WorkbookView rather than Workbook.
	  Add a placeholder struct IOContext so that we can consider doing
	  smarter import/export and dealing with warnings and missing things
	  smoothly.

	* src/eval.c (workbook_recalc_all) : After a recalc update all views.

	* src/commands.c (undo_redo_menu_labels) : foreach control.
	(command_undo) : ditto.
	(command_redo) : ditto.
	(command_push_undo) : change signature.  The workbookcontrol
	  now acts as the command context.

	* src/cmd-edit.c : Adjust to signature changes.

	* src/clipboard.c : split the gui specific X handlers out into a new
	  file.
	* src/gui-clipboard.c :  here.

	* src/cell-draw.c (cell_draw) : Do not test the sheet for whether or
	  not to we are editing.  That is at the control level.  Test it in
	  the rendering loop.

	* src/bonobo-io.c : FIXME. adjusted to signature changes.  Totatly
	  broken for now.  This needs a View rather than a Model and should be
	  associated with something.

	* src/application.c (application_workbook_list_add) : New function.
	(application_workbook_list_remove) : New function.
	(application_workbook_list) : New function.
	(application_clipboard_copy) : foreach control.
	(application_clipboard_cut) : foreach control.
	(application_clipboard_clear) : foreach control.
	(application_workbook_foreach) : renamed from workbook_foreach.
	(application_set_selected_sheet) : FIXME. Disabled for now.

	* src/about.c (cb_closed) : Associated the flag with the control
	  directly.
	(dialog_about) : dialogs are associated with gui-controls.

	* src/analysis-tools.c : change all dialog signatures to handle MVC
	  split of workbook.

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

	* src/Makefile.am : Add new command-context,  io-context,
	  workbook-view, workbook-control, workbook-control-gui files.
	  Remove old command-context-gui, command-context-corba, and disable
	  corba-* for now.

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

	* idl/gnumeric-graphs.idl : Remove studdly caps.  I wish people would
	  make up their minds.

	* idl/Gnumeric.idl : Remove Workbook::show.

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

	* BUGS : Update.
	* NEWS : Update.
	* TODO : Update.

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

	* src/functions/fn-math.c (gnumeric_sumproduct): Plug leak.

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

	* src/commands.h, src/commands.c:
	(cmd_autoformat_undo): New, undo for the autoformat.
	(cmd_autoformat_redo): New, redo for the autoformat.
	(cmd_autoformat_destroy): Part of undo/redo.
	(cmd_autoformat): Idem.

	* src/format-template.h: Correct outdated comment.

	* src/format-template.h, src/format-template.c:
	(format_template_member_clone): New, clone a templatemember.
	(format_template_clone): New, clone a format template.
	(cb_format_sheet_style): Insert extra checks.
	(cb_format_sheet_border): Idem.
	(format_template_apply_to_sheet_selection): Renamed.
	(format_template_apply_to_sheet_sheet_regions): Modification of the
	above function, now accept a separate list of regions.

	* src/dialogs/dialog-autoformat.c:
	(dialog_autoformat): Modify so it calls upon routines which record
	undo/redo information.

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

	* configure.in (Configuration): add scary message about Gnome Basic.

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

	* src/bonobo-io.c (gnumeric_bonobo_{read|write}_workbook):
	Forgot to tell: Also replaced vfs storage, which no longer exists
	in Bonobo, with efs, which does. It doesn't seem to work, but
	that's a different matter.

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

	* src/clipboard.c:
	(x_selection_to_cell_region): Correct 'char' into 'unsigned char' so the eror
	message will display the correct ASCII decimal.

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

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

	* configure.in: Require Bonobo >= 0.26.

	* src/bonobo-io.c (write_stream_to_storage,
	gnumeric_bonobo_write_workbook): Switch from
	Bonobo_Storage_create_stream (which no longer exists) to
	Bonobo_Storage_open_stream
	(gnumeric_bonobo_obj_write, read_stream_from_storage,
	gnumeric_bonobo_write_workbook, gnumeric_bonobo_read_workbook):
	Use BONOBO_EX macro for clarity.

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

	* configure.in: Depend on gb-0.0.14 (CVS)

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

	* src/sheet-object-bonobo.c: Remove #ifdef ENABLE_BONOBO's
	(open_cb, sheet_object_bonobo_populate_menu): impl.
	(sheet_object_bonobo_class_init): hook in.
	(sheet_object_bonobo_load_from_file): upd.

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

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

	* src/gnumeric.xml: Start to separate out cmds / widgets, a very
	long and tedious job, s/Menu_Open/Open/ etc.

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

	* src/workbook-format-toolbar.c (workbook_format_toolbar []): Now
	also for non bonobo case: Add button to replace font and size
	selectors in vertical mode.
	(workbook_format_toolbar_orient): Show/hide font button mentioned
	above.
	(workbook_create_format_toolbar): Hide font button.

	* src/workbook-format-toolbar.h: Update all toolbar item indexes.

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

	* src/selection.c (selection_to_list) : delete.
	(selection_get_ranges) : implement  allow_intersection.
	(selection_apply) : change the signature of the callback.

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

	* src/sheet-object-container.c: include bonobo-object-directory.h

	* configure.in: depend on gb >= 0.0.13 and libole >= 0.1.7

	* README: update to reflect this.

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

	* src/gnumeric.xml: Add tips for toolbar undo and redo.  Correct
	tip for menu PrintPreview.  Add tip to toolbar zoom.  Don't
	display it when vertical.  Add tips to toolbar font name and font
	size controls. Replace them with a button in vertical mode. (2
	controls -> 1 button.)  It invokes the font page of the format
	dialog. Add tips to toolbar border, background and foreground
	selectors.

	* src/workbook-format-toolbar.c (font_select_cmd): New
	command. Pop up cell format dialog at font page.
	(workbook_feedback_set): Remove warning by not defining toolbar
	variable for bonobo.
	(workbook_format_toolbar_orient): Remove warning by undefining
	this for bonobo.

	* src/workbook.c (format_cells_cmd): Call dialog_cell_format
	with new parameter pageno = FD_CURRENT.

	* src/item-grid.c (context_menu_hander): Ditto

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

	* src/gnumeric.xml.h: commit to CVS.

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

	* src/format.c (do_render_number) : Brown paper bag.  Bug 29068.
	  I HATE global variables.
	(fmt_general_float) : Rewrite to rationalize and catch some corner
	  cases.

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

	* src/gnumeric.xml: don't display the zoom control when vertical.

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

	* configure.in (gnumeric_executable): check for (CVS) Bonobo 0.24

	* src/file.c (do_load_from): split from (workbook_load_from): upd.
	(workbook_try_read): use do_load_from to kill (empty) message box.

	* src/bonobo-io.c (gnumeric_bonobo_io_probe): remove annoying warning.

	* src/sheet-object-container.c (sheet_object_container_new_file):
	move this ugly code into bonobo and clean; make D&D components work again.

	* src/bonobo-io.c (gnumeric_bonobo_write_workbook): update for HEAD
	Bonobo.
	(gnumeric_bonobo_read_workbook): ditto.

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file): upd.

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

	* src/format.c (format_value) : Only format doubles as ints if they
	  fit in an integer.
	(fmt_general_int) : improve handling of log (0).
	(fmt_general_float) : ditto.  Increase (temporarily) the width of a
	  decimal point.

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

	* src/format.c (fmt_general_float) : clamp the precision at DBL_PREC.

	* src/rendered-value.c (rendered_value_new_ext) : Don't forget the
	  intercharacter spacing when approximating the width of a character.

	* src/str.c (string_get_nocopy) : new function.

	* src/cell.c (cell_set_value) : Use it.

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

	* src/rendered-value.c (rendered_value_new_ext) : fix some leaks.

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

	* src/clipboard.c (clipboard_paste_region) : no need to clear the
	  formats.  We are going to be pasting over them later.  This means
	  that we don't rerender everything in the region then replace it.

	* src/rendered-value.c (rendered_value_new_ext) : Pass colwidth as a
	  float to get beter resolution.
	* src/format.c (format_value) : Ditto.

	* src/format.c (fmt_general_float) : More tuning.

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

	* src/sheet.c (sheet_update) : RE_RENDER when a span calc is forced.
	  This is a bit brute force for now, but is necessary to force the
	  re-rendering of values that may have width dependent formats.
	  I've noted a possible future enhancement that would remove this req
	  at the cost of some complexity.

	* src/format.c (fmt_general_float) : new function.
	(fmt_general_int) : new function.
	(format_value) : Use the new routines.

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

	* src/cell.c (cell_set_value) : Re-render the entered text to handle
	  width dependent formats.

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

	* src/print-cell.c (print_overflow) : improve drawing of hash marks.
	* src/cell-draw.c (draw_overflow) : to always draw at least one hash.

	* src/rendered-value.c (rendered_value_new_ext) : pass in approx
	  column width in characters for use by general.

2000-10-14  Chema Celorio  <chema@celorio.com>

	* src/workbook.c (workbook_sheet_get_free_name): remove g_assert not
	reached, as it was reached when duplicating sheets with names like :
	"Sales (1995)". If we have a sheet with a number in parenthesis and
	the number is > 1000. Duplicate it with the name "Name (numer) (2)".

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

	* src/rendered-value.c (rendered_value_new) : Handle the unrefing of
	  the local style here.
	(rendered_value_new_ext) : rather than here.
	(rendered_value_calc_size) : handke the unrefing of the local style
	  here.
	(rendered_value_calc_size_ext) : rather than here.

	* src/preview-grid-controller.c (cb_grid_get_cell) : Adjust the
	  semantics of the rendered_value_*_ext methods so that they don't
	  unref the styles.

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

	* src/position.c (parse_pos_init) : Relax the restrictions.

	* src/workbook.c : Improve wording of Names->Define.

	* src/gnumeric.xml : fix typo with Insert->Names->Define

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

	* src/item-cursor.c (item_cursor_destroy) : Move the destruction of
	  the tip here.
	(item_cursor_drag_event) : from here.  do not destroy the cursor.
	(item_cursor_do_action) : destroy the cursor here.
	(item_cursor_do_drop) : and sometimes here.

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

	* configure.in: Require bonobo >= 0.21. We now use
	bonobo_ui_util_encode_str - added since 0.20.

	* src/gnumeric.xml: Bonobo no longer supports placeholder
	delimit="both". Use "top" and a separator instead. Indicate
	separators by <separator/> instead <menuitem/>. Change last
	remaining descr to _tip.

	* src/history.c (history_menu_insert_items): Bonobo changed
	again. We fix.
	(file_history_cmd): Use "tip" instead of "descr"

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

	* src/main.c (gnumeric_main) : manually init the corba factories after
	  the support subsystems are initialized, but before the workbooks are
	  created.  This needs some serious cleaning.

	* src/embeddable-grid.c (EmbeddableGridFactory_init) : return a flag
	  for later use.
	(grid_view_activate) : focus on the widget not the containing object.

	* src/corba-args.c (gnumeric_arg_parse) : Do not init the corba
	  factories yet.  they were getting called before the application was
	  ready.

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

	* src/gnumeric-util.c (gnumeric_create_popup_menu) : Generalized and
	  moved from item-grid.c

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

	* src/history.c (file_history_cmd): Removed yet another vestige of
	the old Bonobo UI Handler code: Changed `BonoboUIHandler *uih' to
	`BonoboUIComponent *uic.

2000-10-11  Martin Baulig  <baulig@suse.de>

	Removed the last bits of the old Bonobo UI Handler code.

	* src/workbook-private.h (WorkbookPrivate): Changed `BonoboUIHandler *uih'
	to `BonoboUIComponent *uic'.
	* src/workbook.c (workbook_new): Create the BonoboUIComponent here.

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

	* src/gnumeric-util.c (run_popup_menu) : Delete.
	(popup_menu_item_activated) : Delete.
	(gtk_radio_button_select) : Delete.

	* src/item-cursor.c (item_cursor_do_drop) : Use item_grid_popup_menu.

	* src/sheet-object.c (display_object_menu) : Rename from create_popup_menu
	  and display the menu.
	(control_point_handle_event) : simplify with display_object_menu.
	(sheet_object_canvas_event) : simplify with display_object_menu.

	* src/gnumeric-util.c (gnumeric_popup_menu) : Do not pass the button
	  number from the event that is poping up the menu.  That disables the
	  ability to select a menu item via a different button.

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

	* src/workbook-private.c (workbook_private_init) : Init the
	  updating_toolbar flag.

	* src/workbook-format-toolbar.c (set_selection_halign) : Use the
	  updating toolbar flag so that the bonobo version (which does not
	  disable the callbacks) works correctly.
	(change_selection_font) : Ditto.
	(workbook_format_toolbutton_update) : Remove the hackish static and use a real flag.

	* src/gnumeric.xml : Update for the new bonobo.

	* configure.in (AM_INIT_AUTOMAKE) : follow new protocol and bump
	  version immediately after release rather than before.
