[========================================================================]
[========= List of things to be done.  Plans, ideas, whatever... ========]
[========================================================================]

COMMANDS:
=========


DOCUMENTATION:
==============

Recently I've moved importants things from README.os2 into gnuplot.doc and
INSTALL; those other README.{win, xli, nex} should be
dispersed similarly. Who can do it?

-- docs/old/README.3d
-- docs/old/README.fit
  These should be be edited and pasted into gnuplot.doc and then removed.


TERMINALS:
==========

Emx:
  -- update its docs from docs/old/README.emx, then delete this file

(g)pic:
  -- update its docs from docs/old/README.pic, then delete this file

Metafont:
  -- update its docs from docs/old/README.mf, then delete this file

NeXTstep:
  -- update its docs from docs/old/README.nex, then delete this file

Pstricks:
  -- Patch 559611 color + variable pointsize in pstricks
	Can somebody comment on this?

Windows:
  -- update wgnuplot menus

TERMINALS, GENERAL COMMENTS:
============================

-- verify that terminals don't reset options (I've checked a lot, but 
should be tested again)

-- verify that color and pointtype sequence is unified, alias similar line and
point type sequences for the main terminal drivers


GNUPLOT TOOLS LIBRARY:
======================

Make a library (e.g. usr/local/gnuplot/scripts/, .../gnuplot/bin) of 
(a) gnuplot scripts, and (b) shell scripts relevant for gnuplot:

-- enclose script "gpsavediff" that diff's output of gnuplot's "save" command 
and default setup after "reset" 

-- move pm3d/contrib/* files into the proposed gnuplot library, then remove
pm3d/contrib and pm3d/ from cvs

I.e., the last point is the main question: where to put pm3d/contrib/* files?

Or put them to gnuplot web page?


INSTALLATION --- LINUX:
=======================

-- add .spec file and a 'make' target to create RPM file?
   [HBB: no.]


INSTALLATION --- VMS:
=====================

-- bring configure.vms in sync with current configure.in


[========================================================================]
[========================================================================]
[========================================================================]

Note: use
	www.sourceforge.net/projects/gnuplot
=> "Feature request" for feature requests.


Projects, in no particular order:

- revise border command to use keywords
- put minor tics into demo file

longer term

- 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

Lars' list

- provide library of replacement functions instead of stdfn.c
- fully switch to automake [docs left to do, won't do lisp]
- 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.
- maybe use PD hash code for table-lookup (SNIPPETS code). Tables for
  builtin and user functions, variables, commands. What else? aliases
- 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.
  LOADS of errors throughout the code, especially in graphics.c
- autogenerate term.h from config file in text format and/or configure?
- general expansion of user defined and environment vars in labels?
- write or organise a portable version of snprintf(3) with a copyright
  compatible with the gnuplot copyright (ie. no GPL) (Apache?)
- add more maintainer checks (eg. file permissions)
- better lisp/ files integration (Makefile target to import Bruce's
  latest version). How to handle duplicates?
- better documentation format; get rid of the doc2xxx utils
  [SGML. SGML. SGML]
- tilde and variable expansion to be done by 
  gp_fopen() - to be implemented
- fix bug which prints "DI,1DI,0" in the upper left corner of the plot when
  in pcl5 mode and printing to an HP Laserjet 4+ (J. Breeding, bug-gnuplot)
  [HBB: reason known, but proper workaround path unclear]

HBB:

[Optional:] See if 16-bit compilations can be made to work again.

Ethan's List (2010):

- separate out the handling of junk, NaN, Inf, and missing data entries
- you should be able to set a default style for arrows and labels
- isosurfaces (3D contour of 4D data)
- fix emf text handling to match other terminals (vertical centering, enhanced)
- javascript mousing support integrated with svg output
  (low priority now that the canvas terminal supports mousing).
- allow the user to assign arbitrary coordinate transforms to the axes
- more demos and more comprehensible descriptions in the user manual
- revise the coordinate system used by x11 so that the terminal coordinates
  are proportional to the actual on-screen coordinates. 
  This will fix 'set size ratio'.

