Projects, in no particular order:
- revise border command to use keywords
- put minor tics into demo file
- define either quit or exit to mean finish-this-file, not finish session
- at present, they are ignored in script files
- break it into four layers:
: low level graphics (some of term.c)
: plotting code, reading the setshow.h global variables
: parsing code - read a string, and parse and execute it
: front end, interact with terminal / gui
basically, gplotlib is layer 2, and the traditional gnuplot is
layer 4, which is little more than a small client of layer 3.
Terminal option lines are table driven,
so that even though the options are defined by layer 1, the
actual parsing is implemented in level 3
- group related 'set' variables into structures, particularly xaxis
stuff,etc. This will allow a move to table-driven parsing.
- new directory structure: eg. doc lib lisp m4 man src term
- possibly switch to automake
- completely rewrite the parser. Use yacc/bison if possible.
- maybe rewrite the scanner in lex? The benefits are not so obvious,
because the current scanner is extremely simple. This is probably
only worthwhile if the parser is rewritten at the same time.
- [Robert S. Maier] rewrite term.c to provide an interface to GNU plotutils
- [HBB] rewrite hidden3d code
- for post-3.7 release: integrate new feature patches (M. Koga's
polygon patch, various postscript driver patches by Dick, T. Walter's
gnuplot command line history save file, etc)?
- standardise float/double comparisons around the suggestion in the
comp.lang.c FAQ (What's a good way to check for "close enough"
floating-point equality?) and symbolic constants from standard header files.
- autogenerate term.h from config file in text format and/or configure
- add load path for files/GNUPLOT_LIBRARY env var
- provide library of replacement functions instead of stdfn.c
- [Lucas] fix axis ranges, overwritten labels in demos
- png driver needs update for png versions >=0.95
must be backwards compatible (do we want to require png >=0.95? We
already require >=0.89; possible compile problems under Irix 6.x which
comes with png 0.88/zlib 1.0)
- write or organise a portable version of snprintf(3) with a copyright
compatible with the gnuplot copyright (ie. no GPL)