Blame TODO

Packit 0986c0
[========================================================================]
Packit 0986c0
[========= List of things to be done.  Plans, ideas, whatever... ========]
Packit 0986c0
[========================================================================]
Packit 0986c0
Packit 0986c0
COMMANDS:
Packit 0986c0
=========
Packit 0986c0
Packit 0986c0
Packit 0986c0
DOCUMENTATION:
Packit 0986c0
==============
Packit 0986c0
Packit 0986c0
 -- Improve the documentation on fonts
Packit 0986c0
 -- More figures in the manual
Packit 0986c0
 -- We no longer have a working build path for HTML documentation.
Packit 0986c0
    Is there a suitable replacement?
Packit 0986c0
Packit 0986c0
PLATFORMS:
Packit 0986c0
==========
Packit 0986c0
Packit 0986c0
 -- We've seen a proof-of-principle build of gnuplot into javascript
Packit 0986c0
    running in a browser.  If the tool chain is simple enough, we could
Packit 0986c0
    make this a build target for autoconf/make.
Packit 0986c0
Packit 0986c0
 -- autoconf handling of TBOOLEAN on Solaris also remains problematic.
Packit 0986c0
    The definition apparently needs to be different for C and C++.
Packit 0986c0
Packit 0986c0
GNUPLOT TOOLS LIBRARY:
Packit 0986c0
======================
Packit 0986c0
Packit 0986c0
Make a library (e.g. usr/local/gnuplot/scripts/, .../gnuplot/bin) of 
Packit 0986c0
(a) gnuplot scripts, and (b) shell scripts relevant for gnuplot:
Packit 0986c0
Packit 0986c0
-- enclose script "gpsavediff" that diff's output of gnuplot's "save" command 
Packit 0986c0
and default setup after "reset" 
Packit 0986c0
Packit 0986c0
INSTALLATION --- LINUX:
Packit 0986c0
=======================
Packit 0986c0
Packit 0986c0
-- the installation paths for TeX-related files are a mess
Packit 0986c0
Packit 0986c0
Packit 0986c0
[========================================================================]
Packit 0986c0
[========================================================================]
Packit 0986c0
[========================================================================]
Packit 0986c0
Packit 0986c0
Note: use
Packit 0986c0
	www.sourceforge.net/projects/gnuplot
Packit 0986c0
=> "Feature request" for feature requests.
Packit 0986c0
Packit 0986c0
Packit 0986c0
Projects, in no particular order:
Packit 0986c0
Packit 0986c0
- break it into four layers:
Packit 0986c0
  : low level graphics  (some of term.c)
Packit 0986c0
  : plotting code, reading the setshow.h global variables
Packit 0986c0
  : parsing code - read a string, and parse and execute it
Packit 0986c0
  : front end, interact with terminal / gui
Packit 0986c0
  basically, gplotlib is layer 2, and the traditional gnuplot is
Packit 0986c0
  layer 4, which is little more than a small client of layer 3.
Packit 0986c0
  Terminal option lines are table driven,
Packit 0986c0
  so that even though the options are defined by layer 1, the
Packit 0986c0
  actual parsing is implemented in level 3
Packit 0986c0
Packit 0986c0
Lars' list
Packit 0986c0
Packit 0986c0
- provide library of replacement functions instead of stdfn.c
Packit 0986c0
- completely rewrite the parser. Use yacc/bison if possible.
Packit 0986c0
- maybe rewrite the scanner in lex? The benefits are not so obvious,
Packit 0986c0
  because the current scanner is extremely simple. This is probably
Packit 0986c0
  only worthwhile if the parser is rewritten at the same time.
Packit 0986c0
- maybe use PD hash code for table-lookup (SNIPPETS code). Tables for
Packit 0986c0
  builtin and user functions, variables, commands. What else? aliases
Packit 0986c0
- standardise float/double comparisons around the suggestion in the
Packit 0986c0
  comp.lang.c FAQ (What's a good way to check for "close enough"
Packit 0986c0
  floating-point equality?) and symbolic constants from standard header files.
Packit 0986c0
  LOADS of errors throughout the code, especially in graphics.c
Packit 0986c0
- autogenerate term.h from config file in text format and/or configure?
Packit 0986c0
- add more maintainer checks (eg. file permissions)
Packit 0986c0
- better documentation format; get rid of the doc2xxx utils
Packit 0986c0
  [SGML. SGML. SGML]
Packit 0986c0
- tilde and variable expansion to be done by 
Packit 0986c0
  gp_fopen() - to be implemented
Packit 0986c0
Packit 0986c0
HBB:
Packit 0986c0
Packit 0986c0
[Optional:] See if 16-bit compilations can be made to work again.
Packit 0986c0
Packit 0986c0
Ethan's List (2016):
Packit 0986c0
Packit 0986c0
- rewrite javascript support files for the canvas terminal to use
Packit 0986c0
  browser's font support.  Maintain more per-plot context, e.g. zoom state.
Packit 0986c0
- isosurfaces (3D contour of 4D data)
Packit 0986c0
- support mousing in multiplot output
Packit 0986c0
- add additional tic levels, possibly to appear only when zoomed
Packit 0986c0
- configuration/build options to create
Packit 0986c0
	javascript/emscripten executable
Packit 0986c0
	qt-based support for pdf, svg, png, etc (Lodewick patches)
Packit 0986c0
	configure option for a qt-only build (no cairo, no x11, no wxt)
Packit 0986c0
- better tracking of wrapped input lines by the builtin readline code
Packit 0986c0
- 64-bit integer arithmetic
Packit 0986c0
Packit 0986c0
- Remove obsolete files.  But are they truly obsolete?
Packit 0986c0
   term/pc.trm config/makefile.emx
Packit 0986c0