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
----------------

    - Add an idle handler at start up to check for availablity of
      evo and guppi.  They should only be enabled if they are available.

Pending Patches
---------------

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

- Clean out the wasteful searching in every xml util.

- clearing 64k expressions from a column is dog slow because we are using an slist.
    : merge dep list and recalc queue.
    : add a counter of # of items to recalc.
    : use a hash instead of a list for deps
    : keep the hash per sheet rather than per workbook.

- double clicking the drag handle disregards content in the region to fill.
  It only looks at the neighbouring region to find the boundary, but ignores
  content in the region we will fill.

- Panes 
    : cursor dragging only affects src pane.
    : XL export
    : support horizontal or vertical only

- support negative durations with [h]

- Functions like SMALL and LARGE use O(n*log n) algorithms.  Should use
  O(n) algorithms, see Knuth.

- outline mode
    : finish implementing optionally putting markers above/left
    : connect the hide/show menu items

- Version the idl file so that future versions will not be confused by attempts
  to use an older version of the idl.

- It is possible to navigate to hidden cols/rows at the start/end of the sheet.

- clean up the range_list codes to differentiate a list of ranges from a list
  of cellranges.

Names :
    : Fix XL named expr import for sheet local names
      * externsheet for biff7 type=3
      * test for unicode
    : 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.

- When using the new range-selector for dialogs with only one range, it
  should not be necessary to select the range field before selecting the
  range.  As long as the selector is in a modal dialog.

- In selected regions the borders of cells that
  have their background color set are drawn incorrectly.
  An off-by-one pixel problem. For details see :
  http://bugzilla.gnome.org/show_bug.cgi?id=52240

- Search-and-replace.
  - It is doubtful whether the regexp selection belongs on the first page.
  - Querying is not implemented.

- 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 span.

- 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 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.

- 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.
- Inc/Dec precision should work.  Try "44", click $, then add/remove decimals.
- While we're playing with those functions, let's 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.

- 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)
    - 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 (should edit item use cell_draw ?)

- 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 acetate_create virtual to handle shaped objects.
    : config dialog for arrows and graphic objects (set colour)
    : Other anchor types for sheet objects
    : Add keyboard controls for the control points
    : display a view per Pane not per scg

Dialogs
-------
- 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.

Function Breakage
-----------------
- Index : does not support 0,0 or reference syntax.
- 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
----------------
- extensions to the notebook to enable dragging a tab to reorder and copy
- Add an optional flag to GnumericExprEntry which forces single-cell-only
  selection.

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.
