Maemo "optification" was added
[gnuplot] / TODO
1 [========================================================================]
2 [========= List of things to be done.  Plans, ideas, whatever... ========]
3 [========================================================================]
4
5 COMMANDS:
6 =========
7
8 -- (EAM) Iterate over plot commands:   plot for [i=1,n] ....
9 -- (EAM) Everything on command line after "load <foo>" is lost; it shouldn't be
10 -- (EAM) Fill between curves for functions (already works for data)
11 -- (EAM) set object <tag> {circle|ellipse}
12
13
14 DOCUMENTATION:
15 ==============
16
17 -- gnuplot.doc: Add embedded figures from the demo set for PDF and HTML docs
18
19 Recently I've moved importants things from README.os2 into gnuplot.doc and
20 INSTALL; those other README.{win, xli, nex} should be
21 dispersed similarly. Who can do it?
22
23 -- docs/old/README.3d
24 -- docs/old/README.fit
25   These should be be edited and pasted into gnuplot.doc and then removed.
26
27
28 TERMINALS:
29 ==========
30
31 Amiga:
32   -- update its docs from docs/old/README.ami, then delete this file
33
34 Emx:
35   -- update its docs from docs/old/README.emx, then delete this file
36
37 (g)pic:
38   -- update its docs from docs/old/README.pic, then delete this file
39
40 Metafont:
41   -- update its docs from docs/old/README.mf, then delete this file
42
43 NeXTstep:
44   -- update its docs from docs/old/README.nex, then delete this file
45
46 Pstricks:
47   -- Patch 559611 color + variable pointsize in pstricks
48         Can somebody comment on this?
49
50 {eps|ps}latex:
51   -- none of the latex terminal variants support pattern-fill, but
52         they return no error if you try it.
53
54 Windows:
55   -- update its docs from docs/old/README.win, then delete this file
56   -- windows driver does not report font size to windows.trm, thus
57      character widht and height are quite useless numbers
58   -- update wgnuplot menus
59   -- repair the linetype bug in wgraph.c --- crash for
60                 set style fill solid border
61                 plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
62         or
63                 set style fill solid noborder
64                 plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
65         or
66                 set style fill empty
67                 plot [-2.5:4.5] 100/(1.0+x*x) with boxes lt -1
68   -- windows "Pause -1": it works very strange if you press <enter> while 
69         having the mouse cursor out of the graph window. Mainly users running
70         demos complain about this. This bug is associated to BUG 561418 
71         "(MS Windows) 100% CPU Usage during pause", and to HBB 20001217's note
72         about WaitMessage(); in wpause.c.
73
74 TERMINALS, GENERAL COMMENTS:
75 ============================
76
77 -- verify that terminals don't reset options (I've checked a lot, but 
78 should be tested again)
79
80 -- verify that color and pointtype sequence is unified, alias similar line and
81 point type sequences for the main terminal drivers
82
83
84 GNUPLOT TOOLS LIBRARY:
85 ======================
86
87 Make a library (e.g. usr/local/gnuplot/scripts/, .../gnuplot/bin) of 
88 (a) gnuplot scripts, and (b) shell scripts relevant for gnuplot:
89
90 -- enclose script "gpsavediff" that diff's output of gnuplot's "save" command 
91 and default setup after "reset" 
92
93 -- move pm3d/contrib/* files into the proposed gnuplot library, then remove
94 pm3d/contrib and pm3d/ from cvs
95
96 I.e., the last point is the main question: where to put pm3d/contrib/* files?
97
98 Or put them to gnuplot web page?
99
100
101 INSTALLATION --- LINUX:
102 =======================
103
104 -- add .spec file and a 'make' target to create RPM file?
105    [HBB: no.]
106
107
108 INSTALLATION --- VMS:
109 =====================
110
111 -- bring configure.vms in sync with current configure.in
112
113
114 [========================================================================]
115 [========================================================================]
116 [========================================================================]
117
118 Note: use
119         www.sourceforge.net/projects/gnuplot
120 => "Feature request" for feature requests.
121
122
123 Projects, in no particular order:
124
125 - revise border command to use keywords
126 - put minor tics into demo file
127
128 longer term
129
130 - break it into four layers:
131   : low level graphics  (some of term.c)
132   : plotting code, reading the setshow.h global variables
133   : parsing code - read a string, and parse and execute it
134   : front end, interact with terminal / gui
135   basically, gplotlib is layer 2, and the traditional gnuplot is
136   layer 4, which is little more than a small client of layer 3.
137   Terminal option lines are table driven,
138   so that even though the options are defined by layer 1, the
139   actual parsing is implemented in level 3
140
141 Lars' list
142
143 - much-requested feature: read text/commands from data files
144 - provide library of replacement functions instead of stdfn.c
145 - fully switch to automake [docs left to do, won't do lisp]
146 - completely rewrite the parser. Use yacc/bison if possible.
147 - maybe rewrite the scanner in lex? The benefits are not so obvious,
148   because the current scanner is extremely simple. This is probably
149   only worthwhile if the parser is rewritten at the same time.
150 - maybe use PD hash code for table-lookup (SNIPPETS code). Tables for
151   builtin and user functions, variables, commands. What else? aliases
152 - [Robert S. Maier] rewrite term.c to provide an interface to GNU plotutils
153 - standardise float/double comparisons around the suggestion in the
154   comp.lang.c FAQ (What's a good way to check for "close enough"
155   floating-point equality?) and symbolic constants from standard header files.
156   LOADS of errors throughout the code, especially in graphics.c
157 - autogenerate term.h from config file in text format and/or configure?
158 - parse "~" in filenames as $HOME
159   [PARTIALLY DONE] works for all cmds now; plot key shows "~" instead
160   of path (-> fix); does not accept "~" and "~user". Maybe implement
161   former, latter requires reading passwd file (-> not!)
162 - general expansion of user defined and environment vars in
163   labels?
164 - [Lucas] fix axis ranges, overwritten labels in demos
165 - write or organise a portable version of snprintf(3) with a copyright
166   compatible with the gnuplot copyright (ie. no GPL) (Apache?)
167 - add more maintainer checks (eg. file permissions)
168 - better lisp/ files integration (Makefile target to import Bruce's
169   latest version). How to handle duplicates?
170 - better documentation format; get rid of the doc2xxx utils
171   [SGML. SGML. SGML]
172 - tilde and variable expansion to be done by 
173   gp_fopen() - to be implemented
174 - fix bug which prints "DI,1DI,0" in the upper left corner of the plot when
175   in pcl5 mode and printing to an HP Laserjet 4+ (J. Breeding, bug-gnuplot)
176   [HBB: reason known, but proper workaround path unclear]
177
178 HBB:
179 [Optional:] See if 16-bit compilations can be made to work again.
180
181 Ethan's List:
182 - transparency (alpha channel) for fill areas and images
183 - separate out the handling of junk, NaN, Inf, and missing data entries
184 - 2D plot styles should accept color info from an extra input column
185 - you should be able to set a default style for arrows and labels
186 - isosurfaces (3D contour of 4D data)
187