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

COMMANDS:
=========

-- pm3d doesn't work for concave data, concave in the sense of valid data
  per scan, where single scans are interrupted by invalid data points. (joze)
  * Petr: what do you mean? Example?


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

-- gnuplot.doc
	- better document that you need a blank line in between scans
	  for 3D (many people ask why pm3d plots nothing...)

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

Amiga:
  -- update its docs from docs/old/README.ami, then delete this file

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?

{eps|ps}latex:
  -- none of the latex terminal variants support pattern-fill, but
	they return no error if you try it.

Windows:
  -- update its docs from docs/old/README.win, then delete this file
  -- rotated text is not supported
	demo/textrotate.dem does not pass correctly
  -- palette colored text is not supported
	demo/textcolor.dem does not pass correctly
  -- windows driver does not report font size to windows.trm, thus
     character widht and height are quite useless numbers
  -- update wgnuplot menus
  -- repaire the linetype bug in wgraph.c --- crash for
		set style fill solid border
		plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
	or
		set style fill solid noborder
		plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
	or
		set style fill empty
		plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
  -- windows "Pause -1": it works very strange if you press <enter> while 
	having the mouse cursor out of the graph window. Mainly users running
	demos complain about this. This bug is associated to BUG 561418 
	"(MS Windows) 100% CPU Usage during pause", and to HBB 20001217's note
	about WaitMessage(); in wpause.c.

Xlib:
  -- update its docs from docs/old/README.xli, then delete this file
  -- does the file gnuplib_x11.c still exist somewhere?  As I understand
     the README, this file was intended as a GPL-compatible interface
     to gnuplot.


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

- define either quit or exit to mean finish-this-file, not finish session
  - at present, they are ignored in script files

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

- much-requested feature: read text/commands from data files
- 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
- [Robert S. Maier] rewrite term.c to provide an interface to GNU plotutils
- 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?
- parse "~" in filenames as $HOME
  [PARTIALLY DONE] works for all cmds now; plot key shows "~" instead
  of path (-> fix); does not accept "~" and "~user". Maybe implement
  former, latter requires reading passwd file (-> not!)
- general expansion of user defined and environment vars in
  labels?
- string variables, aliases
- [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) (Apache?)
- gnuplot often doesn't free() memory; rearrange code to do this
  [memdump() function, command; mem_cleanup(), to be called on
   exit and reset; check existing code]
- add Amiga WinGnuplot driver and related files (difficult; cannot get
  it to run successfully when compiled with gcc)
- 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.

Petr:
-- it would be very convenient to set values/formulae for columns in advance,
   before "plot" --- something like
        set data using 3:($8/$9+1)

