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

        * Release 0.56

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

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

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

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

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

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

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

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

        * Release 0.55

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/value.h: Update value_compare prototype.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/functions/fn-math.c (gnumeric_round): Round properly.

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

	* src/workbook.c (sort_cmd): Adjust if the range to be sorted
	has a header.

	* NEWS: Update. 

	* src/ranges.h: New prototype.

	* src/ranges.c (range_has_header): New function to determine if
	a region has a header row.

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

	* src/item-cursor.c (item_cursor_update) : Change sheet -> sheet-view.
	(item_cursor_set_bounds) : Add a short circuit test and return TRUE
	  if things changed.
	(item_cursor_selection_event) : Take a SheetView.
	(item_cursor_target_region_ok) : sheet -> sheet-view
	(item_cursor_do_action) : Ditto.
	(item_cursor_set_arg) : Ditto.
	(item_cursor_class_init) : Ditto.
	(item_cursor_set_bounds_visibly) : Make the cell visible before
	  changing the bounds.
	(cb_move_cursor) : New function.
	(cb_autofill_scroll) : New function.
	(item_cursor_handle_motion) : New function.
	(item_cursor_drag_event) : Enable timer based scrolling.
	(item_cursor_autofill_event) : Ditto.

	* src/gnumeric-sheet.c (start_cell_selection_at) : item-cursor takes a
	  sheet-view rather than a sheet.
	(gnumeric_sheet_new) : Ditto. Only update if the bounds changed.

	* src/item-edit.c : Take a SheetView rather than a Sheet.

	* src/sheet-view.c (sheet_view_start_sliding) : Return a flag
	  indicating whether or not the timer has been triggered.

	* src/border.c (LineDotPattern) : Fixed const.

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

	* src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
	  ok now I understand what those calls to
	  gnome_canvas_get_scroll_offsets where supposed to do.

	* src/colrow.c (col_row_restore_sizes) : Arrgghh.  Stupid typo.
	(col_row_restore_sizes_group) : Patch leak.

	* src/workbook-edit.c (entry_changed) : Only autocomplete text that
	  begins with an alphabetic

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

	* src/sheet-view.c (sheet_view_{col,row}_selection_changed) :
	  Do not make the edge visible, the scroll time will take care of
	  that.
	(sheet_view_{col,row}_size_changed) : Use the new undo wrappers.
	(cb_colrow_resize) : Use the new undo wrappers.
	(sheet_view_init) : Init the scroll timers.
	(sheet_view_stop_sliding) : Based on the version from item_grid.
	(sheet_view_start_sliding) : Ditto.
	(sheet_view_sliding_callback) : Ditto.  Added callback support.
	  tuned scroll parameters.

	* src/number.h : Clear out unused cruft.

	* src/item-grid.c : Move support for scroll timers into sheet-view.

	* src/item-bar.c (get_element_from_pixel) : Renamed from
	  get_col_from_pos.
	(cb_extend_selection) : New function.
	(item_bar_event) : Use the sliding scroll mechanism in sheet_view.

	* src/item-cursor.c (item_cursor_selection_event) : Adapt to changes in
	  item_grid_find_{col,row}.
	(item_cursor_drag_event) : Ditto.

	* src/sheet.c (sheet_foreach_colrow) : renamed and moved to.
	* src/colrow.c (col_row_foreach) here.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : Moved here
	  and renamed from.
	* src/item-grid.c (item_grid_find_{col,row}) : here.

	* src/value.c (value_equal) : deleted.
	(value_compare) : Moved and renamed from
	* src/expr.c (compare) : here.
	(expr_dump_tree) : Delete replicated function.

	* src/colrow.c (col_row_size_list_destroy) :
	(col_row_index_list_destroy) : New function.
	(col_row_get_index_list) : New function.
	(col_row_set_sizes) : New function.
	(col_row_restore_sizes_group) : New function.

	(col_row_save_sizes) : Moved from sheet.c
	col_row_restore_sizes : Ditto.
	cb_set_row_height : Ditto.
	rows_height_update : Ditto.

	src/commands.c (cmd_resize_row_col*) : Implement.

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

	* src/commands.c (cmd_sort_undo): Take advantage of
 	sort_data_length and sort_permute_invert.
	(cmd_sort_destroy): leak fix.

	* src/sort.c (sort_data_length): Make public.
	(sort_permute_invert): New function.

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

	* src/workbook.c (change_displayed_zoom_cb): Set zoom using
	gtk_combo_text_set_text.
	(change_zoom_in_current_sheet_cb): Check that current sheet is non
	NULL.
	(workbook_zoom_feedback_set): Block callbacks while changing
	displayed zoom.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar):
	Drop the empty font name - that was needed in the option menu, but
	not now we're using a combo box.  Ignore nameless fonts in
	gnumeric_font_family_list. (We were displaying *two* blank lines
	at the top - now we've got rid of both.)
	(workbook_feedback_set): Set font size and font name using
	gtk_combo_text_set_text, which also selects the item in the combo
	list if present.  Get rid of hack to select font name in list -
	this is now done in the widget.
	(workbook_feedback_set):

	* src/sheet.c (sheet_set_zoom_factor): Check that sheet isn't NULL.

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

	* src/sort.c (sort_contents): Use the C-library's qsort.
	Fix permutation.  Speed up things.

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

	* src/format.c (format_number) : Escaped characters trigger a render
	  too.  This code really needs to be rationalized.

2000-06-07  Darin Adler  <darin@eazel.com>

	* src/history.c: (history_menu_item_create):
	Update name of call so it will compile with the latest Bonobo.

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

	* src/commands.c (cmd_set_text): Update code.

	* src/workbook-edit.c (workbook_auto_complete_destroy): Simplify
	test here. 

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

	* src/workbook.c (workbook_delete_sheet) : Update the undo/redo
	  toolbar and menus.

	* src/sort.c (sort_permute) : Avoid Leak.
	* src/commands.c (cmd_sort_destroy) : Avoid leak.
	(cmd_autofill) : Do not autofill if the target is the same as the
	  source.

	* src/main.c (gnumeric_main) : Fix typo that was breaking minicons.

	* src/item-bar.c (item_bar_end_resize) : Always emit signal.
	(item_bar_event) : On double click emit a signal with newsize == -1 to
	 indicate a need to autosize.

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

	* src/sort.c (sort_position): Call sort_permute with the given
	permutation index
	(sort_contents): Call sort_qsort to get a permutation index and
	then use sort_permute to actually move the rows
	(sort_permute): Use copy and paste to move rows/cols around
	(sort_permute_next): Find next row/col the hasn't been set based
	on the permutation array
	(sort_permute_is_set): Find if a a bit in a bit array is set
	(sort_permute_set): Set a bit in a bit array
	(sort_permute_find): Find a given number in a permutation array
	(sort_qsort): Produce a permutation index for sorting rows or cols 
	(sort_swap): Swap two entries in the permutation index
	(sort_compare_sets): Compare two sets of cells
	(sort_compare_cells): Compare two cells
	(sort_data_destroy): Destroy SortData struct

	* src/commands.c (cmd_sort): Store the new sort data structure
	(cmd_sort_redo): Call sort_contents only if a permutation index
	does not already exist, otherwise use the index with sort_postion
	(cmd_sort_undo): Create an inverse of the permutation index
	if it doesn't already exit to call sort_positon with

	* src/commands.h: New cmd_sort prototype.

	* src/workbook.c (sort_cmd): Reflecting sorting API changes

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

	* src/cell.c (cell_relocate) : when relocating the expression
	  be careful to use the offsets when calculating the validity.

	* src/workbook-edit.c (workbook_auto_complete_destroy) : Only remove
	  signal if it has been activated.  Only delete the completer if it
	  exists.

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

	* src/gnumeric-util.c (gtk_radio_button_select): Add
	precondition.  Chema found this, but we should add the proper
	check at an upper layer.

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

	* src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p):
	Change prototype to use GtkEntry instead of GtkWidget.

	* src/workbook-edit.c (workbook_finish_editing): Changed direct access to
	workbook->private_entry to workbook_get_entry. 
	(entry_changed): ditto.
	(workbook_start_editing_at_cursor): ditto.
	(workbook_editing_expr): ditto.
	(workbook_edit_get_display_text): ditto.

	* src/workbook.c (autosum_cmd): Changed direct access to
	workbook->private_entry to workbook_get_entry. 
	(do_focus_sheet): ditto.
	(wb_edit_key_pressed): ditto.
	(workbook_setup_edit_area): ditto.

	* src/workbook.c (cb_autofunction): ditto.

	* src/workbook-private.h: Make edit_line a structure to keep track
	of the entry and its signal changed.  Also take a chance to change
	this to the self descriptive GtkEntry instead of GtkWidget.

	* src/commands.c (cmd_set_text): Added const here.

	* src/workbook.c (workbook_do_destroy): Add destroy notification
	for the editing facilities

	* src/item-edit.c (item_edit_set_arg): removed auto complete code
	from here. 

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

	* src/workbook-edit.c, src/workbook-edit.h: New files.  Moved
	workbook_start_editing_at_cursor, workbook_finish_editing,
	workbook_get_entry, workbook_editing_expr here.  Killed
	workbook_set_entry prototype.

	* src/workbook.c (workbook_start_editing_at_cursor): Moved
	autocomplete here. 

	* src/workbook.h: Removed warning.  #include <config.h> is a
	mandatory header file in every C file.  A correct approach is to
	use something like Nautilus' perl script that verifies the
	presence of config.h as the first include.

	* src/workbook.c (close_cmd): Removed ulgy (void)
	(quit_cmd): More.
	(sheet_action_rename_sheet): more.
	(workbook_finish_editing): Fixed more ugly.

	* src/gutils.c (gnumeric_sys_glade_dir): Fixed ugly indentation.
	(gnumeric_usr_plugin_dir): More ugly stuff fixed.
	(gnumeric_usr_dir): Removed ugly const.

2000-05-02  Miguel de Icaza  <miguel@helixcode.com>

	* src/item-edit.h: New ::entry member, auto_max_size, auto_complete_text

	* src/item-edit.c (item_edit_draw_text): Take an ItemEdit as a
	first argument, and reduce the cluttered arguments we were
	passing.
	(item_edit_draw): Cursor_pos is now only the position, it is not
	overloaded with show/hide cursor as well.
	(item_edit_draw_text): Update acoordingly.
	(item_edit_draw_cursor): This new routine paints the cursor only.
	(item_edit_set_arg): Add a new signal handler for "activated" on
	the entry
	(cb_item_edit_cursor_blink): Removed FIXME.
	(item_edit_set_arg): Init item_edit->entry.  I am pretty sure this
	existed in the past.

2000-05-01  Miguel de Icaza  <miguel@helixcode.com>

	* src/item-edit.c (item_edit_draw): Pass auto-completing flag.
	(item_edit_draw_text): Invert auto-complete region.
	(item_edit_set_arg): Init auto_completing here.
	(item_edit_complete_notify): Set the entry from the
	auto-completing data here.

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

	* src/sheet.c (sheet_cell_expr_{link,unlink}) : renamed from
	  sheet_cell_formula_{link,unlink}.

	* src/cell.c (cell_relocate) : Doh! use the offset flags now that they
	  are being passed.

	* src/clipboard.c (paste_cell) : Renamed from paste_cell_flags.

	* src/expr.c (compare) : value_is_empty_cell -> VALUE_IS_EMPTY.

	* src/value.c (VALUE_IS_EMPTY) : rename from value_is_empty_cell.

	* src/sheet-private.h : Add resize_scrollbar.

	* src/sheet.c (sheet_{col,row}_add) : Use resize_scrollbar flag rather
	  than manually updating the scrolling bar.
	(sheet_update) : Handle resize_scrollbar.
	(sheet_cell_expr_link) : renamed from sheet_cell_formula_link.
	(sheet_cell_expr_unlink) : renamed from sheet_cell_formula_unlink.

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

	* src/value.c (value_is_empty_cell) : str == "" is not empty

	* src/expr.c (compare) : comparisons between "" and empty are special.

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

	* src/sheet.c (sheet_cell_add_to_hash) : Set the CELL_IN_SHEET_LIST
	  flag.
	(sheet_cell_remove_from_hash) : Clear the CELL_IN_SHEET_LIST flag.
	(cb_remove_allcells) : Ditto.
	(sheet_cell_formula_link) : Set the CELL_IN_EXPR_LIST flag.
	(sheet_cell_formula_unlink) : Clear the CELL_IN_EXPR_LIST flag.
	(sheet_formulas_unlink) : Ditto.

	* src/clipboard.c (paste_cell_flags) : Take some additional arguments
	  so that pasted cells can potentially have their references made
	  invariant, this is for sorting.
	(clipboard_paste_region) : Pass the additional offsets when
	  PASTE_EXPR_RELOCATE is specified.
	(append_cell_closure_t) : Delete this type.  Move the origin cell info
	  into CellRegion.

	* src/cell.c (cell_copy) : Clear the sheet and associated flags for
	  the copied cell.  This avoids accidentally realizing comments that
	  become undeletable.
	(cell_relocate) : Remove the unlink flag now that we have the
	  additional cell_flags.

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

	* Makefile.am (SUBDIRS): remove libole2. duh.

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

	* src/selection.c (sheet_selection_reset) : Delete unused routine.
	(sheet_selection_to_list) : Ditto.

	* src/item-cursor.c (item_cursor_autofill_event) : Use new undoable
	  version of autofill.

	* src/corba-sheet.c (Sheet_selection_reset) : Delete.

	* src/commands.c (cmd_area_set_text_undo) : We want to restore
	  formulas, not values.
	(cmd_clear_selection) : Paste by value should be exclusive of paste by
	  formula.
	(cmd_autofill_*) : New functions.

	* idl/Gnumeric.idl : Remove useless function selection_reset.

	* src/number-match.c (format_match) : Handle numbers larger than
	  LONG_{MAX,MIN} by falling through to double.

	* src/sheet.c (sheet_recompute_spans_for_col) : Use closure.

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

	* src/xml-io.c (xml_sheet_write) : Adjust to changes in
	  sheet_foreach_colrow.

	* src/sheet.c (sheet_foreach_colrow) : Adjust signature.
	(colrow_compute_pixels_from_pts) : Adjust to changes in sheet_foreach_colrow.
	(sheet_set_zoom_factor) : Ditto.
	(cb_recalc_spans_in_col) : Ditto.
	(sheet_recompute_spans_for_col) : Ditto.
	(cb_colrow_compute_pixels_from_pts) : New function wrapper.
	(sheet_find_boundary_{horizontal,vertical}) : Fix case of being on the
	  last non-blank element of a col/row and jumping to the far edge.
	(sheet_move_range) : Redraw prior to moving incase the src region
	  contains a span.

	(sheet_redraw_cell_region) : Be more intelligent about skipping over
	  large empty regions.
	(sheet_cell_foreach_range) : Ditto.

	(cb_check_array_{horizontal,vertical}) : new functions.
	(sheet_range_splits_array) : Rewrite to be use sheet_foreach_colrow.

	* src/selection.c (sheet_selection_cut) : Adjust to changes in
	  sheet_range_splits_array.

	* src/commands.c (cmd_paste_cut_undo) : Select the src range when
	  undoing a cut.  This seems like a nice effect.

	* src/colrow.c (cb_set_row_height) : Adjust to the changes in
	  sheet_foreach_colrow.

	* src/auto-format.c (auto_format_suggest) : Make static.

	* src/gnumeric-util.c (gnumeric_wb_dialog_run) : Silence warning.

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

	* src/gnumeric-util.c (gnumeric_wb_dialog_run): Do not set parent
	if parent is already the right one. This avoids unwanted moving of
	already displayed dialogs.

	* src/about.c: Make sure it is only popped up once
	(cb_closed): New callback to remove dialog from workbook window's
	object data.
	(dialog_about): Check if dialog exists as object data on workbook
	window. If so, raise dialog window instead of creating a new one.
	Otherwise store dialog as object data, and connect signal handler
	for "close".  Replace calls to gnome_dialog_set_parent,
	gnome_dialog_set_close and gtk_widget_show with a call to
	gnumeric_dialog_show which does it all.

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

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

	* configure.in: kill CONFIG_SUBDIRS for libole2.

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

	* src/dialogs/dialog-stf.c :
	(stf_dialog_druid_page_cancel) : Remove misplaced gtk_main_quit.

	* src/dialogs/dialog-stf-export.c :
	(stf_export_dialog_druid_page_cancel) : Idem.

2000-06-01  Kenneth Christiansen <kenneth@gnu.org>

        * po/desk.pl, po/update.pl: Two new scripts for helping 
        translation/i18n maintainance of Gnumeric

        * po/README.tools: Added readme file, which explains the
        use of the newly checked in po tools.

	* NEWS: Added notice about this

        Please go read.

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

	* configure.in : Improve naming for libxml messages.

	* src/functions/fn-information.c (gnumeric_countblank) : Fix typo
	  reported by <matasmi@iki.fi> Bug 12428.

	* src/sheet.c (sheet_move_range) : invalidate destination before
	  adjsuting src to point to dst.
	(cmd_paste_cut_*) : keep a list of displaced content, not just the
	  lost bits of the destination range, but also the portions of the src
	  that are out of range.

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

	* src/commands.c (cmd_ins_del_row_col_destroy) : Fix leak.
	(cmd_paste_cut_*) : We do need to worry about invalidations.  Any
	  references to the portions of the destination region that do not
	  overlap the src region get invalidated.

	* src/ranges.c (range_translate) : Adjust the semantics so that the
	  result warns of a range that was translated completly out of bounds.

	* src/sheet.c (sheet_move_range) : Invalidate the references to the
	  portions of the destination range that do NOT overlap with the src.
	(sheet_shift_{cols,rows}) : Rename and move to..
	* src/cmd-edit.c (cmd_shift_{cols,rows}) : here.  Use cmd_paste_cut
	  instead of sheet_move_range directly.

	* src/dialogs/dialog-{insert,delete}.c : Switch to cmd_shift_{cols,rows}.

	* src/history.c (history_menu_insert_separator) : Add a more detailed
	  explaination when the history lookup fails.

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

	* src/format.c (find_decimal_char): Remove over-constification.
	(format_remove_decimal): Terminate the copy properly.

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

	* src/dialogs/dialog-printer-setup.c (enum MarginOrientation): Add
	MARGIN_NONE for use with set_horizontal/vertical_bounds.
	(spin_button_set_bound): New function. Allow the value in spin
	button to increase by at most space_to_grow.
	(get_printable_width): New function. Return page width minus
	margins in specified unit.
	(get_printable_height): New function. Return page height minus
	margins, header and footer in specified unit.
	(set_horizontal_bounds): New function. Set the upper bounds for
	left and right margins.
	(set_vertical_bounds): New function. Set the upper bounds for
	top/bottom margins, headers and footers.
	(draw_margin): Add default branch to silence warning - MARGIN_NONE
	now exists.
	(canvas_update): Update bounds for margins when paper size has
	changed.
	(spin_button_adapt_to_unit): New function. Select suitable
	increments and number of digits for the unit.
	(do_convert): Call function above.
	(unit_changed): Update bounds for margins when a margin has
	changed.
	(unit_editor_configure): Call spin_button_adapt_to_unit.

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

	* src/commands.c (cmd_ins_del_row_col_undo) : Bounds are inclusive.

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

	* src/item-grid.c (create_popup_menu) : translate the menu labels.

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

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load),
	(sheet_object_bonobo_load_from_file): update for new PersistStream API.

	* configure.in (gnumeric_executable): check for bonobo 0.14

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

	* src/expr.c (cellrange_relocate) : Only relocate a range if both
	  elements need relocation.

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

	* src/xml-io.c (xml_workbook_write) : Arrrggh.  textdomain seems to
	  use a static buffer.  We need to strdup the result.  A more thorough
	  reading of the docs suggests that changing the textdomain is
	  completely wrong.  It is not doing what I had originally thought at
	  all.  Any idea what the correct solution would be ?  I'll patch this
	  for now because 12461 is serious, and this does solve the problem,
	  even if the solution is crap.

2000-05-29  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/commands.c: Including dialogs/dialog-autocorrect.h (warning fix)

	* src/workbook.c (workbook_create_standard_toobar): Turn off the
	button reliefs on the toolbar

2000-05-28  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/workbook.c: Create and insert GtkComboStacks into the
	toolbar for Undo/Redols

	* src/commands.c: Use the new undo/redo stack methods

	* src/workbook-view.[ch]: Several new methods to modify the user interface
	to the undo/redo stack

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

	* src/commands.c (cmd_paste_copy_undo) : The first time through we
	  transpose.  After that we are jsut replace the old content.  no
	  transpose needed.

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

	* src/commands.c (cmd_paste_copy_undo) : handle paste errors.
	(cmd_paste_copy_destroy) : do not release unless we are permitted to.
	(cmd_paste_copy) : When pasting a transpose we are more lenient about
	  resizing things.  I am not sure I agree with this behavior.

	* src/clipboard.c (clipboard_paste_region) : Return a boolean
	  indicating success or failure.

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

	* src/clipboard.c (clipboard_paste_region) : Off by one error.

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

	* src/sheet.c (sheet_update) : When recalulating all spans, we may
	  need to render some cells too.
	(sheet_move_range) : Do not call sheet_update here.
	(sheet_shift_rows) : Call it here.
	(sheet_shift_cols) : and here.

	* src/commands.c (cmd_paste_cut_undo) : Do a recalc.
	(cmd_paste_cut_redo) : No need to force a status range update, move
	  already did that.

	* src/cmd-edit.c (cmd_paste) : typo.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Chift/Ctrl
	  space are not active while editing.

	* src/workbook.c (function_druid) : Disable until this works better.

	* src/commands.c (cmd_paste_copy_undo) : Mark the sheet as dirt, and
	  do a recalc.

	* src/clipboard.c (clipboard_paste_region) : flag the need to
	  potentially update the status range.

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

	* src/clipboard.c (x_selection_received) : Do not try to paste if the
	  conversion was canceled.
	(clipboard_paste_region) : Respan/rerender as necessary after pasting.

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

	* src/commands.c (cmd_paste_copy) : Move the handling of singletons
	  and the setting of the selection here.
	* src/clipboard.c (clipboard_paste_region) : From here.

	* src/cmd-edit.c (cmd_paste_to_selection) : Remove incorrect
	  precondition.

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

	* src/functions/fn-math.c, fn-stat.c, fn-lookup.c: typos in
	description fixed.

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

	* src/dialogs/stf-parse.c: 
	(stf_parse_options_set_trim_spaces): New function.
	(stf_parse_csv_cell): Modified so it can trim spaces in 
	several ways
	(stf_parse_fixed_cell): Ditto.
	(stf_parse_get_longest_row_width) : Fixed small bug which
	caused incorrect width to be returned.

	* src/dialogs/dialog-stf.glade:
	Added trim spaces option and did some general polishing.
	
	* src/dialogs/dialog-stf.h:
	Added new member to DruidPageData_t which indicates weather
	the user wants to trim spaces and in which way.
	
	* src/dialogs/dialog-stf-main-page.c:
	(stf_dialog_main_page_init): Modified so it loads the trim optionmenu.
	(main_page_trim_menu_deactivate): New.

	* src/dialogs/dialog-stf-csv-page.c:
	(stf_dialog_csv_page_prepare): Now sets the trim member of the parse
	options struct.

	* src/dialogs/dialog-stf-fixed-page.c:
	(stf_dialog_fixed_page_prepare): Now sets the trim member of the 
	parse options struct.
	(stf_dialog_fixed_page_prepare): Did not honor the from/to line 
	settings.
	(fixed_page_remove_clicked): Added gnumeric_clist_moveto to make 
	selection visible.
	(fixed_page_add_clicked): Ditto.

	* src/dialogs/dialog-stf-format-page.c:
	(format_page_canvas_button_press_event): Modified to use
	gnumeric_clist_moveto
	(format_page_collist_select_row): Ditto.
	(format_page_format_changed): Ditto.
	(stf_dialog_format_page_prepare): Ditto.
	
	* src/gnumeric-util.c, src/gnumeric-util.h:
	(gnumeric_option_menu_get_selected_index): New function, Returns
	the selected index of a GtkOptionMenu. (Originally from
	dialog-stf-export-format-page.c)	

	* src/dialogs/dialog-stf-export-format-page.c:
	(stf_export_dialog_option_menu_index): Removed.
	(sheet_page_separator_menu_deactivate): Modified to use the new
	gnumeric_option_menu_get_selected_index.
	(stf_export_dialog_format_page_result): Ditto.

	* doc/stf-parser.txt:
	Update documentation.
	
2000-05-26  Jody Goldberg <jgoldberg@home.com>

	* src/clipboard.c (clipboard_paste_region) : Fix typo, and thinko.

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

	* src/selection.c (selection_is_simple) : Use a command context.
	(sheet_selection_paste) : Delete.

	* src/plugin.c : rename error_plugin_problem -> error_plugin.

	* src/item-grid.c (context_paste_cmd) : Use cmd_paste_to_selection.
	(context_paste_special_cmd) : Ditto.

	* src/gnumeric-sheet.c : remove cached 'controlling_entry' in
	  preparation for the function druid.

	* src/corba-sheet.c : Delete Sheet_selection_paste.
	  this will need to be replaced with a new signature.

	* src/item-cursor.c (item_cursor_do_action) : Use new cmd_paste.

	* src/commands.c (cmd_area_set_text_{undo,redo}) : Use new
	  clipboard_paste_region.
	(cmd_ins_del_row_col_{undo,redo}) : Ditto.
	(cmd_clear_{undo,redo}) : Ditto.
	(cmd_set_date_time_{undo,redo}) : Ditto.
	(cmd_paste_cut_*) : new functions.

	* src/command-context*.c : Add progress, remove splits_array.

	* src/cmd-edit.c (cmd_paste) : New function.
	(cmd_paste_to_selection) : New function.

	* src/clipboard.c : Reorganize/rewrite.
	(clipboard_paste_region) : paste content.
	(clipboard_paste) : paste content from clipboard or X selection.
	(paste_target_init) : New function.
	(sheet_paste_selection) : merge into clipboard_paste_region.

	* src/application.c (application_clipboard_copy) : rename
	  clipboard_copy_cell_range -> clipboard_copy_range.

	* idl/Gnumeric.idl : Merge InvalidValue, SplitsArray -> InvalidCmd.

	* src/workbook.c (workbook_setup_status_area) : Include a progress bar.

	* src/sheet.c (sheet_update) : SPANCALC_NO_DRAW exists now.

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

	* src/sheet.c (sheet_update): corrent SPANCALC_NO_DRAW to
	SPANCALC_RESIZE since the former does not exist.

2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c (unit_editor_configure):
	Hilight the currently edited margin

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

	* src/sheet.c (sheet_update) : Only redraw forech cell if we will not
	  be redrawing everything later.
	(sheet_{insert,del}_{cols,row}) : Mark the need to recompute spans on
	  next update.

	* src/print.c (print_{headers, footers}) : Headers and footers are
	  offset from the edge of the page by their own margins.  MS appears
	  to assume the order is edge -> header -> top.

2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c (draw_margin): Draw
	header/footer space correctly (computed in accordance to the
	top/bottom margins)

2000-05-25  ERDI Gergo  <cactus@cactus.rulez.org>

	* src/dialogs/dialog-printer-setup.c: The small page icon reflects
	the actual margin values

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

	* src/dialog/print.glade.h: insert /* xgettext: no-c-format */

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

	* src/dialogs/dialog-printer-setup.c: Add an option menu for
	selecting units to the margin page.  Read entire dialog from guile
	file rather than just reading contents and reparenting into a new
	GnomeDialog.
	(dialog_print_info_t): Add conversion_listeners list.
	(convert_to_{pt|mm|cm|in): These are no longer called directly as
	callbacks, so the unused widget parameter has been removed.
	(listeners_convert): New callback function invoked when a new unit
	has been selected. Receives a conversion function as callback data
	and invokes it on all the registered conversion listeners.
	(add_unit): Add dpi parameter. Remove data parameter. Connect
	listeners_convert.
	(unit_editor_new): Rename to unit_editor_configure. Connect target
	to existing spinbutton in glade dialog. Add dialog_print_info and
	spin button name parameter. Replace PrintUnit parameter with
	points and units. Use unit parameter instead of hardcoded
	centimeters. Register unit editor as a conversion listener. Make
	<Ret> in spin buttons invoke "OK". Remove deactivated code to
	display a unit selector for each margin.
	(tattach): Remove.
	(do_setup_margin): Use the top margin unit for display and ignore
	desired display for the others. Configure unit selector option
	menu. Call unit_editor_configure for each margin - previously
	unit_editor_new was called via tattach. Pack preview canvas in
	container instead of explicitly in table. Thus, the code no longer
	contains table coordinates, and the glade file can safely be
	changed.
	(do_setup_page): Make <Ret> in spin buttons and combo invoke "OK".
	(do_setup_main_dialog): Remove dialog reparenting hack -
	GnomeDialogs are now fully supported in Glade. Remove explicit
	focusing - now done in Glade file.
	(dialog_print_info_destroy): Free conversion listeners.
	(do_setup_page_info): Make <Ret> in entry fields and combo invoke
	"OK".

	* src/dialogs/print.glade(.h?): Turn into a complete GnomeDialog.
	Set consistent internal border in notebook pages. Rename rightmost
	page from "page" (used for two pages) to "sheet".
	(page page): Give meaningful name to first page number combo. Make
	it insensitive.
	(margin page): Add an option menu for units. Include spin buttons
	in glade file. Tweak layout.
	(sheet page): Give meaningful names to print area entry and
	comments combo. Make them insensitive.
	
	* src/dialogs/cell-format.glade: Add focus target to
	format_symbol_label to make Number/Currency/S_ymbol accelerator
	work.

	* src/dialogs/autocorrect-exceptions.glade: Add internal border to
	notebook pages.

	* src/dialogs/workbook-attr.glade: Add internal border to notebook
	pages and frames.

	* src/dialogs/dialog-workbook-attr.c (attr_dialog_impl): Set
	dialog title.

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

	* src/main.c (gnumeric_main): Style now needs to be initialised
 	before formats.

	* src/number-match.c (format_match): Take a StyleFormat ** instead
 	of a char ** for the suggested format.  All callers changed.
	(format_parse_t): rename member format to format_str and
 	introduce new member format, a StyleFormat *.
	(format_match_define): Get a style at this point.

	* src/datetime.c (datetime_value_to_serial_raw): Don't supply a
 	format return variable to format_match since we aren't interested
 	in the result.

	* src/parse-util.c (parse_text_value_or_expr): Return a
 	StyleFormat * instead of a char *.  All callers changed.

	* src/expr.c (expr_parse_string): Take a StyleFormat ** instead of
 	a char ** for the suggested format.  All callers changed.

	* src/parser.y (make_string_return): Turn parser_desired_format
 	into a StyleFormat **.
	(gnumeric_expr_parser): Take a StyleFormat ** instead of a char **
 	for the suggested format.  All callers changed.

	* src/auto-format.c (auto_style_format_suggest): New function.


	* src/sheet-style.c (sheet_style_optimize): Include adjacent
 	ranges in the list of styles to consider.  Handle intervening
 	styles better.  Don't stop searching for matching pairs just
 	because we merge -- only when the merge kills the slave.

	* src/ranges.c (range_dump): Don't print "\n".  All callers
 	changed as needed.

	* src/sheet-style.c (sheet_style_optimize, sheet_styles_dump):
 	Send all debugging output to stderr.  (As opposed to half stderr
 	and half stdout.)

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

	* src/file.c (workbook_import) : set the import dialog's parent widget
	  to be the PARENT workbook, not the new unrealized workbook.

	* src/cell.c (cell_set_expr_internal) : Actually assign the format
	  after we ref it.
	(cell_get_format) : Cells with format 'General' may appear to have
	  a format via autoformat or via the text that was entered.

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

	* src/cmd-edit.[ch] : New files.

	* src/workbook.c (cb_edit_select_*) : Use the cmd-edit utilities.
	Make a 'select' sub menu of edit.

	* src/sheet.c : Use the newly added CellPos in each Cell rather than
	  mallocing a seperate struct.

	* src/selection.c (sheet_select_all) : Move.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Make the
	  selection commands accelerators.

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

	* src/gnumeric-util.[ch] (gnumeric_toolbar_insert_with_eventbox):
	(gnumeric_toolbar_append_with_eventbox): New functions. Pack
	widget in eventbox and add eventbox to toolbar. This lets a
	windowless widget (e.g. combo box) have tooltips.

	* src/workbook-format-toolbar.c (workbook_create_format_toolbar):
	Enable tooltips for combo boxes. We do this by using
	gnumeric_toolbar_{insert|append}_with_eventbox instead of 
	gtk_toolbar_{insert|append}_widget.

	* src/workbook.c (workbook_create_standard_toobar): Ditto

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

	* src/dialogs/dialog-zoom.glade: Remove label from invisible
	column title.

	* src/dialogs/plugin-manager.glade(.h?): Add accelerators to
	notebook tabs.
	
	* src/dialogs/autocorrect-exceptions.glade(.h?): Add accelerators to
	buttons on notebook pages.

	* src/dialogs/workbook-attr.glade(.h?): Ditto.

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

	* src/clipboard.c (clipboard_copy_cell_range) : Adjust signature to
	  take a range.
	(sheet_paste_selection) : Export in preparation for adding undo.

	* src/commands.c (cmd_paste_copy) : Some initial work.  Not used or
	  complete.

	* src/parse-util.c (parse_text_value_or_expr) : Start passing in the
	  current format so that we can eventually attempt to match it before
	  trying all the others.

	* src/sheet.c (sheet_formulas_unlink) : New function.
	(sheet_destroy_contents) : Optimize.

	* src/dialogs/dialog-plugin-manager.c : Make a bit prettier.
	* src/dialogs/plugin-manager.glade : Ditto.

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

	* plugins/*/*.c : Rationalize the naming scheme.

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

	* src/eval.[ch] : Rename
	  cell_queue_recalc      -> eval_queue_cell
	  cell_queue_recalc_list -> eval_queue_list
	  cell_unqueue_recalc    -> eval_unqueue_cell
	(eval_unqueue_sheet) : New function.

	* src/sheet.c (sheet_cell_remove_simple) : Add precautionary removal
	  of cells from recalc list.  We should not need this in most
	  instances, but the check is inexpensive so I'll play it safe.
	(sheet_destroy_contents) : Batch cleanups rather than doing it cell by
	  cell.

	* src/cell.c (cell_make_value) : Fill in the implementation.

	* src/clipboard.c (paste_cell_flags) : Remove some dead code.
	  Merged in paste_cell and fixed handling of paste by value.

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

	* src/clipboard.c (paste_cell) : No need to call cell_content_changed
	  we can queue the recalc for the entire region later.  It is
	  sufficent to make the cell as changed with sheet_cell_changed.
	(paste_cell) : It is premature to redraw, we have no yet calculated
	  spans.  Redraw and respan at the range level, not the cell.

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

        * Release 0.54

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* configure.in: Bump required GB version.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* NEWS (Translations): Add gl.

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

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

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

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

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

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

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

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

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

	* src/commands.h : Reformat.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* Makefile.am: Typo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* Makefile.am: Install oafinfo.

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

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

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

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

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

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

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

	* Release 0.53

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/expr.h: create ExprRewriteInfo.

	* src/gnumeric.h: add ExprRewriteInfo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* *.c: s/strcasecmp/g_strcasecmp/

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

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

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

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

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

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

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

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

	* ExprName -> NamedExpression
	  ArrayRef -> ExprArray

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

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

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

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

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

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

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

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

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

	* configure.in: Handle oafinfo.in

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

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

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

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

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

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

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

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

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

	* acconfig.h: USING_OAF

	* configure.in: ditto.

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

	* HACKING: make it more explicit.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* configure.in: Add a few variables

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

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

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

	* configure.in: gnumeric-config magic

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

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

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

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

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

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

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

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

	* doc/translating.sgml: Typo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/gnumeric.h  : Add RenderedValue.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* NEWS (Translations): New top.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* configure.in (ALL_LINGUAS): Sort alphabetically.

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

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

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

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

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

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

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

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

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

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

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

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

	* src/*: s/ENABLE_BONOBO_PRINT/ENABLE_BONOBO/

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

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

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

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

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

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

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

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

	* configure.in: Bump required gb version.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/parser.y: correct include.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/main.c : Add main.h

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	(sheet_name_quote): Quote embedded quotes.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* src/workbook.c (workbook_create_standard_toobar): Ditto

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

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

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

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

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

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

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

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

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

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

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

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

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* src/file.c (can_try_save_to): Brown paper bag error.

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* src/file.c (wants_to_overwrite): New function. True if user
	wants to overwrite.
	(can_try_save_to): New function. True if it makes sense to try
	saving.
	(do_save_as): New function. Moved out of workbook_save_as. Handle
	the selection made in the save as dialog.

	* src/workbook.c (sheet_action_delete_sheet): Set initial focus.

2000-03-26  Karl EICHWALDER  <ke@suse.de>

	* src/workbook.c: A little bit more text.

2000-03-26  Jon K Hellan  <hellan@acm.org>

	* configure.in: Make Bonobo version require Bonobo >= 0.9. We have
	in fact been requiring CVS Bonobo for a while, now there is a
	released version we can depend on.

2000-03-26  Miguel de Icaza  <miguel@gnu.org>

	* src/ranges.c (range_parse): Better parser, now it correctly
	parses "A1+sum(A3:a4)" as a1, not as a1:a4.
	(range_parse): Eliminates also a memory leak.

2000-03-26  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) :
	  default size is 10 points.
	(workbook_create_format_toolbar) : Switch the size selector over to
	  gtk-combo-text too.

2000-03-26  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/plugin-util.c, src/plugin-util.h: New, ment for reducing
	some duplicate code in the plugins and provide better error
	reporting. modified the ff-csv plugin to use the new functions.
	
2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags.

	* src/workbook.c : Add undo/redo elements.

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	For Dom Lachowicz <cinamod@hotmail.com>

	* src/plugin.[ch] (plugin_data_get_size,
	  plugin_data_last_modified) : New functions.
	(plugin_load): updated

	* src/dialogs/dialog-plugin-manager.c
	(dialog-plugin-manager-impl, refresh-right-frame): updated.

	* src/dialogs/plugin-manager.glade,
	  src/dialogs/plugin-manager.glade.h
	  New layout, enabled word-wrap in description,
	  Other aesthetic changes

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c : Add undo/redo elements to the toolbar.

	* src/workbook-format-toolbar.c (change_font_in_selection_cmd) :
	  Switch to the gnumeric gtk-combo-text.
	(workbook_create_format_toolbar) : Pass in a default colour.
	(fore_color_changed) : Handle the NULL indicator as auto colour.
	  Hard code to black for now.
	(back_color_changed) : Handle the NULL indicator as no background.

2000-03-25  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/workbook-attr.glade: Deflickerize + set initial focus.

2000-03-25  Jody Goldberg <jgoldberg@home.com>

	* src/print.c (print_page) : Call setup_rotation unconditionally it
	  will decide when to rotate.  Honour the repeat_{top,left}.use flags.
	(print_page) : Add a clip path around the entire page to ensure that spans
	  get clipped at the margin.
	(print_job_info_init_sheet) : Use the repeat_{top,left}.use flags.

	* src/commands.c (cmd_ins_del_row_col_{redo,undo}) : Use sheet_update.

	* src/sheet.c (sheet_insert_{cols,rows}, sheet_delete_{cols,rows}) :
	  Set the visibility notification flags.
	(sheet_restore_row_col_sizes) : Ditto.

2000-03-25  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf.h, src/dialogs/dialog-stf.c : Added a
	stf_dialog prefix to all functions and changed dialog_stf into
	stf_dialog, this makes more sense as the same naming convention
	was used in src/stf-parse.[ch] and src/dialogs/dialog-stf-preview.[ch]
	
	* src/dialogs/dialog-stf-main-page.c : idem
	* src/dialogs/dialog-stf-csv-page.c : idem
	* src/dialogs/dialog-stf-fixed-page.c : idem
	* src/dialogs/dialog-stf-format-page.c : idem
	* src/dialogs/dialog-stf-preview.c : idem

	* src/stf.c : Uses the renamed functions
	* src/clipboard.c : idem
	
2000-03-24  Miguel de Icaza  <miguel@helixcode.com>

	* src/file.c (workbook_import): Destroy the toplevel not the
	hack_dialog. 

	* src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): Quit
	the event loop.  Should fix #cd 7782

	* src/workbook.c (workbook_set_arg): Add missing breaks to the
	argument code.

2000-03-25  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_fragment_list_clip): totaly re-write.
	(ranges_dump): implemented.

	* src/sheet-style.c (sheet_unique_cb): use frags not middle_list to
	calculate the style ( doh! ).

2000-03-24  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_overlap): kill (range_split_ranges): kill inline,
	it ruins debugging.

	* src/ranges.h (range_overlap): Macroify + add misc. documentation.

	* src/ranges.c (range_fragment_list_clip): fix frightening logic bug.

2000-03-22  Michael Meeks  <michael@helixcode.com>

	* src/ranges.c (range_fragment_list_clip): kill supid bug removing
	list items whilst iterating the list + add the clip region to the list
	temporarily.

2000-03-24  JP Rosevear  <jpr@arcavia.com>

	* src/dialogs/workbook-attr.glade.h: Dialog translation header.

	* src/dialogs/workbook-attr.glade: New dialog file for workbook
	attributes.

	* src/dialogs/dialog-workbook-attr.c : New file to display a
	workbook attribute dialog.
	(dialog_workbook_attr): Basic preparation.
	(attr_dialog_impl): Setup the dialog and display it.
	(attr_dialog_init_view_page): Initialize the view tab of 
	the workbook.
	(cb_show_hsb_toggled): Widget callback
	(cb_show_vsb_toggled): ditto
	(cb_show_tabs_toggled): ditto
	(cb_attr_dialog_dialog_destroy): Destroy callback.
	(cb_attr_dialog_dialog_apply): Apply callback - this needs to be
	more sophisticated and use a command for undo/redo purposes.

	* src/dialogs/Makefile.am: Setup for new files.

	* src/dialogs/dialogs.h: Define new dialog function.

	* src/workbook.c : Update menus for new workbook dialog under 
	the format menu and remove now unused callbacks.
	(workbook_get_arg): Put breaks in so we don't get
	stupid errors.
	(workbook_set_arg): ditto
	(workbook_attr_cmd): New call back for menu option

	* src/xml-io.c (xml_arg_set): Add more types for conversion.
	(xml_arg_get): Add more types for conversion.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	* src/expr.c (cellref_relocate): Simply code to implement correct logic.

	* src/main.c : Add debug_excel_objects.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	From: Sebastian Wilhelmi <wilhelmi@ira.uka.de>
	* src/functions/fn-lookup.c (gnumeric_lookup): Use the bound and the
	  index for the destination rather than the source.

2000-03-24  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_left_col): 
	Fix cut-n-paste-o.

2000-03-24  Tuomas Kuosmanen  <tigert@gimp.org>

	* src/pixmaps/function_selector.xpm: New pixmap for Function
	Selection Wizard 
	
	* src/pixmaps/sort-ascending.xpm 
	* src/pixmaps/sort-descending.xpm: New versions of the sort icons,
	we dont sort by numeric value so we dont want to use 123 in the icon
	either. Instead we use A..Z and Z..A.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_set_text_simple): Do NOT set the entered text
	when importing non string values.  There are still gotchas
	elsewhere. eg enter 90 format to current and edit box shows
	something that we can not parse.

2000-04-23  Morten Welinder  <terra@diku.dk>

	* src/history.c (history_menu_remove_items): Don't crash.

	* src/regression.c (general_linear_regression): Don't do
 	extra_stat in case of error.
	(general_linear_regression): Zero extra_stat.

	* src/history.c (history_menu_remove_items): Warning killer.

	* src/item-edit.c (scan_at): Fix usual signed/unsigned problem.

	* src/stf-parse.c (stf_parse_csv_is_separator): Ditto.
	(stf_parse_is_valid_data): Ditto.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/main.h : include popt-gnome.h rather than popt.h.  We may
	eventually need gnome-popt.h, but lets keep this simple for now.
	Does anyone know the right way to do this ?

	* src/cell.c (cell_calculate_span) : Add CENTER_ACROSS_SELECTION.
	(cell_set_text_simple) : Begin transition to checking
	format of current cell for match.  No real change yet.

	* idl/Gnumeric.idl : Add CENTER_ACROSS_SELECTION.
	* src/cell-draw.c (cell_draw) : Ditto.
	* src/print-cell.c (print_cell) : Ditto.
	* src/corba-sheet.c (Sheet_cell_set_alignment) : Ditto.
	(Sheet_cell_get_alignment) : Ditto.
	* src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) : Ditto.
	* src/dialogs/cell-format.glade : Ditto, reorganize alignment page.

	* src/format.c : Move definition of _StyleFormatEntry from mstyle.h.

	* src/number-match.c (format_create_regexp) : Extend to support
	currency names.

	* src/item-grid.c (item_grid_draw_border) : minor optimization for
	non-border case.

2000-03-23  Miguel de Icaza  <miguel@helixcode.com>

	* src/gnumeric-sheet.c (start_cell_selection_at): Disable feedback
	when the anting cursor is created
	(gnumeric_sheet_stop_cell_selection): Enable feedback when the
	anting cursor is destroyed.

	* src/item-edit.c (scan_for_range): Enable feedback only if we are
	allowed to.
	(item_edit_enable_highlight, item_edit_disable_highlight): New
	functions to control the feedback display.

2000-03-21  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (impl_vector_set_notify): Duplicate the
	object here.

2000-03-23  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_{left_col, top_row}):
	Replace scrolling.

	* src/item-grid.c (item_grid_find_row): Add some old fixes that went
	into find_col but not find_row ??

2000-03-22  Michael Meeks  <michael@helixcode.com>

	* src/sheet-style.c (sheet_style_cache_flush): add 'all' flag to
	signify a hard vs. soft flush, freeze hash when it is a nice size. Do
	not bother destroying the hash table.
	(sheet_mstyle_compute_from_list): kill debug in inner loop + add another
	short circuit. (calc_grown_range): Spread the range better near the
	edges.

	* src/mstyle.c (mstyle_do_merge): simplify + add vital short circuit for
	factor of 2 speedup on blank regions. (mstyle_get_*): kill redundant NULL
	preconditions.

	* src/main.c (gnumeric_main): add the tests again.

2000-03-18  Michael Meeks  <michael@helixcode.com>

	* src/mstyle.c (mstyle_do_merge): Use pointer increment to kill mul in
	inner loop. (mstyle_element_ref): take a pointer.

	* src/sheet-style.c: Clean internals a lot, kill the nasty dereference
	macros, hash on CellPos to decrease memory usage.

	* src/dialogs/dialog-cell-format.c (draw_format_preview): Clip the
	sample down if it is a massive string to stop the dialog from becoming
	stupidly wide.

2000-03-23  Jon K Hellan  <hellan@acm.org>

	* src/stf.c (stf_read_workbook): Set save info, preferred format
	XML, level manual.

	* src/file.[ch] (file_format_register_save): Add "level" parameter.

	* src/file.h: (FileFormatLevel): Add the enum. At the best level,
	the save command saves to the given name without asking.  At the
	worst level, no name has been assigned.
	
	* src/file.c (_FileSaver): Add "level" member.
	(file_format_unregister_save): Set level to manual for workbooks
	which had this saver set.
	(cb_unregister_save): New function. Helper for
	file_format_unregister_save. 
	(workbook_read): Set save info. Tag as new.
	(workbook_import): No longer set needs_name - importer will have
	set file_format_level.
	(fs_set_filename): New function: Set default filename in the file
	selection dialog.
	(workbook_save_as): Use fs_set_filename. Set save info.
	(workbook_save): Punt to workbook_save_as if file_format_level <
	AUTO. Save using wb->file_save_fn.

	* src/workbook.[ch] (workbook_set_saveinfo): New function. Set
	filename, level and save function, but do nothing if we already
	have info at a higher level.
	
	* src/workbook.h (struct _Workbook): Replace needs_name with
	file_format_level. Add file_save_fn member. Include file.h
	(workbook_set_saveinfo): Add "level" parameter.

	* src/workbook.c (workbook_do_destroy): Insert in history list
	when file format level > "new". We used to test needs_name.
	(workbook_is_pristine): Test file_format_level > "new" instead of
	needs_name true.
	(workbook_new): Tag workbook as new. Set save function.
	(workbook_set_filename): needs_name has no longer exists. Don't
	set it.

	* src/xml-io.c (gnumeric_xml_read_workbook): Set save info. Tag as
	AUTO.
	(xml_init): Tag saver as AUTO.

	* src/corba-workbook.c (Workbook_set_filename): Add FIXME comment.

	* src/history.c (history_item_label): Strip extension only when it
	is ".gnumeric".

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/functions/fn-lookup.c (gnumeric_index) : The current
	  implementation supports arrays and references. It does not support
	  the special case of index 0,0 returning the entire range, nor does
	  it support the second syntax (ref, row, col, area_num).
	(gnumeric_match) : Document that only match_type == 0 works.

2000-03-22  JP Rosevear  <jpr@arcavia.com>

	* src/xml-io.c (xml_arg_set): Set an arg value based on type and
	contents in the xml tree.
	(xml_arg_get): Get a string representing an arg's value.
	(xml_write_attributes): Create the list of attributes.
	(xml_free_arg_list): Function to free the args in a GList.
	(xml_read_attributes): Read the attributes back in from the 
	xml tree.
	(xml_workbook_read): Read the workbook attributes in and set them.
	(xml_workbook_write): Write out the workbook attributes.

	* src/workbook.c (workbook_class_init): Add three args, the h & v 
	scrollbars and the notebook tab.  Override parent set_arg and get_arg
	functions.
	(workbook_set_arg): New function to handle arg setting.
	(workbook_get_arg): New function to handle getting args.
	(workbook_set_attributev): Set a whole list of args for the object.
	(workbook_get_attributev): Return an array of args for the workbook.

	* src/workbook.c (sort_cmd): Sort all the columns in order so 
	that ties are broken nicely (pointed out by meeks)

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/plugin.c (plugin_load) : Typo.

	* src/workbook.c (recalc_cmd) : Bug7739.

2000-03-22  Chema Celorio  <chema@celorio.com>

	* idl/.cvsignore: Created .cvsignore added Makefiles

2000-03-22  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_reposition_comments) : Merged from
	  sheet_reposition_comments_from_row and
	  sheet_reposition_comments_from_col.

	(sheet_update) : New function.  Use the new update flags from
	  SheetPrivate that are set in the col/row resize functions
	  to do delayed resizing and updates.  This allows the resizing to be
	  batched for an entire logical operation.
	(sheet_{col,row}_set_size_pixels) : Set the update flags.

	* src/workbook-cmd-format.c (workbook_cmd_format_{row,column}_auto_fit) : No need to
	  worry about redraws.  Use sheet_update.
	(workbook_cmd_format_{row_height,column_width}) : Ditto.

	* src/sheet-view.c (sheet_view_redraw_cell_region) : No need to
	  recalculate the spans,  Use the pre-calculated versions.
	(sheet_view_col_size_changed) : Use sheet_update.
	(sheet_view_row_size_changed) : Ditto.

	* src/sheet-style.c (re_dimension_cells_cb) : Use cell_calc_dimensions.
	(sheet_cells_update) : No need to redraw per cell and guess the bound.
	  It is simpler and more correct to calc dimension per cell, and
	  redraw the region BEFORE and AFTER to handle spans.

	* src/cell.[ch] (cell_style_changed) : Delete.

	* src/cell-draw.c (cell_draw) : continue syncing with print code.
	  Be even more careful in the possible presence of style bugs.
	* src/item-grid.c (item_grid_draw) : Ditto.
	* src/print-cell.c (print_cell) : Ditto.

	* src/analysis-tools.c (correlation_tool) : Use sheet_update.
	(covariance_tool) : Ditto.
	(ttest_paired_tool) : Ditto.
	(ttest_eq_var_tool) : Ditto.
	(ttest_neq_var_tool) : Ditto.
	(ftest_tool) : Ditto.

2000-03-21  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-private.h : Add status flags to accumulate state changes
	  for later redraw.

	* src/commands.c (cmd_format_redo) : Use sheet_update
	  in case the row/col sizes changed due to font size changes.
	(cmd_format_undo) : Ditto.

	* src/widgets/gtk-combo-box.c (cb_state_change) : Only pseudo-prelight
	  the display when over the arrow, not vice versa.
	(gtk_combo_box_init) : Ditto.
	(gtk_combo_box_set_display) : Ditto.

	* src/sheet.c (sheet_row_get_distance_pts) : Enable reversed indicies.
	(sheet_col_get_distance_pts) : Ditto.

	* src/plugin.c (plugin_load) : Add more version checking to ensure
	  that very old plugins that do not check their versions can not be
	  loaded.

2000-03-20  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : When
	  forcing a scroll do a hard reset of the visible ranges.
	(gnumeric_sheet_compute_visible_ranges) : Ditto.
	(gnumeric_sheet_set_top_row) : Remove extraneous scroll.
	(gnumeric_sheet_set_left_col) : Remove extraneous scroll.

2000-03-21  Miguel de Icaza  <miguel@helixcode.com>

	* src/utils.c (parse_cell_name_or_range): Allow for parsing to be
	non-strict. 

	* src/ranges.c (range_parse): Allow for parsing to be non-strict.

	* src/utils.c (parse_cell_name): Allow for parsing to be non-strict.

	* Makefile.am (SUBDIRS): Fix list of directories.

	* src/item-cursor.c (item_cursor_set_arg): Added optional color
	handling to item-cursor.

2000-03-20  Miguel de Icaza  <miguel@helixcode.com>

	* src/main.c (gnumeric_main): Removed broken style test.

	* src/ranges.c (range_parse): Update the range_parse API

	* src/print-info.c (load_range): Update API.

	* src/utils.c (parse_cell_name): Handle references that contain an
	absolute reference.

2000-03-19  Jody Goldberg <jgoldberg@home.com>

	* src/sheet.c (sheet_move_range) : Move the styles before the contents
	  so that spans are calculated correctly.

	* src/workbook.c (workbook_start_editing_at_cursor) : Redraw the
	  edit cell so that we handle spans correctly.
	(workbook_finish_editing) : Ditto.

	* src/item-grid.c (item_grid_draw) : Ignore spans while editing a
	  cell.

2000-03-16  Nick Lamb  <njl195@zepler.org.uk>

	* configure.in: Fix typo (we need 0.13, not 0.11 of gnome-print)

2000-03-16  Michael Meeks  <michael@helixcode.com>

	* src/test.[ch]: Create to help profiling.

	* src/main.c: Add style testing.

2000-03-14  Michael Meeks  <michael@helixcode.com>

	* src/xml-io.c (xml_write_style): comment out the default checks on
	style colors, We may want these back when we have sheet default colors.

2000-03-13  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): fix.

2000-03-18   JP Rosevear <jpr@arcavia.com>

	* src/pixmaps: Added sort-ascend.xpm, sort-descend.xpm, 
	insert-bonobo-component.xpm

	* src/pixmaps.h: Include new xpms.

	* src/workbook.c (sort_cmd): Moved from workbook-format-toolbar.c
	(sort_ascend_cmd): ditto
	(sort_descend_cmd): ditto
	
	* src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Duh, 
	pass the parameters in the correct order.

	* src/workbook-format-toolbar.c: Move sort commands to workbook.c
	and put icons into command toolbar.

2000-03-17  Jon K Hellan  <hellan@acm.org>

	* src/sheet-object.c (create_object, sheet_set_mode_type_full):
	Make it compile and link without Bonobo.

2000-03-13  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (sheet_vectors_cell_changed): Change NULL to
	CORBA_OBJECT_NIL 

	* src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file):
	Use the new IDL:Bonobo interface name, not the IDL:GNOME one
	(sheet_object_bonobo_load_from_file): ditto.
	(sheet_object_bonobo_load): ditto.

	* src/sheet-object.c (sheet_set_mode_type): Temporary hack to get
	the graphics working under 1:20 hours when my battery runs out of
	power. 

	* src/sheet-object-container.c
	(sheet_object_container_new_from_goadid): Renamed from
	sheet_object_container_new

	(sheet_object_container_new): Now takes a BonoboObjectClient as an
	argument. 

2000-03-12  Miguel de Icaza  <miguel@helixcode.com>

	* src/sheet-vector.c (impl_vector_get_numbers): Increment idx
	here;  
	(impl_vector_get_vec_values): ditto.
	(impl_vector_get_numbers): Use the proper values for the columns
	row. 
	(impl_vector_get_vec_values): ditto.

	* src/clipboard.c (x_clipboard_bind_workbook): Fix memory leak.
	The problem is worse, because the warning comment there was
	completely bogus.

2000-03-14  Jon K Hellan  <hellan@acm.org>

	* src/workbook-view.c (workbook_view_history_update,
	workbook_view_history_shrink): ): We introduce numbers in front of
	the the history file names for the following reasons:
	1. Bonobo won't let you make 2 entries with the same label in the
	   same menu. But that's what happens if you e.g. access
	   worksheets with the same name from 2 different directories.
	2. The numbers are useful accelerators.  
	This means that when a new item is added, all existing entries get
	a new number. We access them via the label, so we have to remove
	all the old list entries and make a new list.

	history_menu_flush is called to remove the old list,
	history_menu_update to build the new.
	
	* src/history.c
	(history_item_label): Add accel_number parameter, make label from
	accel_number and basename. Rename basename variable to label.
	(history_menu_item_create): Add accel_number parameter. Use it
	when calling history_item_label.
	(history_menu_locate_separator): New static function. Locate the
	menu and position of history separator. They may not yet exist.
	(history_menu_insert_separator): New static function. Insert the
	history separator. Return its position and the menu shell.
	(history_menu_insert_items): New static function. Add the history
	items to the file menu.
	(history_menu_remove_items): New static function. Remove the
	history items from the file menu.
	(history_menu_setup): Split into lots of twisty little functions,
	all different.
	(history_menu_fill): New exported function. Make the menus for
	the workbooks show the new history list.
	(history_menu_flush): New exported function. Remove the history
	list from the file menus of all workbooks.
	(history_insert_menu_item): Remove.
	(history_remove_menu_item): Remove.
	
	* src/history.h
	(history_menu_fill, history_menu_flush): Declare.
	(history_insert_menu_item, history_remove_menu_item): Remove.

2000-03-13  Jody Goldberg <jgoldberg@home.com>

	* wizards/graphics/Makefile.am : Include the idl build dir rather than
	  src dir.  We are interested in the resulting code not the original
	  idl.

2000-03-13  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): Silence warning.

2000-03-13  Jody Goldberg <jgoldberg@home.com>

	* Makefile.am : Make wizards and graph subdirs contingent on bonobo.
	  distribute all the ChangeLogs.

2000-03-12  JP Rosevear  <jpr@arcavia.com>

	* src/dialogs/dialog-cell-sort.c : Remove clip_range_to_finite.
	(dialog_cell_sort): Use range_clip_to_finite.

	* src/ranges.c (range_clip_to_finite): Make the range finite using
	sheet_get_extent if its infinite.

	* src/ranges.h: Prototype range_clip_to_finite.

	* src/workbook-format-toolbar.c (sort_cmd): Sort the current 
	selection if simple.
	(sort_ascend_cmd): Call sort_cmd with asc=0.
	(sort_descend_cmd): Call sort_cmd with asc=1.

	* src/workbook-format-toolbar.c : Add sort ascend/descend buttons.
	(sort_ascend_cmd): New toolbar callback function to sort 
	selection in ascending order. 
	(sort_descend_cmd): New toolbar callback function to sort
	selection in descending order.
	

2000-03-12  JP Rosevear  <jpr@arcavia.com>

	* src/Makefile.am: Reflect new location of idl.

2000-03-12  Jody Goldberg <jgoldberg@home.com>

	* src/item-cursor.c (item_cursor_selection_event) : Be more careful
	  handling selecting the cursor from the external or internal edge
	  this will avoid what seems like an off by one error. Thanks Jacob.

2000-03-11  Miguel de Icaza  <miguel@helixcode.com>

	* src/Makefile.am: Cleaned Makefile.

	* graph/Makefile.am: ditto.
	
	* graph/sample.c: fix
	
	* idl/Makefile.am, idl/Graph.idl, idl/Gnumeric.idl: Moved IDL
	files here, and create the libGnumeric.a and libGraph.a libraries
	here. 

2000-03-11  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (workbook_setup_edit_area) : Use sensitize rather
	  than show/hide for the ok/cancel buttons.  Return wizard back
	  to end of list.
	(workbook_new) : Revert last change, no longer necessary.
	(workbook_start_editing_at_cursor) : Sensitize the ok/cancel edit buttons.
	(workbook_finish_editing) : desensitize them.

2000-03-11  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (cb_editline_focus_in) : When the edit lined receives
	  focus start editing.
	(accept_input) : No need to force edit mode we should already be in
	  edit mode.
	(workbook_setup_edit_area) : Move the wizard button to the begining of
	  the list and store the ok and cancel buttons in the Private section.
	  Hook cb_editline_focus_in to focus-in.
	(workbook_new) : After show_all, we need to hide the ok/cancel edit
	  buttons.  We start out not editing.
	(workbook_start_editing_at_cursor) : Show the ok/cancel edit buttons.
	(workbook_finish_editing) : Hide them.

2000-03-11  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): #ifdef out the fix for now.

2000-03-11  Jon K Hellan  <hellan@acm.org>

	* src/main.c (main): Work around guile / gnorba problem: gnorba
	closes stdin, and scm_boot_guile segfaults if any of the stdio
	streams are missing. We map the missing streams to /dev/null.

2000-03-10 Alastair McKinstry <mckinstry@computer.org>

	* configure.in (ALL_LINGUAS): Added ga (Irish) translation.

	 * gnumeric.desktop: Added Irish (ga) translation.

2000-03-10  Jody Goldberg <jgoldberg@home.com>

	* src/func.c (tokenized_help_new) : Constness.

	* src/widgets/gtk-combo-box.c (cb_state_change) : New function to keep
	  the state of the combo display button and the combo arrow in sync.
	(gtk_combo_box_init) : Connect cb_state_change to the arrow.
	(gtk_combo_box_set_display) : Ditto for the display widget.

	* src/sheet.c (sheet_set_zoom_factor) : Bound the factor at 10% and 500%

	* src/workbook.c (change_zoom_in_current_sheet_cb) :
	  call change_displayed_zoom_cb to adjust the combo to contain the
	(workbook_focus_current_sheet) : Only emit signal if the sheet
	  changed.

2000-03-08  Jody Goldberg <jgoldberg@home.com>

	* src/collect.c (callback_function_collect) : Treat arrays and ranges
	  as errors.

	* src/format.c (format_value) : formating a range returns a
	  #VALUE! message.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
	  Use the workbook flags, and delete the icky globals.
	(start_cell_selection_at) : Hide the std cursor when a cell selection
	  cursor is created.
	(gnumeric_sheet_stop_cell_selection) : Restore the std cursor.

2000-03-07  Jody Goldberg <jgoldberg@home.com>

	* src/workbook.c (accept_input) : Use workbook_finish_editing.
	(cancel_input) : Ditto.
	(do_focus_sheet) : Support range selection across spreadsheets.
	(workbook_get_sheet_position) : Fix and document.
	(workbook_move_sheet) : Fix.
	(workbook_focus_sheet) : Handle errors cleanly.
	(wb_edit_key_pressed) : Improve F4 handling.
	(wizard_input) : Begin non-modal function wizard.  NOT FINSIHED.
	(workbook_start_editing_at_cursor) : transfered from
	  sheet_start_editing_at_cursor.
	(workbook_finish_editing) : Distilled from sheet_{accept,cancel}_pending_input.
	(Workbook) : Add editing_cell, editing_sheet, editing.

	* src/sheet.c (sheet_stop_editing) : Delete.
	(sheet_accept_pending_input) : Merge into workbook_finish_editing.
	(sheet_cancel_pending_input) : Ditto.
	(sheet_start_editing_at_cursor) :
	(sheet_create_edit_cursor) : New function.
	(sheet_destroy_edit_cursor) : New function.
	(sheet_destroy_cell_select_cursor) :  New function.
	(Sheet) : Delete editing and editing_cell.

	* src/selection.c (sheet_selection_changed_hook) : Make public.  This
	  should eventually move but I'm not sure where.  It is used for more
	  than just changes in the selection in the current sheet.  It must
	  also be called when the sheet changes.  What it REALLY does it to
	  sync the shared workbook state with the current sheet's selection.

	* src/item-cursor.c (item_cursor_init) : Handle change from
	  sheet_accept_pending_input -> workbook_finish_editing.
	* src/item-grid.c (item_grid_button_1) : Ditto.

	* src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Edit moved
	  from sheet -> workbook.
	(selection_insert_selection_string) : Extend to support
	  abs/rel refs and intersheet-refs.
	(gnumeric_sheet_stop_cell_selection) : Add clear_string argument
	  to optionally remove the selection range.
	(gnumeric_sheet_key_mode_sheet) : Adjust to movement of editing flag
	  from sheet -> workbook.  Be careful to use the original sheet when
	  moving rather than the current sheet.  Support F4 while editing.

	* src/cell-draw.c (cell_draw) : editing_cell has moved from sheet to
	  workbook.  Fix font ref leak when drawing the edit cell.

	* src/dialogs/dialog-function-wizard.c : Begin transition to being
	  non-modal.  NOT FINISHED.

2000-03-10  Michael Meeks  <michael@helixcode.com>

	* src/Makefile.am (sheet-vector.h): make it depend on Gnumeric.h
	not Vector.h

2000-03-09  Michael Meeks  <michael@helixcode.com>

	* src/sheet-object.c (sheet_set_mode_type): look for the
	IDL:Bonobo/ interfaces not stale IDL:GNOME ones.

2000-03-09  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook.c (command_context_corba): Really handle wb
	== NULL.

2000-03-08  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook-factory.c (WorkbookFactory_supports): 
	(GNOME_Gnumeric_WorkbookFactory__create): 
	Bonobo::GenericFactory::supports has been renamed to
	Bonobo::GenericFactory::manufactures. Replace supports with
	manufactures.

2000-03-08  Jon K Hellan  <hellan@acm.org>

	* src/corba-workbook.c (command_context_corba): Handle wb =
	NULL. It would segfault.

	* src/Gnumeric.idl: Fixed places where a name at an inner scope
	differs only in case from a name at an outer scope. This breaks
	the rule that identifiers cannot differ only in case, because an
	identifier from a surrounding scope is introduced into a scope if
	it is used in that scope. The solution is to scope the outer
	identifiers explicitly:
	(GNOME::Gnumeric::Sheet::cell_set_value): Change Value to
	Gnumeric::Value. 
	(GNOME::Gnumeric::Workbook::parse): Change Sheet to
	Gnumeric::Sheet.
	
	* src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Set
	word wrap.

	* src/dialogs/dialog-summary.c (dialog_summary_update): Ditto.

2000-03-08  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/sheet.c (sheet_destroy): Fixed a leak (in
 	sheet->solver_parameters.input_entry_str).

2000-03-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/Vector.idl: Move the vector interfaces here.
	
	* src/Makefile.am: Arrange for compilation linking of Vector code.

2000-03-07  Almer. S. Tigelaar.  <almer1@dds.nl>

	Gnumeric instances can now eXchange data in a gnumeric
	XML clipboard format. This way style information and such
	can be preserved when copying/cutting from one instance
	to another.
	
	* src/xml-io.c, src/xml-io.h :
	Added some functions for the gnumeric clipboard xml format.
	(gnumeric_xml_read_selection_clipboard) : 
	For reading xml data from the clipboard 
	(gnumeric_xml_write_selection_clipboard) : 
	For writing xml data to the clipboard 
	(xml_read_selection_clipboard) : 
	For reading xml data from the clipboard, does the dirty work
	(xml_write_selection_clipboard) : 
	For writing xml data to the clipboard, does the dirty work
	(xml_read_cell_copy) : 
	Similar to xml_read_cell, but returns a CellCopy* instead 
	of a Cell*
	(xml_write_cell_and_position) : 
	Similar to old xml_write_cell but allows you to set the col and 
	row manually
	(xml_write_cell) :
	Calls upon xml_write_cell_and_position, but takes the col and row 
	from the ColRowInfo members of type Cell.
	(xml_read_style_region_ex) :
	Read the xml data and returns an mstyle and a range. Does 
	_NOT_ attach this to a sheet.
	(xml_read_style_region) :
	calls upon xml_read_style_region_ex and attaches the mstyle 
	to a sheet

	* src/cell.h
	New cellcopy type added CELL_COPY_TYPE_AND_COMMENT, if a
	cellcopy is of this type the comments will be put in 
	cellcopy.comment
	
	* src/clipboard.c
	(paste_cell_flags) :
	added support for the new CELL_COPY_TYPE_TEXT_AND_COMMENT copy type
	(x_selection_received) :
	Modified so it support the TARGETS and GNUMERIC XML atoms and renders
	the gnumeric clipboard xml format
	(x_selection_handler) :
	Now it can render theselection to ASCII text and gnumeric clipboard xml 
	format.
	(x_clipboard_bind_workbook) :
	Registers the new GNUMERIC XML atom that enables other instances of
	gnumeric to see that we are also gnumeric and can render the clipboard
	data in a the special gnumeric xml clipboard format
	(clipboard_release) :
	Handles new CELL_COPY_TYPE_TEXT_AND_COMMENT type

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/dialogs/sheet-order.glade,
	  src/dialogs/sheet-order.glade.h,
	  src/dialogs/dialog-sheet-order.c: Created.

	* src/dialogs/Makefile.am: Added three above files to project

	* src/dialogs/dialogs.h (dialog_sheet_order): added new function
	
	* src/workbook.c (sheet_order_cmd): added
	(workbook_get_sheet_position, workbook_delete_sheet),
	(workbook_move_sheet, workbook_focus_sheet, wb_edit_key_pressed): updated.

	* src/workbook.h (workbook_delete_sheet, workbook_move_sheet): added

2000-03-06  Michael Meeks  <michael@helixcode.com>

	* src/Gnumeric.idl: add nasty mess copied from Bonobo.

	* src/Makefile.am ($(GNUMERIC_CORBA_GENERATED)): Add -D__GNUMERIC_COMPILE
	
2000-03-05  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* doc/C/solver.sgml, doc/C/images/solver-0[1,2,3,4,5].jpg: Added
	documentation of the Solver tool.

2000-03-05  Jody Goldberg <jgoldberg@home.com>

	* src/dialogs/dialog-cell-format.c : Enable the underline and
	  strikethrough elements. TODO : redo the preview for the font
	  tab to support underlining and friends.

	* src/dialogs/cell-format.glade : Rename the underline combo and
	  strikethrough button.

	* src/xml-io.c (xml_write_style) : Add strikethrough.
	(xml_read_style) : Ditto.

	* src/workbook-format-toolbar.c (workbook_feedback_set) : Only show
	  the underline button for single underlines.

	* src/sheet-view.[ch] : rename select_all -> select_all_btn.
	  remove unused element.

	* src/sheet-object.h : Remove silly self inclusion.

	* src/print-cell.c : Support underlining and strikethrough.
	  Move even closer into sync with drawing code.

	* src/mstyle.c : Add strikethrough and cleanup includes.

	* src/main.h : Add include for popt.h.

	* src/item-grid.c (item_grid_draw_border) : No more need for BOTTOM or
	  RIGHT.
	(item_grid_draw_cell) : Delete, and merge with draw_cell.

	* src/commands.c (cmd_set_text_undo) : Use cursor_set rather than
	  cursor_move.
	* src/corba-sheet.c (Sheet_cursor_move) : Ditto.
	(gnumeric_sheet_key_mode_sheet) : Ditto.
	* src/workbook.c (workbook_parse_and_jump) : Ditto.

	* src/cell-draw.c : Clean includes, add support for strikethrough.

2000-03-04  Morten Welinder  <terra@diku.dk>

	* src/sheet.c (r1c1_get_item): Fix signed/unsigned char confusion.

	* src/dialogs/dialog-autocorrect.c (autocorrect_tool): Massive
 	signed/unsigned char confusion.

	* src/solver-lp.c (find_name): Kill a warning.

	* src/func.c (function_get_category): Kill a warning.

	* src/dialogs/dialog-plugin-manager.c (refresh_right_frame): Kill
 	a warning.

2000-03-03  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (cell_draw) : Correct off by one error for
	  right alignment.

	* src/print-cell.c (print_cell_text) : Ditto.
	(print_cell_range) : Don't forget to increment when dealing with
	  hidden cols/rows.

	* src/item-grid.c (item_grid_draw) : Ditto.

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/dialogs/dialog-plugin-manager.c (add_to_clist, populate_clist),
	(add_cb, remove_cb, row_cb, remove_cb, dialog_plugin_manager),
	(dialog_plugin_manager_impl): Re-implemented dialog.
	(refresh_right_frame): New function

	* src/dialogs/plugin-manager.glade: updated.
	
	* src/dialogs/plugin-manager.glade.h: updated

2000-03-03  Morten Welinder  <terra@diku.dk>

	* src/workbook.c: Fix 6760.

2000-03-03  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Updated documentation

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* src/symbol.c (symbol_is_unused): Test went wrong way.
	(symbol_remove): Ditto.

2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* src/functions/fn-eng.c (val_to_base): Catch Div0 && invalid log()
	domain.

	* src/functions/fn-financial (gnumeric_accrint, gnumeric_recieved),
	(gnumeric_pricemat): Same

	* src/functions/fn-stat.c (gnumeric_ttest): Ditto
	
2000-03-02  Michael Meeks  <michael@helixcode.com>

	* src/sheet-vector.c (sheet_vector_corba_object_create): made static.
	(sheet_vector_new): setup sheet_vector->sheet.
	(sheet_vector_detach): re-arrange to compile.

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Updated documentation 

	* src/func.h: Make FunctionCategory.name a String * instead of
	gchar *. This was necessary to allow user defined categories.
	src/func.c (function_category_compare, function_get_category): Use
	new FunctionCategory. Fix wrong use of g_list_find_custom.
	(function_def_count_args, function_def_get_arg_type): Null pointer
	check.

	* src/dialogs/dialog-function-select.c (function_categories_fill):
	ditto.

2000-03-02  Almer. S. Tigelaar.  <almer1@dds.nl>

	* src/dialogs/dialog-stf-format-page.c
	* src/dialogs/dialog-stf-preview.c
	* src/dialogs/dialog-stf-preview.h
	* src/dialogs/dialog-stf.c
	Modified, the format page now really display formatted
	cells in the preview.
	NOTE : A downside of this is that the cache is no longer shared
	between fixed/csv pages and format pages.

	* src/dialogs/dialog-stf.c
	(dialog_stf_editables_enter) :
	Disabled "enter activates default button" for the TextIndicator
	field on the csv page. This would case the page to cycle, which 
	is ok, but it also caused the dropdown option to pop-up on the
	next page, which is not ok.

2000-03-02  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): In
	Yes/No dialog - set initial keyboard focus to "No". It went
	nowhere.
	(dialog_stf_set_initial_keyboard_focus): New function: Set
	keyboard focus to the an appropriate widget on the page.
	(dialog_stf_druid_page_next, dialog_stf_druid_page_previous): Set
	initial keyboard focus.
	(dialog_stf_druid_page_next): Make "Finish" button default on the the
	final page. This doesn't change behaviour, but cues the user
	visually.
	(dialog_stf_druid_page_previous): Restore "Next" button as default
	when coming from final page.
	(dialog_stf_check_escape): New function: Watch keypresses, and
	simulate "Cancel" when you see <Escape>.
	(dialog_stf_attach_page_signals): Connect dialog_stf_check_escape
	to handle <Escape>.
	(dialog_stf_editables_enter): New function: Make <Ret> in text
	fields activate default.
	(dialog_stf): Use dialog_stf_editables_enter,
	dialog_stf_set_initial_keyboard_focus. Make "next" button the
	default button. Make window a child of the workbook window. 

	* src/dialogs/dialog-stf-format-page.c (format_page_init): Make
	format list titles passive.

	* src/dialogs/dialog-stf-fixed-page.c (fixed_page_init): Make
	column list titles passive.

	* src/clipboard.c (x_selection_to_cell_region): Add command
	context to interface. Use it when calling dialog_stf.
	(x_selection_to_cell_region): 
	(x_selection_received): Call x_selection_to_cell_region with
	workbook_command_context_gui.
	
2000-03-02  Miguel de Icaza  <miguel@helixcode.com>

	* src/about.c (dialog_about): Changed to www.helixcode.com

2000-03-01  Miguel de Icaza  <miguel@helixcode.com>

	* src/parser.c (gnumeric_expr_parser): Make preconditions clear.

	* src/ranges.c: Removed gnome.h from the include list.

	* src/sheet.h: Fix comment.  The list contains SheetSelection
	structures not Ranges.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/cell-format.glade: Font pane: Make accelerator for
	underline combo work. Enable strikethrough.

2000-03-01  Jody Goldberg <jgoldberg@home.com>

	* src/cell-draw.c (draw_text) : adjust placement of single vs double
	  underlining.

2000-03-01  Michael Meeks  <michael@helixcode.com>

	* configure.in: Bump required ver. of gnome-print.
 
	* src/style.c (style_font_get_height): hack for new gnome-print
 	to kill annoying warning.
 
2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/cell-format.glade: Enable underline in fonts pane.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/advanced-filter.glade: Added accelerators and some
	padding.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/print-cell.c (print_cell_text) : Correct the docs,
	  and add clipping code.  The resulting postscript looks reasonable
	  now.  Unfortunately preview sucks.

	* src/sheet.c (sheet_get_extent_cb) : Teach about spans.
	(sheet_get_extent) : max_used is NOT a viable bound.  It limits the
	  cells with contents, but does not reflect spanning cells.

2000-02-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_content_changed): Notify the sheet that the
	cell changed using sheet_cell_changed.

	* src/sheet-vector.c: New file.  Implements the Gnumeric:Vector
	interface (and supports non-contiguous ranges)

	* src/sheet.c (sheet_destroy): free private structure.
	(sheet_new): init private structure.
	(sheet_cell_changed): New function.
	
	* src/sheet-private.h: New file.

	* src/sheet.h: Sheet structure includes SheetPrivate field now.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/workbook-format-toolbar.c (change_selection_font) : Add underline.
	(underline_cmd) : New function.
	(workbook_format_toolbar) : Add underline.
	(workbook_feedback_set) : Ditto.

	* src/xml-io.c (xml_read_style) : Restore underline style.
	(xml_write_style) : Save the underline style.

	* src/pattern.c (gnumeric_background_set_pc) : suppress warning.
	
	* src/mstyle.[ch] : Add MSTYLE_FONT_UNDERLINE.
	(mstyle_get_font_uline) : New function.
	(mstyle_set_font_uline) : New function.

	* src/cell-draw.c (draw_text) : new function to add underlines.
	(draw_overflow) : Use draw_text.
	(cell_draw) : Ditto.

	* src/gnumeric.h : Add StyleUnderlineType.

	* gnumeric.spec.in : Update the requirements.

2000-03-01  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: Clarified mapping of arrays.

2000-02-29  Jody Goldberg <jgoldberg@home.com>

	* src/cell-print.c : Sync with logic in item-bar::draw to add borders
	  and more correctly handle spanning.

	* src/pattern.c (gnumeric_background_set_pc) : New routine cloned from
	  gnumeric_background_set_gc.

	* src/border.c (style_border_set_pc_dash) : New routine cloned from
	  style_border_set_gc_dash.
	(style_border_set_pc) : New routine cloned from style_border_set_gc.
	(style_border_print) : New routine cloned from style_border_draw.

	* src/cell-draw.c (cell_draw) : No need to return number of spans.

2000-02-29  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/sheet.c (sheet_new): Added initialization of all the Solver
 	parameters.
	
	* src/xml-io.c: Enabled the solver parameter saving again.

2000-02-29  Jon K Hellan  <hellan@acm.org>

	* src/gnumeric-util.[ch] (gnumeric_set_transient): New
	function. Make the window a child of the workbook in the command
	context, if there is one. 
	(gnumeric_editable_enters): New function. Like
	gnome_dialog_editable_enters, but not just for GnomeDialogs.

	* src/gnumeric-util.c (gnumeric_dialog_run): Remove incorrect
	comment.
	(gnumeric_dialog_show): Fix typo.

2000-02-29  Jon K Hellan  <hellan@acm.org>

	* src/dialogs/dialog-cell-format.c: The dialog moved when "Apply"
	was pressed. This was an unavoidable consequence of using
	gnome_dialog_run. We switch to a purely callback based design -
	this module was almost there, anyway. And we can make the dialog
	modeless if we wish.
	(cb_fmt_dialog_dialog_destroy): New function. Free resources upon
	"destroy". This gets called whenever "OK" or "WM close" are
	pressed.
	(fmt_dialog_impl): Connect "destroy" handler. Replace
	gnome_dialog_run (recursive main loop) with gnumeric_dialog_show
	(no such thing). Set modal explicitly.
	(dialog_cell_format): Remove initial comment which these changes
	made incorrect. Allocate state record on heap instead of stack.
	Move resource deallocation to cb_fmt_dialog_destroy.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/value.c (value_new_cellrange) : Normalize ranges
	  to ensure that start <= end.

2000-02-28  Morten Welinder  <terra@diku.dk>

	* src/datetime.c (datetime_serial_raw_to_serial): Use floor.
	(datetime_serial_raw_to_seconds): Ditto.

	* src/format.c (format_number): Keep the sign when considering
 	dates.

	* src/parser.y (unregister_allocation): Handle special error
 	situation without issueing a bogus message.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/selection.c (sheet_selection_walk_step) : Fix typo.

2000-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/widgets/widget-color-combo.c (color_combo_finalize): Memory
	leak fix.  Found by Morten.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-view.c (button_select_all) : Redraw after selection.

	* src/selection.c (sheet_selection_walk_step) : Don't wrap when moving
	  the singleton cursor.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
	   - Shift tab should be horizontal.
	   - Shift/None Tab/Enter should accept pending input.

2000-02-28  Jody Goldberg <jgoldberg@home.com>

	* src/expr.h : Move FunctionDefinition to
	* src/gnumeric.h : here.

	* src/cellspan.c (col_hash) : Use GPOINTER_TO_INT.
	(col_compare) : Ditto.
	(row_init_span) : Delete.
	(free_hash_value) : Renamed from free_hash_key.
	(cell_register_span) : Register all cells in a span, malloc a
	  CellSpanInfo to store a descriptor about the first and last cols.
	(assemble_unregister_span_list) : Delete.
	(span_remove) : New function for use by g_hash_table_foreach_remove.
	(cell_unregister_span) : Use g_hash_table_foreach_remove.
	(row_cell_get_displayed_at) : Adjust to new descriptor.
	(row_span_get) : New function.

	* src/cell.c (cell_calculate_span) : Renamed from cell_get_span.

	* src/cell-draw.c (cell_draw) : Do not draw backgrounds here.
	  Use new CellSpanInfo to avoid recomputing spans every time.
	(cell_is_blank) : Remove hack about treating empty strings as empty.

	* src/cellspan.h : New file.  Move span decls here.

	* src/item-grid.c (item_grid_draw) : Rework to correctly handle
	  backgrounds and borders for spanning columns.

2000-02-27  Jody Goldberg <jgoldberg@home.com>

	* src/cell.c (cell_is_blank) : Update.

	* src/border.c (style_border_draw) : Make somewhat more correct.
	  Still broken for non-top-left corners.

	* src/item-grid.c (item_grid_draw_border) : Ditto.
	(item_grid_draw_background) : Rename from item_grid_paint_empty_cell
	  handle spans more cleanly.
	(item_grid_draw_cell) : handle conditionals for displaying contents here.
	  Remove all handling of backgrounds.

2000-02-28  Michael Meeks  <michael@helixcode.com>

	* src/xml-io.c (xml_sheet_read, xml_sheet_write): kill for now.

2000-02-28  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/utils.c (parse_cell_name_or_range): Bug fix.  Single cell
	constraints can be added again.

	* src/solver-lp.c (count_dimensions, make_solver_arrays,
	solver_affine_scaling, solver_branch_and_bound): The Solver can
	now solve the negative variables too.

	* src/dialogs/dialog-solver.c (dialog_solver_options): Made the
	`Assume non-negative' to be sensitive.
	
2000-02-28  Morten Welinder  <terra@diku.dk>

	* src/format.c (render_number): Move calculation of thousand's sep
 	outside the loop.  Avoid calculations way beyond double's
 	precision.

2000-02-24  Dom Lachowicz <dominicl@seas.upenn.edu>
 
 	* src/functions/fn-eng.c (convert): catch DIV0
 
 	* src/functions/fn-financial.c (gnumeric_accrint), (gnumeric_accrintm),
 	(gnumeric_intrate), (gnumeric_disc), (gnumeric_db),
 	(gnumeric_ddb), (gnumeric_mirr), (gnumeric_pv): More errors.
 
 	* src/function/fn-math.c (gnumeric_quotient): ditto.
 
 	* src/function/fn-stat.c (callback_function_stat),
	(callback_function_chitest_theoretical, gnumeric_betadist),
	(gnumeric_confidence, gnumeric_ftest): ditto.
 	
2000-02-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/solver-lp.c, src/dialogs/dialog-solver.c: Constraints can
	now also be cell ranges.
	(write_constraint_str): Wrote.

	* src/utils.[ch] (parse_cell_name_or_range): Wrote.

	* src/xml-io.c: Related changes.
	
2000-02-26  Jon K Hellan  <hellan@acm.org>

	* doc/python-gnumeric.txt: New file. Documents the Python plugin.

2000-02-26  Jody Goldberg <jgoldberg@home.com>

	* src/formats.c (CurrencySymbol) : Add symbols and names to
	  translation list.

	* src/workbook.c (insert_object_cmd) : Bug 6499.
	  Move Define name to the insert menu to avoid conflict.

2000-02-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/xml-io.c (xml_read_solver): New. (xml_write_solver): New.
	Added saving and loading of the Solver parameters.  The parameters
	are per sheet.

	* src/dialogs/dialog-solver.c: A few bug fixes and improvements.
	
2000-02-22  Jody Goldberg <jgoldberg@home.com>

        * src/workbook-format-toolbar.c
        (workbook_format_toolbutton_update) : new.
        (workbook_format_halign_feedback_set) : new
        (workbook_feedback_set) : Use the new functions.
        (set_selection_halign) : ditto.

2000-02-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>

	* src/mathfunc.[ch]: Implemented Branch-And-Bound algorithm for
	integer programming.

	* src/solver-lp.c (count_dimensions): Wrote.
	(make_solver_arrays): Wrote.
	(make_int_array): Wrote.
	(solver_branch_and_bound): Wrote.  Solver can now handle the
	`Int' constraints too.
	(solver_lp): Wrote.

	* src/solver.h: Added prototype.

	* src/dialogs/dialog-solver.c: Related changes.

2000-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/Makefile.am (-DGNUMERIC_GLADEDIR): Removed iconsdir if it is
	not going to get used.

2000-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/widgets/widget-color-combo.c (color_combo_construct): Fix
	indentation.

	* src/sheet-object-container.c (sheet_object_container_realize):
	OOPS.  Add uih back.

	* Fresh ChangeLog.

