To report Gnumeric bugs, please visit bugzilla.gnome.org.

This file is used as a scratch pad by developers.  It is a list of know
issues that need to be addressed.  Divided into, things that will prevent
release, and longer term bugs.


Release Critical
----------------
    - XL import should honour style requests for full columns.

    * Format toolbar is too wide.  (The foreground colour combo has falled
      off the edge for me.)

Long term breakage
------------------

- Tools->Solver leak:
               g_strdup       [gstrfuncs.c:56]
               dialog_solver  [dialog-solver.c:735]

- Search-and-replace.
  - Comments for empty cells are not found.
  - It is doubtful whether the regexp selection belongs on the first page.
  - Querying is not implemented.

- Entering "=1e11111" yields "Syntax Error", not "overflow".
  In general parsing needs better error messages.

- The max row/col canvas scroll size is still hard coded.
- scrollbar sizes are based on rows/cols rather than visible pixels
- scrollbar size includes hidden rows/cols

- calculated cells do not respan.

- Look into ability to identify versions of gnumeric xml that are newer than we
  are.  Ask DV about name spaces.

- Why does the number matching bother comparing against formats that are
  covered by 'General' ?

- format.c: we should resolve all the separators at gnumeric_setlocale time,
  not every time we need them.

- When setting the width of columns, the undo/redo text should be more
  informative like "Setting width of columns A through E".

- when guessing the format of a possible value we should try the format
  associated with the cell FIRST rather than later.  eg enter '10-1' (without
  quotes) in a cell with an assigned format of Text.  This should be treated as
  text.  Instead It parses as a Date (Oct 1) and gets converted.
  PARTIAL : we need to merge the StyleFormat and the regexp.  Currently only
  	works for Text formats.

- We should put the sensitization/desensitization of the toolbars
  on a timer/idle hander so that it will not trigger until a second
  or so after the edit starts/ends.  This will decrease the irritating
  flashing when entering data quickly.
- The currency list in the format dialog needs to be sorted for the locale
- When applying a currency symbol we need to store the NON-localized id.
- Increase/Decrease precision toolbar buttons should look at the displayed
  precision for the edit cell and assign the changed value to the entire
  selection.  Not individually adjusting each non-blank cell's precision.
  This would mirror the application of bold/italic/underline
- Moreover, the above buttons ought to work.  Try "44", click $, then add
  and remove decimals.
- While we're playing with those functions, lets add simple ones like inc/dec
  font size and things like that.

- locale : Saving xml should not rely on changing the textdomain to
           disable translation of TRUE/FALSE in expressions.
	 : Support parsing and displaying locale specific function
	   names.

- formats with AM/PM need to be internationalized.
- hour month and year format strings need to be internationalized.
    eg tt:ss instead of hh:ss for other locales.

- Changing an expression name that is in use does not recalc, or regen depends
  correctly.

- references in names do not get changed with cut/paste or ins/del row/col.

- We do not format fractional seconds correctly.

- Auto resize needs to handle empty cells.

- auto-fill does not resize row/col

- The implication of mixed mode references ($B$2:C3)
  is large.  All accesses to a RangeRef need to be normalized. (1/2 done)

- Styles
    - improve uniform_get to handle full sheet more quickly.
    - Borders
	- use new border code for cell format dialog (possibly preview-grid)
	- adjust to the different stroking techniques for rendering vs printing.
    - Underline
	- should scale with font size.  (Say, max (1, font->descent/4?)
	  gnome-print has a function we could use for printing which returns the
	  underline thickness.
	- Should be visible in the edit-item

- Functions like SUMPRODUCT need to have better support for sparse ranges.
  We should probably create synchronously_walk_ranges.  (XL goes kaboom on
  large ranges also, but we ought to be smarter.)

- latex : multiline rows not handled properly.
        : nor are spans

- SheetObjects
    : Add data member to Class to indicate 'simple' object
      types that can be rubber banded directly.
    : Add data member to Class to indicate 'invertable' object
      types that allow for top below bottom or left after right.
    : Add acetate_create virtual to handle shaped objects.
    : config dialog for arrows and graphic objects (set colour and arrow dir)
    : Other anchor types for sheet objects
    : Add keyboard controls for the control points

Dialogs
-------
- Use color combos in format dialog.
- Function selector
    : 'Most recently used'
    : typing in the function list should jump to an entry that starts with the
      requested letter.
- Formula Guru
    : As we auto add new entries for varargs we should make them visible.
    : Editing nested functions.  How best to express this.
    : Switching between multiple function at the same level.
    : Better communication and handling of parse errors.

Function Breakage
-----------------
- Index : does not support 0,0 or reference syntax.
- ftest : Needs auditing.  All calls to eval_pos_init_cellref are
    questionable.
- address : This code is a duplicate.  Have the function use the standard
    routines.
- There are a number of #UNIMPLEMENTED! things to take care of in the
    financial functions.  Mostly this is due to incomplete documentation.

Printing
--------
- cell text wraps differently when printing than displaying due to scaling
  differences in font size.  do we want to eliminate this ?

Widget polishing
----------------

Plugins
-------
- i18n support for third-party plugins.
- Add extra info (authors, etc.) to XML file.
- Plugin manager: add "refresh list" button.
- Plugin manager: add GUI for adding extra directories with plugins.
- Beautify ErrorInfo dialog (it's ugly).
- Mark plugin as "broken" if deactivation failed.
