
Form input for gsiag

Form input for tsiag

Menus for tsiag

Click grid, rownum, colnum in gsiag

Split window in tsiag

Confirm delete of nonempty cells

Better undo of changes to large empty ranges

Move more of the non-X code to libsiag.

Add Scheme functions to create user interface elements, in order
to make it more customizable.

4th support (but is 4th really flexible enough?)

Perl support

Modeless input (type digit => edit expression)

Truncate at cell border (Table widget)

Read csv files as all labels, including numeric fields

Filter out junk characters from input.

Use grid-, row- and column-wide default formats.

Multi-level undo would be trivial to implement. Making undo handle
huge changes or moving ranges is more work.

Use dynamic libraries, Solaris style, on the systems that can use them.
That way it won't be necessary to define at compile time which
languages et al are available. Libraries which could be handled in
this way include Guile, Tcl and XPM.
	Ideally, one would like to handle many more things in this
way. Format converters are an example, external file handlers...
It would then be possible to add functions to Siag without bloating
it unnecessarily and without having to recompile the whole thing.
Plus, the dl is a nice and clean way of handling modular code.
	It should also be easy to handle the libraries from SIOD,
so that libraries can be added simply by editing a Scheme script.
	If I want to distribute the source (and I do!) I must also
supply the header files for the libraries I want to use. I can
simply stick them in common. The important ones are tcl.h and gh.h,
possibly with additional ones for Guile. Why not create a subdirectory
for each library and put whatever is necessary there?

An eval-expr similar to exec-expr, but returns a value.

Let Gnuplot create graphs on pbm so they can be embedded.

Right adjusted text doesn't adjust right ( ;-) ) in the Postscript output.

Make sure all functions take a buffer argument

(remove-window)
(next-window)
(split-window)
(activate-window)
How to reference a window from Lisp
(savematrix path buffer type)
	Path is the full path, buffer is the name of the buffer
	(NIL for current), type is file format
(fsel-input path name patterns fmt)
	Path is starting directory, name is file name, patterns is list
	of extensions, fmt is osmething else
(listsel prompt list)
	list is a list of strings. Returns the index
BORDER-TOP, BORDER-BOTTOM, BORDER-LEFT, BORDER-RIGHT, BORDER-MASK
Stylelist
Fmtstyles
FMT-MASK

Goal seeking.

Load and save 1-2-3 files.

Record macros.

