Skip to content


Subversion checkout URL

You can clone with
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

8167 lines (5579 sloc) 314.386 kb
This is the ChangeLog covering gnuplot development between April 2004
(version 4.0 release) and October 2006 (4.2.0-rc1).
2006-10-01 Ethan A Merritt <>
* docs/gnuplot.texi docs/doc2texi.el docs/gnuplot.doc:
Update version number to 4.2 and update date to 2006
2006-10-01 Hans-Bernhard Broeker <>
* PATCHLEVEL: Changed to rc1 for first release candidate.
* VERSION: Changed to version 4.2.
2006-10-01 Hans-Bernhard Broeker <>
Changed to allow automake version to be checked. Avoid annoyingly
frequent problems from CVS users who just have too ancient
automakes, but only detect that by showing us obscure error
messages. Required automake may have to be increased still.
2006-09-28 Timothee Lecomte <>
* src/wxterminal/wxt_plot.h: Fix compilation on Windows, where syscfg.h
has to be included for TBOOLEAN to be defined in wtext.c
2006-09-26 Juergen Wieferink <>
* src/graphics.c (plot_betweencurves): If the input file contains a
blank line, terminate current filled area and start a new one.
Unfortunately it is not currently possible to distinguish between a
blank line and an invalid/missing coordinate.
* src/plot2d.c (get_data): Add comments to document the problem of
distinguishing a blank line from an invalid data point. (EAM)
Bug #1563430
2006-09-24 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation,
SF Patch [1519215].
2006-09-23 Ethan A Merritt <>
* src/pm3d.c (set_plot_with_palette): It used to be that all plots
needing a colorbox had pm3d_color.type == TC_DEFAULT. This is no
longer true, so add a more specific check on whether a colorbox is
needed. Bugfix.
2006-09-23 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp (wxtPanel::OnSize): Clean floating-point
comparison nonsense.
2006-09-22 Juergen Wieferink <>
* term/post.trm (PS_vector): To avoid accummulated error in a long
series of relative moves or draws, we were issuing a "stroke" command
periodically to force an update of the absolute position. This has the
bad side affect of resetting the current dot/dash pattern. Fix this so
that instead of using "stroke", we simply force an absolute vector
before continuing. This avoids accummulated error but does not reset
the dot/dash pattern.
Bugfix #1542050
2006-09-21 Timothee Lecomte <>
* Bump required version of wxWidgets to 2.5.3 for the
wxt terminal.
* src/wxterminal/wxt_gui.cpp (DrawToDC): Fix double cast warnings.
Fix a lazy constructor that seems not to be accepted on all setups.
2006-09-19 Ethan A Merritt <>
* src/show.c (disp_value): Force clean printout of "NaN" on save,
print, or show commands. Without this, the value is printed as
"nan.0", which is not parsable by set or load commands. Bugfix
2006-09-16 Timothee Lecomte <>
* Rework the checks for cairo and pango so that the error
messages are more helpful, mostly by copying the defaults pkg-config
messages and making them non-fatal.
Revert the minimum version of pango to 1.10.0 but refuse to compile the
wxWidgets terminal with pango 1.10.2.
2006-09-16 Hans-Bernhard Broeker <>
* docs/gnuplot.doc (set format): Make documentation for missing
<axes> argument match actual behaviour.
2006-09-15 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp (DrawToDC): Fill in gray the empty space
that has been let by a change in the aspect ratio of the window.
* trm/wxt.trm (TERM_HELP): Try to document the window resize behaviour
a little better.
2006-09-14 Timothee Lecomte <>
* Bump the required version of pango to 1.10.3 to fix a
bug in earlier versions about scaling matrix not being applied properly
to the fonts.
2006-09-12 Hans-Bernhard Broeker <>
* docs/gnuplot.doc (format specifiers): Fix typo in one example.
2006-09-11 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp (wxtConfigDialog::OnButton):
* src/wxterminal/wxt_gui.h (wxt_settings_queue, wxt_settings_apply):
Queue the modified rendering settings instead of applying them right
away, so that the plot is not messed up during a window resize.
2006-09-10 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Fix the use of the
Symbol font in non-enhanced mode, a peace of code was not pasted
* src/wxterminal/wxt_gui.cpp (wxt_set_font): Fix the use of a
non-initialized integer as the fontsize.
2006-09-10 Shigeharu Takeno <>
* docs/gnuplot-ja.doc: Sync Japanese documentation to recent changes in
English files. SF Patch [1519215], rev.1.385.
2006-09-01 Juergen Wieferink <>
* src/command.c (string_expand): Fix segfault if a truly enormous
string is to be used as an input line.
2006-09-01 Petr Mikulik <>
* docs/gnuplot.doc: Edits of the "What is new in gnuplot 4.2".
* docs/gnuplot.doc term/x11.trm: Comments on 'raise' does not raise.
2006-08-30 Harald Harders <>
* src/graphics.c (place_arrows): Allow for terminal-specific clipping,
exactly as done elsewhere in the code.
2006-08-30 Ethan A Merritt <>
* src/graphics.c (do_plot): The border attribute of fill style was
ignored by filledcurves. Change this to match all other places where
fillstyle is honored.
2006-08-28 Lars Hecking <>
* prepare: Allow importing auto* tools from the environment.
2006-08-26 Ethan A Merritt <>
Fix program errors revealed by issuing the command sequence
set termoption font 'face,size'; show term
set termoption font 'face'; show term
to all terminal types.
* term/gd.trm term/svg.trm term/tgif.trm: Accept comma-separated font
face, size. Reset to default font size if no size information is given.
* term/tkcanvas.trm: Fix infinite loop if unrecognized terminal option.
2006-08-24 Ethan A Merritt <>
* src/plot3d.c (get_3ddata): Increment the current point even if its
value is undefined. This allows grid spacing to be maintained, and
correctly handles `splot ... using ($1):($2):($3)`.
FIXME: This is only a partial solution. Deeper problems exist in the
handling of missing/NaN/junk data values during input. In particular,
gridding is still corrupted in the case of `splot ... using 1:2:3`.
2006-08-23 Ethan A Merritt <>
* src/color.c (cbtick_callback): Add handling of text properties
associated with colorbox tic labels, making them like the other axis
tic labels.
Bug #1543927
2006-08-21 Shigeharu Takeno <>
* docs/gnuplot-ja.doc
Sync Japanese documentation to recent changes in English files.
(rev.1.383) 15Aug2006
2006-08-21 Ethan A Merritt <>
* src/save.c (save_variables__sub): Do not save NaN to output file,
since it does not print correctly.
* src/eval.c (update_gpval_variables): Make it explicit which variables
are updated from which context.
* src/plot.c (main) src/util.c (int_error): Call update_gpval_variables
on program entry and on int_error.
Bug #1540398 (last release-critical tracker item)
2006-08-19 James R. Van Zandt <>
* term/cgm.trm: update email address
2006-08-19 Ethan A Merritt <>
* src/graphics.c: One half of the definition of clip_fill was
inadvertently omitted from the patch of 2006-06-04. This fix allows the
improved clipping to apply to all filled curves, whereas without it the
new clipping code only checked for "closed" filled curves.
2006-08-16 Ethan A Merritt <>
* src/gadgets.h: Initialize default histogram title structure to use
character units for the title offset. Fixes spurious error if the
y axis is log scale.
2006-08-14 Ethan A Merritt <>
* src/graphics.c (do_key_sample): Check for terminal support of
term->filled_polygon before using it to draw a key sample. Fixes
segfault in epson driver (and probably others) if a filled area
is assigned an RGB color.
* src/eval.c (update_gpval_variables): Test for term==NULL, and if so
return without doing anything. This prevents a segfault. However, why
does the program not trigger a similar segfault elsewhere?
Bug #1540398
2006-08-13 Ethan A Merritt <>
* docs/gnuplot.doc: Clarify the argument required by exists(), and
provide an example of passing it a string variable containing the
name of another udv (possibly useful in conjunction with macros).
2006-08-13 Petr Mikulik <>
* docs/doc2tex.c (puttex): Don't split index words at - or _; replace
_ by space.
2006-08-11 Ethan A Merritt <>
* term/PostScript/ Remove comment with my name in it.
Further tweak to the PatternBgnd macro.
2006-08-12 Petr Mikulik <>
* term/PostScript/ term/PostScript/
term/PostScript/ Remove superfluous C comment characters.
* term/PostScript/ Remove my info.
2006-08-11 Timothee Lecomte <>
* term/post.trm: Fix preprocessor logic for !defined(GNUPLOT_PS_DIR).
2006-08-11 Petr Mikulik <>
* term/PostScript/ Replace multiple spaces by a tabulator.
* docs/doc2tex.c (puttex): Remove superfluous spaces around \index{x}.
2006-08-11 Bastian Maerkisch <>
* config/makefile.nt: Define GNUPLOT_PS_DIR to use external PostScript
prologue files.
2006-08-11 Petr Mikulik <>
* docs/gnuplot.doc: Some comments in the help for bind and mouse
2006-08-10 Shigeharu Takeno <>
* docs/gnuplot-ja.doc
Sync Japanese documentation to recent changes in English files.
(rev.1.381) 08Aug2006
2006-08-09 Ethan A Merritt <>
* term/post.trm term/PostScript/ Move the pattern-fill
background initialization out of the terminal driver and into the
prologue script, with a user-toggle at the top of the file. Allows
pseudo-transparency, and complete redefinition of the pattern styles
without rebuilding gnuplot.
2006-08-09 Timothee Lecomte <>
* docs/ Revert change from 2006-07-18 (define
GNUPLOT_PS_DIR), now useless as the PostScript prologue help no longer
has any #ifdef.
2006-08-09 Bastian Maerkisch <>
SF Patch [1505261] wgnuplot: open file-open-dialog in current dir
* src/win/wmenu.c (SendMacro): Windows XP uses a strange initial
directory for the file open dialog. This patch forces the dialog to
always open in the current directory. So now, if you change the
directory via 'cd', the file open dialog opens where expected.
2006-08-08 Hans-Bernhard Broeker <>
* src/show.c (show_version): Fix C99-ism by reintroducing
a pair of braces that had been removed.
2006-08-07 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp (wxtPanel::wxt_cairo_create_bitmap):
Use a reference instead of a pointer to avoid misusing an undocumented
constructor that will be removed in wxWidgets >= 2.7.0.
2006-08-07 Ethan A Merritt <>
* demo/all.dem: Add rectangle.dem to the standard test set.
* demo/image.dem demo/macros.dem demo/rainbow.dem demo/rectangle.dem:
Now that we have the configuration options in GPVAL_COMPILE_OPTIONS we
can use this to test for the presence of optional features needed for
any particular demo. These particular demos require configuration
options that are marked EXPERIMENTAL in version 4.2, so we test for
the presence of the feature and if it is missing then we print a
warning message and skip the rest of the demo. This allows "make check"
to succeed even if the EXPERIMENTAL features are configured out.
2006-08-06 Timothee Lecomte <>
* docs/gnuplot.doc: Document GNUPLOT_PS_DIR in the list of environment
* INSTALL: Likewise.
Synchronize the output of `./configure --help'.
Document the requirements of the wxWidgets terminal.
* Remove detection of libpng, useless since the
standalone png driver has been removed.
* src/ (AM_CPPFLAGS); Remove PREFIX and VERSION_MAJOR, those
were used by the wxWidgets terminal but are not anymore.
2006-08-05 Ethan A Merritt <>
* tutorial/tutorial.tex: Update version statement to 4.2
* src/version.c src/version.h: Global (char *)compile_options.
* src/show.c (show_version): Save the configuration options string
produced for "show version long" in (char *)compile_options. If called
as show_version(NULL), do this and nothing else.
* src/plot.c (main): Call show_version() on program entry in both
interactive and non-interactive mode so that it initializes the
compile_options string.
* src/eval.c (update_gpval_variables): New udv GPVAL_COMPILE_OPTIONS
that makes the compile_options string available to the user.
2006-08-05 Daniel Sebald <>
* src/history.c: Built-in readline history command was losing one
saved entry every time. Fix the start point for the save.
Bug #1531532
2006-08-04 Ethan A Merritt <>
* term/pdf.trm term/post.trm term/emf.trm term/cgm.trm
term/metapost.trm: term->options() should not reset the terminal to
its default values if it is called from "set termoption" rather than
from "set term".
Bug #1534649
* docs/gnuplot.doc: Fix typo and update example commands to use
exists("Foo") rather than define(Foo).
* src/eval.c (update_gpval_variables): Store PATCHLEVEL as a string if
possible, so that people can use this as an identifier for customized
2006-08-03 Ethan A Merritt <>
* term/pdf.trm (PDF_set_color PDF_linetype PDF_filled_polygon):
Implement the "mono" option, which up until now has not done anything
other than failing to set new linetypes.
Bug #1517932
2006-08-03 Petr Mikulik <>
* term/PostScript/prologues.h: Regenerated.
* term/PostScript/ Force always the same sorting.
* term/post.trm term/PostScript/ Move "Blacktext {} if" into
the definitions of {M}{LCR}show, to avoid it directly in the postscript
2006-08-01 Ethan A Merritt <>
* src/datafile.c (df_readascii): Allow a string-valued function
to provide the time/date string for interpreting axis coordinates
given after 'set {xyz}data time'.
Bug #1445586
2006-07-31 Timothee Lecomte <>
* README.1ST: Update notes on the gd library.
2006-07-31 Ethan A Merritt <>
* term/gd.trm (PNG_linetype): Fix off-by-one error in checking for
minimum legal linetype. Could conceivably have caused a segfault.
* demo/rectangle.dem demo/html/ Update demo for 4.2
2006-07-30 Ethan A Merritt <>
* docs/gnuplot.doc (Known Bugs): The 'nohidden3d' options does
not work for parametric curves. Bug #1531432.
2006-07-30 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to recent changes in English files.
2006-07-30 Timothee Lecomte <>
* term/post.trm: Reword the doc about the prologue files, so that we do
not need the #ifdef GNUPLOT_PS_DIR, and so that the use of the
environment variable GNUPLOT_PS_DIR is always documented since it is
always available.
2006-07-30 Daniel Sebald <>
* docs/gnuplot.doc: Format norm()/invnorm() info for 80 characters.
2006-07-29 Ethan A Merritt <>
* Remove warning about needing a patch for libreadline
(not relevant to libreadline version 5).
* docs/gnuplot.texi: Update to match current documentation.
2006-07-29 James R. Van Zandt <>
* docs/gnuplot.doc: clarify definitions of functions norm() and igamma()
2006-07-29 Timothee Lecomte <>
* docs/gnuplot.doc: Another round of additions to the "news" section
of the help.
* src/plot.c (main): Fix parsing of "-persist" for the wxWidgets
terminal when X11 is not defined, and when _Windows is defined.
* term/ai.trm (TERM_HELP): Add notice that the terminal is outdated
and that post should be used instead.
2006-07-28 Timothee Lecomte <>
* docs/gnuplot.doc: Add details about new features in 4.2 with full
sentences and following the same format as 4.0 new features.
* src/command.c (rlgets) [HAVE_LIBREADLINE]: Add an extra string
comparison not to remove false duplicates from the history.
BUG #1529200
2006-07-28 Ethan A Merritt <>
* tutorial/ Set environmental variable GNUTERM to latex
before running gnuplot on the tutorial demos. Bypasses any potential
conflicts of default terminal type with currently installed terminals.
* src/misc.c (lp_parse parse_colorspec): Incorrect parsing of linetype
colorspec if the colorspec was not the last thing on the command line.
Bug #1526387
* term/emf.trm: Implement "set term emf ... size XX,YY".
* term/post.trm term/dumb.trm: Update terminal description
2006-07-27 Ethan A Merritt <>
* term/pslatex.trm (EPSLATEX_set_color): If the color is specified
by linetype, fall back to PS_linetype for monochrome/grayscale plots.
Bug #1529884
2206-07-27 Timothee Lecomte <>
* docs/gnuplot.doc (x11_mouse): Reword the section about possible hangs
when piping from /dev/null to reflect the 4.2 behaviour where mouse is
turned on by default.
* src/plot.c (main):
* src/wxt_gui.c (wxt_atexit):
* src/wxt_plot.h:
Move the code parsing **argv for "-persist" from wxt_atexit() to
main(). X11_args() parses it too in main() and removes the tokens that
it recognizes from **argv, so we need to do it before that happens.
Also avoid processing of the mouse events when the wxt terminal is not
the current active one at exit time.
2006-07-27 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to recent changes in English files.
2006-07-26 Per Persson <>
* term/aquaterm.trm: Made UTF8 the default encoding for AquaTerm.
2006-07-26 Hans-Bernhard Broeker <>
* tutorial/ (RUN_GNUPLOT): Can the .plt.tex command
sequence into this new macro.
(.plt.tex): Use the new macro. Ged rid of the @ marker that hides
the gnuplot invocation, while at it.
(eg7.eps): New rule using the macro, to ensure make knows how to
make the .eps file, even if the .tex output is still present.
2006-07-26 Timothee Lecomte <>
* tutorial/.cvsignore: Add *.eps and test.tex to the list of files
to be ignored by CVS.
2006-07-25 Timothee Lecomte <>
* term/README: Change IMAGE_DRIVER to the true WITH_IMAGE.
2006-07-24 Timothee Lecomte <>
* term/wxt.trm (wxt_options): Fix wrong test on tri-state variable.
2006-07-23 Timothee Lecomte <>
* docs/gnuplot.doc (Syntax): Change wording to avoid reference to
`enhanced postscript`.
2006-07-22 Timothee Lecomte <>
* docs/gnuplot.doc: Add here and there some references to the wxWidgets
terminal, where appropriate.
* term/post.trm (00psglobal): Remove reference to 'if compiled with
* term/post.trm (epslatex): Change reference from 'set ticscale' to
'set tics scale'.
2006-07-21 Ethan A Merritt <>
* src/gplt_x11.c term/x11.trm term/wxt.trm: Make x11 and wxt share a
common syntax for switching between "quit = q" and "quit = ctrl-q"
behaviour from the command line:
set term foo {{no}ctrlq}
2006-07-20 Ethan A Merritt <>
* src/eval.c src/eval.h src/plot.c: Add a pre-defined udv NaN that is
guaranteed to evaluate as NaN. This provides a convenient way to define
a user function that explicitly returns NaN under some conditions.
Bug #1158281
2006-07-20 Shigeharu Takeno <>
* docs/gnuplot-ja.doc: Sync to current English version.
2006-07-20 Ethan A Merritt <>
* term/*.trm: Revert patchset of 2006-07-06
Restore explicit help entries for "set term foo ...".
Daniel has a patch to help.c which would obviate this fix, but I judge
that had better wait til after 4.2. This returns us to a state that
was satisfactory for a long time.
* docs/term-ja.diff: EAM - Modify patch so that it applies without error,
but it still needs to be updated to track the recent changes to post.trm
that add a section describing GNUPLOT_PS_DIR.
2006-07-18 Timothee Lecomte <>
* src/wxterminal/wxt_gui.h (wxtPanel): New state variable
* src/wxterminal/wxt_gui.cpp (wxt_set_cursor): Handle the new flags -3
and -4 for "line from ruler to current mouse position".
(OnMotion): Redraw on mouse motionto update the line to ruler.
(Draw): Draw a line from the ruler to current position when asked to.
2006-07-18 Ethan A Merritt <>
* term/post.trm: Add help-file sections describing the PostScript
prolog processing, and the environmental variable GNUPLOT_PS_DIR.
* term/post.trm: Add a %%BeginProlog line to the output stream.
* docs/ Define GNUPLOT_PS_DIR so that the corresponding
documentation is processed (Timothee Lecomte).
* src/plot3d.c (eval_3dplots): Unnecessary initialization to quiet
spurious compiler warning.
2006-07-18 Hans-Bernhard Broeker <>
* config/makefile.oww (TERMFLAGS): Add -DGNUPLOT_PS_DIR flag.
(GNUPLOT_PS_DIR): Define the relative PostScript path.
* config/makefile.mgw: Add a line to help Emacs detect this is a
(term.$(O)): -DGNUPLOT_PS_DIR shouldn't really be down here.
(TERMFLAGS): Move the -DGNUPLOT_PS_DIR flag in here.
2006-07-18 Petr Mikulik <>
SF Patch [1520821] line from ruler to current mouse position if polar
* src/mouse.c term/README: Two new flags for term->set_cursor(flag,...):
-3 = draw line between ruler and current mouse position,
-4 = don't draw (erase) line between ruler and current mouse position.
They are issued when mousing with displayed ruler and showing polar
distance or tangent.
* src/gplt_x11.c: New plot variables ruler_lineto_{on|x|y}, and function
DrawLineToRuler(plot) to draw and erase line between ruler and current
mouse position. This implements calls of set_cursor(flag,...) for
flag=-3 and -4.
* src/win/wgraph.c: Same as for gplt_x11.c, just with ruler_lineto
2006-07-17 Timothee Lecomte <>
* term/post.trm (PS_dump_prologue_file): Modify the Windows code
to use GNUPLOT_PS_DIR as the relative path
* config/makefile.mgw: Add an entry to define GNUPLOT_PS_DIR.
2006-07-17 Bastian Maerkisch <>
* term/post.trm (PS_dump_prologue_file): OS/2 code to look
for PostScript prologue files relatively to the executable path.
2006-07-17 Ethan A Merritt <>
* NEWS docs/gnuplot.doc: Update list of known bugs, and add index
entries to help find them in the docs.
* src/plot2d.c (get_data): Remove debugging statement that escaped
into cvs.
2006-07-16 Ethan A Merritt <>
* term/pslatex.trm (EPSLATEX_set_color): Filter out redundant commands
to change the color in the *.tex output stream by buffering each
set_color command, and only sending the most recent one if necessary at
the time the next TeX plot element is sent.
Bug #1517932.
* docs/gnuplot.doc: Document the new FIT_* user variables, and clarify
the use of locale settings.
2006-07-15 Timothee Lecomte <>
* term/PostScript/prologues.h term/PostScript/
term/PostScript/README: Set up an automated system for encapsulating
the external PostScript prologue files back into a header for inclusion
in-line in post.trm if necessary.
* term/post.trm: If GNUPLOT_PS_DIR is defined, then load the prologue
data at run-time from the externally maintained files in that directory.
If GNUPLOT_PS_DIR is not defined, then include the equivalent text data
as static arrays at compile time.
* config/makefile.mgw: Define some GNUPLOT_PS_DIR.
* src/win/winmain.h: Declare szModuleName as extern
(EAM - what is this???).
Bug #1510816
2006-07-15 Ethan A Merritt <>
* src/fit.c (regress): Export user-visible variables from the fit.
FIT_NDF : Number of degrees of freedom
FIT_WSSR : Weighted sum-of-squares residual
FIT_STDFIT : sqrt(WSSR/ndf), called "rms of residuals" in the log file
FIT_CONVERGED : 1 if the previous fit converged; 0 otherwise
2006-07-15 Daniel Sebald <>
* src/command.c (history_command): Remove recursive function call to
avoid problem with "flag" being in incorrect state if the recalled
command from history fails. Now use approach where command from
history is parsed to check if it itself is also history.
2006-07-14 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c: Respect ISO C90 standard (mainly move
declarations to beginning of functions).
2006-07-14 Ethan A Merritt <>
* term/post.trm (PS_dump_prologue_file): Try harder to expand short
file name into legal VMS or Windows path+file. Give more informative
error messages if the file cannot be found.
2006-07-14 Juergen Wieferink <>
* src/eval.c (fill_gpval_string): Remove cast to (char *) by correcting
a dereference of the string value.
2006-07-13 Juergen Wieferink <>
* src/eval.c (fill_gpval_string): Do not risk calling gpfree_string
on uninitialized udv.
* src/eval.c (update_gpval_variables): Treat GPVAL_TERM just like all
the other GPVAL_* variables.
* standard.c standard.h (f_exists): Allow to compile with
./configure --disable-stringvariables
2006-07-12 Ethan A Merritt <>
* Enable HIDDEN3D_QUADTREE by default.
* term/post.trm (PS_linetype): Additional optimization from not forcing
an absolute move if the linetype change has been optimized away.
* term/pslatex.trm (EPSLATEX_linetype): Step back from over-general test
for unnecessary linetype change. Forward it to PS_linetype for the
actual decision. Without this, a pure linewidth change or a pure
dash style change are incorrectly ignored.
2006-07-12 Timothee Lecomte <>
* demo/
* demo/random.dem:
* demo/vector.dem:
Rename temporary *.dat files to *.tmp to prevent them to be included by
'make dist'.
2006-07-11 Ethan A Merritt <>
* term/pslatex.trm (EPSLATEX_set_color): Restore support for color
text set using fractional palette values. If the terminal is in mono
mode, or has the blacktext option, the fractional text color remains
a pure grayscale.
Bug #1517932
2006-07-11 Per Persson <>
* term/aquaterm.trm: Made aqua terminal respect font requests of the
form: font "<fontface>{,<fontsize>}", old syntax still supported too.
2006-07-11 Petr Mikulik <>
* config/makefile.cyg config/makefile.mgw config/makefile.nt: #define
2006-07-10 Ethan A Merritt <>
* demo/mouselabels.dem demo/mouselab_1.dem demo/mouselab_2.dem:
New demo using GPVAL_* variables and mouse/keystroke interaction to
achieve interactive placement of plot labels. Tested for x11 and wxt.
* demo/mousevariables.dem demo/keystroke.dem(removed):
Remove the keystroke part of this demo, since this feature is now
demonstrated more usefully by mouselabels.dem
* src/eval.c: Allow both if(exists("foo")) and if(exist("foo")).
The latter is what octave uses.
2006-07-09 Hans-Bernhard Broeker <>
* demo/ (CLEANFILES): Remove stringvar.tmp.
* tutorial/ (CLEANFILES): Fix up list of created
files to be cleaned.
(.plt.tex): Allow vpath builds.
(.eps.pdf): New rule to fix pdf build of tutorial.
(tutorial.dvi): Add dependency on eg7.eps.
(tutorial.pdf): Add dependency on eg7.pdf
* src/win/wtext.c: Fix mixed-up line endings.
* docs/gnuplot.doc: Repair some blank-only lines. Again.
2006-07-08 Timothee Lecomte <>
* Always check for Cairo rendering support in Pango, and
add the corresponding linking flags to WX_LIBS.
* src/wxterminal/gp_cairo.c (gp_cairo_enhanced_flush): Initialize
overprinted_width to avoid gcc warning.
* term/wxt.trm (wxt_options): Initialize font_setting to avoid gcc
2006-07-08 Ethan A Merritt <>
* src/parse.c: Revert to parse.c version 1.44 (10 Jun 2006).
This does away with dead code left after yesterday's partial
* term/post.trm (PS_linetype PS_set_color): Restore long-time commented
out test for redundant linetype commands. Don't "change" linetype if the
new one is the same as the current one. term->set_color must also
invalidate the previous linetype so that the next call to term->linetype
isn't ignored.
Bug #1517932.
2006-07-07 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to recent changes in English files.
2006-07-07 Daniel Sebald <>
* src/parse.c (parse_primary_expression): Partially back out patch of
2006-06-11. Do not check number of variables passed to a user function
at the time of parsing - only at time of evaluation.
Bug #1518553
2006-07-07 Ethan A Merritt <>
* src/help.c (FindHelp): Add missing pair of brackets to disambiguate
if/if/else syntax.
* src/command.c (history_command): Fix segfault if re-execution of a
previous command terminates via int_error().
Bug #1514453
* demo/rectangle.dem: Add reset at end, and prompts at 'pause -1'.
* src/plot2d.c (get_data): HISTOGRAM plot styles must leave a slot for
all entries, even if they are flagged as DF_MISSING. Otherwise the
histogram plot elements do not line up properly.
2006-07-06 Daniel Sebald <>
* docs/gnuplot.doc term/*.trm: Remove redundant help keys; i.e. those
that are distinguished only by one being a short form of the other.
No change in help or documentation behavior is intended.
?set terminal cgm
?set term cgm %% delete this one
2006-07-06 Ethan A Merritt <>
* term/pslatex.trm (EPSLATEX_linetype EPSLATEX_set_color):
Keep track of last color and/or linetype set, and filter out
duplicate requests for the same setting. It remains true that the
color change command is sent to both the *.eps and *.tex output stream,
whereas in general only one of the two needs to see it.
Bug #1517932.
* tutorial/tutorial.tex tutorial/eg7.plt: Make the file names
of the 7th example plot match the other six examples.
2006-07-07 Timothee Lecomte <>
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_gui.cpp (wxtPanel::Draw):
Small rework of the double-buffering to fully comply with wxWidgets
2006-07-07 Petr Mikulik <>
* src/set.c docs/gnuplot.doc: New options
'set mouse {noruler|ruler {at x,y}}'.
* src/mouse.h src/mouse.c: New function set_ruler() to (un)set ruler
(at a given position).
2006-07-06 James R. Van Zandt <>
* demo/bivariat.dem:
- Adjust the step size so the range of integration is an integral
number of steps
- Use Simpson's rule rather than just taking the function value at
one end of each step
- Add points from the real erf(x) to the first plot, for comparison
- For the second plot, define the integrand f(x)=cos(x)
That way, the integral is sin(x) instead of being offset by a
constant of integration
- For the last plot, use "with impulses" to make the pattern more
apparent, and because the function is only defined over the integers
2006-07-06 Petr Mikulik <>
* src/set.c (set_mouse) docs/gnuplot.doc: Command 'set mouse
polardistance{deg|tan}' to flip between the two possibilities
of displaying polar distance.
2006-07-05 Ethan A Merritt <>
* term/pdf.trm: Add {size xx,yy} option, exactly parallel to the
option recently added for PostScript. Size can be given in inches
or cm.
2006-07-05 Bastian Maerkisch <>
* config/makefile.nt: Add /DWIN32 to CFLAGS.
2006-07-04 Daniel Sebald <>
* demo/image.dem: Remove obsolete warning about terminal support.
2006-07-04 Bastian Maerkisch <>
* term/win.trm (WIN_enhanced_open): (2nd try)
Reset to _default_ font, not _current_ font!
Bug #1510055
2006-07-04 Ethan A Merritt <>
* term/gd.trm (PNG_justify_text): Move the conditional test for
HAVE_GD_TTF inside the PNG_justify_text() routine, rather than
maintaining it in parallel in the PNG/JPEG/GIF TERM_TABLE entries.
Actually, we were failing to maintain it in parallel, causing
Bug #1515292.
2006-07-04 Petr Mikulik <>
* src/mouse.c (builtin_toggle_ruler, turn_ruler_off): New autogenerated
* src/mouse.c (GetRulerString, builtin_toggle_polardistance): Let polar
coordinates show either (distance,angle) or (distance,tangent) after
multiple clicks of the default hotkey '5'.
* src/mouse.c (GetRulerString): Support polar coordinates in the
mouse&ruler message string also for log-log plots.
2006-07-02 Daniel Sebald <>
* src/show.c (show_command): Place in some messages about "show data"
and "show linestyle" being deprecated.
2006-06-30 Ethan A Merritt <>
* demo/image.dem demo/demo.edf: Set binary flag in cvs repository.
cvs admin -kb demo/image.dem demo/demo.edf
2006-06-30 Petr Mikulik <>
* src/breaders.c (edf_filetype_function): Don't print a debugging
* src/eval.c (update_gpval_variables): Added automatic read-only
2006-06-29 Bastian Maerkisch <>
* term/win.trm (WIN_enhanced_open): Reset to _default_ font, not
_current_ font! Bug #1510055
2006-06-29 Ethan A Merritt <>
* src/set.c src/show.c: Less alarming error message if deprecated syntax
is detected. Undeprecate "set key {below|above}".
Bug #1514614.
* tutorial/ eg4.plt eg5.plt eg6.plt eg7.plt test.plt
tutorial.tex header.tex makefile.dst linepoin.plot (removed):
Replace deprecated syntax in tex example plots. Add an epslatex sample.
* src/save.c: Add missing newline after 'set pm3d depthorder'.
* docs/gnuplot.doc docs/gnuplot-ja.doc: Refer to current version as
4.2 rather than 4.1.
2006-06-29 Daniel Sebald <>
* demo/airfoil.dem histograms.dem histograms2.dem image.dem multiplt.dem
random.dem simple.dem starmap.dem:
Small changes to ensure demos do not use deprecated syntax.
* docs/gnuplot.doc: Clean up "set title" and "set xlabel" and remove
any examples with non up-to-date syntax.
2006-06-29 Petr Mikulik <>
SF Patch [1488448] User-available GPVAL_ variables
* NEWS docs/gnuplot.doc src/command.c src/eval.c src/eval.h src/plot.c
src/plot2d.c src/plot3d.c src/save.c src/set.c src/show.c src/unset.c:
New routine update_gpval_variables() to create and update autogenerated
read-only GPVAL_ variables, and its callers. New command option
'show variables all'.
2006-06-28 Daniel Sebald <>
* src/history.c (write_history_n): Account for the case where the
number of history entries is less than what the user asked for.
2006-06-28 Ethan A Merritt <>
* src/term.c (change_term) term/x11.trm: The x11 terminal driver has
been carrying around two copies of TERM_TABLE, one named "x11" and
the other named "X11". But the "X11" copy has suffered from bit rot.
Delete this redundant copy, and instead replace "X11" with "x11"
at the time the "set term" request is processed.
2006-06-27 Daniel Sebald <>
* src/unset.c (unset_minitics, reset_command): Change action of
unset_minitics to MINI_OFF and set to MINI_DEFAULT after calling
from reset_command().
Bug #1346814.
2006-06-27 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to recent changes in English files.
2006-06-27 Keith Hellman <>
* Accommodate new gnu autotools convention of installing read-only
data relative to @datarootdir@
Bug #1513675
2006-06-27 Timothee Lecomte <>
* m4/pkg.m4: New files containing the pkg-config macros.
2006-06-26 Ethan A Merritt <>
* term/wxt.trm: Add index point for "help set term wxt".
* src/variable.c: Only invoke kpsexpand if configuration
option --with-kpsexpand is chosen at build time.
Bug #1377786
2006-06-26 Daniel Sebald <>
* src/help.c (FindHelp): Fixed bug introduced on 2006-06-23 where
strcpy() overwrote keyword, inadvertently losing the subtopic string.
Now expand all abbreviated sub-keywords until end of keyword string.
* src/util.c (lower_case): Fix off-by-one bug in characters treated.
2006-06-25 Ethan A Merritt <>
* src/plot2d.c (get_data): If a data field matches the current setting
of 'set datafile missing "foo"', then do not interrupt the plotted line
spanning the adjacent points in the plot. This was the behavior in
version 3.7, and is what the documents describe, but has not been the
case in version 4.0.
Bugs #775810 #918793 #969322 #1403945
2006-06-24 Ethan A Merritt <>
* src/datafile.c: Whitespace cleanup, comments.
* demo/contours.dem demo/vector.dem: Update demo to use "set view map".
2006-06-23 Daniel Sebald <>
* src/help.c (FindHelp): Return a pointer to an empty help key if the
user help string is ambiguous. Change the len computation from strlen()
to strcspn() so that non ambiguous, sub-optioned strings work.
(help): Only PrintHelp if text exists to prevent blank line at output.
2006-06-23 Daniel Sebald <>
* demo/image.dem: Clean up missing quotes. Removed some resets so
that the palette doesn't change except when necessary.
* src/graphics.dem src/set.c: Cosmetic changes.
2006-06-22 Ethan A Merritt <>
* src/datafile.c (df_readline): Check input values
against NaN, but only if the system supports the isnan() test.
NaN input values are treated as UNDEFINED.
Bug #1490699
2006-06-21 Ethan A Merritt <>
* demo/scatter2.bin demo/sine.bin demo/using.bin demo/blutux.rgb:
Flag these files as binary in the CVS repository
cvs admin -kb *.bin *.rgb
Hopefully this will fix image.dem under Windows
2006-06-21 Timothee Lecomte <>
* term/wxt.trm: Small correction in TERM_HELP.
2006-06-20 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp: Small cleanups to avoid -Wall warnings.
2006-06-20 Ethan A Merritt <>
* src/plot.c (main) src/term.c (init_terminal): Revisit fix of
2004-08-25 - call term->option() on entry if the default terminal is set
from GNUTERM. We have only been doing this for the libgd terminals, but
it turns out to be necessary for PostScript also, and probably others.
Bug #1509033
* demo/stringvar.dem demo/html/ demo/html/Makefile:
Modify the stringvar demo for use with webify, and add it to the
demo web page.
* src/set.c (load_tic_series): Fix parsing error that had the effect
of requiring an explicit end point for the tic series unless this was
the last thing on the command line.
2006-06-19 Ethan A Merritt <>
* term/post.trm: Initialize PS_default_font to "Helvetica,14".
In the worst case scenario, this guarantees a non-zero font size
and an actual PostScript font.
Bug #1509033
2006-06-19 Timothee Lecomte <>
config.h .
* src/ Pass GNUPLOT_PS_DIR as a CPPFLAG.
* term/ Install the *.ps files the automake way.
* config/makefile.mgw (WXT): Do not install the PNG icons of the
wxWidgets terminal (now embedded).
2006-06-19 Ethan A Merritt <>
* src/plot3d.c (get_3ddata): After reading in the data points, check
that the axis ranges are legal. If the input data contains NaN or Inf
then the axis scaling may fail.
Bug #1490699.
2006-05-18 Bastian Maerkisch <>
* src/win/wtext.c: Add mouse wheel scroll support for text window.
2006-06-18 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/README.ja docs/term-ja.diff
src/win/ src/win/wgnuplot-ja.mnu:
Sync Japanese documentation to recent changes in English files.
2006-06-18 Ethan A Merritt <>
* src/show.c (show_version): List additional configuration options.
Make the show version output more compact (25 lines).
* term/emf.trm (EMF_linetype EMF_dashtype): It is necessary to set the
line color and dash type every time either is changed.
2006-06-17 Timothee Lecomte <>
* src/wxterminal/bitmaps/png/autoscale_png.h:
* src/wxterminal/bitmaps/png/clipboard_png.h:
* src/wxterminal/bitmaps/png/config_png.h:
* src/wxterminal/bitmaps/png/grid_png.h:
* src/wxterminal/bitmaps/png/help_png.h:
* src/wxterminal/bitmaps/png/nextzoom_png.h:
* src/wxterminal/bitmaps/png/previouszoom.h:
* src/wxterminal/bitmaps/png/replot_png.h:
New files containing the translation of the binary PNG files into
C arrays to be included in the source code.
* src/wxterminal/bitmaps/png/README.embedding:
Text file briefly explaining the purpose of the embedded PNG files.
* src/wxterminal/wxt_gui.cpp (wxtApp::OnInit): Remove the code to load
the PNG files from standard paths (unreliable). Replace by the loading
of the embedded files.
(wxtPanel::UpdateModifiers): New routine to compare and update the
state of the modifier keys as known by the core. It replaces the
unreliable tracking of the press and release events. All wxMouseEvent
and wxKeyEvent processing methods updated.
New variable wxt_ctrl to handle 'q' and <space>.
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_term.h:
Update prototypes and included wxWidgets headers according to the above
* term/wxt.trm (wxt_options): New terminal option '{no}ctrl'.
(TERM_HELP): Updated.
* src/ (png_DATA): Do not install the PNG icons.
2006-06-17 Ethan A Merritt <>
* demo/ Clean up temp.dat
* share/ Attempt to install/uninstall
* docs/ Add Japanese language files to EXTRA_DIST
* docs/gnuplot.doc: Replace old "bugs" section with current list of
known bugs and limitations.
* docs/gnuplot.doc: Add pointers to 'set pm3d depthorder' in the
discussion of hidden surface removal.
* docs/gnuplot.texi docs/doc2texi.el: Regenerate gnuplot.texi
2006-06-16 Timothee Lecomte <>
* src/command.h: Add missing statement about copyright holders (i.e
the same as command.c, as command.h was created from this file).
* src/wxterminal/ New Makefile used to put all the
wxterminal source files and bitmaps in the 'make dist' target.
* src/ (SUBDIRS): Add wxterminal to take the new
into account.
* (AC_OUTPUT): Include src/wxterminal/Makefile in the list
of files to create.
2006-06-15 Ethan A Merritt <>
* src/show.c (show_version): Add the rest of the non-driver
configuration option choices to the output of 'show version long'.
2006-06-15 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/README.ja term-ja.diff: Japanese translation
of user manual and instructions for building the help system from it.
* src/win/wgnuplot-ja.mnu /src/win/ Instructions for
building a Japanese language versino of wgnuplot for Windows, and a
corresponding set of menus.
2006-06-15 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c: Fix a warning about gp_alloc() by
including alloc.h
2006-06-15 Ethan A Merritt <>
* demo/all.dem demo/html/ demo/html/Makefile:
Add demo hidden2.dem illustrating 'set pm3d depthorder'.
2006-06-15 Johannes Zellner <>
* src/save.c src/set.c src/show.c src/tables.c src/tables.h:
New option 'set p3md depthorder' to request depth-ordering of
pm3d quadrangles.
* src/graph3d.c: TBOOLEAN pm3d_order_depth tracks the new option.
* src/pm3d.c src/pm3d.h (pm3d_depth_queue_clear pm3d_depth_queue_flush)
src/plot3d.c (calculate_set_of_isolines)
src/color.h src/color.c (ifilled_quadrangle): New support routines.
2006-06-14 Daniel Sebald <>
* src/color.c (make_palette) src/term.c (term_start_plot):
Revert change of 9-Jun-2006, so that we are again optimizing color
palette usage by avoiding unnecessary calls to term->make_palette().
However, make the PostScript terminal an exception by invalidating
the previous palette at the start of every plot.
2006-06-14 Shigeharu Takeno <>
* docs/faq-ja.tex: Japanese translation of faq.tex
* NEWS docs/ Include faq-ja.tex in list of distributed
files, and in NEWS.
2006-06-13 Daniel Sebald <>
* demo/ Overhaul of routines to add variable arguments,
range checking and verify integer when appropriate. The significant
change is forcing some input vars to be an integer, rather than casting
them to int() in the formulae. (There are proper plot styles like
"steps" to work with discrete r.v.s.)
* demo/prob.dem: Modified the discrete r.v. examples to look more like
a mass function or scaled impulses. More varied examples to show
various plotting features.
* demo/prob2.dem demo/random.dem: Add input variables to p.d.f. and
c.d.f. functions. Added new Maxwell demo to random.dem.
* docs/gnuplot.doc: Added adjective "normalized" to igamma()
2006-06-13 Ethan A Merritt <>
* src/gplt_x11.c: Move export selection flags outside the the
USE_MOUSE conditional code. Bug #1505704
* src/term_api.h: DEFAULT_LP_STYLE_TYPE to lt -1 (makes arrows
default to black rather than red).
2006-06-13 Daniel Sebald <>
* src/ src/makefile.awc src/makefile.all:
Add a configuration mechanism for including binary.c in list of
gnuplot sources when appropriate.
* src/bin_hook.c: Remove from source tree.
2006-06-13 Timothee Lecomte <>
* src/win/wtext.c:
* src/win/wgraph.c:
* src/wxterminal/wxt_gui.cpp:
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_term.h:
Fix failures when compiling the wxWidgets terminal with
--disable-mouse, by putting more code and declarations inside #ifdef
USE_MOUSE ... #endif
2006-06-12 Ethan A Merritt <>
* Move options marked EXPERIMENTAL to the end of the
configuration summary printout. Remove EXPERIMENTAL label from
string variables.
2006-06-11 Timothee Lecomte <>
* demo/utf8.dem: Issue a 'reset' at the end of the file, as other demos
* src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Use the Symbol to
Unicode conversion step, as for the enhanced text mode.
(gp_cairo_enhanced_flush): Small cleanup and fix a forgotten free().
* term/wxt.trm (TERM_HELP): Document the font requirements properly, in
particular how the Symbol font is handled and where the fonts are taken
from. Layout the whole help text so that lines are smaller than 80
2006-06-11 Daniel Sebald <>
* src/eval.h: Added number of variables to user defined function struct.
* src/command.c (define): Recorded number of variables into udf entry.
* src/parse.c (add_is_udf, is_ud_functin, add_udf):
Slight rearranging of functions to allow code reuse.
* src/parse.c (parse_primary_expression): Check if function used in
command is user defined. If so, verify number of variables is correct.
* src/internal.c (f_call, f_calln): Added tests to catch variable
mismatch at time of evaluation.
2006-06-10 Timothee Lecomte <>
* docs/ (CORETERM): Add wxt.trm in the list of
* docs/gnuplot.doc : Add mentions of `wxt` among other terminals when
useful (mouse, raise, lower, image, set_output, fillstyles).
* src/wxterminal/wxt_gui.cpp:
Fix compilation with --disable-with-image.
* src/wxterminal/wxt_gui.h:
Fix compilation with --disable-with-image.
Cleanup includes.
* src/wxterminal/gp_cairo.c
(gp_cairo_draw_polygon): Replace malloc by gp_alloc.
(gp_cairo_draw_image): Likewise.
(gp_cairo_convert_symbol_to_unicode): Likewise.
2006-06-09 Ethan A Merritt <>
* src/eval.c src/eval.h src/internal.c src/internal.h src/parse.c
src/standard.c src/standard.h docs/gnuplot.doc NEWS:
Deprecate built-in pseudo-function `if defined(foo)`
Replace it with string function exists("foo")
The previous version (defined) tried to bypass normal expression
parsing, but succeeded only for the simplest cases. This variant,
although deprecated, is still supported by BACKWARDS_COMPATIBLE.
The new version handles the full general case by using string variables.
Bugfix: #1497957
* src/color.c (make_palette): Revert optimization (18 Mar 2006) that
only sent palette information for a plot if it had changed since the
previous plot. This doesn't work for PostScript output, because the
pages may be viewed out of order. Bugfix.
2006-06-08 Timothee Lecomte <>
* src/wxterminal/gp_cairo.h:
* src/wxterminal/wxt_plot.h:
* src/wxterminal/wxt_term.h:
Remove "extern" for functions.
2006-06-07 Timothee Lecomte <>
* (--with-wx-config=PATH): Fix wrong variable name.
* src/term.c (init_terminal) [WXWIDGETS]: Take DEFAULTTERM into account.
* src/wxterminal/bitmaps/xpm/cross.xpm:
* src/wxterminal/bitmaps/xpm/right.xpm:
* src/wxterminal/bitmaps/xpm/rotate.xpm:
* src/wxterminal/bitmaps/xpm/size.xpm:
Write the hotspot coordinates directly in the cursor files.
* src/wxterminal/wxt_gui.h (wxtApp::LoadCursor):
* src/wxterminal/wxt_gui.cpp (wxtApp::LoadCursor):
Remove hotpost arguments, take hotspot coordinates from the XPM files.
(wxtApp::OnInit): Update calls to LoadCursor.
* src/wxterminal/gp_cairo.h (current_xmax): Rename to the more
meaningful device_xmax.
(current_ymax): Rename to device_ymax.
* src/wxterminal/gp_cairo.c: All callers changed.
* src/wxterminal/wxt_gui.cpp: Likewise.
2006-06-06 Ethan A Merritt <>
* src/setshow.h config/config.*: Move definition of
BACKWARDS_COMPATIBLE into config.h and the various config.* files rather
than setshow.h so that it is visible to all the source files.
2006-06-06 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (device_y): Fix computation of
(gnuplot_y): Likewise.
2006-06-05 Peter Weilbacher <>
SF Patch [1498727] Remove duplicate entries in GNU readline history
* command.c (rlgets): Remove duplicate entries in GNU readline history.
2006-06-04 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c: Add Id.
* src/wxterminal/gp_cairo.h: Likewise.
* src/wxterminal/gp_cairo_term.h: Likewise.
* src/wxterminal/wxt_gui.cpp: Likewise.
* src/wxterminal/wxt_gui.h: Likewise.
* src/wxterminal/wxt_plot.h: Likewise.
* src/wxterminal/wxt_term.h: Likewise.
2006-06-04 Ethan A Merritt <>
* src/graphics.c (two_edge_intersect) Remove old debugging code.
* src/graphics.c (edge_intersect plot_filled_curves): Bugfix.
Fix clipping of filled curves. When a curve leaves the plot and
reenters via a different plot edge, we must add dummy points at the
intervening plot corners.
* src/graphics.c (fill_missing_corners): New routine to support
clipping of filled areas defined by a bounding curve.
2006-06-01 Ethan A Merritt <>
* src/unset.c (reset_command): Abandon the idea of automatic garbage
collection for undefined user variables. The problem with this is that
user-defined functions may still hold pointers to them for later use.
E.g.: f(x) = a+b; reset; print f(1) - oops, no more a or b.
* demo/world.dat: Rearrange line segments to make more continuous
boundaries. Now it almost works for filledcurves.
2006-05-29 Michael Ritzert <>
* term/ Look for the postscript files to be installed
relative to $(srcdir).
2006-05-26 Ethan A Merritt <>
* src/gadgets.c (clip_point): The code comments incorrectly described
the bit values returned by clip_point().
2006-05-24 Ethan A Merritt <>
* src/gplt_x11.c: Treat LT_AXIS linetype as dotted even if the
terminal is 'set term x11 solid'. Do not try to set dash type or
linewidth for LT_BACKGROUND because this will underflow the type arrays.
* share/ Comment out settings for *ctrlq *raise
and *background so that the default remains the same as having no
app-defaults file.
2006-02-23 Timothee Lecomte <>
* term/wxt.trm (TERM_HELP): Fix typos, thanks to Shigeharu Takeno.
2006-05-22 Timothee Lecomte <>
* term/vgagl.trm (VGAGL_init_keytable): Fix bug #1492341 by
replacing sizeof() on an array of int (which gives an overflow
by writing four times more than the size of the array) by the
actual size of the array (KEYTABLE_SIZE).
(VGAGL_truecolor): Declare as a TBOOLEAN instead of an integer,
do not use the enums yes and no but TRUE and FALSE.
(VGAGL_processing_graphics_events): Likewise.
(VGAGL_interpolate): Likewise.
(VGAGL_cursor_drawn): Likewise.
(VGAGL_need_update): Likewise.
(VGAGL_graphics_on): Likewise.
2006-05-22 Lars Hecking <>
* Reformat and bugfix wxwidgets section.
* docs/gnuplot.texi: Regenerated.
* share/ Add EXTRA_DIST.
* src/ Add wxterminal to EXTRA_DIST.
* src/makefile.all, src/makefile.awc: Regenerated.
* src/wxterminal/wxt_gui.cpp: Fix typos.
* term/estimate.trm: Add cvs Id.
2006-05-21 Daniel Sebald <>
* demo/random.dem: Examples to illustrate generating normal random
data, generating data points not linked to grid using table,
setting the contour lines to the same color as surface, and
creating histograms.
2006-05-21 Hans-Bernhard Broeker <>
* term/win.trm (HELP): Got rid of some tabs.
* docs/gnuplot.doc: Fixed some blank-only lines.
(fit control, fit control variables, fit control environment,
splot overview): Get rid of _ between words. Suggested by Dan
2006-05-20 Timothee Lecomte <>
* src/color.h (colorspec_t) [EXTENDED_COLOR_SPECS]: Declare the
type before using it (fixes the compilation of linux.trm and
2006-05-20 Ethan A Merritt <>
* src/gplt_x11.c term/x11.trm: Allow user control of solid/dashed line
setting via the usual three mechanisms
new X resource gnuplot*dashed: on
from command line `gnuplot -dashed ...`
from gnuplot command `set term x11 {dashed|solid} ...`
* term/x11.trm: Bugfix: persist/raise/dashed terminal settings should
not be conditional on mouse support.
2006-05-20 Ethan A Merritt <>
* share/ share/
New X resources file, intended for installation in the system's
default location for X resources.
Bug #1376604.
2006-05-19 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_enhanced_text):
Remove unappropriate comments about enhanced_max_height.
(gp_cairo_end_polygon): Remove useless comment.
(gp_cairo_convert_symbol_to_unicode): Change C++-style
comments to C style /* ... */.
(gp_cairo_initialize_plot): To avoid overflows, change
strcpy() to strncpy(), strcat() to strncat() and sprintf() to
(gp_cairo_set_font): Likewise.
(gp_cairo_add_shape): Likewise.
(gp_cairo_enhanced_flush): Likewise.
(gp_cairo_enhanced_open): Likewise.
(gp_cairo_draw_enhanced_text): Likewise.
* src/wxterminal/wxt_gui.cpp (wxt_set_font): Likewise.
* term/wxt.trm (wxt_options): Likewise.
2006-05-18 Timothee Lecomte <>
* src/ (AUTOMAKE_OPTIONS): Remove 'subdir-objects',
not mandatory.
* (enable_wxwidgets): Remove test AM_PROG_CC_C_O,
not needed now that 'subdir-objects' is not used.
* src/wxterminal/wxt_gui.cpp (wxt_waitforinput) [_Windows]:
Rework event processing to avoid code duplication and handle
more cases (pause, etc.).
(wxt_waitforinput_pause) [_Windows]: Removed.
(wxt_terminal_events) [_Windows]: New routine to process
pending events from the wxWidgets terminal when it is selected
and initialized. Its return code is used to stop a pause.
(wxt_set_font): Use reasonable defaults for font name ("Sans")
and size (10) instead of the wxWidgets system settings. It
avoids to choose the inappropriate Courier font on Windows,
where it is used by the console-like window.
* src/wxterminal/wxt_term.h (wxt_waitforinput_pause):
Remove declaration.
* src/wxterminal/wxt_plot.h (wxt_terminal_events):
* src/win/wpause.c (PauseBox) [WXWIDGETS]: Use
* src/win/wtext.c (TextGetCh) [WXWIDGETS]: Likewise.
* term/wxt.trm (help): Change the help text according to the
change in the default font name and font size.
2006-05-18 Lars Hecking <>
* docs/ Add titlepag.ipf to EXTRA_DIST.
* docs/gnuplot.texi: Regenerated.
2006-05-15 Timothee Lecomte <>
* src/wxterminal/bitmaps/xpm/cross.xpm:
* src/wxterminal/bitmaps/xpm/right.xpm:
* src/wxterminal/bitmaps/xpm/rotate.xpm:
* src/wxterminal/bitmaps/xpm/size.xpm:
Cross-platform cursors.
* src/wxterminal/wxt_gui.h
(wxt_cursor_cross, wxt_cursor_right, wxt_cursor_rotate,
wxt_cursor_size): Cursors declarations.
(wxtApp::LoadCursor): Routine to initialize a cursor.
* src/wxterminal/wxt_gui.cpp
(wxtApp::LoadCursor): Likewise.
(wxtApp::OnInit, wxt_set_cursor): Use new cursors.
(wxt_reset): Clear the events list when receiving ctrl-c.
(wxtPanel::DrawToDC): Fix zoom strings on Windows.
* src/wxterminal/gp_cairo.c (gp_cairo_linetype2color): Fix modulo
operator to use the whole nine colors.
(gp_cairo_draw_point): Fix position of triangles with the
oversampling. Close the path for the filled triangle.
* (CPPFLAGS): Remove useless gtk and wxWidgets flags
from the cppflags.
2006-05-15 Bastian Maerkisch <>
* config/makefile.os2: Define GIF_ANIMATION and HAVE_PDFLIB_H.
* config/config.os2: Sync to config.h created by `configure`. Define
* src/os2/gclient.c (DisplayClientWndProc): Filter out WM_MOUSEMOVE
events when the mouse hasn't been really moved. This eliminates
excessive calls to gp_exec_event(GE_motion, ...) and subsequent
unnecessary redraws of the plot.
2006-05-13 Bastian Maerkisch <>
* config/makefile.nt: Make sure that the same (basic) compiler options
are used for compiling wgnuplot and pgnuplot. This is necessary since
they both contain version.c.
* src/stdfn.h src/win/winmain.h src/win/wpause.c: Implementation of a
non-blocking sleep function (gnuplot's 'pause' command) for windows.
* term/win.trm (WIN_options, help text):
Accept font request strings of the form
set term win ... font "<fontface>,<fontsize>"
Previous syntax
set term win ... "<fontface>" <fontsize>
remains valid as well. Update documentation.
* src/os2/4allterm.cmd: Fix broken argument parsing. Convert end of line
to CR/LF pairs. This is a must for the script to be readable by the OS/2
REXX interpreter.
* docs/doc2ipf.c docs/titlepag.ipf:
- Increase depth of table of contents from 5 to 6. This fixes
"unknown reference" errors during compilation.
- Only replace '.' in first column by ipf tag, it's not needed
- Add an index: interactive help ('?') and explicit index entries ('=')
are supported.
- Table layout improvements:
- omit table frame and horizontal lines
- add additional horizontal spacing around table entries (1 char)
- omit horizontal rules '_' (troff command)
- entries are only interpreted as troff commands if they start with
'.' and do not contain a table separator
- try to filter out ipf tags when calculating column widths
- always assume troff header at beginning of table. This fixes
coloring of table headers, which has been broken since 17 Jun 1998
- Change handling of paragraphs and verbatim sections: successive empty
lines only yield one new paragraph :p. This eliminates large empty
spaces (especially in front of tables).
- End sections with an empty paragraph instead of starting with an empty
paragraph. Eliminates empty space at beginning of section and (still)
ensures non-empty sections.
- Optionally add additional reference panels to make navigation with
IBM's online viewer easier. Controlled by #define IPF_MENU_SECTIONS.
- Add a title page (new file titlepag.ipf).
2006-05-12 Ethan A Merritt <>
* term/gd.trm (PNG_point): Bugfix: Draw filled circles with
gdImageFilledArc rather than a 2-stage bound-and-fill.
* src/graph3d.c (draw_3d_graphbox): Bugfix: Only draw vertical lines
from base corners to surface if there really _is_ a surface.
Having pm3d in surface mode is not sufficient.
* demo/contours.dem: Where the above fix removes a vertical line along
z, remove the z axis tics also. Add a single-color contour demo.
* src/wxterminal/gp_cairo.c: Remove unused variables.
2006-05-04 Timothee Lecomte <>
* (AC_PROG_CXX): Redefine AC_MSG_ERROR for
AC_PROG_CXX, to prevent possible fatal errors in future autoconf
(WX_OBJ): Remove definition, let automake handle it.
* src/ (BUILD_WXWIDGETS): Simplify conditional
compilation of the wxWidgets terminal, using automake
conditionals instead of gnuplot_DEPENDENCIES and gnuplot_LDADD.
2006-05-01 Timothee Lecomte <>
* (AC_PROG_CXX): Check for C++ unconditionally,
and workaround harmful autoconf settings if no compiler is found.
(PANGO): Raise minimum version to 1.10.
* term.c (init_terminal): Make wxt the default terminal if it
is available even if X11 is not defined.
2006-04-30 Hans-Bernhard Broeker <>
* config/makefile.mgw (DESTDIR): MSYS-ify the drive letter.
(GNUSORT): Use Unix-ish path to MSYS port of GNU sort.
(all): Refer to default target instead of copying all its entries.
(default): Remove config.h dependency.
($(OBJS) $(WINOBJS) dbinary.$(O)): Add rule that they depend on
($(M)bf_test.exe): Chdir to $(M), not $(D).
(dbinary.$(O)): Input file is $<, not $^.
(install) [WXT]: Move WX-specific installation rules here.
* term/win.trm (WIN_enhanced_flush): Removed unused variables rc,
* term/pslatex.trm (PSTEX_common_init): Avoid warning by making
compile-time test an #if rather than an if.
* config/makefile.mgw: Change this to expect MSYS tools to be used
instead of the older native MINGW32 ports. Necessitates some
workarounds for MSYS quirks.
(HCWPATH): Uncomment one definition, provide a usable default,
remove the other.
(pgnuplot.exe): Needs -HAVE_STDBOOL_H to avoid a warning.
($(HELPFILE)): Use `-' instead of `/' for $(HCW) options, to avoid
MSYS translating them to drive letters.
(doc2rtf.exe, doc2tex): Strip trailing `/' off macros holding
`../docs/' and `../term/' --- MSYS/MINGW32 gets confused by it.
2006-04-29 Ethan A Merritt <>
* term/wxt.trm (wxt_options): Fix improper malloc for font name.
2006-04-29 Timothee Lecomte <>
* C++, wxWidgets, cairo and pango configuration
* config/makefile.mgw: Likewise.
* src/command.c (raise_lower_command): Raise and lower commands
for the wxWidgets terminal.
* src/command.h : Likewise.
* src/ : wxWidgets terminal conditional compilation.
* src/plot.c (main): wxWidgets terminal hook on exit to handle
the 'persist' behaviour.
* src/term.c (init_terminal): Make the wxWidgets terminal
the default on Windows and X11.
* src/term.h: Include the wxWidgets terminal.
* src/win/wgnuplot.rc: Include wxWidgets ressources file.
* src/win/wpause.c (PauseBox): Process events from the wxWidgets
terminal when in pause.
* src/wxterminal/bitmaps/png/autoscale.png
* src/wxterminal/bitmaps/png/clipboard.png
* src/wxterminal/bitmaps/png/config.png
* src/wxterminal/bitmaps/png/grid.png
* src/wxterminal/bitmaps/png/help.png
* src/wxterminal/bitmaps/png/nextzoom.png
* src/wxterminal/bitmaps/png/previouszoom.png
* src/wxterminal/bitmaps/png/replot.png:
PNG icons for the wxWidgets toolbar.
* src/wxterminal/bitmaps/xpm/icon16x16.xpm
* src/wxterminal/bitmaps/xpm/icon32x32.xpm
* src/wxterminal/bitmaps/xpm/icon64x64.xpm:
XPM icons for the wxWidgets window icon.
* src/wxterminal/bitmaps/xpm/notfound.xpm:
XPM icon for the wxWidgets toolbar.
* src/wxterminal/gp_cairo.c
* src/wxterminal/gp_cairo.h
* src/wxterminal/gp_cairo_term.h:
Generic routines to render a plot to a cairo surface.
* src/wxterminal/wxt_gui.cpp
* src/wxterlinal/wxt_gui.h
* src/wxterminal/wxt_plot.h
* src/wxterminal/wxt_term.h:
Graphical user interface based on wxWidgets.
* term/wxt.trm:
Terminal hooks between term.c and the wxWidgets and cairo
2006-04-28 Timothee Lecomte <>
* src/gplot_x11.c (UNSET, no, yes): Remove enum declaration.
* src/term.c
(enhanced_recursion, enh_err_check, do_enh_writec):
Remove static declarations.
(enhanced_text, enhanced_cur_text, enhanced_fontscale)
(enhanced_escape_format, enhanced_min_height)
(enhanced_max_height, ignore_enhanced_text):
Remove static declarations.
(UNSET, no, yes): Remove enum declaration.
* src/term_api.h: Declare here the above variables and functions
related to enhanced text support. Variables are declared extern.
(UNSET, no, yes): Declare enum.
* src/readline.c (msdos_getch) [_Windows && USE_MOUSE]:
Call term->waitforinput() when appropriate, so that the wxWidgets
terminal can process events.
2006-04-27 Timothee Lecomte <>
* src/ Change PKG_MAJOR to
VERSION_MAJOR to avoid a conflict with pkg-config macros.
They will be used with cairo, pango, and gtk+ for the wxWidgets
2006-04-27 Hans-Bernhard Broeker <>
* src/plot2d.c (get_data): Initialize further elements of df_data
depending on plot style, so datafile module can parse absolute
time/data for xlow etc. Similar fix for handling 'set ydata time;
plot "-" u 2'.
* src/plot3d.c (eval_3dplots): Fix for 'set zdata time; plot "-" u
2'. Replicate realloc size fix from get_data (--> 2006-03-28)
2006-04-26 Hans-Bernhard Broeker <>
* docs/gnuplot.doc (fit control environment): Fix mention of
command 'set fit logfile'.
2006-04-25 James R. Van Zandt <>
* term/cgm.trm (CGM_filled_polygon): Allow filled polygons with up
to 8190 vertices (was only 50). Also, allocate the
polygon/polyline array from the heap, so it only takes space if
the CGM terminal is used.
* term/cgm.trm (CGM_set_color): access colorspec->value only
for type=TC_FRAC when it is defined.
2006-04-25 Hans-Bernhard Broeker <>
* src/win/wgnuplot.hpj (COMPRESS): New option, enables compression
of the generated .hlp file.
(LCID): New option, fixed the language of generated help files to
English. Hopefully this will avoid incompatibilities like the one
observed with the first binary release of 4.0 for Win32.
2006-04-24 Daniel Sebald <>
* src/graphics.c (plot_image_or_update_axes) config/config.cyg
config/config.mgw config/config.nt config/config.os2
code associated with verifying pixel locations in the grid.
2006-04-19 Ethan A Merritt <>
* term/post.trm (PS_set_font): Do not write font change commands
into the PostScript output stream of the TeX terminal variants
(epslatex, pstex, pslatex). All font handling is done via the TeX
output stream. Bug #1472260
* demo/html/Makefile demo/html/
demo/html/gnuplot_demo.css: Update html display of gnuplot demos.
2006-04-18 Ethan A Merritt <>
* src/graphics.c (plot_c_bars) src/plot2d.c (eval_plots): Allow
user to control the width of whiskerbars on candlestick plots.
plot <foo> with candlesticks {whiskerbars {<width>}}
* demo/utf8.dem: Provide a demo for use in testing UTF-8 support
by gnuplot terminals. This demo will only produce reasonable
output on a terminal that supports UTF-8 and a current UTF-8
encoded font with the relevant character maps.
2006-04-17 Ethan A Merritt <>
* src/color.h: Add comments to document the meaning of TC_* flag
2006-04-16 Ethan A Merritt <>
* term/aquaterm.trm: Correct typos in help text.
* src/set.c (set_object): Fix segfault on incomplete command
'set obj <new>'.
* src/term.c (init_terminal): Keep initial terminal setting in
GNUTERM even if it did not actually come from environmental
variable GNUTERM.
2006-04-14 Ethan A Merritt <>
* src/term.c (change_term init_term): Save value of GNUTERM into a
user-defined variable on entry. Use only first word of GNUTERM
when calling change_term. This allows GNUTERM to contain extended
terminal specs, e.g. setenv GNUTERM "png truecolor transparent".
2006-04-12 James R. Van Zandt <>
* term/cgm.trm (CGM_point): Update cgm_current.edge_visibility
before cgm_current.edge_color (was displaying some point symbols
with incorrect edge colors).
2006-04-10 Ethan A Merritt <>
* src/graph3d.c (draw_3d_graphbox): Fix bug introduced when adding
newpath/closepath around the border of 3D plots with 'set view map'.
The top border was not getting drawn, and the individual border
components were not being considered separately.
Also, when in 'set view map' mode, honor 'set border {front|back}'.
* src/graphics.c (plot_border) src/gadgets.h: Similar bugfix in 2D.
* src/misc.c (lp_parse): Don't fall into a recursion trap in the
case that 'set style incr user' and 'set style line <foo> lt <baz>'.
This should set the linetype of <foo> to <baz> even if <baz> itself
has been assigned as another line style.
2006-04-08 Ethan A Merritt <>
* src/standard.c (f_tanh): Fix a two-fold error in bounds checking for
tanh(). Bug #1452627
2006-04-08 Bastian Maerkisch <>
* src/win/pgnuplot.c: Patch for SF bug [1232950] "-persist option does
not work in Version 4.0.0 (Windows)". Omit sending `exit` from pgnuplot
to wgnuplot when `-persist` is given on command line.
2006-04-08 Daniel Sebald <>
* src/set.c (set_palette_file) docs/gnuplot.doc: Binary palette files
are supported as well. Example:
set palette file "palette.bin" binary record=64 using 1:2:3
2006-04-08 Bastian Maerkisch <>
* config/config.os2: Define more features.
* config/makefile.os2:
- add a list of required/recommended tools and libraries,
- make use of pre-built version of libgd from,
- change requirements for newer versions of PDFlib,
- replace shell script to create allterm.h by 4allterm.cmd in Rexx.
* src/os2/4allterm.cmd: New Rexx script to create allterm.h, much faster
than previous code and does not require the unix tool chain to be
2006-04-07 laboratoryman <>
* src/term.c (test_term): No terminal currently implements any head
fill style (curr_arrow_headfilled) other than 0/1/2. So don't use 3 as
a test case.
2006-04-05 Ethan A Merritt <>
* term/svg.trm: New line-join terminal option {rounded|butt},
with support for smooth joining of closed polygons via the recently
added newpath()/closepath() mechanism.
* src/gadgets.c (draw_clip_arrow): Provide a routine in the core
code that clips arrow head/tail to the canvas boundaries. This means
we don't have to do the clipping in do_arrow(), which has been messy.
* src/graph3d.c (plot_arrows3d plot3d_vectors)
src/graphics.c (place_arrows do_key_sample get_arrow)
Draw arrows using new routine draw_clip_arrow.
Addresses bug #1348015 and others.
* src/term.c (do_arrow): Add a note that the clipping here is now
redundant, and can be removed. Defer removal to a separate patchset.
2006-04-04 Ethan A Merritt <>
* src/plot2d.c (eval_plots): Fix inadvertant breakage due to an
accidentally deleted call to arrow_parse().
2006-04-04 Harald Harders <>
* src/term.c (do_arrow) src/term_api.h docs/gnuplot.doc
* src/graphics.c (get_arrow plot_boxes plot_vectors)
* src/misc.c (arrow_use_properties) src/show.c (show_arrow):
Add an option "backhead" to arrow style that reverses the sense
of the arrow. Modify flags to indicate the forward arrowhead and
the backward arrowhead separately, so "heads" sets both flags.
Patchset #1318546
2006-04-04 Ethan A Merritt <>
* src/term_api.h src/term.c (newpath closepath) term/README:
Define a new terminal entry point term->path(foo), and wrapper routines
newpath() == term->path(0); closepath() == term->path(1).
These are needed to ensure smooth line joins at the ends of a closed
path in PostScript-like terminals.
* src/graph3d.c (do_3dplot draw_3d_graphbox)
* src/graphics.c (do_plot plot_boxes plot_cbars do_key_sample)
* src/graphics.c (plot_border) src/color.c (draw_color_smooth_box):
Enclose the vector commands that draw rectangles with a
newpath()...closepath() pair. This guarantees a smooth join for the
plot boundary, the key box, colorbox, boxes, and candlesticks.
2006-04-04 Ethan A Merritt <>
* src/gplt_x11.c (gpXLoadQueryFont): When trying to load a multibyte
fontset, treat "missing charsets" as a non-fatal warning. This seems
necessary in order to handle en_US.UTF-8 and similar locales, which
claim to require many exotic but trivial charsets. Normally these are
not needed, so it should not be a fatal error if they are missing.
Bug #1458525
* term/x11.trm: Increase maximum allowed length of font names.
2006-04-04 Ethan A Merritt <>
* misc.c (lp_use_properties lp_parse): In "set style increment user"
mode, an explicit linetype should be interpreted as a call for the
corresponding line style. But if there is none, we should load a
description of the linetype rather than failing to initialize the
lp_style_type at all.
2006-03-28 Lars Hecking <>
* docs/gnuplot.texi: Regenerated after recent documentation
* term/ Add PostScript directory to EXTRA_DIST. Add
uninstall support. Rename install target to install-data-local
(don't use automake-generated targets in and add
$(DESTDIR) support.
2006-03-28 Hans-Bernhard Broeker <>
* config/makefile.oww (CPPFLAGS): Added -DEAM_OBJECTS.
* src/plot2d.c (get_data): Avoid small size increments on
reallocation --- at least double, and add another 1000 entries for
good measure.
2006-03-28 Hans-Bernhard Broeker <>
Revised handling of Windows "app data" and home directory
settings by Bastian Maerkisch.
* src/win/winmain.c: WANT_GET_DLLVERSION hardcoded active.
(CSIDL_APPDATA): Provide fallback definition.
(ShutDown): Removed ancient cruft.
(appdata_directory): New function. Dynamically attach to
shell32.dll and ask it for the "application data" directory.
(WinMain): Have get_user_env() take care of finding $HOME.
Definitions removed, hardcoded active now.
(appdata_directory): Added prototype.
* src/plot.c: Added #includes of win/wgnuplib.h, win/wcommon.h.
(get_user_env) [WIN32]: Call helper routine to find Windows'
"application data" directory.
2006-03-27 Ethan A Merritt <>
* src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Initialize the
line style, arrow style, and fill style fields of each new plot to
something reasonable.
2006-03-26 Ethan A Merritt <>
* NEWS: List various new features added since last October.
* src/gplt_x11.c: Store text rotation angle internally as a double.
2006-03-26 Ethan A Merritt <>
SourceForge patchset #1143563 "Place arbitrary objects in plots".
This patchset introduces a general infrastructure for placing
individual geometric objects, similar to "set label" and "set arrow".
However the only objects implemented at this point are rectangles.
set object <tag> rectangle
{from <position> {to|rto} <position>
| center <position> size <w>,<h> | at <position> size <w>,<h>}
{front|back|behind} {fc|fillcolor <colorspec>} {fs <fillstyle>}
{default} {lw|linewidth <width>}
set style rectangle {front|back} {fillcolor <colorspec>}
{fs <fillstyle>} {lw|linewidth <lw>}
* Configuration option: ./configure --enable-objects
Conditional compilation flag EAM_OBJECTS
* demo/rectangle.dem docs/gnuplot.doc
* src/gadgets.h src/gadgets.c src/tables.h src/tables.c:
* src/graph3d.c (do_3dplot) src/graphics.c (place_rectangles do_plot)
src/graphics.h: Shared routine to place rectangles in 2D and 3D.
* src/save.c (save_rectangle) src/set.c (set_object set_rectangle)
src/unset.c (unset_object delete_object unset_style_rectangle)
src/save.h src/show.c: General bookkeeping for objects.
2006-03-25 Ethan A Merritt <>
* src/graphics.c (plot_c_bars): Re-order the lines making up a
candlestick so that line-joining terminals have some chance of
recognizing that the body is a closed rectangle.
* term/PostScript/ Add a shorthand for closepath.
* src/graph3d.c src/graph3d.h: New routine map3d_position_double() will
be used by "set object" code.
* src/color.c (draw_color_smooth_box): Use new routine
map3d_position_double to avoid a mismatch of parameter types.
* src/unset.c: Replace "set no<foo>" with "unset <foo>" in comments and
error messages; i.e. make them match current syntax.
2006-03-24 Ethan A Merritt <>
* src/datafile.c: Remove vestigial comments about df_timecol[].
2006-03-24 Ethan A Merritt <>
* term/ term/PostScript/*.ps
term/post.trm (PS_common_init PS_dump_prologue_file):
Install and maintain PostScript prologue and character encoding files
in a separate directory, external to the gnuplot executable. This
removes a large chunk of text from the postscript driver, and allows
local customization, editing, or patching of the postscript
configuration. The directory in which these files are stored is taken
from config.h: #define GNUPLOT_PS_DIR
but may be replaced at runtime by an environmental variable of the same
name, or by a "set loadpath" command inside gnuplot.
This change should result in no change to the postscript files output
by gnuplot.
2006-03-24 Ethan A Merritt <>
* src/datafile.h src/datafile.c: Allow an input field expected to be
a time format to be in quotes. Previously anything in quotes was
assumed to be invalid as a numerical value.
2006-03-23 Ethan A Merritt <>
* docs/gnuplot.doc: New option "set style increment {user|default}"
By default, successive plots within the same graph will use successive
linetypes from the default set for the current terminal type.
However, choosing the "user" option allows you to step through
user-defined linestyles rather than through the default line types.
* src/gadgets.c src/gadgets.h: Global flag TBOOLEAN prefer_line_styles.
* src/save.c src/set.c src/show.c src/tables.c src/tables.h:
Save/set/show preference for line styles rather than linetypes.
* src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots):
If (prefer_lines_styles) then autoincrement successive plots by line
style rather than linetype.
* src/misc.c: Missing line style is non-fatal error.
2006-03-23 Ethan A Merritt <>
* src/misc.c (lp_parse): Allow "bgnd" as shorthand for "lt -3".
2006-03-23 Daniel Sebald <>
* demo/pm3dcolors.dem: Make one example more happy.
2006-03-22 Ethan A Merritt <>
* src/unset.c (unset_axislabel): Fix memory leak from failure to
free axis labels.
2006-03-22 Timothee Lecomte <>
* src/gplt_x11.c (handle_selection_event): Fix typo in debug code.
2006-03-19 Hans-Bernhard Broeker <>
* src/graphics.c (boundary): Avoid strchr() on NULL x axis label
2006-03-18 Ethan A Merritt <>
Daniel Sebald has pointed out that when the same plot is being redrawn
repeatedly, for instance during interactive rotation of 3D plots, the
process is noticibly slowed by resending the color palette on each
refresh. The following set of changes insures that the palette is only
sent if something has changed.
* src/color.c (make_palette): Do not call term->make_palette() unless
either (a) the palette has changed, (b) the terminal has changed, or
(c) the output device has changed. New routine invalidate_palette()
is available to signal that one of these conditions has occurred.
* src/set.c (set_output set_palette set_palette_defined):
Call invalidate_palette(). Also fix a memory leak.
* src/term.c (change_term): Call invalidate_palette().
2006-03-17 Daniel Sebald <>
* src/gplt_x11.c (exec_cmd): Realigned conditional code to allow
compilation with ./configure --with-image --disable-binary-x11-polygon.
Fix conditional test associated whith ./configure --disable-with-image.
2006-03-17 Hans-Bernhard Broeker <>
* src/fit.c (splitpath): Reorder tests avoid possible read of
uninitialized memory.
* src/alloc.c (gp_alloc): Cast to (generic *)
(checked_free): Introduced new local variable to reduce number of
horrible casts.
* src/hidden3d.c (build_networks): Initialize lp_style from
lp_properties, regardless of whether the plot supposedly has point
symbols drawn or not. Needed because PM3D drops stuff inside that
2006-03-17 Shigeharu Takeno <>
* term/aquaterm.trm: Correction of misprints.
2006-03-16 Ethan A Merritt <>
* src/set.c (set_tic_prop): Another bandaid to protect against
int_error() from inside try_to_get_string(). Bug #1434633.
2006-03-15 Ethan A Merritt <>
* src/plot3d.c (get_3ddata): Reorder code so that mutually exclusive
conditions are handled in an if/elseif/else construct. No actual change
in behavior, but it quiets valgrind warning messages.
* term/post.trm: Prevent segfault if someone passes off an undefined
variable as an epslatex header. This is a bandaid rather than a true
fix, but it's better than segfaulting. The true problem is that an
int_error() exit from expression parsing bypasses proper cleanup of
storage for string variables, and also fails to return NULL to the
caller. Bug #1434633.
2006-03-15 Daniel Sebald <>
* src/datafile.c (plot_option_comma_separated): Found by valgrind.
Set an uninitialized tuple value to 0.0.
* src/set.c (parse_histogramstyle): Found by valgrind.
Set an unitialized text label to EMPTY_LABELSTRUCT
2006-03-11 Ethan A Merritt <>
* demo/html/ demo/html/Makefile: Add animate2 to the list
of webified examples.
2006-03-11 Bastian Maerkisch <>
* term/pm.trm src/term_api.h src/mouse.h src/mouse.c src/plot.c
src/set.c src/unset.c: Cleanup of the OS/2 menu stuff communicating
gnuplot -> gnupmdrv. This eliminates some 'extern's in C files and moves
code specific to pm terminal to pm.trm.
1. Remove update_menu_items_PM_terminal() from mouse.c.
2. Rename send_gpPMmenu() in mouse.c to PM_set_gpPMmenu() and move the
actual communication with gnupmdrv to new routine
PM_update_menu_items() in pm.trm.
PM_set_gpPMmenu() now only updates the gpPMmenu struct.
3. Replace all calls to update_menu_items_PM_terminal() with calls to
4. Removed multiple definitions of PM_intc_cleanup() in plot.c and
pm.trm to term_api.h.
2006-03-11 Ethan A Merritt <>
* src/datafile.c (df_open): If a requested input data file is missing,
issue a warning and continue. The old behaviour was to issue an error
and bail to the command line. df_open() now returns a negative number
if the requested file cannot be opened. Callers must test for error
* src/plot2d.c (eval_plots): If a requested file is missing or empty,
create an empty plot structure for it, but plot other functions or
datafiles as usual. May not work for some combinations of missing
binary input files.
* src/plot3d.c (eval_3dplots): Treat a missing input file the same way
as an input file with no usable data points. This is not the same
as skipping it cleanly as in the 2D case. 3D should be brought in line
with 2D, but it will require revision of the data structure handling.
* src/fit.c (fit_command): Give an error message if an input data file
is missing or not readable.
* src/graphics.c (do_plot): Re-indent code section dealing with
empty plots.
2006-03-11 Ethan A Merritt <>
* src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Our plot structures
have gained additional fields over the years, but not all of them were
being initialized on allocation. Switch to zeroing the entire structure
on allocation, then filling in the small number of non-zero fields.
Fixes rare segfault found while debugging "skip missing file" code due
to use of an uninitialized plot->p_count field.
2006-03-10 Petr Mikulik <>
* src/datafile.c (df_open): Shift misplaced call to gp_expand_tilde.
2006-03-06 Bastian Maerkisch <>
* src/command.c: #include direct.h if compiling with MSVC.
2006-03-06 Hans-Bernhard Broeker <>
* docs/titlepag.tex: The previous method of detecting pdflatex
vs. normal latex no longer works (some clever guys decided that
they should use pdflatex to make DVI files...). Give up trying to
sort out that mess. Just assume that hyperref knows this on its
own, these days.
* src/syscfg.h (OS): Provide a fallback definition to avoid using
an undefined macro.
* config/makefile.oww: Some changes to make better use of Watcom's
Make tool.
* src/win/wgraph.c (drawgraph): Add missing break.
* term/win.trm (Win_Opts): Change abbreviations of option
(WIN_Font, WIN_Fontsize): Initialize to sensible defaults.
(WIN_enhanced_flush): Remove unused local variable mode.
2006-03-04 Ethan A Merritt <>
* term/cgm.trm (CGM_options) term/emf.trm (EMF_options)
term/pdf.trm (PDF_options) term/post.trm (PS_OPTIONS):
Accept font request strings of the form
set term <foo> ... font "<fontface>,<fontsize>"
Whatever previous syntax each terminal used remains valid as well.
2006-03-04 Hans-Bernhard Broeker <>
Support for 'with image' plots in Windows, from Bastian Maerkisch.
* term/win.trm (WIN_image): New function. An edited copy of
(TERM_ENTRY): Add entry for WIN_image.
* src/win/wgraph.c (GraphOp, GraphOpSize): Moved body of previous
GraphOp function to GraphOpSize, which has additional argument.
GraphOp replaced by a call to the new function.
(drawgraph): Handle new opcode W_image.
* src/win/wgnuplib.h (W_image): New wgraph operation code.
(GraphOpSize): Added prototype.
2006-03-04 Hans-Bernhard Broeker <>
Bastian Maerkisch's enhanced text mode patch for Windows:
* src/win/wgnuplib.h (W_font): New operation code macro.
(struct tagGW): New members deffontname, deffontsize describing
the default font.
(GraphChangeFont, GraphGetTextLength, GraphGetFontScaling): Added
* src/win/wgraph.c (SelFont): Write font to graphwin struct.
(drawgraph): Use TA_BASELINE instead of TA_BOTTOM text alignment.
Add handling of opcode W_font.
(WriteGraphIni): Write default font instead of current font as
GraphFont= entry.
(ReadGraphIni): Read default font from GraphFont= entry.
(GraphChangeFont, GraphGetTextLength): New functions.
(GraphGetFontScaling): New function (#if'ed out).
* term/win.trm (enum WIN_id, WIN_opts): New option {no}enhanced.
(WIN_font, WIN_fontsize, WIN_angle, WIN_x, WIN_y,
WIN_justification): New variables duplicated out of graphwin
(ENHwin_opened_string, ENHwin_show, ENHwin_overprint,
ENHwin_widthflag, ENHwin_sizeonly, ENHwin_base): New variables.
(WIN_options): Pass font name and size on to struct graphwin.
Accept new option {no}enhanced.
(WIN_move, WIN_justify_text, WIN_text_angle): Save arguments to
new variables.
(WIN_set_font, WIN_enhanced_open, WIN_enhanced_flush,
(TERM_ENTRY): Add entries for new functions.
2006-03-04 Hans-Bernhard Broeker <>
* config/makefile.cyg (HCWPATH): Look for HCW in the default place
where it installs itself.
($(OBJS) $(WINOBJS) dbinary.$(O)): Make these depend on config.h.
(default, all): Generate config.h by real dependency.
(show.$(O)): Don't assume .o extension.
* config/config.cyg: No, we don't HAVE_PWD_H.
2006-03-02 Mike Sutton <>
* term/cgm.trm (CGM_set_color): Let the CGM driver set color
when colorspec type is TC_LT.
2006-02-28 Ethan A Merritt <>
* src/term.c (term_close_output): Fix fatal double-close error
triggered by error return from post.trm at any point where gppsfile
and gpoutfile both point to the same file descriptor.
* term/post.trm: Fix broken linetype definitions loaded by
set term epslatex oldstyle
2006-02-28 Lars Hecking <>
* demo/ Add *.pdb and *.r3d to EXTRA_DIST generation.
* docs/gnuplot.texi: Regenerated after recent documentation updates.
2006-02-28 Per Persson <>
* term/aquaterm.trm: Added encoding support to aqua terminal. Currently
supports iso_latin_1, iso_latin2, and cp1250. Default is iso_latin_1.
2006-02-27 Bastian Maerkisch <>
SF patch [1436005] WIN: change sequence of pointstyles
* src/win/wgnuplib.h src/win/wgraph.c: Change the sequence of poinstyle
symbols such that it matches the sequence of terminals like postscript
or gd.
2006-02-26 Ethan A Merritt <>
* demo/html/ Update web site template for 4.1 demos.
* src/set.c(set_decimalsign) src/variable.c(locale_handler)
src/show.c(show_command show_decimalsign show_locale) docs/gnuplot.doc:
Work a little harder to show both the current input and output settings
for decimal point handling (LC_NUMERIC locale setting).
2006-02-25 Ethan A Merritt <>
* graph3d.c (do_3dplot): Contour lines are supposed to be in different
colors, but this was only working if the surface itself was drawn in a
simple linetype. Fix contour auto-coloring even for explicit rgb or
other surface-coloring modes.
2006-02-25 Ethan A Merritt <>
* src/gadgets.h src/term_api.h: Move line type definitions into
term_api.h, since they exist to request specific terminal behavior.
Remove definition of L_TYPE_NODRAW. It is now superseded by LT_NODRAW.
* src/misc.c (parse_colorspec); Now that LT_BACKGROUND is safe to pass
to all terminal drivers, allow it as a legal linetype (-3) in commands.
2006-02-24 Petr Mikulik <>
* src/tables.c (set_palette_tbl pm3d_color_names_tbl): Support both
spellings of "gray" and "grey".
2006-02-23 Shigeharu Takeno <>
* docs/gnuplot.doc term/post.trm: Correction of misprints.
2006-02-23 Petr Mikulik <>
* demo/pointsize.dem: Add 'reset' at the end.
2006-02-21 Daniel Sebald <>
* term/post.trm (PS_encode_image): The computation for the max number
of required bytes for encoding the image didn't take into account that
there is 8 bit alignment (potentially additional 7 bits) at the end
of each image line. The encoded image was written outside memory on
the heap and corrupted when cleared. Fixed, and added an assert()
test, after the fact, to compare encode size against memory size.
2006-02-21 Daniel Sebald <>
* src/gplt_x11.c (scan_palette_from_buf): The read_input() status
was ignored and consequently when a partial read of the pipe happened
a full line was not removed from pipe. For long palettes garbage
remained in pipe when done and next command was bogus.
* src/gplt_x11.c (read_input_line): A new routine that will check
status of read_input and continue reading if only a partial read.
If there are too many reads, the routine gives warning.
2006-02-21 Daniel Sebald <>
* src/getcolor.c (interpolate_color_from_gray): The index could go
to one past the end of the array and cause a program crash. This
was fixed with a bisecting routine as suggested by the old comment
nearby, as opposed to the linear search.
2006-02-20 Ethan A Merritt <>
* term/imagen.trm (IMAGEN_cvts): Obviously no one uses this driver,
because if they had they would have noticed that it's been trampling
on unallocated memory since version 3.7 times or earlier. Fixed.
* term/metapost.trm (MP_filled_polygon MP_boxfill): solid fill density
parameter was being interpreted incorrectly.
2006-02-20 Ethan A Merritt <>
* aed.trm ai.trm amiga.trm corel.trm debug.trm djsvga.trm dumb.trm
dxy.trm emf.trm excl.trm fg.trm fig.trm gd.trm ggi.trm gnugraph.trm
gpic.trm grass.trm hp26.trm hpgl.trm imagen.trm iris4d.trm latex.trm
linux.trm metafont.trm mif.trm next.trm openstep.trm pbm.trm pc.trm
pdf.trm post.trm pstricks.trm regis.trm rgip.trm sun.trm svg.trm
t410x.trm tex.trm texdraw.trm tgif.trm tkcanvas.trm tpic.trm unixpc.trm
unixplot.trm vgagl.trm vws.trm win.trm
Replace L_TYPE_NODRAW and explicit constants -2, and -1 with
LT_NODRAW, LT_BLACK, and LT_AXIS respectively.
Make sure all drivers check for legal linetype in term->linetype().
Many drivers were not prepared to handle term->linetype(LT_BACKGROUND).
Note that it was unsafe even to call term->linetype(LT_BLACK) or
LT_AXIS on some older drivers (e.g. iris4d).
2006-02-19 Ethan A Merritt <>
* src/axis.c src/color.c src/gadgets.h src/graph3d.c src/graphics.c
src/set.c src/show.c: Replace L_TYPE_NODRAW everywhere in core code
* term/post.trm (PS_options): Fix a memory leak and a double-free
in the code handling epslatex epslatex_header option. While there,
update the code to handle string variables.
Bug #1434633.
2006-02-19 Dennis Linse <>
* missing: Add work-around for parsing bug that cannot handle the
"--output=<foof>" option to makeinfo. See also the change below,
which removes from the default make target.
Bug #1422925.
2006-02-19 Ethan A Merritt <>
* term/gd.trm (image_do_crop): Move libgd version 2 dependency
inside conditional code segment. Bug #1434658.
* docs/ Add an empty target for "install-exec", and
remove from the target "all". These changes are needed
in order for either a default "make" or "make install-exec" to
succeed on a system without emacs or makeinfo.
Bug #1430819.
Thanks to Dennis Linse <>
Note: an alternative is not to use the .../missing script for
makeinfo, or somehow make the fact that it's missing a non-fatal
2006-02-17 Bastian Maerkisch <>
SF patch [1432890] Win: rotated text at arbitrary angles
* src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Rotated text at
arbitrary angles for the windows terminals.
2006-02-16 Bastian Maerkisch <>
SF patch [1384525] Small fixes to gd terminals
* term/gd.trm: Fixes for Win32 to allow linking with bgd.dll or static.
- Static linking with gdlib is now possible (again) on windows (NONDLL
is taken into account).
- A new define GD_NEED_LOCAL_FONT_POINTERS is added. When defined
gd.trm will use local pointers to the fonts built into gdlib. This
is highly recommended by Mr. Boutell on Windows platforms. Currently
it is only activated on Windows when linking to bgd.dll.
2006-02-12 Daniel Sebald <>
* term/post.trm (PS_encode_image PS_image): Bug fix for the PostScript
image using the five operand form (i.e., no palette). The bug was
that the max colors was not set to 2^N, where N is 1, 2, 4, 8, or 12.
So if the gray scale max was 128 (2^7) the brightness was lower than
it should have been.
2006-02-12 Petr Mikulik <>
* src/graph3d.c (do_3dplot): Fixed the condition for which the message
of missing blank lines in a datafile for pm3d plot is displayed.
2006-02-11 Timothee Lecomte <>
* src/gplt_x11.c (handle_selection_event): Export a timestamp for each
selection request, as per the X11 clipboard handling standard.
2006-02-06 Ethan Merritt <>
* docs/gnuplot.doc: Make "set xyplane" description more self-consistent.
2006-02-03 Petr Mikulik <>
* src/set.c (set_tics set_tic_prop): Draw nomirrored tics correctly for
"reset; unset xtics; set xtics nomirror; splot x" and
"reset; unset tics; set tics nomirror; splot x".
2006-02-03 Ethan Merritt <>
* src/graphics.c (plot_c_bars): Clip candlesticks (financebars)
to vertical plot boundaries.
2006-02-02 Ethan Merritt <>
* src/gplt_x11.c (handle_selection_event): Clean up yesterday's
code a little, and separate the pixmap request from the mouse
coordinate string request. By making the string request
separately, it seems that klipper now notices it.
2006-02-01 Ethan Merritt <>
* src/gplt_x11.c (handle_selection_event): Fix bad interaction
between gnuplot_x11 and X11 clipboard management tool "klipper".
Refuse to export the pixmap and colormap more than once per
plot export. For unknown reasons, klipper continues to ask for
copies of both ad infinitum. Fixes bugs ##1225866 and #1420675.
2006-01-31 Ethan Merritt <>
* src/command.c: (VMS) replace MAILBOX with "PLOT$MAILBOX"
* src/set.c (set_timestamp): Use gp_strdup() rather than strdup().
* src/term_api.h: Remove trailing comma from definition of
* src/util.c (existdir): Special case VMS.
With these minor tweaks, the current gnuplot source will compile
and build under VMS using DECC. Not all drivers tested, though.
2006-01-28 Ethan Merritt <>
* src/term.c (parse_term_size): New routine intended to be shared
by terminals with "set term <foo> size XX, YY" option. The routine
itself supports size specification in inches, cm, or pixels. The
calling terminal can limit which units are acceptable.
* term/post.trm (term_options): "set term ... size XX, YY" option.
This is intended to replace the older mechanism:
"set size ... ; set term ...". The new code gets the bounding box
right, which the old mechanism does not, and it rationalizes the use
of screen coordinates to match that of other (but not all) terminals.
2006-01-26 Ethan Merritt <>
* src/datafile.c (df_read_matrix): Bugfix for "every" option in plot
"matrix ... every *:*:firstpoint:*". If we are explicitly skipping
input columns, it doesn't matter whether they contain legal input or
not. Therefore test index against firstpoint before trying to parse
it as a number.
2006-01-23 Daniel Sebald <>
* src/graphics.c (plot_image_or_update_axes): Fix for
"plot [from:to] [from:to] ... with image".
2006-01-21 Petr Mikulik <>
* src/graph3d.c (do_3dplot): The mistake of missing blank lines in a
datafile for pm3d plot is so frequently made that it really deserves
a warning.
2006-01-19 Ethan Merritt <>
* src/color.c src/color.h src/gadgets.c src/gadgets.h: Move color_box
structure and associated definitions from color.* to gadgets.*. This
resolves a circular header dependency if the structure is to be shared
by 2D and 3D code. Add (struct position) entries to color_box structure
to generalize the placement options.
* src/command.c src/command.h src/gadgets.c src/gadgets.h: Move the
related TBOOLEAN flags is_3d_plot and is_cb_plot from command.* to
* src/save.c src/show.c src/set.c src/unset.c: Convert the relevant
routines to manipulate color_box position using new (struct position)
* docs/gnuplot.doc: Document that color_box placement can now be
specified in any of gnuplot's coordinate systems.
2006-01-15 Ethan Merritt <>
* docs/gnuplot.doc: Correct various typos and spelling errors.
2006-01-13 Ethan Merritt <>
* term/emf.trm: EMF_filled_polygon has the side-effect of
changing the current line color. Force re-evaluation of line
properties the next time a line is drawn.
2006-01-13 Timothee Lecomte <>
* demo/rainbow.dem: Do not "unset mouse" inside demo.
2006-01-12 Ethan Merritt <>
* term/svg.trm: Avoid improper call to strcpy found by valgrind.
* term/emf.trm: Allow terminal to use LT_BACKGROUND as a line or
fill color.
* term/xlib.trm (Xlib_reset): Give xlib its own reset function,
because sharing one with x11 can lead to a double-free of the
output file, resulting in a segfault (found by valgrind).
2006-01-11 Ethan Merritt <>
* src/plot3d.c (get3d_data): Fix initialization code for 3D plot
style `with vectors`.
2006-01-07 Mike Sutton <>
* term/gd.trm: New terminal option {rounded|butt} controls line caps.
* src/color.c (draw_color_smooth_box): In splot in view map mode, have
the colorbox extend the full height of the y axis by default. Placement
in 3D plots is not affected. This was the old (pre-4.0) behaviour.
2006-01-07 Daniel Sebald <>
* term/gd.trm: Addtional processing of animated gifs to bring
output file into compliance with the Gif89a standard.
* demo/animate2.dem demo/rotate.gnu: New demo of gif animation,
showing transparency. Revised rotation code for both animate
and animate2 demos.
2006-01-07 Ethan Merritt <>
* src/term.c (term_end_multiplot): Free title string and clear
multiplot title.
2006-01-07 Daniel Sebald <>
* src/gplt_x11.c (record): Incorrect nesting of parentheses.
2006-01-02 Ethan Merritt <>
* term/gd.trm (PNG_options): Change default animation mode to
"nooptimize". Disable optimization if the background is transparent,
as this combination is not handled well by most viewing programs.
2006-01-02 Dennis Linse <>
* term/x11.trm: Remove redundant #include <sys/select.h>
2005-12-30 Ethan Merritt <>
* term/gd.trm (PNG_options): Initialize and report animate {nooptimize}
flag in terminal options string.
2005-12-29 Ethan Merritt <>
* term/gd.trm term/vgagl.trm: Cleanup (#undef) definition of Y(coord)
before leaving driver code.
* term/pdf.trm: Correct signedness problem in call to PDF_open_image().
* term/svg.trm: Increase the internal resolution of terminal coordinates
by adding a scale factor SVG_SCALE. This fixes the "wavy line" bug seen
in svg plots.
2005-12-29 Petr Mikulik <>
* term/gd.trm: New routine image_do_crop(), extracted from png_text().
Now shared for cropping all png/gif/jpeg images.
2005-12-26 Ethan Merritt <>
* src/graph3d.c (place_label3d): Let write_label handle clipping to
the page, rather than duplicating it in place_label3d.
2005-12-21 Ethan Merritt <>
* term/gd.trm (PNG_text): Work around unexpected behaviour in libgd,
which does not copy transparent pixels during a copy operation.
Fixes bug #1386553.
2005-12-17 Bastian Maerkisch <>
* src/win/wgraph.c (drawgraph): Fixed "splot x with line palette lw 10".
2005-12-17 Petr Mikulik <>
* src/version.c: Changed value of gnuplot_date[] from a useless
July 2004 day into "December 2005".
* src/mouse.h src/mouse.c: Added new field was_splot_map in structure
t_zoom. It should fix yet another occurence of "set view map; plot x"
and y-axis reversal when zooming by mouse and unzooming by hotkeys.
2005-12-15 Bastian Maerkisch <>
* term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph): Support for
text color via RGB and via linetype color values.
2005-12-14 Bastian Maerkisch <>
* config/makefile.nt: Fixes for linking with bgd.dll.
* src/term.c: #include <io.h> for __MSC__.
2005-12-11 Ethan Merritt <>
* src/graph3d.c (do_3dplot): Add a BoundingBox structure to describe
the plot boundaries in 'set view map' mode.
2005-12-06 Ethan Merritt <>
* src/graph3d.c (do_3dplot) src/graph3d.h src/plot3d.c (eval_3dplots)
src/hidden3d.c (build_networks) docs/gnuplot.doc: Add an option
`with <plotstyle> nohidden3d` that allows you to exclude a particular
plot from the global `set hidden3d` processing.
2005-12-06 Hans-Bernhard Broeker <>
* src/hidden3d.c (COORD_TO_TREECELL, COORD_TO_BITMASK): Avoid
overflow by undoing effect of surface_scale before mapping to
(store_polygon): Add assert()s to internal macros GET_MIN,
GET_MAX, to catch problems not handled by above changes.
(in_front): Avoid accessing qlist[-1]. Make sure
p_list[] is always filled, even if doing a single-vertex pseudo
2005-12-05 Ethan Merritt <>
* src/hidden3d.c (build_networks): Each plot with style LABELPOINTS
contains a linked list of labels. But the first label in this list is
a dummy entry used only as a placeholder for style parameters. The
hidden3d code was incorrectly counting this as an actual label.
Fixes at least some instances of bug #1372464.
2005-12-04 Ethan Merritt <>
* src/gadgets.h: Add new internal linetype LT_COLORFROMCOLUMN
* src/graph3d.c (do_3dplot): Remove warning if no surface is visible
in plot with hidden3d set.
* src/hidden3d.c src/util3d.h: Modify struct vertex so that it contains
a pointer (lp_style_type *)lp rather than simply an (int)style. This
allows all the various point properties to be handled in hidden3d mode
except for variable pointsize. Variable pointsize is handled by adding
a new field (struct coordinate *)original. This, however, increases the
size of struct vertex, so it can be configured out under the control of
* demo/pointsize.dem demo/rgb_variable.dem: Update demos to show off
use of 'set hidden3d' for 3D point plots.
* src/graph3d.c src/hidden3d.c: Handle 'splot with vectors' in
hidden3d mode.
* demo/molecule.dem demo/GM1_bonds.r3d demo/GM1_sugar.pdb: New
demo that shows off vector+point plots in hidded3d mode.
2005-12-02 Ethan Merritt <>
* src/gplt_x11.c src/gplt_x11.h: Move #include <sys/select.h> from
gplt_x11.c to gplt_x11.h so that x11.trm can see it also.
Bugfix #1365076.
* term/x11.trm: Remove duplicate #define for constants present in
2005-12-01 Michael Williamson <>
* src/set.c (set_size): Do not allow size values <= 0.
2005-11-29 Petr Mikulik <>
* src/mouse.c (apply_zoom): Fix for "set view map; plot x" and y-axis
reversal when mouse zooming.
2005-11-28 Petr Mikulik <>
* src/datafile.c (df_set_datafile_binary): Give an error message for
'set datafile binary' (without any option).
2005-11-27 Juergen Wieferink <>
* src/parse.c (const_string_express parse_additive_expression)
src/parse.h src/eval.c (pop_or_convert_from_string) src/eval.h
src/util.c (try_to_get_string) src/internal.c (f_minus)
src/set.c (set_label set_xyzlabel load_tic_user):
Clean up parsing and evaluation of try_to_get_string() by moving the
test against STRING_RESULT_ONLY into the actual parsing code. Now if
a + or - operator is encountered while parsing something that is
supposed to be a string, no further tokens are processed. Before, this
triggered an arithmetic operation on the string that had to be thrown
out afterwards.
2005-11-27 Ethan Merritt <>
* src/set.c (set_arrow): Rewrite set_arrow() to behave the same as
set_label() and other "set <foo>" routines; attribute changes for any
one arrow are now incremental.
* src/misc.c (arrow_parse) src/plot2d.c src/plot3d.c src/set.c:
Remove 2nd parameter of arrow_parse, since it is no longer used by
any callers.
* src/axis.c (axis_checked_extend_empty_range) src/plot3d.c:
Suppress warning message "empty z range" when mode is "set view map".
2005-11-27 Petr Mikulik <>
* demo/pm3d.dem: Change one splot from "with lp palette" to
"with lines palette".
2005-11-26 Ethan Merritt <>
* src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots):
Bugfix: Arrow style used by "with vector" was getting over-written
during subsequent command line parsing.
2005-11-25 Daniel Sebald <>
* src/datafile.c (avs_filetype_function) docs/gnuplot.doc:
Support AVS image file format.
plot '<convert foo.jpeg avs:-' binary filetype=avs with rgbimage
2005-11-25 Ethan Merritt <>
* src/graphics.c (do_plot do_key_sample)
src/graph3d.c (key_sample_line key_sample_point key_sample_point_pm3d):
Clip key to canvas unless TERM_CAN_CLIP flag is set.
* src/set.c (load_tic_user): Allow string variables and string functions
in 'set {xyz}tics ( FOO <foo>, BAR(x) x, "string"."exp" <place> )
* src/datafile.c (plot_option_binary): Fix logic error in binary file
initialization. Initialization was done inside a parsing loop, but the
loop was never entered unless there were additional keywords on the
command line. Bugfix. "set style data rgbimage" now works.
2005-11-25 Petr Mikulik <>
* term/tgif.trm (TGIF_init): Message "Creator: gnuplot %s patchlevel %s"
instead of (dollar)Header:(dollar) in output file header.
2005-11-24 Ethan Merritt <>
* src/gadgets.c (clip_point) src/term.c (do_arrow): If terminal
flag TERM_CAN_CLIP is set, then set canvas clipping description
to NULL.
* src/term_api.h src/term.c: Export on_page() so that it can be
used for clipping tests by other core modules.
* src/gadgets.c (write_label): If a label has an associated point,
clip the point using the same test as was used for the label itself.
2005-11-24 Juergen Wieferink <>
* src/util.c (parse_sq) src/scanner.c (scanner) docs/gnuplot.doc:
Fixed \' in single-quoted strings.
2005-11-24 Daniel Sebald <>
* src/gplt_x11.c: Linked list of color maps separate from the linked
list for x11 plots. Bugfix for different color palettes in different
x11 terminal windows and resizing them.
2005-11-18 Hans-Bernhard Broeker <>
* src/hidden3d.c (build_networks): Fix handling of previousvertex
variable for point-like objects, which don't need it.
2005-11-14 Juergen Wieferink <>
* src/set.c (set_xyzlabel): Fix parsing error in backwards-compatible
form "set xlabel 'foo' -1,-1".
2005-11-12 Ethan Merritt <>
* src/axis.c (gen_tics): Check whether user-specified tic is major
or minor before choosing a line type for the corresponding grid line.
* term/gd.trm (ENHGD_put_text) term/pdf.trm (ENHPDF_put_text):
Fix typos that caused justification to fail for rotated, enhanced
mode text strings.
2005-11-11 Harald Harders <>
* src/axis.c (axis_output_tics): Normally the tics are placed to
dodge the border line. If the border line is not drawn, then do
not try to dodge it.
2005-11-11 Ethan Merritt <>
* term/metapost.trm: Update driver to support version 4.1 features.
Implement general text rotation.
Add partial density solid fill support for rectangles and polygons,
with pattern fill implemented as incremental density solid fill.
Fix bugs in terminal option font parsing.
Keep track of dash pattern independent of line color
2005-11-09 Ethan Merritt <>
* src/term.c (do_arrow): Revert previous patch, since it seems
the bad effects outweigh the good.
2005-11-08 Ethan Merritt <>
* src/term.c (do_arrow): Add a work-around for broken behaviour
by the postscript terminal. post.trm does not correctly report
the current canvas size, so arrows cannot be clipped against the
canvas boundaries if the current terminal is post.trm. The proper
fix is probably in post.trm itself, but it potentially affects
many aspects of plot layout so I am reluctant to make the change
2005-11-01 Ethan Merritt <>
* src/plot3d.c (eval_3dplots): Fix logic bug in vector style
initialization. Replicate vector line style properties stored
in arrow_properties into plot's main lp_properties.
2005-10-31 Harald Harders <>
* term/post.trm (PS_options): Add flags to track whether terminal
options have been set; issue error on attempt set option twice.
2005-10-26 Petr Mikulik <>
* docs/gnuplot.doc: Updated 'help matrix' and 'help matrix ascii'.
2005-10-23 Ethan Merritt <>
* src/datafile.c (adjust_binary_use_spec): Interpret the command
"plot <foo> matrix" as equivalent to "plot <foo> matrix using 1:3".
2005-10-22 Harald Harders <>
* term/pslatex.trm (EPSLATEX_set_color): Fix bug in setting
pure black or white via a gray value.
2005-10-22 Ethan Merritt <>
* src/datafile.c (df_open): Fix [very] long-standing bug
that caused only the first 3 columns of ascii matrix data to
be read after the command: splot "data" using 1:2:3 matrix
Bug #1264105.
2005-10-21 Ethan Merritt <>
* src/gp_types.h: Force enum for variable types to start at
INTGR = 1, so that 0 (NULL) is guaranteed not to be a valid
variable type.
* src/util.c src/util.h (type_udv): New function returning the
type of a user-defined variable, or 0 if there is no such udv.
Replaces isstringvar().
* datafile.c (plot_ticlabel_using df_readascii): Allow the
using specs {x|y|z}ticlabel(<foo>) to accept an expression
for <foo> rather than accepting only an integer constant.
2005-10-20 Petr Mikulik <>
* src/term.c (do_arrow): Moved misplaced declaration.
* config/config.cyg config/config.mgw: Updated.
2005-10-19 Ethan Merritt <>
* docs/gnuplot.doc: Update description of xticlabels(<col>).
2005-10-19 Petr Mikulik <>
* term/x11.trm (START_HELP): Update docs about window title.
2005-10-16 Ethan Merritt <>
* src/gadgets.h: Export (BoundingBox *)clip_area, so that gnuplot
core routines can specify clipping boundaries before calling
clip_point() and clip_line().
* src/term.c (do_arrow): clip all lines in arrow to the canvas.
Bug #1187336.
* src/graph3d.c (get_arrow3d): Since arrow clipping is now
handled properly in do_arrow(), remove the old cruder clipping test.
* term/pdf.trm (PDF_filled_polygon): Filled arrowheads can still
protrude across the canvas boundary, and the pdflib routines
cannot deal with this due to the use of (unsigned int) for the
polygon vertices. Cast to (int) prevents segfaults or error
exit by pdflib library.
* term/pdf.trm (PDF_point): Bugfix: Do not crash on pointsize 0.
2005-10-15 Ethan Merritt <>
* src/gadgets.h src/gadgets.c: Define a BoundingBox structure type,
and create two instances: one for the plot boundary and one for the
canvas boundary. Also export a (BoundingBox *)clip_area pointer to
the currently active BoundingBox for clipping. At this point,
clip_area always points to plot_bounds.
* src/term.c (term_start_plot): Immediately after each call to
term->graphics(), load terminal's coordinate range into canvas
* src/gadgets.c (clip_point clip_line): Clip against the BoundingBox
pointed to by clip_area. In the past this has always been the plot
boundary, but now we will be able to use the same routines to clip
against other areas.
* src/graphics.c src/graph3d.c src/mouse.c: Replace all instances of
xright, xleft, ytop, ybot with references to those same fields in the
plot_bounds BoundingBox.
* term/tkcanvas.trm: Replace xright, xleft, ytop, ybut here to.
PLEASE FIX: But no terminal should be referring to these directly.
2005-10-15 Hans Grobler <>
* src/gplt_x11.c: Fix buffer overflow caused by incorrect size
allocation for rdbuf.
2005-10-14 Ethan Merritt <>
* src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Explicitly
initialize arrow style for "{s}plot with vector", since arrow_parse()
no longer does this for us.
2005-10-13 Ethan Merritt <>
* term/dumb.trm: Fix dumb bug in dumb term. coords run from 0->xmax
and 0->ymax, but array space was only allocated for xmax*ymax pixels.
Correct this to (xmax+1)*(ymax+1). Fixes segfault triggered by
"set size 2,2".
2005-10-12 Don Taber <>
* term/pbm.trm: Update description of the PBMPLUS and NETPBM packages.
2005-10-12 Ethan Merritt <>
* term/pslatex.trm: Add TERM_CAN_CLIP to terminal flags, since the core
routines cannot correctly estimate the length of TeX strings.
Bug #1324794.
2005-10-12 Lars Hecking <>
* src/beos/ Remove Makefile from EXTRA_DIST.
2005-10-11 Ethan Merritt <>
* src/graph3d.c (plot3d_points): Small code clean up in preparation
for possible addition of a sorting step prior to plotting.
2005-10-10 Bastian Maerkisch <>
* src/win/winmain.c (win_lower_terminal_window): "lower" command for the
Windows terminal.
2005-10-09 Harald Harders <>
* src/misc.c (lp_parse arrow_parse) set.c (set_linestyle set_arrowstyle)
src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) docs/gnuplot.doc:
Bring "set style line ..." and "set style arrow ..." into agreement with
other "set style <foo>" commands by retaining current properties, rather
than resetting to the default style each time. The previous behavior was
undocumented. Add an explicit command "set style {line|arrow} default".
2005-10-09 Petr Mikulik <>
* term/pdf.trm term/svg.trm (START_HELP): Small changes.
* term/x11.trm (START_HELP): Reorganized list of options.
2005-10-08 Bastian Maerkisch <>
* src/os2/gclient.c term/pm.trm: "lower" command for the pm terminal.
2005-10-07 Ethan Merritt <>
* term/cgm.trm: Fix pattern-fill code, which was not working.
If the user explicitly provides a background color, apply it to the
entire canvas when plotting is started. The was documented, but
apparently never implemented. Bug #616167.
Also update linetype code so that it is possible to give the
the background color as a line property.
2005-10-07 Daniel Sebald <>
SF patch [859716] new raise/lower commands
* NEWS docs/gnuplot.doc src/command.c src/command.h src/gplt_x11.c
src/os2/gclient.c src/tables.c src/win/winmain.c term/pm.trm
term/x11.trm: Commands "raise" and "lower" to raise and lower windows of
interactive terminals.
2005-10-07 Petr Mikulik <>
* src/command.c (system_command): Remove superfluous c_token++.
2005-10-06 Petr Mikulik <>
* src/syscfg.h: Increased MAX_NUM_VAR from 5 to 12 (max number of
parameters for functions).
2005-10-06 Amitha Perera <>
* term/pbm.trm (PBM_options): Re-order declarations to be strict ANSI C.
2005-10-05 Ethan Merritt <>
* src/graph3d.c (draw_3d_graphbox ztick_callback)
src/save.c (save_set_all) src/set.c (set_command set_zeroaxis)
src/show.c (show_command show_all show_zeroaxis) src/tables.c
src/tables.h src/unset.c (unset_command unset_zeroaxis)
Implement zzeroaxis, and rework the placement of axis tics and labels
in 3D when the corresponding "set {xyz}tics axis" flag is set.
Bug #1293118.
2005-10-05 Ethan Merritt <>
* term/gd.trm (PNG_options): Test for valid (>0) size of image.
2005-10-05 Bastian Maerkisch <>
SF RFE [1063878] Support for pre-compiled bgd.dll
If gd.trm made use of the gdFontGetTiny() and related methods to read
the font pointers instead of referencing them as extern, gnuplot could
more easily be compiled to work with the pre-compiled GD library
bgd.dll instead of having to download and compile zlib, libpng and
* config/makefile.nt: Support for binary version of gdlib (bgd.dll).
* term/gd.trm: New BGD_EXPORT_DATA_PROT and gp_gdXXX() for Win32.
2005-10-05 Bastian Maerkisch <>
* term/pm.trm src/os2/pm_msgs.h src/os2/gclient.c: Support for
"with image" on pm terminal.
2005-10-04 Ethan Merritt <>
* term/pbm.trm (PBM_options): Add an option to set the output size.
set term pbm size XXX,YYY
2005-10-04 Bastian Maerkisch <>
* src/win/wtext.c (DragFunc): Increase maximum length of filenames in
drag and drop operations to MAX_PATH (bug found by Tim Chippington
2005-10-03 Ethan Merritt <>
* Issue a warning message if someone tries to build the
PNG terminal without libgd.
2005-10-02 Ethan Merritt <>
* src/gadgets.h: Remove unused struct default_keybox_lp.
* src/graph3d.c src/graph3d.h src/mouse.c src/save.c src/set.c
src/show.c src/tables.c src/unset.c docs/gnuplot.doc:
Move global ticslevel into a global struct xyplane that also contains a
flag indicating whether the value fixes the Z-intercept of the x/y plane
at a fraction of the z range (old behaviour) or a specific value of
Z (new option). To select a specific Z, use "set ticslevel at <zval>".
This change also introduces "xyplane" as a synonym for "ticslevel",
so the more easily remembered form of the command is
"set xyplane at <zval>".
* src/graph3d.c (do_3dplot): Check for absolute placement of xyplane
along Z axis, controlled by "set {ticslevel|xyplane} at <zval>".
2005-10-01 Ethan Merritt <>
Lines have more properties now than they used to. Rather than expanding
the number of parameters to lp_parse() to pass default values for each
property separately, change to requiring the caller of lp_parse() to
preload default values into the lp_style_type structure being passed.
This change should not by itself affect current syntax or behaviour,
but will allow us to remove the style initialization from lp_parse().
This in turn will allow different callers to have different default
line styles while still sharing the same parsing routine.
* src/misc.h src/misc.c (lp_parse): Remove def_line and def_point
parameters; instead assume they have been preloaded into lp.
* src/plot2d.c src/plot3d.c src/set.c: Modify all callers of lp_parse()
to follow the new scheme.
* src/gadgets.h src/term_api.h src/graph3d.c src/graphics.c src/save.c
src/plot2d.c src/plot3d.c: #define PTSZ_VARIABLE and PTSZ_DEFAULT as
constants rather than passing magic values for lp_style_type.p_size.
* src/term.c (term_apply_lp_properties): Check explicitly for
2005-09-29 Ethan Merritt <>
* src/axis.c (axis_position_zeroaxis): More zeroaxis bugs; does nobody
ever use this option? Range terminating at 0.0 is a perfectly valid
case in which to draw a zeroaxis.
2005-09-27 Ethan Merritt <>
* src/util3d.c (draw3d_line_unconditional): The code previously assumed
that any 3D colored line is colored by Z value. This is no longer true.
2005-09-27 Petr Mikulik <>
* term/post.trm (PS_COMMON_DOC1): More details for 'color' and
'monochrome' options.
2005-09-25 Ethan Merritt <>
Even when gnuplot honors a LOCALE setting for input of data or output
of plots, gnuplot's own command syntax requires LC_NUMERIC == C. We
must check for this anywhere that a command is generated or parsed.
* src/mouse.c (apply_zoom): Enforce C locale before creating
command sequence to do zooming.
* src/scanner.c (get_num): Enforce C locale before reading a number
that is part of a command line.
* src/command.c (save_command test_palette_subcommand)
src/show.c (show_command show_style): Enforce C locale before saving or
showing state of internal variables.
2005-09-25 Petr Mikulik <>
* term/svg.trm (SVG_init): Encodings for OS/2 and Windows.
2005-09-24 Bastian Maerkisch <>
* src/os2/gclient.c term/pm.trm: Full RGB colour support for pm terminal
(if display supports it).
2005-09-24 Ethan Merritt <>
* src/gplt_x11.c (process_event): Drain any backlog of keypress
events from the current plot window every time we see an arrow key.
This prevents hysteresis if the redraw rate is slower than the
keyboard autorepeat rate.
Bug #1111734.
* term/emf.trm: (EMF_dashtype): Make axis dotted by default, consistent
with other terminal types.
2005-09-23 Ethan Merritt <>
* src/gplt_x11.c (exec_cmd) term/x11.trm (ENHX11_put_text):
Change the vertical centering of enhanced mode text so that it matches
that of non-enhanced text.
2005-09-23 Petr Mikulik <>
* src/set.c term/gd.trm: Always allow animated gif options in
'set term gif ...'. Issue a warning if the gd library does not support
animated gifs.
2005-09-22 Ethan Merritt <>
* src/graphics.c (boundary do_plot label_width): Correct the layout
of the key title area for enhanced text super- and sub- scripts, and
ensure the box is wide enough for the key title string.
Bug/RFE #1002488.
NB: This fix reveals that the x11 driver has incorrect vertical
centering for enhanced text; other drivers are fine.
* term/xlib.trm: Add enhanced text entry points to TERM_TABLE so that
enhanced text handling by x11 driver can be debugged.
2005-09-21 Ethan Merritt <>
* term/svg.trm (SVG_init): Place encoding information in the
XML header record if an encoding is explicitly set in gnuplot.
Bug #1231209.
* src/axis.c (gen_tics): Correct the calculation of last minitic
position to be plotted on a log-scale axis. Bug #1223149.
* src/term.c (write_multiline): Fix trivial line-counting bug.
2005-09-20 Ethan Merritt <>
* src/set.c (parse_label_options): Fix incorrect ordering of
declaration/initialization. Non-gcc compilers didn't like it.
2005-09-19 Ethan Merritt <>
* src/graphics.c (boundary): Allow space for zeroaxis tic labels when
zeroaxis is near plot border. Bug #219867 swatted after 5 years!
2005-09-17 Ethan Merritt <>
* src/axis.c (gen_tics add_tic_user) src/axis.h src/save.c (save_tics)
src/setc.c (set_tic_prop load_tic_user load_tic_series)
src/show.c (show_ticdef) src/unset.c (unset_tics) docs/gnuplot.doc:
Sourceforge patchset #1104018.
Allow both user-specified axis tics and auto-generated tics at the
same time. No change to basic syntax or behaviour of tics, but the
extra key word "add" in a "set [xuz]tics ..." command causes the
requested tics to be added to the current ones rather than replacing
2005-09-17 Ethan Merritt <>
* src/graphics.c (plot_image_or_update_axes): Use gp_alloc rather
than malloc. Bug #1254314.
* src/gplt_x11.c src/getcolor.c: Check for NULL return from malloc().
Bug #1254314.
* demo/all.dem: Fixed mis-matched quotes around "rgb_variable.dem".
2005-09-16 Juergen Wieferink <>
* src/command.c (string_expand): Fix bug in macro handling; escaped
quotes were not recognized.
2005-09-16 Ethan Merritt <>
* src/graph3d.c (draw_3d_graphbox): Treat placement of Z-axis label in
the same way as those for the X and Y axes.
2005-09-15 Ethan Merritt <>
* src/term.c (write_multiline, on_page): New routine on_page(x,y) to
check coordinates for being in range of entire terminal drawing area.
Use this in write_multiline() to centralize text clipping (may extend
it to single line text later). Fixes bug #1274007 and a lot of old
complaints about segfaults in libpdf.
* src/term_api.h term/post.trm: But some terminals can clip text just
fine on their own, and do it more cleanly than on_page() can do. Define
a terminal flag TERM_CAN_CLIP for these cases, starting with post.trm.
If the flag is set for the current terminal, on_page() always returns
* src/graph3d.c (xtick_callback ytick_callback ztick_callback):
Since write_multiline() now does its own clipping, it does not need to
be wrapped by clip_put_text_just(). While we're here, apply text
rotation for tic labels.
* src/gadgets.c src/gadgets.h src/color.c: This leaves no callers for
clip_put_text_just(), so remove the routine altogether.
2005-09-15 Harald Harders <>
* src/variable.c term/post.trm (PS_options, documentation):
Fix bugs in fontfile handling of ps terminal. Document "nofontfiles".
SourceForge patch #1269469.
2005-09-15 Ethan Merritt <>
* demo/html/Makefile demo/html/ Add rgb_variable.dem to the
autogenerated html set. Also add dashcolor.dem, which is complicated
by needing to generate an *.eps file and then convert it to *.png.
* demo/all.dem: Add rainbow.dem and rgb_variable.dem
* src/gadgets.h: Initialize axis labels to use linetype -1, not 0.
2005-09-14 Ethan Merritt <>
* docs/gnuplot.doc: The histogram plot style was not being listed as an
option under 'help plotting styles'.
2005-09-12 Ethan Merritt <>
* src/axis.c src/axis.h src/color.c src/gadgets.c src/gadgets.c
src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/term.c
Up till now gnuplot's axis labels, plot title, and timestamp have been
stored in statically allocated instances of struct label_struct.
All other labels use dynamically allocated struct text_label.
This set of changes converts all users of struct label_struct to use
stucture text_label instead. This saves space everywhere, and
consolidates the label parsing and handling routines.
* docs/gnuplot.doc NEWS:
The y and y2 axis labels now allow explicit control over rotation angle;
all labels now allow explicit control over {no}enhanced text processing.
2005-09-12 Bastian Maerkisch <>
* config/config.nt: Rearranged to comply with config.{h,cyg,mgw,os2}.
2005-09-11 Ethan Merritt <>
* src/save.c (save_set_all): Fix incorrect placement of newlines
in "set pm3d" options.
2005-09-09 Lars Hecking <>
* lisp/ Add $(ELS) to distclean-local target.
* share/LaTeX/ Install .cfg file under gnuplot's directory
hierarchy rather than LaTeX's - it is the user's responsibility to
update the latter. Add uninstall-hook.
2005-09-09 Hans-Bernhard Broeker <>
* config/config.nt: Added flags for GP_ISVAR, libPDF details,
HAVE_STRINGIZE, string variables, datastrings, histograms, fit
error variables, image mode, macros. Added at least some
2005-09-08 Hans-Bernhard Broeker <>
* config/makefile.nt: Add a rule that makes all *.obj files
explicitly dependent on config.h. Explain usage a bit more
* src/graphics.c (plot_image_or_update_axes): Don't dereference
function pointer in test.
* docs/gnuplot.texi: Regenerated.
* docs/gnuplot.doc: Removed superfluous blanks, fixing some
blank-only lines.
* src/beos/ New file. Edited copy of previous
Makefile to fix out-of-source 'make dist'.
* src/beos/Makefile: Removed.
* Add src/beos/Makefile to AC_OUTPUT.
2005-09-07 Lars Hecking <>
*,, share/ SUBDIRS in
automake versions older than 1.9 can only contain direct
children. Need a minimal, dummy in share/ to address
*, share/, share/LaTeX/ Fix
building outside source directory.
2005-09-07 Lars Hecking <>
* Add share/LaTeX to SUBDIRS.
* depcomp, install-sh, missing, mkinstalldirs: Updated from
* config/ Add MacOSX to EXTRA_DIST generation.
* demo/ Add *.cfg and html to EXTRA_DIST
generation, remove
* share/LaTeX: Add top_srcdir, INSTALL_DATA, DISTFILES, install,
distdir, clean, distclean. Clean up all and install targets.
* src/ Add makefile.awc to EXTRA_DIST.
2005-09-05 Petr Mikulik <>
* show.c (show_palette_palette): Take care that print_out is
stderr for for both NULL and stderr.
* command.c (print_show_output): Make the test to print_out, not
print_out_name (failed for stdout).
2005-09-05 Geoffrey Hausheer <>
SF patch [1264939] Adds bilinear interpolation to pm3d surfaces
* demo/pm3d.dem docs/gnuplot.doc src/pm3d.c src/pm3d.h src/save.c
src/set.c src/show.c src/tables.c src/tables.h NEWS: When using
pm3d with data files (rather than functions), a single color is
used for each quadrangle (unless dgrid is used, but then you get
weighted averages instead). This patch does bilinear interpolation
to subdivide each quadrangle into nxn smaller quadrangles, and
sets the color of each one independantly.
2005-08-30 Hans-Bernhard Broeker <>
* config/makefile.dj2 (TERMLIBS): Updated to current version of
(LINKOPT): Fix it to actually use $(TERMLIBS).
2005-08-30 Bastian Maerkisch <>
* src/os2/gclient.c (ReadGnu): implement stubs in pm terminal to
map RGB colors to nearest color from current pm3d palette
2005-08-22 Ethan Merritt <>
* src/color.c src/color.h: New routine set_rgbcolor().
* src/misc.c (parse_colorspec) src/graph3d.c: Allow color
specification "rgb variable", in which case the RGB color is taken
from an additional field of the "using" specifier.
* docs/gnuplot.doc demo/rgb_variable.dat demo/rgb_variable.dem NEWS:
Explain and give example of reading rgb color from input data field.
2005-08-19 Ethan Merritt <>
* src/plot3d.c (get_3ddata) src/graph3d.c(plot3d_points):
Variable pointsize should be honored in plot style "linespoints"
exactly as in style "points".
2005-08-17 Hans-Bernhard Broeker <>
* docs/gnuplot.doc (multiplot): Extend description of how
multiplot actually works on interactive displays. Place a hint
about using 'clear' for insets. Closes RFE #1256148.
2005-08-16 Harald Harders <>
* src/save.c (save_tics): Fix inconsistency in the syntax of the saved
"set tics" command and the input "set tics" command. SF patch [1261165]
2005-08-12 Juergen Wieferink <>
* src/datafile.c (initialize_use_spec df_open df_close)
src/fit.c (error_ex fit_command) src/set.c (set_palette_function):
Use free_at() rather than free() for action table pointers.
Fixes minor memory leaks found by valgrind.
* src/eval.c (free_at): Handle null pointer gracefully.
* src/gadgets.h src/graphics.h src/plot2d.c src/plot3d.c:
Consistent initialization of the title_no_enhanced flag.
2005-08-12 Bastian Maerkisch <>
SF patch [1234632] gnuplot history file without GNU readline
* NEWS src/gp_hist.h src/history.c src/plot.c src/set.c src/show.c
src/syscfg.h src/unset.c: This patch enables GNUPLOT_HISTORY if gnuplot
is not compiled with GNU readline. History is automatically saved on
program exit and reloaded on start. "set/unset history" commands are
* config/makefile.os2: Other makefiles should be adjusted
to allow GNUPLOT_HISTORY to be defined when HAVE_LIBREADLINE is not.
2005-08-10 Ethan Merritt <>
* src/gplt_x11.c: Restore original background pixel setting after
text rotation.
2005-08-10 Hans-Bernhard Broeker <>
* src/win/winmain.c: Define _WIN32_IE independent of particular
compilers, conditional only on whether it's already defined.
2005-08-08 Ethan Merritt <>
* term/pdf.trm: Keep track of current color regardless of whether
it was set by term->set_color() or term->linetype().
2005-08-08 Bastian Maerkisch <>
* src/gp_hist.h src/history.c src/plot.c src/plot.h src/set.c
src/show.c src/unset.c: Move variable gnuplot_history_size from
plot.h to gp_hist.h.
2005-08-08 Petr Mikulik <>
* demo/datastrings.dem demo/epslatex.dem demo/histograms.dem
demo/layout.dem demo/pm3d.dem: Update for "set tics scale".
2005-08-07 Ethan Merritt <>
* src/gplt_x11.c: Do away with special (GC *)gc_pm3d; use the same gc
for all normal plot elements except pattern fill. Tweak the algorithm
for text rotation as suggested long ago by Dave Denholm. The default
method should now work on all TrueColor or DirectColor displays. The
X resource "gnuplot*fastrotate: off" still allows fall-back to a slower
but guaranteed algorithm if necessary. Fixes bug #1251193.
2005-08-07 Petr Mikulik <>
Let PM3D be always compiled in. Thus, this patch removes all constructs
#if(n)def PM3D and does a necessary code clean-up.
Files changed:
config/(11 files) config.amg config.cyg config.mgw config.os2 config.wc
makefile.cyg makefile.mgw makefile.nt makefile.os2 makefile.oww
src/(37 files) axis.c axis.h color.c color.h command.c contour.c
datafile.c gadgets.c gadgets.h getcolor.c getcolor.h gplt_x11.c
gplt_x11.h gp_types.h graph3d.c graph3d.h graphics.c graphics.h
hidden3d.c misc.c misc.h mouse.c plot2d.c plot3d.c plot.c pm3d.c save.c
set.c setshow.h show.c tables.c tables.h term_api.h term.c unset.c
util3d.c util3d.h
src/os2/gclient.c src/os2/pm_msgs.h
term/(22 files) README aquaterm.trm cgm.trm dumb.trm emf.trm
estimate.trm fig.trm gd.trm ggi.trm metapost.trm mif.trm pdf.trm pm.trm
post.trm pslatex.trm pstricks.trm svg.trm tgif.trm vgagl.trm win.trm
x11.trm xlib.trm
2005-08-06 Bastian Maerkisch <>
* src/set.c (set_tics): Fix non-ANSI ordering of declaration.
2005-08-06 Ethan Merritt <>
* src/color.c: Remove C++ style comments.
* src/gplt_x11.c: Replace non-standard type caddr_t with XPointer.
* src/set.c (set_tics) src/tables.c src/tables.h: Do not consider
use of old syntax as an error. (E.g. 'set key outside below')
2005-08-05 Ethan Merritt <>
* demo/starmap.dem: Change style slightly for use with webify.
* demo/html/ Add tics demo.
* demo/html/ Use in-tree gnuplot executable, if available.
2005-08-05 Harald Harders <>
SF patch [1245558] Different ticscale and ticpos for different axes
* NEWS docs/gnuplot.doc src/axis.c src/axis.h src/color.c src/graph3d.c
src/graphics.c src/save.c src/set.c src/show.c src/term.c src/unset.c
demo/all.dem demo/tics.dem demo/html/Makefile: This patch enables the
user to specify different ticscales and tic-positions for each axis:
- new: "set tics" can change most settings for {x|y|z|cb}tics at once;
- new: tic scale can be set per axis using "set {x|y|z|cb}tics scale";
- change: "set ticsscale" is deprecated, use "set tics scale" instead.
2005-08-04 Ethan Merritt <>
* src/plot2d.c(store_label get_data) src/plot3d.c (get_3ddata):
For 'plot with labels', instead of treating a missing label as an
undefined point, treat it as a blank label. That allows putting a
point on the plot even if there is no label to go with it.
Bug #1251922.
* src/datafile.c: Better fix for mis-match of column header to column
values in the case of `set style histogram errorbars` with
`set key autotitle columnheader`. Supersedes 2005-07-30 patch.
2005-08-04 Bastian Maerkisch <>
SF patch [1233984] Directory selection dialog for Win32
* src/win/wgnuplot.mnu src/win/wmenu.c: Add new directory selection
dialog to Win32 platform. If SHELL_DIR_DIALOG is defined the common
directory dialog of the windows shell is used. Otherwise a modified
version of the common file open dialog is used. The new code is only
active if WITH_ADV_DIR_DIALOG is defined.
* src/win/wcommon.h: Make the new directory dialog the default by
2005-08-04 Bastian Maerkisch <>
SF patch [1233987] WIN32: save wgnuplot.ini to user's appdata dir
* src/plot.c src/plot.h src/win/winmain.c (WinMain): Change default
location of wgnuplot.ini to the user's APPDATA directory on Win32
platforms. This is necessary since the directory of the executable can
not be assumed to be writable.
* src/win/wcommon.h: Make the new behaviour the default by #defining
2005-08-04 Hans-Bernhard Broeker <>
* src/contour.c: CodeStyle cleanup (no superfluous pointer casts,
sensible indentation).
(contour): Logarithmize parameters of incremental
contour specification to imitate the way other ticks on log axes
(edge_struct, poly_struct, cntr_struct): Typedef'd these structs,
use typedef names all over the place to render source less wordy.
2005-08-03 Ethan Merritt <>
Move generation of html demo files into a separate subdirectory.
* demo/html/ demo/html/gnuplot_demo.css:
Template files for html pages.
* demo/html/Makefile demo/html/ Modify to accept
the "set term" parameters from environmental variable DEMOTERM. Create
a separate Makefile just for generation of html pages. Add special
case terminal parameters for several demos.
* demo/multiplt.dem: Add a missing "pause -1" command so that the
webify script works properly.
2005-08-03 Lars Hecking <>
* docs/ Update CLEANFILES and clean-generic.
2005-08-03 Bastian Maerkisch <>
* config/makefile.nt: Introduce variable OPTIONS for compile time
switches like PM3D, USE_MOUSE etc. This makes addition of options
* src/win/winmain.c src/win/wcommon.h: Add new function GetDllVersion()
which can determine the version of windows's shell and common control
libraries. It is only included if WANT_GETDLLVERSION is defined.
* src/win/wprinter.c src/win/wgraph.c src/win/wgnuplib.h
src/win/wcommon.h: Rename struct PRINT to GP_PRINT due to name
collision with windows shlobj.h header file.
2005-08-02 Petr Mikulik <>
* config/config.mgw: Some more #(un)define for MingW >= 3.0.
2005-08-01 Ethan Merritt <>
* src/save.c (save_position): OK, so maybe we have to print out
the full "offset ...." even if it specifies zero offset.
2005-07-31 Petr Mikulik <>
* src/history.c: Removed old comments.
2005-07-31 Bastian Maerkisch <>
* src/plot.c: #include gpexecute.h for OS/2 without USE_MOUSE.
* src/show.c (show_version): Correct spelling error HIDDEN3D_GRDBOX =>
* src/term.h: Fix compilation with SHORT_TERMLIST.
* src/gplt_x11.c: Remove reference to os2/dialogs.h.
* src/mouse.c: Use OS/2 message definition file os2/pm_msgs.h.
* config/makefile.os2: Fix build of gplt_x11.exe on OS/2.
2005-07-30 Petr Mikulik <>
* config/config.mgw: Have HAVE_ERF, HAVE_ERFC for MingW >= 3.0.
2005-07-30 Ethan Merritt <>
* src/save.c (save_position and its callers): Move printout of the
"offset" keyword into shared routine save_position(). That way we
can efficiently skip the whole thing if the offset is zero.
* src/datafile.c (df_tokenise): Add back a copy and a comment
corresponding to the old sscanf() input code. This makes is easy if
someone wants to compare new and old code paths.
* src/datafile.c (df_open): Fix mis-match of column header to
column values in the case of `set style histogram errorbars` with
`set key autotitle columnheader`.
2005-07-29 Petr Mikulik <>
* demo/pm3d.dem: Added missing text for a "pause -1".
2005-07-29 Daniel Sebald <>
* src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c
src/show.c src/tables.c src/tables.h: Revamping of key placement
routines. Backward compatible with previous placement options but now
there are new, more flexible options.
{{inside | outside} | {lmargin | rmargin | tmargin | bmargin}
| {at <position>}}
{left | right | center} {top | bottom | center}
{vertical | horizontal} {Left | Right}
controlling key placement and key element arrangement.
* docs/gnuplot.doc: Updated documentation about new key options.
"at" for manual placement was included in the documentation even though
leaving "at" out will still work.
* demo/bivariat.dem demo/electron.dem tutorial/eg3.plt tutorial/eg6.plt
tutorial/tutorial.tex: Changed all uses of manual key placement to
include "at".
* demo/key.dem demo/all.dem: Added demo to show variety of key
placements, and added demo to the all demo file.
* NEWS: Added note about more versatile key placement.
2005-07-28 Ethan Merritt <>
* src/term.c (term_start_multiplot mp_layout_size_and_offset):
`set multiplot {title "string"} {layout ... }`
Add a page title option for multiplots. In auto-layout mode,
reserve space at the top of the page for this title, and scale
all the component plots accordingly. RFE #992349
* demo/layout.dem: Add sample titles to the plots in this demo.
* src/graphics.c (place_histogram_titles): Fix bug that tried to get
the title offsets from the wrong data structure.
2005-07-28 Petr Mikulik <>
* config/config.cyg config/config.mgw config/config.os2: Added #defines
2005-07-28 Bastian Maerkisch <>
SF patch [1234634] OS/2: use generic enhanced text in pm terminal.
* config/config.os2 config/makefile.os2 src/os2/gclient.c
src/os2/gnupmdrv.c src/os2/gnupmdrv.h src/os2/pm_msgs.h term/pm.trm:
Use generic enhanced text in pm terminal -- Let pm terminal use the
new generic routines for enhanced text. Currently the only new feature
this provides is overprinted text. The binary interface between pm.trm
and gnupmdrv has been extended slightly.
To switch back to the old behaviour compile with PM_OLD_ENHANCED_TEXT
defined. The old code is compiled into gnupmdrv in any case to
maintain binary compatibility with programs using gnupmdrv like GP/ARI
or Term::Gnuplot (but I haven't acually checked that).
2005-07-27 Ethan Merritt <>
* src/set.c (set_timestamp) docs/gnuplot.doc:
Drag the "set timestamp" code into the modern era by accepting options
in any order. Add keyword "font" in front of the optional font string,
but for backwards compatibility do not require it. Update the
documentation to reflect current treatment of offset and font options.
2005-07-26 Ethan Merritt <>
* src/set.c (set_xyzlabel): Check to see if next token is a valid
keyword before trying to parse it as a string. Fixes bug on, e.g.
'set title offset 1,1'
* src/save.c (save_set_all): Write out keyword "offset" where
2005-07-25 Ethan Merritt <>
* src/stdfn.c src/stdfn.h: Add a private function gp_strtod() in case
there are platforms that do not have a working strtod().
* src/datafile.c (df_tokenise): Use strtod(), via gp_strtod(),
to parse values read from a data file. On long input lines, this is
substantially faster than using sscanf(). The previous fast path
(non-Fortran) used atof() rather than strtod(), but that does not
give a status return or character length consumed.
2005-07-25 Ethan Merritt <>
* term/pdf.trm (PDF_options PDF_linewidth): libpdf does not like zero
linewidth. Limit linewidths to 0.1 or greater.
* src/command.c (exit_command) docs/gnuplot.doc:
New command 'exit gnuplot' will unconditionally exit gnuplot immediately
even if invoked from within several nested layers of input stream. This
allows, for instance, binding a hotkey that can terminate gnuplot in
response to a keystroke in the plot window.
2005-07-25 Ethan Merritt <>
* src/datafile.c src/datafile.h src/save.c src/set.c src/show.c
src/unset.c docs/gnuplot.doc:
New command 'set datafile fortran' to enable parsing of input files
containing Fortran D or Q floating constants. This was the default
until now, but it requires a second check of every value parsed,
which obviously slows down the input procedure. Now the second pass
is disabled by default, and only occurs if the fortran parsing option
is selected. Addresses complaints of slow input from large files.
2005-07-23 Ethan Merritt <>
* src/command.c (print_command): Re-arrange code so that an expression
being printed is only evaluated once, rather than twice.
Fixes bug #1173508.
2005-07-23 Harald Harders <>
* src/term.c (write_multiline): Use estimate_strlen rather than strlen.
* term/post.trm: Use a more foolproof method of estimating the width of
strings containing overprint characters.
2005-07-22 Ethan Merritt <>
* src/parse.c (string_or_express): Remove unused variable.
2005-07-22 Ethan Merritt <>
Introduce a new terminal API routine (term->layer)(int layer). This
is used by the epslatex terminal (pslatex.trm) to handle the
"front" or "back" text attribute. In the future it might be used to
toggle other layering effects (transparency? contour levels?).
* src/term_api.h term/README: Define new entry point and a set of
layer names to pass into it.
* src/graph3d.c (do_3dplot) src/graphics.c (do_plot):
at the relevant stages of plot generation.
* src/term.c (term_start_plot term_end_plot):
Call t->layer(TERM_LAYER_RESET) and t->layer(TERM_LAYER_END_TEXT)
at start and end of each plot, respectively.
* term/pslatex.trm: Implement EPSLATEX_layer() mechanism.
2005-07-20 Juergen Wieferink <>
* src/parse.c (string_or_express): Do not call int_error() for invalid
expressions. Fixes "(s)plot 1/0".
2005-07-19 Ethan Merritt <>
* term/cgm.trm: Add a warning that Win2000 cannot handle filled
polygons with more than 50 vertices. Not our fault! Bug #955074.
2005-07-18 Ethan Merritt <>
* src/datafile.c (df_parse_string_field): Fix tab-containing string
constant which was broken when indent replaced tabs with spaces.
* src/term.h term/post.h term/post.trm term/pslatex.trm:
Repair the ordering of configuration options for building the post,
epslatex, and pslatex terminals. This selection is now made at the top
of term.h, as is selection of the enhanced text stringlength estimation
2005-07-16 Juergen Wieferink <>
* src/command.c (load_command): Issue an error message if any
tokens or further commands follow a "load <file>" command.
Sourceforge patch #1210835.
2005-07-16 Ethan Merritt <>
* demo/stringvar.dem: Add a demo showing a plot command that
generates datafile names via a string-valued function, now possible
because of the new string_or_expression code.
2005-07-16 Juergen Wieferink <>
Allow a single plot or splot command to contain a mixture of
functions, e.g. sin(x), and constant expressions including
string-valued constant expressions, e.g. sprintf("file.%d",n).
* src/datafile.c (df_open) src/datafile.h src/plot2d.c
src/plot3d.c src/fit.c src/set.c:
Parse filename from plot/splot/fit command before calling df_open(),
and pass the resulting string to df_open() as a new argument.
* src/parse.c (string_or_expression) src/parse.h:
New function that can safely parse either a constant expression
or a dummy function. string_or_expression() will return a pointer
to a string if it successfully parsed a string-valued expression.
It will return a pointer to an action table if it successfully
parsed a dummy function. If it parsed a non-string expression, both
the string pointer and the action table pointer will be NULL.
* src/eval.c (imag):
The use of string_or_expression() by splot/plot/fit allows one to
mix string-valued functions and "true" functions in the same command.
However, a string-valued function containing what looks like a dummy
variable (normally x or y) is not parsed correctly. This error is
eventually discovered and reported in imag().
2005-07-16 John Bollinger <>
* demo/finance.dem demo/finance.dat: New demo illustrating
various gnuplot features applied to display of financial data.
2005-07-15 Hans-Bernhard Broeker <>
* src/term.c (enhanced_recursion) [POSTSCRIPT_DRIVER]: added
a conditional to allow builds without PostScript/pslatex drivers
* term/pslatex.trm (PSLATEX_DRIVER): Define this macro here, where
it belongs.
* term/post.trm (POSTSCRIPT_DRIVER): Likewise.
* term/post.h: Remove #define PSLATEX_DRIVER --- it had no
business sitting in here.
* src/term_api.h (PC_setup) [PC]: Add missing prototype.
* src/gadgets.c: Add missing #include "graph3d.h".
* src/datafile.c: Re-indented almost the entire file. Was
violating CodeStyle all over the place.
* src/term.h [DJGPP, DJSVGA]: Allow build without GRX (by setting
DJSVGA to zero).
* config/makefile.dj2 (EXENAME): Removed version number from name.
(TERMFLAGS): DJSVGA definition moved to front, explain that
setting this to zero has a different effect now.
(TERMLIBS): Renamed to usual name (was LDFLAGS).
(CFLAGS): Updated to support build of current source.
(LINKOPT): Removed entry for GRX library.
* src/breaders.h: Added missing HAVE_CONFIG_H conditional.
2005-07-14 Ethan Merritt <>
* src/internal.c src/term.c src/gplt_x11.c term/gd.trm: Fix mangled use
of FPRINTF debugging macro.
* term/README term/gd.trm: Clarify documentation of term->suspend and
term->resume. Remove TERM_CAN_MULTIPLOT flag from gd.trm, since it has
no suspend/resume entry points.
2005-07-13 Ethan Merritt <>
* src/command.c (do_system_func): Fix incorrect placement of final
return code outside of the main conditional code segment.
Fixes compilation error under mingw reported by Dietmar Warning.
* src/graph3d.c (do_3dplot) src/graphics.c (do_plot)
src/term.c (test_term) term/post.trm term/pslatex.trm:
Remove all epslatex-specific code from the gnuplot core routines.
It was not working anyhow. This reverts the epslatex driver to
the old behaviour of ignoring any distinction between "front" and
"back" text labels. It also clears the deck for a different
approach that adds a terminal API routine to handle this sort of
terminal-specific requirement (SourceForge patchset #1191202).
2005-07-11 Ethan Merritt <>
* src/breaders.h src/datafile.c src/datafile.h src/fit.c src/plot2d.c
src/plot3d.c src/set.c: Simplify conditional compilation controlled by
--enable-binary-data-file. Instead of having a different number of
parameters to df_readline() and plot_option_binary(), expost a uniform
definition but add an auxilliary routine df_set_plot_mode() in the
BINARY_DATA_FILE case. Also clean up the general coding style and remove
redundant structure definitions. This prepares for easier implementation
of Juergen Wieferink's "plot string or expression" patch.
2005-07-10 Harald Harders <>
* docs/psdoc/ps_symbols.gpi: Spiffed up sample page for PostScript
symbols and linetypes.
2005-07-10 Shigeharu Takeno <>
* docs/gnuplot.doc: Fix typos.
2005-07-10 Ethan Merritt <>
* src/command.c src/graph3d.c src/graphics.c src/term.c:
Whitespace cleanup.
* src/internal.c (f_gprintf): Use dynamic allocation for output buffer.
2005-07-10 Juergen Wieferink <>
* src/command.c (do_system_func) src/command.h src/eval.c
src/internal.c (f_system) src/internal.h src/scanner.c (substitute):
New built-in string function system("command") which executes a shell
command and returns the resulting output stream as a string variable.
Consolidate this code with existing shell escape code (backticks) via
a new routine do_system_func().
* docs/gnuplot.doc: Document new system("command") function.
2005-07-09 Juergen Wieferink <>
* src/eval.c src/eval.h src/parse.c src/parse.h: Consolidate code
in add_udv() and add_udv_by_name(). Move add_udv_by_name() from parse.c
to eval.c so that lower level routines in internal.c and eval.c do not
have to include parse.h.
2005-07-08 Juergen Wieferink <>
* src/internal.c (f_call f_calln): Free all strings used as dummy
variables; fixes memory leak.
* src/eval.h src/eval.c: New function free_at() that frees all strings
stored in an old action table so that there is no memory leak when the
table is re-used.
* src/command.c (define): Free old action table if a function is
redefined; fixes memory leak.
* src/parse.c (temp_at parse_primary_expression): Recode to use new
free_at() routine.
2005-07-08 Ethan Merritt <>
* docs/gnuplot.doc src/internal.c (f_range f_strstrt)
src/parse.c (parse_primary_expression):