Switch branches/tags
upstream/5.1_dima5 upstream/4.6.1 upstream/4.6.0 upstream/4.4.0 upstream/4.2.6 upstream/4.2.5 upstream/4.2.4 upstream/4.2.3 upstream/4.2.2 pre-relative-arrows pre-pm3d pre-pm3d-10 pre-pm3d-09 pre-pm3d-08 pre-pm3d-07 pre-pm3d-06 pre-pm3d-05 pre-pm3d-04 pre-pm3d-03 pre-pm3d-02 pre-pm3d-02a pre-pm3d-01 pre-macport pre-lt-palette pre-column-MAIN-2 pre-column-MAIN-1 pre-column-07 pre-column-06 pre-column-04 pre-column-03 pre-column-02 pre-column-01 pm3d-14 lhecking_20001103 gnuplot-4-6-alpha gnuplot-4-4-alpha gnuplot-3-8k gnuplot-3-8k-3 gnuplot-3-8k-2 gnuplot-3-8k-1 gnuplot-3-8j gnuplot-3-8i gnuplot-3-8g gnuplot-3-8f gnuplot-3-8e gnuplot-3-8d debian/5.1_dima5-1 debian/5.1_dima1-1 debian/4.7_6-1 debian/4.7_5-3 debian/4.7_4-4 debian/4.7_4-3 debian/4.7_4-2 debian/4.7_4-1 debian/4.7_3-1 debian/4.6.1-1_exp1 debian/4.6.0-8 debian/4.6.0-7 debian/4.6.0-6 debian/4.6.0-5 debian/4.6.0-4 debian/4.6.0-3 debian/4.6.0-2 debian/4.6.0-1 debian/4.4.0-1.1 debian/4.4.0-1 debian/4.2.6-1 debian/4.2.5-3 debian/4.2.5-2 debian/4.2.5-1 debian/4.2.4-6 debian/4.2.4-5 debian/4.2.4-4 debian/4.2.4-3 debian/4.2.4-2 debian/4.2.4-1 debian/4.2.3-1.1 debian/4.2.3-1 debian/4.2.2-1.2 axis-checkpoint-sourceforge-20000728 Release_4_6_0 Release_4_6_rc1 Release_4_4_4 Release_4_4_3 Release_4_4_2 Release_4_4_1 Release_4_4_0 Release_4_4_rc1 Release_4_2_6 Release_4_2_5 Release_4_2_4 Release_4_2_3 Release_4_2_1 Release_4_2_1-pre1 MAIN-pre-3-8d GNUPOT_20000211 GNUPLOT_99061101 GNUPLOT_20000329 GNUPLOT_20000122 GNUPLOT_19991201
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
6273 lines (4286 sloc) 237 KB
This is the ChangeLog covering gnuplot development between November 2006
(version 4.2-rc1) and November 2009 (4.4-rc1).
2009-10-17 Ethan A Merritt <>
* src/plot3d.c: Initialize each new surface in a 3d dataset directly
from the first surface.
Bug #2876167
2009-10-14 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to gnuplot.doc rev 1.585
2009-10-10 Jost Brachert <>
* src/datafile.c (plot_option_index) docs/gnuplot.doc:
Allow a blank trailing index spec to indicate "until end of file".
2009-10-10 Alexander Täschner <>
* src/tabulate.c: Fix tabular output of log scale data.
Bug #2849166
2009-10-09 Thomas Sefzick <>
* term/latex.trm: Add an option for rotated text in the old latex
terminal. 'set term latex rotate' enables it and turns off the
previous 'stacked' y-label mechanism.
2009-10-08 Ethan A Merritt <>
* src/graphics.c (plot_image_or_update_axes) demo/imageNaN.dem:
NaN/Inf values in the input are processed differently depending on
whether they are read directly from the input file or generated by an
input expression. Both cases should be treated equivalently for the
purpose of IMAGE rendering.
NB: Fixes 2D case but not 3D case, as shown by revised imageNaN demo.
Bug #2875069
2009-10-08 Ethan A Merritt <>
* FAQ.pdf FAQ.pdf replaces outdated FAQ
* src/graph3d.c (do_3dplot): Explicit 'set xyplane at <z-value>' should
be honored even if the x and y tics are turned off.
* src/graph3d.c (plot3drequest): Fixes spurious error from old tics,
e.g. "set ytics ("Bug" 0); unset ytics; set ytics; splot x*y"
2009-10-06 Shigeharu Takeno <>
* src/term.c (term_start_multiplot): Accept an explicit font for
the multiplot title.
2009-10-06 Ethan A Merritt <>
* term/gd.trm: Silence a compiler warning if gdUseFontConfig() is
defined to be 0.
* demo/html/ demo/html/ demo/html/
If GNUPLOT_LIB is not defined, set it to ..
Bug #2868958
2009-10-06 Tatsuro Matsuoka <>
* config/makeile.mgw: Override the -mwindows compilation flag
provided by wx-config.
2009-09-17 Ethan A Merritt <>
* term/canvas.trm (CANVAS_graphics): Be wary of uninitialized
global variables when setting up the mouse event handler.
2009-09-17 Hans-Bernhard Broeker <>
* src/win/winmain.c (MyFPrintF, MyVFPrintF, MyPrintF): Cannot call
va_list functions twice with the same va_list. Have to call a
pair of va_end() and either va_start() or va_copy() in between.
2009-09-16 Benjamin Lindner <>
* term/emf.trm (ENHemf_FLUSH): Possible fix for the problem of
Windows utilities not properly displaying files created by
enhaced text mode. Bug #2744404
2009-09-13 Ethan A Merritt <>
* src/term_api.h src/set.c (set_termoptions): Clean up the code for
'set termoption <foo>', using terminal flags to ensure that a command
is only sent to terminal types that can handle it.
* docs/gnuplot.doc term/cairo.trm term/canvas.trm term/cgm.trm
term/emf.trm term/gd.trm term/pdf.trm term/post.trm term/svg.trm
term/tgif.trm term/x11.trm docs/gnuplot.doc:
Add flag to allow "set termopt linewidth <lw>"
2009-09-08 Philipp K. Janert <>
* src/specfun.c: Fixing the static function declarations for the
Airy function.
2009-09-06 Ethan A Merritt <>
* src/win/wgraph.c (drawgraph): Make sure to update current position
after drawing a polyline.
Bug #2213362
* src/graphics.c (boundary): If there is no colorbox, don't try to
assign tick positions for it.
Bug #2822482
* term/gd.trm: Re-order initialization of background color, correct
compilation warnings if using libgd 2.0.36
2009-09-05 Philipp K. Janert <>
* src/specfun.c src/specfun.h src/eval.c docs/gnuplot.doc: Adding
support for the Airy function Ai(x) as gnuplot function airy(x).
2009-09-03 Alexander Täschner <>
* src/datafile.c (df_generate_pseudodata): Fix off-by-one error in
generating the number of points corresponding to samples.
2009-09-02 Benjamin Lindner <>
* docs/gnuplot.doc docs/plotstyles.gnu demo/histerror.dat:
Add a figure to the pdf documentation showing histogram with errorbars.
2009-09-01 Ethan A Merritt <>
* src/set.c (set_tic_prop): When xtics (e.g.) were unset, then a new
command 'set xtics ...' could lose track of the tic properties being set.
Bug #2848433
2009-08-31 Benjamin Lindner <>
* src/win/wpause.c src/wxterminal/gp_cairo.c: Fix ambiguous syntax and
bad format statement that generates compiler warnings.
2009-08-30 Tatsuro Matsuoka <>
* config/makeile.mgw: The cairo terminals need gp_cairo_helpers also.
2009-08-28 Benjamin Lindner <>
* config/makefile.mgw: Separate configuration flag CAIROTERMS for
inclusion of pngcairo and pdfcairo terminals.
EAM - Share a CAIROLIBS flag for use by both WXT and CAIROTERMS.
2009-08-28 jpsa <>
* src/win/wgraph.c: Use printer open method recommended by
Microsoft knowledge base article 240082.
2009-08-28 Alexander Täschner <>
* src/win/winmain.c: Avoid buffer overflow in MyPrintF and MyFPrintF.
2009-08-27 Ethan A Merritt <>
* src/graphcs.c (boundary): Fix bug #2845874
(Rotated xtics caused misplacement of explicit bmargin).
2009-08-27 Ethan A Merritt <>
* src/breaders.c (png_filetype_function df_libgd_get_pixel)
src/breaders.h src/datafile.c (df_open df_readbinary):
If gnuplot has been linked with libgd (to support gif/png/jpeg) then
we might as well use its ability to read in png images as binary data.
New binary option for use with either rgbimage or rgbalpha
plot 'foo.png' binary filetype=png
* src/datafile.c (plot_option_binary): Fix the logic that checks for a
default binary filetype if none is specified in the plot command.
* docs/gnuplot.doc docs/plotstyles.gnu docs/bldg.png:
Add a sample plot the uses rescaled png images as plot elements.
2009-08-26 Ethan A Merritt <>
* term/canvas.trm: Remove EXPERIMENTAL flag from
canvas and wxt terminals.
* term/post.trm: Fix typos in version history
2009-08-21 Ethan A Merritt <>
* src/datafile.c (df_readbinary): The binary data syntax
splot ... binary array=(x,y)
is very odd because it always fills in the z coordinate of each
voxel with 0 rather than with the actual array value. This makes a
small amount of sense for IMAGE data, but makes the input mode useless
for plotting a data surface from a binary array. This patch changes
the behaviour by loading the array value into z for non-image plots.
2009-08-19 Shigeharu Takeno <>
* term/tgif.trm:
1) supports continuous colors (make_palette, set_color)
2) supports fill patterns (filled_polygon)
3) supports the density of solid fill (filled_polygon)
4) adds TGIF_fillbox and TGIF_previous_palette (doing nothing)
5) modifies two variable names (u* -> d*)
6) swap point types 1 and 2 to match other terminals
2009-08-18 Ethan A Merritt <>
* src/plot2d.c src/plot3d.c docs/gnuplot.doc: More problems with
iterate plus in-line definitions. The scope of iteration within a plot
command is documented as extending to the first comma or semicolon, but
unfortunately the parser didn't allow omiting the comma after a
definition. Now it does. Add simple examples to the documentation.
2009-08-15 Shigeharu Takeno <>
* term/tgif.trm (TGIF_set_color): Support for RGB colors and TC_LT.
2009-08-13 anonymous
* term/tek.trm: Add support for xterm tektronix emulation
2009-08-07 Ethan A Merritt <>
* src/plot3d.c: The combination of iteration and in-line definition was
fatal to splot. Move the iteration check to encompass definitions also.
Bug #2833808
2009-08-05 Ethan A Merritt <>
* src/graphics.c (boundary): The calculation of vertical space required
to hold rotated x axis tick labels was only being done if the margins
were in auto mode. Rearrange the code so that the calculation is also
made for plots with explicit 'set [tb]margin'.
Bug #2830712
2009-08-04 Ethan A Merritt <>
* docs/gnuplot.doc: Expand section on newhistogram command.
2009-08-04 Jérôme Lodewyck <>
* Remove unwanted spaces.
* qtterminal/QtGnuplotScene.* qt_term.cpp: Changed round() to qRound().
* qtterminal/QtGnuplotInstance.* qtterminal/embed_example.*: Forward
gnuplot standard outputs to a custom frame.
2009-08-02 Ethan A Merritt <>
* src/axis.c src/axis.h src/color.c src/graphics.c src/graph3d.c:
Add an additional parameter to all tick_callback() routines. In the case
of auto-generated ticks, we use this to pass in a list of user-specified
labels in case one is supposed to replace the auto-generated label.
The actual label replacement is only implemented for 2D plots.
2009-08-01 Jérôme Lodewyck <>
* qtterminal/QtGnuplotWindow.cpp qtterminal/QtGnuplotEvent.cpp qt_term.cpp:
Close the current plot window when [ctrl+]q is pressed.
* qtterminal/QtGnuplotInstance.cpp: changed the default path for the
gnuplot executable in embedded widgets from the local directory to the main
2009-07-31 James R. Van Zandt <>
* docs/gnuplot.doc: Cross reference to "set xyplane" instead of
deprecated "set ticslevel".
2009-07-30 Ethan A Merritt <>
* Change default state of qt terminal to disabled.
To build with qt support use ./configure --enable-qt
* src/qtterminal/ Add additional files to the list of
things to be placed in the distribution package.
2009-07-30 Jérôme Lodewyck <>
* Fix a compile error when the Qt terminal is disabled.
2009-07-29 Jérôme Lodewyck <>
* src/ better check for Qt tools
moc uic and lrelease.
2009-07-28 Ethan A Merritt <>
* src/datafile.c (df_readascii): Handle xticlabels() in the case of
histograms with errorbars. Bugfix
2009-07-28 Jérôme Lodewyck <>
* qtterminal/po/qtgnuplot_ja.ts: Japanese translation. patch 2828290
2009-07-28 Jérôme Lodewyck <>
* qtterminal/qt_term.cpp: When consecutive motion events are received,
only process the last one.
* src/ Fix make rules for embed_example
2009-07-27 Jérôme Lodewyck <>
* qtterminal/qt_term.cpp qtterminal/ qtterminal/po/*:
Add an internationalization framework and a french translation.
2009-07-26 Ethan A Merritt <>
* src/color.c (draw_color_smooth_box) src/gadgets.h src/gadgets.c
src/graphics.c (boundary): Add a field color_box.xoffset to allow the
colorbox to be shifted left or right from the default placement.
Use this internally to correct for the width taken by y2 tics and
Bugfix: 'set y2tics; plot foo using 1:2:3 axes x1y2 lc palette'
* src/graphics.c (do_polygon): Change the clipping rules for polygons
to match those of rectangles. A polygon is clipped only if all of its
vertices are specified in plot coordinates (i.e. not screen or graph
2009-07-24 Jérôme Lodewyck <>
* qtterminal/qt_term.cpp: use locale config macros
* qtterminal/QtGnuplotWindow.cpp: remove the "export to EPS" option.
* qtterminal/QtGnuplotWidget.cpp: terminal size option is now working
Changed the default background color from red to white.
* qtterminal/QtGnuplotScene.cpp: clip the zoom rect on half integer
* qtterminal/QtGnuplotInstance.cpp qtterminal/embed_example.cpp: update the
embed example to follow the new size policy.
2009-07-23 James R. Van Zandt <>
* src/mouse.c (event_buttonpress): Reimplement pan and zoom with
mouse wheel to use axis_array[].min and .max directly, without
using the mouse position. Extend pan and zoom to 3D plots. Add
documentation and help printout.
2009-07-20 Benjamin Lindner <>
* src/win/winmain.c: enable load of the correct .ico symbol for the
plotting window within win.trm; LoadIcon(graphwin.hInstance, "GRPICON")
fails if graphwin.hInstance equals NULL.
Patch #1627936
2009-07-20 Ethan A Merritt <>
* src/plot2d.c (store2d_point): If the plot uses palette colors taken
from the Z coordinate, then also use Z to auto-scale cbrange.
Bug #2133407
2009-07-19 Jérôme Lodewyck <>
Add a Qt terminal, which can either act as a standalone interactive
terminal window or be embedded in an external Qt application.
* docs/ src/ src/makefile.all
src/makefile.awc src/term.c src/term.h ./term/qt.trm
* qtterminal/* QtGnuplotApplication.cpp QtGnuplotApplication.h
QtGnuplotEvent.cpp QtGnuplotEvent.h QtGnuplotInstance.cpp
QtGnuplotInstance.h QtGnuplotItems.cpp QtGnuplotItems.h
QtGnuplotResource.qrc QtGnuplotScene.cpp QtGnuplotScene.h
QtGnuplotSettings.ui QtGnuplotWidget.cpp QtGnuplotWidget.h
QtGnuplotWindow.cpp QtGnuplotWindow.h
qt_conversion.cpp qt_term.cpp qt_term.h
embed_example.cpp embed_example.h README.Qt
* qtterminal/images/*
application-pdf.png configure.png document-export.png document-print.png
edit-paste.png grid.png icon32x32.xpm image-bmp.png image-x-eps.png
view-refresh.png zoom-in.png zoom-original.png zoom-out.png
2009-07-18 Ethan A Merritt <>
* src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_gui.h:
Pass through mouse wheel events from the wxt terminal, so that the new
pan and zoom works for wxt as well as x11.
2009-07-17 James R. Van Zandt <>
* src/mouse.c (event_buttonpress): Implement pan and zoom with
mouse wheel: wheel to pan up or down, shift-wheel to pan left or
right, control-wheel to zoom in or out, shift-control-wheel to
zoom X axis only.
2009-07-16 Ethan A Merritt <>
* src/save.c: The "set view" command was incorrectly saved twice.
Bug #2822433
* term/win.trm: WIN_filled_polygon(): Attempt to handle pattern fill
by piggybacking on the WIN_fillbox() code that creates a pattern brush.
* src/graphics.c (plot_image_or_update_axes): In image failsafe mode,
clip the individual rectangles (pixels) to the edge of the plot.
Bug #2820529
2009-07-14 Ethan A Merritt <>
* term/win.trm: Set the fillstyle belonging to a filled polygon.
Unfortunately, the filled_poly code in wgraph.c then ignores this,
but at least we tried.
* src/win/wgraph.c: Handle negative line types correctly, including
support for LT_BACKGROUND.
Bug #1952287
* src/gplt_x11.c: The previous state was not being properly restored
after drawing a filled rectangle.
2009-07-13 Ethan A Merritt <>
* term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph):
Repair breakage of the set color mechanism. term->set_color()
should set the color simultaneously for pens, fill brushes, and
text. But no other line or fill properties should be affected.
Fixes various reported bugs, including #2725599
2009-07-10 Ethan A Merritt <>
* term/post.trm (PS_fillbox): FS_DEFAULT should be treated as
"fill with current color" rather than "fill with background color".
Bug #2819615
2009-07-09 Ethan A Merritt <>
* src/gadgets.h: Repair incomplete initialization specs for default
object properties.
2009-07-08 Petr Mikulik <>
* term/gd.trm (START_HELP(gif)): Document gif animation options.
2009-07-07 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to gnuplot.doc rev 1.573
2009-07-04 Ethan A Merritt <>
* src/term.c: The code was disabling all mousing and mouse events
during multiplot. This had the unfortunate side effect that window
resizing and placement events were never acknowledged. If the first
plot drawn was inside the multiplot, very strange things happened.
Also hotkeys would not work.
Bug #2812476
* src/gadgets.h src/gadgets.h src/mouse.c (builtin_toggle_border)
src/set.c: The 'b' hotkey was a no-op in 2D plots, and lost the current
user setting for both 2D and 3D plots. Change it to cycle the border
setting between user / off / full / partial (3D only).
* src/graphics.c (plot_boxes plot_c_bars do_rectangle do_key_sample):
Remove the fill_corners() routine and instead call term->fillbox()
directly rather than dummying up a call to term->filled_polygon().
Bug #2804784
2009-07-04 Hans-Bernhard Broeker <>
* term/aquaterm.trm (AQUA_options): Fix typo.
2009-07-03 Harald Harders <>
* term/cairo.trm: Introduce the struct cairo_params_t that takes all
pdfcairo and pngcairo terminal options, e.g., color, rounded, fontsize,
etc., as it is already done in term/post.trm. This is useful when
different terminals share the same portion of code.
2009-07-02 Mojca Miklavec <>
* term/aquaterm.c: The "size xx,yy" option should have a comma between
xx and yy for consistency with other terminals.
2009-06-25 Ethan A Merritt <>
* src/graphics.c (plot_c_bars): Candlestick boxes that were entirely out
of range on y were nevertheless appearing as a horizontal line along the
plot border. Skip them entirely. Same problem for whiskerbars.
Bugs #2807571 #2812572
2009-06-21 Thomas Sefzick <>
* term/gd.trm: The background color requested in "set term png..."
was not being used in truecolor png output.
2009-06-16 Ethan A Merritt <>
* src/term.c (test_term): Initialize bounding box. Exercise a few
more terminal properties if available: transparency, enhanced text.
* Remove the EXPERIMENTAL warning from the configuration
options for command line macros and for the tikz/lua terminal.
2009-06-12 Ethan A Merritt <>
* src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h term/wxt.trm:
set term wxt {dashed} {dashlength <dl>}
2009-06-11 Ethan A Merritt <>
* src/wxterminal/wxt_gui.cpp (wxt_set_color): plot .. lc N should take
only the color from linetype N, not any of the other properties.
Bugfix (e.g. plot sin(x) with lines lt 0 lc 3)
2009-06-06 Ethan A Merritt <>
* src/misc.c src/save.c src/graphics.c src/term_api.h docs/gnuplot.doc
docs/plotstyles.gnu: Add new linestyle property 'pointinterval'.
This is a modified version of patchset #2653943 contributed by
Hans (
* src/term_api.h term/post.trm term/cairo.trm term/pdf.trm term/cgm.trm
term/pbm.trm term/emf.trm term/win.trm: Add a flag TERM_MONOCHROME
that indicates a terminal wants black lines only, even if it is capable
of RGB or palette color.
2009-06-05 Ethan A Merritt <>
* time.c (ggmtime): Counting back from 1.e38 by one year at a time takes
forever. Limit the range of acceptable time values to +/- 10^12 seconds,
which gives a range of 33688 years forward or back.
* axis.c (gen_tics): Skip calculation of 0-length minor ticks
2008-06-04 Peter Hedwig <>
* term/lua/gnuplot-tikz.lua term/lua/
share/LaTeX/gnuplot-lua-tikz.sty: Update the lua terminal scripts to
accept a font size in the second slot of a font descriptor string.
2009-06-04 Ethan A Merritt <>
* src/mouse.c: The following test script triggered multiple problems.
"set multi; set x2data time; set x2tics; unset multi;"
- initialize mouse_x, mouse_y to -1; test before using
- initialize mouse values with VERYLARGE (replace magic number 1e38)
- xDateTimeFormat: do not attempt to convert VERYLARGE to a date
2009-06-04 Shigeharu Takeno <>
* term/gd.trm: Remove redundant section in gif help text.
2009-06-03 Ethan A Merritt <>
* src/term.c (enhanced_recursion): Enhanced text markup applied to a
single multibyte character was producing garbage. Fix this for UTF-8.
Other multibyte encoding may still trigger this problem.
Bugfix #2800539
2009-05-31 Ethan A Merritt <>
* src/axis.c (get_position_default): Ugly hack to work around
ambiguous syntax if "offset x,y" is the last thing in a plot clause.
Bugfix #2726798
2009-05-31 Shigeharu Takeno <>
* docs/term-ja.diff docs/gnuplot-ja.doc: Sync to rev.1.568
* docs/gnuplot.doc term/gd.trm: typos in documentation
2009-05-31 Ethan A Merritt <>
Start branch for Release 4.4
New stuff, i.e. code other than bugfixes or things identified as
being desireable for version 4.4, should be commited in the
development branch only (this one).
Bugfixes should be applied to both the development branch 4.3
(this one) and the new one (branch-4-4-stable). When we release
4.4, we will bump the version number of the development branch to 4.5.
2009-05-31 Ethan A Merritt <>
* term/svg.trm: Revert the global attribute xml:space="preserve"
because Firefox 3 messes up badly when it is present.
* demo/html/Makefile.svg demo/html/ demo/html/index.svg:
Add scripts to generate a demo set for the svg terminal.
* ChangeLog, ChangeLog.1: Cycle the ChangeLog.
Entries before the 4.2.0-rc1 release are now in ChangeLog.1,
newer ones are in ChangeLog (this file).
* README, README.1ST, TODO: Quick pass at updating these.
* src/ term/ Handle the new term/js and
gnuplot-lua-tikz.sty files correctly during 'make distcheck'.
2009-05-30 Ethan A Merritt <>
* share/LaTeX/ Add ${prefix}/usr in front of the
install directory for latex files. This probably still doesn't work
correctly, because kpsexpand may not return a reasonable path.
But at least if you have write permission to ${prefix} then
'make install' will not fail.
Bugfix #2798303
* share/LaTeX/ term/lua/TODO */gnuplot-lua-tikz.sty:
Move gnuplot-lua-tikz.sty from term/lua/ to share/LaTeX/ so that it can
be installed along with other latex support files.
* Issue a warning that the BSD editline library does not
handle multibyte character encodings. That makes it pretty useless in a
UTF-8 environment. This is not something we can fix.
Bug #2790153
2009-05-30 Thomas Sefzick <>
* src/graph3d.c (do_3dplot): Adjust position of 3D plot with
'set view equal xyz' so that the center of rotation is at the center
of the screen.
Bugfix #2797226
2009-05-30 Ethan A Merritt <>
* term/canvas.trm term/js/gnuplot_mouse.js: Give each plot its own
namespace, so that multiple mouseable plots in the same document do
not overwrite each other's mouse readout.
* demo/cities.dem demo/html/Makefile.canvas demo/html/
demo/html/index.canvas demo/html/mousebox.template
Add scripts to generate a demo set for the canvas terminal.
* term/js/README: Provide some documentation on using the canvas
terminal to create web pages, and on known browser quirks.
2009-05-28 Ethan A Merritt <>
* term/canvas.trm: Javascript output using the "name" option now
initializes the mouse and zoom tracking for each plot. This will be
needed in order to embed multiple mouseable plots in a single document.
* term/canvas.trm term/js/gnuplot_common.js:
Dots were not handled by the zoom code. Create a new routine Dot(x,y)
to wrap the call to strokeRect(). Bugfix.
* term/x11.trm: Silence an escaped debug fprintf. Bugfix.
2008-05-25 Peter Hedwig <>
* src/ term/lua/ChangeLog term/lua/gnuplot.lua
term/lua/gnuplot-lua-tikz.sty term/lua/
term/lua/gnuplot-tikz.lua term/lua/NEWS term/lua.trm:
Rearrange internal documentation, improved error handling,
remove the "script" keyword (script name is now mandatory).
EAM: term/lua.trm: Create a dummy terminal table for 'tikz' so that
'set term tikz' can act as a short form of 'set term lua tikz', the
auto-generated documentation knows about tikz, and GPVAL_TERMINALS
lists tikz as an available terminal type (requested by Octave).
2009-05-22 Ethan A Merritt <>
* term/gd.trm: Test for libgd version 2.0.36 or newer. These allow
us to specify fonts either by filename or by using the syntax of the
fontconfig utility. E.g. "set term png font 'times:italic' 12"
2009-05-17 Ethan A Merritt <>
* term/gd.trm docs/gnuplot.doc: Restore the option of using one of
libgd's built-in fonts, even if a scalable font is available.
Begin a reorganization of the documentation dealing with fonts.
There is now a top level entry "Fonts" in the manual, with subsections
for font-handling in libgd, PostScript, and cairo (as yet unfinished).
* term/js/gnuplot_mouse.js (saveclick zoom_in): Do not let the current
mouse event fall through to also activate default desktop actions.
2009-05-12 Ethan A Merritt <>
* src/graphics.c (boundary): Initialize xtic_textwidth on entry.
2009-05-11 Ethan A Merritt <>
* term/pslatex.trm: Broken format specifier.
Bug #2750114
2009-05-10 Ethan A Merritt <>
* term/cairo.trm: Do not call term->text() in between multiplot
sections; it causes a spurious page break in the pdf output.
2009-05-09 Ethan A Merritt <>
*, src/ Add a top level make target "gnuplot"
that builds only the gnuplot executable. I.e. no auxilliary programs
for testing or demo generation, no documentation or tutorials, etc.
This change was requested in order to simplify cross-compilation.
* src/graphics.c (boundary): Allow extra space in the right margin if
user-defined xtic labels would otherwise protrude off the right edge of
the plot.
2009-05-05 Peter Gasparovic (
* term/PostScript/ Fix code points for Lcaron, lcaron.
Bug #2785002
2009-05-05 Thomas Sefzick (
* term/pslatex.trm: 'set epslatex ... blacktext' was producing white
text for tics labels, axis labels, key labels, but black title text.
Bug #2750114
2009-04-22 Carl Troein (
* src/axis.c (get_position_default): Zero each position structure when
allocated. Bug #2778438.
2009-04-21 Ethan A Merritt <>
* src/mouse.c: Clean up string handling and remove dead code.
Use strcat() rather than overlapping sprintf(). This should do away
with the need for the "ultrix" mouse patch in our contrib collection,
and also fix Bug #2700365.
2009-04-19 Ethan A Merritt <>
* term/gd.trm: Only show a list of colors in "show term" if the user
actually set some new colors in the "set term" command.
2009-04-14 Ethan A Merritt <>
* term/js/gnuplot_mouse.js: Initialize x2 and y2 axes in mousing code.
* demo/html/Makefile demo/html/ demo/html/gnuplot_demo.css:
Modify the layout of auto-generated web pages for the demo collection.
2009-04-13 Shigeharu Takeno <>
* docs/gnuplot.doc term/canvas.trm: Fix typos in the documentation.
2009-04-12 Ethan A Merritt <>
* src/graph3d.c (find_maxl_keys3d): Fix incorrect layout of key box in
plots with labeled contours (e.g. contours.dem plot #21).
* src/graph3d.c src/graph3d.h src/set.c src/unset.c docs/gnuplot.doc:
Add a per-plot attribute "nosurface", allowing an individual plot to
opt out of the global 3D setting "set surface".
* src/datafile.c (plot_option_binary): Do not reset df_matrix_file to
FALSE just because there is a default setting for the binary format.
2009-04-05 Ethan A Merritt <>
* term/canvas.trm term/js/gnuplot_mouse.c:
Add plot canvas to the focus list so that hotkeys work in Firefox.
2009-04-04 Benjamin Lindner <>
* src/plot2d.c (eval_plots): Initialize newhistogram line type to
current plot linetype. Otherwise "set style incr user" fails.
Bug #2725577
2009-04-04 Ethan A Merritt <>
* term/post.trm: Track current and previous linewidth, so that we
can issue an explicit "PL" (stroke and set linewidth) if it has
Bug #2725599
2009-03-31 Ethan A Merritt <>
* term/canvas.trm term/js/gnuplot_mouse.css term/js/gnuplot_mouse.js
term/js/gnuplot_common.js term/js/textzoom.png:
Revise canvas terminal to provide additional client-side interactions.
- Left mouse-click annotates the graph
- Client side click-and-drag zooming of plots
- Hotkey support (doesn't work in Firefox for some reason)
- Coordinate space is oversampled to retain precision when zoomed
The size of output *.js files is reduced by roughly 25% by using a set
of shared routines kept in a separate file gnuplot_common.js
2009-03-31 James R. Van Zandt <>
* src/parse.c (empty_iteration): Iteration accepts negative
2009-03-28 Ethan A Merritt <>
* src/graphics.c (boundary): Reserve room for user tic labels even if
the format for autoticks is "".
* src/set.c (load_tics) src/save.c (save_tics): Do not save or restore
axis tic labels that were read from a data file.
Bug #2711994
2009-03-26 Ethan A Merritt <>
* src/graphics.c (boundary): Fix bug that caused the left/right
margin offsets to be applied twice, leading to too-wide margins.
Bug #2714997
2009-03-26 Petr Mikulik <>
* src/history.c (write_history_list): Indexing istart from 1 otherwise
"history" command (without arguments) does not work.
2009-03-25 Ethan A Merritt <>
* config/config.cyg config/config.dj2 config/config.mgw config/config.nt
config/config.os2 config/config.oww config/config.wc
src/datafile.c src/gplt_x11.c src/gplt_x11.h src/gp_types.h
src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h src/misc.c
src/misc.h src/plot2d.c src/plot3d.c src/pm3d.c src/save.c src/show.c
src/tables.c src/term_api.h src/wxterminal/gp_cairo.c
src/wxterminal/gp_cairo.h src/wxterminal/wxt_gui.cpp
src/wxterminal/wxt_gui.h src/wxterminal/wxt_term.h term/aquaterm.trm
term/cairo.trm term/canvas.trm term/dumb.trm term/emf.trm
term/estimate.trm term/fig.trm term/gd.trm term/lua.trm term/pdf.trm
term/pm.trm term/post.trm term/pslatex.trm term/README term/svg.trm
term/win.trm term/wxt.trm term/x11.trm term/xlib.trm
Remove the conditional compilation status of WITH_IMAGE.
As Lucas Hart points out, for some while now it has not been possible to
successfully build with ./configure --disable-with-image
'show version long' will continue to report +IMAGE
2009-03-24 Ethan A Merritt <>
* term/js/canvasmath.js: Fill in most of the iso 8859-1 (Latin-1)
character set and add a few more math symbols.
2009-03-24 Petr Mikulik <>
* src/pm3d.c (pm3d_plot): The quadrangles are only prepared but not
drawn by this routine in pm3d depthorder mode, thus set_color() should
not be called.
2009-03-20 Ethan A Merritt <>
* src/canvas.trm: set term canvas title "foo" sets the title of the
resulting HTML output document.
2009-03-18 Ethan A Merritt <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Determine the vertical
placement of text based on the average value found when the font was
selected, rather than on the specific height of this text fragment.
Otherwise successive fragments with different height produce an uneven
baseline. Bug #2661664
2009-03-14 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja man/gnuplot-ja.1:
Sync Japanese documentation to gnuplot.doc rev 1.562
2009-03-14 Ethan A Merritt <>
* Explicitly include $LUA_CFLAGS as reported by pkgconfig.
Bug #2637549
* src/axis.c (make_tics): Trap case where there were insufficient data
to determine axis range. E.g. "set view map; set pm3d; splot {0,1};".
2009-03-12 Ethan A Merritt <>
* src/fit.c (fit_command): Replace bogus initialization of dummy_token[]
with explicit declaration. Bug #2657599
* src/datafile.c (df_set_key_columnhead) src/datafile.h src/plot2d.c
src/plot3d.c docs/gnuplot.doc demo/datastrings.dem demo/histograms.dem
Document the plot option "... title columnhead{(N)}"
Move the point where this option is parsed from df_open() to
eval_{3d}plots() with the rest of the title options, using a callback
to a new routine df_set_key_columnhead(). Deprecate the original form
of the command, "using N title N", which was undocumented but used in
several demos. The deprecated syntax is still accepted if configured
with --enable-backwards-compatibility.
2009-03-11 Ethan A Merritt <>
* src/graph3d.c: Bracket the code that draws 3D grid lines with calls to
term->layer(TERM_LAYER_BEGIN_GRID) and term->layer(TERM_LAYER_END_GRID).
* term/js/gnuplot_mouse.css term/js/prevzoom.png term/js/nexzoom.png
term/js/help.png: Additional icons for the canvas driver.
* src/graph3d.c (do_3dplot): Define the clipping area in 3D plots to lie
between the left-most and right-most graph box edges. This is a change!
The intent is to allow the canvas terminal to use the plot's BoundingBox
as a zoom region. If it causes problems for other terminals, we will
need to create and use a separate BoundingBox for this purpose.
2009-03-05 Ethan A Merritt <>
* src/graphics.c: Fix assignment of fill patterns to plot boxes and key
for columnstacked histograms. Bug #2664732
2009-03-04 Ethan A Merritt <>
* src/graphics.c (find_maxl_keys do_plot): The first entry in a list of
labels is a placeholder for style information. Do not reserve space for
this entry in the key of a columnstacked histogram plot. Bug #2664723
2009-03-03 Ethan A Merritt <>
* Use AC_SEARCH_LIBS rather than AC_CHECK_LIB when
checking for lua support. This allows for the library to be named
something other than
Bug #2637549
2009-03-02 Ethan A Merritt <>
* term/hpgl.trm term/tgif.trm term/gd.trm src/graphics.c:
Fix dereference of uninitialized memory, overlapping memcpy, and
other problems found by valgrind.
2009-03-02 Petr Mikulik <>
* term/post.trm (PS_encode_image print_five_operand_image): Fix
related to the patch of post.trm from 2009-01-26: images drawn
"with rgbimage" must always be drawn as rgb colour images.
SF Patch #2613919: postscript outputs colour RGB as palette image
2009-02-28 Ethan A Merritt <>
* term/canvas.term: "set term canvas {linwidth <lw>}"
2009-02-28 James R. Van Zandt <>
* src/fit.c (fit_command): Allow fitting functions with up to five
independent variables. If there is no data to fit, report how
many data lines were rejected by each range spec. In fit.log,
report user-specified dummy variable names and all range
restrictions (including Z).
* demo/fit.dem: revise printed comments to show the fit commands.
Demonstrate fitting a function with three independent variables.
2009-02-27 Ethan A Merritt <>
* term/canvas.trm: Introduce a structure canvas_state to hold internal
state variables. This allows us to avoid redundant writes of the
current color, linewidth, fill settings. The size of image and filled
curve plots is substantially reduced.
* src/graphics.c (plot_image_or_update_axes):
The flag "rectangular_image" doesn't really indicate what it says.
Fix that so we can use it to call term->fillbox() rather than
term->filled_polygon() as appropriate in image plots.
This makes a significant difference for the canvas terminal, because
drawing a filled rectangle is a primitive operation, whereas filling
a polygon is a relatively verbose sequence of instructions.
2009-02-25 Ethan A Merritt <>
* term/gd.trm (PNG_text_angle): Force angle to fall in the range
[-pi/2 : pi/2]. Reported to avoid problems in some versions of libgd.
2009-02-23 Ethan A Merritt <>
* term/canvas.trm: Introduce helper routines bp() and cfp() into the
javascript output file. This reduces the file size of plots containing
lots of filled polygons, e.g. images or 3D surfaces, by about 1/3.
2009-02-22 Ethan A Merritt <>
* term/canvas.trm: Add support for enhanced text mode.
* term/js/canvasmath.js:
Resize glyphs for - + / × so that they are all width 20 (same as 0-9).
Resize glyph = to width 24 (same as < > ~).
2009-02-22 Benjamin Lindner <>
* src/mouse.c: Fix broken FPRINTF debugging statements.
2009-02-21 Ethan A Merritt <>
* term/canvas.trm: Specify UTF-8 encoding in HTML header.
* term/js/canvasmath.js: This is a plug-in replacement for Jim Studt's
original canvastext.js, supplemented with additional character glyphs
from the Hershey font set including Greek letters and various math
symbols. The additional glyphs are all indexed by their Unicode code
points. If embedded in a UTF-8 document, everything works as it should.
* demo/approximate.dem demo/enhanced_utf8.dem:
Add {} to help terminals having trouble with character placement of
2009-02-20 Ethan A Merritt <>
* term/js/canvastext.js: Correct some glyphs, modify slightly to allow
non-ascii characters, and add a few examples of non-ascii glyphs.
2008-02-19 Peter Hedwig <>
* term/lua/gnuplot.lua: More forgiving regexp to catch the
version/date string.
2009-02-19 Manfred Schwarb <>
* src/gpexecute.c: Remove a broken DEBUG section.
2009-02-18 Ethan A Merritt <>
* src/plot3d.c: The iteration code was getting confused by 3D plots
that contain multiple data sets. Do not assume that the Nth file
mentioned on the command line is the Nth data set. Bugfix.
2009-02-18 Benjamin Lindner <>
* docs/gnuplot.doc: Do not use an explicit extension in the names of
figures to be processed by {pdf}latex.
* term/post.trm: Add missing intializer to various #define statements.
2009-02-16 Ethan A Merritt <>
* src/gplt_x11.c: Make variable definition comply with C standard.
* docs/gnuplot.doc docs/titlepag.tex term/cgm.trm term/canvas.trm:
Reconcile duplicate index entries. Add current version to title.
2009-02-15 Ethan A Merritt <>
* src/term_api.h src/term.c (set_term) set.c (set_terminal):
Allow a string variable containing the requested terminal type.
E.g. screen = 'x11'; set term screen
2009-02-15 Petr Mikulik <>
This patch adds automatic variable GPVAL_NAME_WINDOWID, which
contains ID of the current window running under X11 (e.g. x11 and wxt
* src/eval.c (update_gpval_variables): Update GPVAL_TERM_WINDOWID.
* src/gadgets.h src/gadgets.c: New global variable current_x11_windowid
to be filled by terminals running on X11 (x11, wxt, qt, ...).
* src/mouse.c (do_event): Set global current_x11_windowid from ge->winid
and call update_gpval_variables() to update GPVAL_TERM_WINDOWID.
* src/gplt_x11.c (gp_execute_GE_plotdone): New routine to replace direct
call of gp_exec_event(GE_plotdone, ..., {0|X11 Window ID}) to notify
gnuplot of changed X11 Window ID.
2009-02-14 Ethan A Merritt <>
* docs/gnuplot.doc docs/plotstyles.gnu: Add a figure showing the use
of image mode to create a heat map. Add a "heatmap" entry to the index.
2009-02-11 Petr Mikulik <>
* config/makefile.mgw: Use $(CC) instead of gcc to compile pgnuplot.
2009-02-07 Ethan A Merritt <>
* term/x11.trm (X11_options): Call term->init() rather than X11_init(),
since the options routine is shared by x11 and xlib drivers.
2009-02-05 Ethan A Merritt <>
* src/util.c (type_udv) src/eval.c (add_udv_by_name) src/fit.c
src/plot2d.c: Prevent strange behaviour due to uninitialized field
udv_type in a udv entry that has been created but not yet defined.
Bug #2556225
* src/graph3d.c (draw_3d_graphbox): Allow Z axis label in 3D plots
to be rotated.
2009-02-04 Petr Mikulik <>
* NEWS docs/gnuplot.doc src/pm3d.c (pm3d_plot) src/set.c (set_pm3d):
Let "pm3d interpolate m,n" for negative m,n interpolates the surface
for at least |m|, |n| points. The case m=n=0 means an optimal number
of interpolation points.
SF Patch #2558565: pm3d interpolate 0,0
2009-02-03 Petr Mikulik <>
* src/eval.c (update_gpval_variables) src/command.c (changedir_command)
docs/gnuplot.doc: New automatic variable GPVAL_PWD for current working
2009-02-02 Petr Mikulik <>
* src/mouse.c (lookup_key): Use exact match, otherwise F10, F11, or F12
hotkeys bind to F1.
2009-02-02 Ethan A Merritt <>
* src/graphics.c (boundary do_plot): Move test for colorbox outside of
boundary(), and only calculate placement of colorbox once.
* term/canvas.trm: Taking the URL for associated javascripts from an
environmental variable turns out to be less than useful if the scripts
are tailored to the individual plots. Add a terminal option instead:
set term canvas mouse jsdir 'URL/for/javascripts/'
2009-02-01 Ethan A Merritt <>
* src/command.c (define): Fix under-allocation of space for user
variables named GPFUN_*.
2009-01-31 James R. Van Zandt <>
* docs/gnuplot.doc: Update documentation: user functions can have
up to 12 variables.
* src/fit.c (fit_command): Allow second independent variable to be
renamed in a fit command.
2009-01-30 James R. Van Zandt <>
* src/command.c (define): save a function definition in a
user-accessible variable
2009-01-28 Hans-Bernhard Broeker <>
(GP_TA_BASELINE): Added a GP_ prefix to avoid collision between
these and the actual Windows API macros of the same names.
2009-01-28 Petr Mikulik <>
* src/breaders.c (edf_filetype_function): Fix for long headers.
2009-01-27 Petr Mikulik <>
* src/pm3d.c (pm3d_plot): Fix for "set pm3d depthorder" ignoring
"set pm3d interpolate".
2009-01-26 Ethan Merritt <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_fillbox):
Fix segfault due to freeing an uninitialized buffer pointer.
* term/cairo.trm (cairotrm_filled_polygon):
Plug memory leak: image buffers were never freed.
2009-01-26 Petr Mikulik <>
* term/post.trm (PS_make_header PS_image): Since the beginning of pm3d,
the "/Color def" switched between gray and colour map. Choosing "false"
for "Color", the gray map was always selected regardless the use of a
custom palette. This led to ambiguities for custom colour palettes if
they contain grays only. Thus let postscript choose always colour
palette for interpolated colours ('set palette defined', 'set palette
file') and colour/gray according to "Color" otherwise ('set palette
gray', 'set palette rgb').
SF Patch #2516634: custom colormap using postscript term
2009-01-25 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to gnuplot.doc rev 1.553
2009-01-25 Ethan Merritt <>
* term/canvas.trm: Clean up the bookkeeping for beginPath()/closePath().
This is a work-around for early versions of the opera web brower, which
seem to require a closePath() element even if the path has already been
stroked or filled.
* term/canvas.trm: CANVAS_fillbox() can use the primitive operation
ctx.fillRect() rather than the generic, but more expensive, routine
CANVAS_filled_polygon(). This is more likely to be handled correctly by
older versions of opera.
2009-01-23 Ethan Merritt <>
* src/graphics.c src/term_api.h term/canvas.trm term/
term/js/gnuplot_mouse.css term/js/gnuplot_mouse.js term/js/grid.png:
Clean up mousing code for the canvas terminal. Add a "mousebox"
table to the html output in standalone mode, including an icon that
toggles the grid lines. The table format is controlled by stylesheet
gnuplot_mouse.css, which can be locally customized.
2009-01-22 Ethan Merritt <>
* term/svg.trm: Add attribute <svg xml:space="preserve"> in the
header. Most browsers are ignoring this, so we still need to keep the
work-around that repeats this attribute for individual text segments.
2009-01-21 Harald Harders <>
* term/post.trm: Add a user-editable toggle ClipToBoundingBox.
Default behaviour remains unchanged, but setting this toggle to "true"
tells PostScript to clip everything that outside the canvas area.
2009-01-15 Timothee Lecomte <>
* config/makefile.mgw:
Add gp_cairo_helpers.o in the list of object files to build for
2009-01-14 Ethan Merritt <>
* config/config.cyg config/config.dj2 config/config.mgw
config/config.nt config/config.os2 config/config.oww
src/gplt_x11.c src/gplt_x11.h src/show.c term/x11.trm:
Do away with the conditional code flag BINARY_X11_POLYGON.
No one has ever reported problems with it, so use it always.
2009-01-14 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_image):
* src/wxterminal/gp_cairo.h:
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_gui.cpp (wxt_image):
* term/cairo.trm (cairotrm_image):
Change gp_cairo_draw_image prototype so that the conversion from
gnuplot internal image format to a unsigned int* is completely done
outside gp_cairo.c. Modify callers in cairo-based terminals
accordingly. This is still preliminary work towards wxt-for-MacOSX.
2009-01-14 Petr Mikulik <>
* src/gplt_x11.c (process_event): Change the status bar of a non-active
or persistent window only for almost2d plot.
* src/gplt_x11.c (exec_cmd): Add field almost2d to plot_struct and set
it according to sent ALMOST2D.
* term/x11.trm (X11_text): Send information about ALMOST2D.
* src/gadgets.h src/mouse.c: Move definition of macro ALMOST2D to
2009-01-13 Ethan Merritt <>
* term/canvas.trm term/js/gnuplot_mouse.js:
Mousing code for standalone plots created by the canvas driver.
Embedded plots are mouseable also, but the user must provide the
appropriate document to wrap the embedded plots and link them to
the mousing code.
2009-01-13 Petr Mikulik <>
* config/makefile.mgw: Option to run gdlib-config to determine libraries
for linking of gd. Fix link where to download hcw.
2009-01-13 Timothee Lecomte <>
* src/ src/wxterminal/gp_cairo.c
(gp_cairo_draw_image) src/wxterminal/gp_cairo_helpers.c
src/wxterminal/gp_cairo_helpers.h src/wxterminal/
Introduce a new source file, named gp_cairo_helpers.c, to
contain gp_cairo_* code that uses functions from gnuplot core.
Currently this is a small portion of code to convert a
coordval* to a char* buffer. This will be helpful for
wxt-as-a-separate-process where I need to separate clearly the
code used in the core, and the code used in the terminal process.
2009-01-09 Ethan Merritt <>
* src/fit.c (fit_command): Issue a warning if no fittable parameters
are found.
Bug #1964774
2009-01-08 "Bruce Lueckenhoff" <>
* / /docs/ /src/makefile.all /src/
/src/makefile.awc /term/ /src/term.h /term/canvas.trm
New terminal driver "set term canvas" for the HTML 5 canvas element.
The HTML canvas tag supports compact, cross-platform graphics that can
easily be embedded in web pages and accessed by various browsers.
This terminal uses a single vector font implemented in canvastext.js
(released into the public domain by Jim Studt). The 'standalone' option
creates an html output file containing javascript code to actually draw
the plot. The 'name <foo>' option instead creates pure javascript
output that contains a procedure foo() that draws the plot onto an
externally-created canvas named "foo". You can thus include more than
one plot, each on a separate canvas, in a single html document.
In both standalone or embedded mode, the canvastext.js script is
referenced as an external resource.
2009-01-07 Ethan Merritt <>
* src/util3d.c (edge3d_intersect): Fix long-standing bug in which
the z coordinate was clipping against xmax rather than zmax.
Bug #2472621
2009-01-05 Ethan Merritt <>
* src/graphics.c (plot_image_or_update_axes): The failsafe mode for
'with rgbimage' was failing to take advantage of a terminal's
alpha channel support.
* Give up pretending to support libgd versions prior
to 2.0 (build fails because of missing truecolor and alpha channel).
2009-01-04 Ralf Juengling <>
* src/gp_types.h src/plot2d.c (get_data): Fix column accounting for
variable color attribute in the case that no explicit 'using' spec
is given.
2009-01-03 Ethan Merritt <>
*, docs/gnuplot.doc:
Remove the EXPERIMENTAL warning for plotstyle 'image', for 'set object',
for x11 terminal features 'binary polygons' and 'external window',
and for the cairo-based terminals pngcairo and pdfcairo.
2009-01-02 Ethan Merritt <>
* src/pm3d.c (set_plot_with_palette is_plot_with_colorbox):
Fix an accounting error that caused unnecessary loading of a color
palette into plots that do not need one.
2008-12-31 Ralf Juengling <>
* src/gp_types.h: Fix duplicate plot style indices for
2008-12-31 Ethan Merritt <>
* src/misc.c (lp_parse): Allow further options to modify a line style.
E.g. plot ... with points ls 1 ps variable
2008-12-27 Allin Cottrell <>
* util.c (gprintf): Allow '#' format character.
2008-12-26 Shigeharu Takeno <>
* docs/gnuplot.doc docs/ term/lua.trm: Various fixes.
2008-12-26 Ethan Merritt <>
* term/mac.trm: extra spaces are messing up the documentation..
* src/graphics.c (boundary) color.c (draw_color_smooth_box):
Clean up border placement code, fix colorbox bug.
2008-12-24 Mike Sutton <>
* term/x11.trm src/gplt_x11.c: Added size and position options for X11.
2008-12-23 Ethan Merritt <>
* demo/ demo/all.dem src/
Clean up autoconf dependencies for lua terminal and for demos.
2008-12-21 Peter Hedwig <>
* src/ src/term.h term/
term/lua/ChangeLog term/lua/gnuplot.lua term/lua/gnuplot-lua-tikz.sty
term/lua/INSTALL term/lua/NEWS term/lua/README term/lua/TODO:
Generic Lua terminal with PGF/TikZ support.
The current implementation supports output via TikZ/pdflatex:
set term lua standalone
set output 'plot.tex'
plot foo
unset output
!pdflatex plot
2008-12-17 Ethan Merritt <>
* src/show.c (show_version) term/x11.trm (parse_driver):
Do not overwrite the environmental variable GNUPLOT_DRIVER_DIR.
2008-12-14 Ethan Merritt <>
* src/graph3d.c src/graph3d.h: More work on "set view equal {xy|xyz}'.
It now works well for terminals with isotropic coordinate systems, but
unfortunately not for x11 or windows.
2008-12-13 Ethan Merritt <>
* term/emf.trm: Replace assert() statements with int_warn().
Fix handling of enhanced text for which the rotation angle is non-zero.
Bug #2424595
2008-12-11 Bastian Maerkisch <>
Axel Thimm <>
* NEWS src/command.c src/gp_hist.h src/graphics.c
src/history.c src/plot.c src/readline.c src/readline.h src/show.c
src/term_api.h src/term.c (term_initialise):
./configure --with-readline=bsd
Allow gnuplot to use the NetBSD editline library as an alternative to
gnu readline. This adaptation was originally coded by Bastian Maerkisch
and subsequently improved by Axel Thimm and by Tormod Volden.
The routine term_init() is renamed to term_initialise()
to avoid conflict with an identically named routine in libedit.
SF Patch #1504831
2008-12-10 Ethan Merritt <>
* src/datafile.c: Revise syntax of binary datafile record= and array=
options. This allows the use of variables and expressions, adds several
features that were documented but never implemented, and generally
cleans up the code.
old syntax: set datafile binary array=128x128
new syntax: set datafile binary array=(128,128)
The old syntax is still accepted, but is now deprecated
Bug #2378535
* docs/gnuplot.doc demo/image.dem demo/rgbalpha.dem demo/image2.dem
demo/circles.dem: Update docs and demos to use the new syntax.
* src/gadgets.c src/gadgets.h src/graph3d.c src/save.c src/set.c
src/show.c src/unset.c docs/gnuplot.doc:
Modify command 'set view equal_axes' to accept suboptions xy and xyz.
`set view equal xy` uses the same scale for the x and y axes (as before)
`set view equal xyz` additionally uses that same scale for the z axis
2008-12-09 Ethan Merritt <>
* src/color.h src/gadgets.c src/gadgets.h src/graphics.c src/misc.c
src/misc.h src/plot2d.c src/save.c src/set.c src/show.c src/term_api.h
src/unset.c docs/gnuplot.doc:
Upgrade the fillstyle border field to take a color specifier rather than
a simple line type.
Bug #2345832
2008-12-07 Ethan Merritt <>
* src/graphics.c (do_key_sample do_rectangle): Fill style EMPTY
should be no fill at all, rather than fill with background.
Also, the first empty box in a boxplot was being drawn in the wrong
Bug #2345832
2008-12-03 Ethan Merritt <>
* src/datafile.c (plot_option_binary_format): Code cleanup.
2008-12-02 Ethan Merritt <>
* src/datafile.c (plot_option_binary plot_option_array):
Setting default suboptions for binary file input was documented, but
never implemented. Now it is.
set datafile binary record=5x5 format="%double"
However, I believe that the syntax should be changed everywhere to
set datafile binary record={something_parsable} format="%double"
Bug #2378535
2008-11-28 Ethan Merritt <>
* src/tables.c (lookup_table_nth): Leading substring match is all very
well, but return an exact match if one exists. This fixes color lookup
for e.g. grey/grey10/grey100.
* src/graphics.c (boundary) src/graph3d.c (boundary3d):
`set {lrbt}margin at screen FRAC` should behave consistently for all
four plot borders. Ignore the current value of `set origin`.
Bug #2345000
* term/svg.trm: Force stroke to match fill color in pointtype 5.
2008-11-27 Ethan Merritt <>
* src/datafile.c (df_set_datafile_binary plot_option_binary_format
plot_option_binary): Restore tracking of default binary filetype.
Issue error rather than segfaulting on unsupported command
"set datafile binary format=...".
Bug #2345499
2008-11-23 Petr Mikulik <>
* config/README: Updated.
* config/makefile.cyg config/makefile.mgw: Choose *.exe targets in
makefile.cyg as in makefile.mgw.
2008-11-22 Ethan Merritt <>
* term/svg.trm: Work around two bugs in current svg implementations.
The setting of xml:space="preserve" is not correctly inherited from the
enviroment, so we must set it explicitly for each text fragment.
Resetting dy="foo" after a sub- or superscript is best done inside the
same text block.
2008-11-21 Petr Mikulik <>
* config/makefile.mgw: Targets are wgnuplot.exe, wgnuplot_pipes.exe,
gnuplot.exe; pgnuplot.exe is kept as it was until now.
2008-11-19 Ethan Merritt <>
* term/gd.trm (PNG_options): If no information is available about what
default scalable font might be available we currently give up and fall
back to a built in non-scalable font. Now we try font "arial" before
falling back. Who knows, it might even be available.
2008-11-15 Ethan Merritt <>
* src/bitmap.c src/bitmap.h src/tables.c src/tables.h src/show.c
term/cgm.trm term/gd.trm term/pdf.trm:
Consolidate the list of RGB color names and the list of RGB colors used
for palette construction into a single table. Generalize the colorname
dump routine so that it will be able to handle additional color lists.
2008-11-11 Philipp K Janert <>
* src/interpol.c (eval_kdensity): Fixing minor defect.
* docs/gnuplot.doc docs/gnuplot.texi: Include smoothing
algos in New Features section.
2008-11-07 Petr Mikulik <>
* config/makefile.mgw: Support of WGP_CONSOLE. Choice for targets
wgnuplot.exe, wgnuplot_pipes.exe, pgnuplot.exe, pgnuplot_small.exe.
2008-11-07 Michael Goffioul <>
SF Patch #1627936: Gnuplot Win32 in console mode
Implementation of console mode for Gnuplot under Win32, i.e. non-GUI
for the command line. As a result, pgnuplot.exe is a full-featured
gnuplot Windows executable with a proper piping capability (i.e. with
a standard input) which improves its functionality with external
programs like Octave. Up to now, pgnuplot.exe was sending messages to
If gnuplot is compiled with defined WGP_CONSOLE, then the result is
console mode application. Otherwise, it is the traditional GUI
* NEWS: Updated.
* config/config.nt config/makefile.nt: Updated to compile the console
executable target.
* src/command.c (pause_command read_line) src/mouse.c
(event_buttonrelease) src/plot.c (gnu_main): Minor modifications for
* src/readline.c (win_getch): New routine.
* src/term.c: Include io.h for _Windows and __MSC__.
* src/win/wgnuplib.h: Do not declare TextXXXX() routine for WGP_CONSOLE.
* src/win/wgraph.c: Do not call TextXXXX() if defined WGP_CONSOLE.
* src/win/winmain.c: Various changes for WGP_CONSOLE. New routines
stdin_pipe_reader() and ConsoleGetch().
* src/win/wtext.h: If not WGP_CONSOLE, then do not declare "the older"
routines, else declare ConsoleGetch().
* src/win/wtext.c: Define TextXXXX() routine only if not WGP_CONSOLE.
* src/wxterminal/wxt_gui.cpp (wxt_waitforinput): Take care of
* term/win.trm: New routine WIN_waitforinput().
2008-11-06 Ethan Merritt <>
* term/x11.trm (X11_set_font ENHX11_put_text): Initialize enhanced text
processing to use most recently requested font rather than the default
2008-11-01 Ethan Merritt <>
* src/graph3d.c: More bugfixes affecting key placement.
Bug #2163532
* src/set.c (set_xyplane) docs/gnuplot.doc: Add keyword
'set xyplane relative <frac>' but continue to accept the older
form 'set ticslevel <frac>'.
Bug #2101990
2008-10-31 Ethan Merritt <>
* src/graph3d.c (do_3dplot): Draw key entry line samples for pm3d
surfaces with contours. Fix vertical positioning of key text relative
to the key box. Do not clip key text to plot boundaries, since the
key may be outside the plot.
Bug #2163532
* src/save.c (save_set_all): Missing "at" keyword for user placement
of key box.
* src/set.c src/tables.c src/tables.h: 'set key notitle'
2008-10-30 Ethan Merritt <>
* src/axis.c (gen_tics) src/axis.h: Use a more complete test for
round-off error when the increment between axis tics is close to the
precision of the floating point representation.
Bug #2209654
2008-10-29 Ethan Merritt <>
* docs/gnuplot.doc:
Add documentation for variable linecolor and using pseudocolumns.
Remove ancient comments about HP printers.
2008-10-28 Ethan Merritt <>
* src/gadgets.c (apply_pm3dcolor): Only take the color, not the
dot-dash pattern.
* src/graph3d.c (plot3d_lines plot3d_lines_pm3d): Apply "lc variable"
to splot with lines.
2008-10-26 Ethan Merritt <>
* src/set.c (set_cntrparam): Allow iterative addition to the list of
contour levels: set for [i=1:N:inc] cntr level discrete i
* src/graph3d.c (check_for_variable_color) src/misc.c (lp_parse)
src/graphics.c (check_for_variable_color) plot3d.c (get_3ddata):
New colorspec: 'lc variable'
Read linestyle index from data column, look up corresponding color.
2008-10-16 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to gnuplot.doc rev 1.539
2008-10-16 Ethan Merritt <>
* src/graphics.c (do_polygon): Do not clip polygon edges to the graph
borders if the vertices are all given in screen coordinates. Without
this change, you cannot draw polygons outside of the graph.
2008-10-15 Ethan Merritt <>
* src/graphics.c (place_objects do_rectangle): Break out the rectangle
drawing code into a separate routine.
2008-10-13 Ethan Merritt <>
* src/wxterminal/wxt_gui.cpp (wxtFrame::wxtFrame):
Revert call to OnSize() that caused compile failure on linux.
Bug #2159025
2008-10-12 Ethan Merritt <>
* src/plot2d.c (eval_plots): Explicitly set default color of first
histogram to linestyle/linetype 0.
Bug #2155287
2008-10-11 James R. Van Zandt <>
* docs/gnuplot.doc: Document restriction on option order: "title
<column>" must come immediately after "using".
2008-10-11 James R. Van Zandt <>
* docs/gnuplot.doc: "help datastrings": The "first item" would
usually be called a "column heading". Add some
cross-references. "help label": see also "labels". "help data":
see also "labels". "help plot title": mention getting title from
column heading, and link to "datastrings".
2008-10-11 Michael Goffioul <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Define rint for MSVC.
Make code C compliant.
* src/wxterminal/wxt_gui.cpp (wxtFrame::wxtFrame): Do not force toolbar
item size. Force resize event at the end of frame creation.
(wxt_init): Declare wxSetInstance.
2008-10-11 Michael Goffioul <>
* src/win/winmain.h src/win/winmain.c (WinMain): Compute new variable
szPackageDir from szModuleName, stripping possible "\bin\" at the end.
* term/post.trm (PS_open_prologue_file): Use szPackageDir instead of
2008-10-10 Petr Mikulik <>
* src/win/pgnuplot.c: Document option "-e".
2008-10-10 Shigeharu Takeno <>
* src/win/wgraph.c (drawgraph): Work around a Windows clipboard bug by
using ExtCreatePen() only for linewidth != 1. The clipboard loses the
line color if created with ExtCreatePen(), but not CreatePenIndirect().
Is the clipboard problem still present for thicker lines?
2008-10-07 Ethan Merritt <>
* src/plot.c (main) man/gnuplot.1 term/x11.trm (X11_args X11_options):
Allow --persist and -p as synonyms for -persist on the command line.
Have wxt and x11 use the same mechanism for parsing --persist,
rather than doing it in two separate places.
2008-10-07 Shigeharu Takeno <>
* src/plot.c (main) docs/gnuplot.doc:
Add a command line option -e to execute specified commands:
gnuplot -e "reset"
2008-10-06 Juergen Wieferink <>
* src/set.c (set_palette_defined): Allow string variables and
expressions in "set palette defined". SF #2149065
2008-10-02 Ethan Merritt <>
* src/mouse.c src/mouse.h src/set.c (set_mouse):
Do not free() the permanent copy of default mouse format.
Bug #2142011
2008-09-29 Ethan Merritt <>
* src/graphics.c (plot_image_or_update_axes) src/plot2d.c (get_data)
term/pdf.trm (PDF_image) src/wxterminal/gp_cairo.c (gp_cairo_draw_image)
src/plot3d.c (get_3ddata) term/gd.trm (PNG_image) demo/imageNaN.dem:
When converting image data to image pixels, missing/NaN/Inf data points
were being mapped to 0. Since 0 can often be a legitimate cbrange
value, this was unfortunate. Modify the input code to retain the
actual missing/NaN/Inf value, and teach the generic image code to skip
NaN data points. +Inf, -Inf values are now correctly pinned to the
extremes of the colorbar palette. The terminal-specific image routines
handled by libgd, PDFlib, and cairo are similarly modified.
2008-09-29 Petr Mikulik <>
* src/color.h: Add field c into structure gpdPoint.
* src/pm3d.c (pm3d_plot): Support "pm3d interpolate" for surfaces
given by both z and colour coordinates.
SF Bug #2127845
2008-09-25 Ethan Merritt <>
* src/set.c (set_label load_tic_users prune_dataticks)
src/internal.c (f_strftime): Fix memory leaks found by valgrind.
Memcheck now gives all.dem a clean bill of health.
2008-09-23 Ethan Merritt <>
* demo/html/Makefile demo/html/
Add ellipse.dem to the set of auto-generated sample plots.
* docs/gnuplot.doc src/gadgets.h src/graphics.c src/graphics.h
src/hidden3d.c src/save.c src/set.c src/unset.c NEWS:
New object type: polygon
2008-09-22 Ethan Merritt <>
* src/axis.c (gen_tics) src/graphics.c (label_width): Add a sanity
check for the number of auto-generated axis ticks. Do not accept a
request for more ticks than the resolution of the output device
coordinate system (term->xmax). Skip label processing for empty labels.
Bug #2117370
2008-09-20 Ethan Merritt <>
* src/gadgets.c (clip_line): Make sure that the clipped line segment
returned by clip_line() has the same direction as the original segment.
A simple draw command doesn't care, but if the segments are used to
bound a filled polygon then a reversed segment causes fill artifacts.
2008-09-15 Ethan Merritt <>
* src/save.c: There is a parsing bug for the new "set view equal_axes"
option, triggered by the save format. Omit this option from "save"
until the parsing bug is fixed.
* src/term_api.h src/term.c (write_multiline):
Remove discontinuity in text rotation at "rotate by 90".
Text option "rotate" continues to work as it always has, but
"rotate by 90" is no longer a synonym meriting a special case.
2008-09-13 Ethan Merritt <>
* term/emf.trm: Add support for enhanced text mode.
Clean up polygon code.
2008-09-10 Shigeharu Takeno <>
* docs/gnuplot.doc term/emf.trm: Fix typos
2008-09-10 Ethan Merritt <>
* src/graph3d.c (place_labels3d): Clip "splot with labels" against
plot boundaries in "set view map" mode, for consistency with 2D plots.
* term/cairo.trm src/syscfg.h: glib.h provides a
guaranteed 32-bit data type, and cairo.trm already depends on GLib.
Therefore we can use guint32 rather than defining our own type.
2008-09-09 Ethan Merritt <>
* src/syscfg.h: Try to discover and define a safe 32-bit
data type GP_UINT32_T.
* term/cairo.trm:
Fix cairopng_do_crop to use GP_UINT32_T, and bail out cleanly if it was
not defined correctly.
Terminal options were overwriting each other in the options string.
Handle cropping of images with transparent background.
2008-09-08 Petr Mikulik <>
* src/graph3d.c (do_3dplot): Fixed MIN => GPMIN.
2008-09-08 Ethan Merritt <>
* term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph):
The win terminal has been drawing spurious lines connecting distinct
polylines in the input data file, but only in the case of variable
rgb color or palette z. I suspect the patch of 2008-06-24 but I am not
certain. Try a variant on that patch and also impose more consistent
bookkeeping of the current line type.
* src/parse.h src/parse.c src/set.c (load_tic_user):
Some set commands, e.g. set xtics, need to distinguish between the
first time through an iteration and subsequent times through it.
Export a counter from parse.h that can be tested for this purpose.
2008-09-07 Ethan Merritt <>
* src/set.c (load_tic_functions): Revert the load_tic_functions change.
There is a much better way to accomplish this.
* src/set.c (set_command) src/unset.c (unset_command) docs/gnuplot.doc:
Add iteration support to the 'set' and 'unset' commands. This turns out
to be both simpler and more powerful than adding iteration as a special
case for axis ticks. E.g.: unset for [i=100:200] label i
2008-09-06 Juergen Wieferink <>
* src/term.c (enhanced_recursion): Add curly braces {} to the list of
characters that must be escaped in postscript enhanced mode.
Bug #1968636
2008-09-06 Ethan Merritt <>
* src/set.c (load_tic_functions): Allow axis tick labels to be defined
by iteration over expressions giving the label and position.
set xtics for [i=1:N] ( label(i) position(i) {level} )
Based on a patch by Shige Takeno.
2008-09-05 Ethan Merritt <>
* docs/gnuplot.doc src/gadgets.c src/gadgets.h src/graph3d.c src/save.c
src/set.c src/show.c src/unset.c NEWS:
New option 'set view equal_axes' that forces x and y axes in a 3D plot
to use the same scale. This is similar to 'set size square' in 2D.
Bug #2004205. Feature request #2006851.
2008-09-05 Peter Danenberg <>
* term/cairo.trm (cairopng_do_crop): Crop option for pngcairo.
SF Patch #1873297
2008-09-03 Ethan Merritt <>
* src/axis.c (add_tic_user): NULL labels are OK if requested via
'set xtics (x1, x2, ...)' as opposed to read from a data file.
* docs/gnuplot.doc: Add minimal section on binary skip=foo:baz
2008-08-19 Ethan Merritt <>
* src/axis.h src/axis.c(gen_tics) src/set.c(set_tics) src/show.c
src/graphics.c (plot_border): Add an axis tic attribute "rangelimited".
If set, the border and tics for this axis will be drawn only for the
range of the data, rather than the full range of the axis.
2008-08-15 Ethan Merritt <>
* term/dumb.trm: Accept terminal size in the form used by most other
terminal drivers. 'set term dumb size 80,23"
* src/set.c (set_tic_prop) src/graph3d.c (ztick_callback):
Allow tic labels on z axis to have 'tc palette z'
Feature request #1689545
2008-08-14 Ethan Merritt <>
* src/misc.c src/command.h src/command.c (do_string) src/mouse.c:
Add a flag parameter to do_string() indicating whether the string is to
be freed immediately after copying. This should fix memory leaks both in
the new eval_command() and the existing call in pop_terminal().
2008-08-12 Juergen Wieferink <>
* src/misc.h src/misc.c: Make lf_push() and lf_pop() global.
* src/command.c (do_string): Make use of lf_push() and lf_pop() to avoid
memory leaks on int_error().
* src/command.h src/command.c src/tables.c src/plot.c docs/gnuplot.doc:
New command `evaluate` executes the commands given by a string argument.
2008-08-09 Ethan Merritt <>
* src/readline.c (ansi_getc): Teach built-in readline to map
CSI-H to ^A and CSI-F to ^E, which offers some hope that the <end> and
<home> keys will do something useful.
Bug #1556607
2008-08-06 Benjamin <>
* term/post.trm: Fix parsing error for option "palfuncparam".
Bug #2039912
* term/emf.trm: Allow fractional linewidths; do not allow dash pattern
length to go to zero.
Bug #2040244
2008-08-06 Ethan Merritt <>
* term/emf.trm: Provide a separate "dashlength" option similar
to the post, pdf, gd, and cairo terminals.
2008-08-05 Ethan Merritt <>
* src/axis.h src/eval.c: Track min/max range of data on each axis
indepently of the current axis range itself. Export to the
corresponding variables GPVAL_DATA_{AXIS}_MIN and so on.
This is useful all by itself, but also lays the groundwork for
implementing "range-frame" borders as per request #2025481.
2008-08-02 James R. Van Zandt <>
* docs/gnuplot.doc: Fix syntax of "plot index": If only two
numbers are supplied, it's the third number (the stride) that has
been omitted. Therefore, the third number should be in the
innermost braces.
2008-08-01 Ethan Merritt <>
* src/axis.c (add_tic_user): Ignore NULL labels. This prevents possible
segfault if tic labels are requested from a non-existent data column.
* src/plot2d.c (eval_plots): Remove order dependency of newhist options.
2008-07-31 Ethan Merritt <>
* src/plot2d.c (eval_plots) src/graphics.c (do_plot):
Histograms did not correctly honor 'set style user increment'.
2008-07-29 Ethan Merritt <>
* src/wxterminal/wxt_gui.cpp(wxt_set_color)
Pay attention to the value of 'set palette maxcolors'.
2008-07-26 Ethan Merritt <>
* src/plot3d.c (grid_nongrid_data): Honor the axis range limits when
drawing dgrid3d surfaces.
Bug #1363641
2008-07-25 Ethan Merritt <>
* src/datafile.c (plot_ticlabel_using): If tic labels will be generated
from an expression then force evaluation of all column contents.
Otherwise references to column() return uninitialized garbage. Bugfix.
2008-07-24 Jozef Vesely <>
* src/datafile.c src/datafile.h: Binary data types for 64-bit ints
(long long).
2008-07-23 Shigeharu Takeno <>
* docs/gnuplot.doc: Fix various typos and cross-reference formats.
2008-07-23 Ethan Merritt <>
* src/mouse.c src/command.c (pause_command) src/command.h:
New variant 'pause mouse close' will pause until the plot window is
closed. Unlike existing variants, this does not disable mouse-clicks,
hotkeys, or zooming. Add wxt to the list of terminals that need a
work-around to avoid losing an input character when the plot window
is closed.
2008-07-22 Ethan Merritt <>
* src/graph3d.c (boundary3d): Add missing initialization of the clipping
boundaries. Clip 3D plots to the canvas unless the terminal flags that
it will do its own clipping.
* docs/plotstyles.gnu docs/gnuplot.doc demo/hidden2.dem:
Add an example image plot to the pdf docs, modify the interlocking tori
idemo in hidden2d to show with/without depth sorting side-by-side.
* src/mouse.c (event_buttonpress): Zooming uses mouse button 3.
Do not disable it just because we are using buttons 1 or 2 for something
2008-07-21 Ethan Merritt <>
* src/eval.c src/eval.h (gp_word gp_words) C-callable versions of the
built-in functions word() and words().
* src/parse.c (check_for_iteration next_iteration) docs/gnuplot.doc:
Sanity check the name of the variable used for iteration. New syntax
allows iteration over the entries in a string:
plot for [foo in "a b c d"] ...
* src/util.c (int_error): Allow somewhat longer error messages.
* term/post.trm (PS_vector): Work around a bug in ghostscript/gv.
If there is a long string of mixed relative/absolute lines without a
stroke command, ghostscript renders it veeeery slowly. We already
limit the number of relative moves in a row; this patch adds a "stroke".
Bug #2021942
2008-07-19 Ethan Merritt <>
* src/graphics.c (plot_vectors) src/plot2d.c (get_data):
Allow 2D vector plots to take color from an extra data column.
Give an error when variable color is requested but too few data columns.
* src/graph3d.c plot3d.c: Consolidate variable color checks into a
single routine. Allow 3D vector plots with variable color.
2008-07-16 Ethan Merritt <>
* src/graphics.c (do_plot) src/graph3d.c (do_3dplot): Move palette
initialization earlier in the sequence, so that no objects or axes are
drawn before the palette is defined.
Bug #2019453
2008-07-15 Ethan Merritt <>
* src/plot2d.c (histogram_range_fiddling):
Fix logic for autoscaling y range of stacked histograms.
2008-07-14 Ethan Merritt <>
* src/plot2d.c (histogram_range_fiddling eval_plots): Center stacked
histograms at true x coordinate. Allow user to set this via
'newhistogram {at <x-coord>}'. Adjust xmin value accordingly.
2008-07-14 Hilgers Christian <>
* src/graphics.c src/plot2d.c docs/gnuplot.doc:
When constructing stacked histograms, track positive values separately
from negative values. Place only positive values in the upward stack.
Negative values are placed in a corresponding downward stack.
2008-07-12 Ethan Merritt <>
* src/set.c (prune_dataticks): Fix double-free error.
2008-07-09 Petr Mikulik <>
* src/eval.c src/mouse.c src/plot2d.c src/plot3d.c src/term.c: Added
* src/term_api.h src/term.c: New function get_terminals_names().
2008-07-07 Ethan Merritt <>
* src/eval.c: Remove unused variable.
* src/graph3d.c: Ignore 'set size ratio' in 3D plots unless the view
mode is 'set view map'. This brings the behavior in line with the docs.
* src/util3d.c (map3d_xy) src/util3d.h src/graph3d.c:
Change coordinates in map3d_xy() to (int) rather than (unsigned int).
This makes it parallel to the 2D routine and also saves code.
2008-07-04 Petr Mikulik <>
* src/eval.h src/eval.c: New routines fill_gpval_integer,
fill_gpval_float, fill_gpval_complex. To be used for more readable
setting of GPVAL_ variables.
2008-06-27 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja:
Sync Japanese documentation to gnuplot.doc rev 1.517
2008-06-26 Philipp K Janert <>
* src/interpolc.c (eval_kdensity do_kdensity): Follow code conventions.
2008-06-26 Peter Rosin <>
* term/ggi.trm: uint32 -> unit32_t
Allows to build with current libggi.
2008-06-26 Ethan Merritt <>
* src/graphics.c: Check for term->filled_polygon() before trying to
call it. (fixes segfault triggered by ggi terminal driver).
2008-06-26 Philipp K Janert <>
* src/gp_types.h src/interpol.c src/plot2d.c src/tables.c
docs/gnuplot.doc: Changes for new smoothing algorithm for
smooth histograms using Gaussian kernel density estimates.
2008-06-24 Ethan Merritt <>
* src/term.c (term_start_plot): The term/README file clearly states that
terminal coordinates run from 0 to xmax-1 and 0 to ymax-1. Therefore
[xmax,ymax] is out of range, and we should revise the clipping limits
accordingly. NB: This may change the behavior of existing scripts that
draw to the extreme edge of the canvas (e.g. border=0).
Bugfix: Prevents tripping the assert() statements in emf.trm
2008-06-24 Bastian Maerkisch <>
* src/win/wgraph.c (drawgraph): Don't forget to draw a polyline even
if it has only a single segment.
2008-06-23 Petr Mikulik <>
* src/color.c (draw_inside_color_smooth_box_postscript): Fix colour of
the 2nd box in the colour box for negative palette in postscript
SF Bug #2000751
2008-06-22 Ethan Merritt <>
* src/plot2d.c: Plot with vectors did not honor linestyles requested via
'set style increment user'.
2008-06-20 Ethan Merritt <>
* src/set.c (delete_linestyle) src/unset.c src/setshow.h:
Pass the head of the linestyle list as a parameter rather than
hardcoding it to always be the list headed by first_linestyle.
Remove unused routine assign_linestyle_tag().
* src/misc.c src/misc.h src/term.c (lp_use_property):
Move this routine from misc.c to term.c. This cleans up a botched
header dependency (the prototype was already in term_api.h rather than
being in misc.h).
2008-06-19 Ethan Merritt <>
* term/aquaterm.trm (AQUA_init AQUA_boxfill AQUA_filled_polygon):
Query aquaterm for alpha channel support; use it if present.
Add fill styles to the filled polygon routine.
2008-06-18 Ethan Merritt <>
* src/fit.c: Dynamic allocation for fit script string.
2008-06-17 Ethan Merritt <>
* docs/gnuplot.doc docs/plotstyles.gnu demo/cities.dat:
Revise the plot style examples to avoid pattern fill since pdfcairo is
bad at it. Use a more interesting demo to illustrate label plots.
2008-06-15 Ethan Merritt <>
* src/wxterminal/wxt_gui.cpp:
Remove deprecated dc.BeginDrawing() dc.EndDrawing()
2008-06-14 Hans-Bernhard Broeker <>
* src/datafile.h (df_no_fpe_trap, evaluate_inside_using): Add
missing 'extern' to declaration of new variables.
2008-06-13 Ethan Merritt <>
* docs/gnuplot.doc docs/titlepag.tex docs/gnuplot.texi:
Replace "what's new in 4.0, 4.2" with "what's new in 4.3".
Remove discussion of pre-version 4 features.
Update or remove dead URLS.
2008-06-12 Ethan Merritt <>
* src/datafile.c src/datafile.h src/set.c src/save.c src/show.c
eval.c (evaluate_at) docs/gnuplot.doc:
New datafile property 'set datafile {no}fpe_trap'.
Until now, evaluate_at() has wrapped every expression evaluation with
set/reset of a floating point exception handler. This is very expensive
and dramatically slows down data input from large files. Now we provide
a way to disable this via "set datafile {no}fpe_trap" or turn it back on
again if necessary. The exception handler remains in place for contexts
other than data input.
2008-06-08 Ethan Merritt <>
* src/graphics.c src/misc.c src/save.c src/show.c src/unset.c:
The flag LT_UNDEFINED was mis-used to indicate "same color as fill" for
the border of filled areas. This caused hard-to-reproduce bugs in the
key samples for plots with filled areas. Change the fillstyle code to
use LT_DEFAULT instead for this purpose.
2008-06-07 Ethan Merritt <>
* src/set.c (set_margin) src/save.c (save_set_all) docs/gnuplot.doc
demo/margins.dem demo/transparent_solids.dem demo/rgbalpha.dem:
Add a new keyword "at" to absolute margin placement commands.
'set rmargin screen .8' misleadingly seems to assign 80% of the page
to the right margin. Really we mean "set rmargin at screen 0.8",
so say that.
2008-06-05 Ethan Merritt <>
* src/axis.c (gen_tics): Interpret tic labels read from a data file as
string constants rather than as formats. Otherwise there are problems
with labels containing the "%" character.
2008-06-05 Petr Mikulik <>
* src/mouse.c (builtin_toggle_log): Help line for the 'l' hotkey missed
to mention both z and cb for splots.
2008-06-04 Ethan Merritt <>
* src/mouse.c (builtin_nearest_log):
Further adjustment to 'L' hotkey behavior. In "set view map" mode,
toggle the cb axis if the cursor is in the color box, toggle the x1 axis
if it is nearest, the y1 axis if it is nearest, and the z axis if none
of the above conditions is true.
* demo/heatmaps.dem: Modify the last demo so that it can be used to
explore the behavior of the 'l' and 'L' hotkeys. All 4 axes (x y z cb)
can be individually toggled using the 'L' hotkey. 'l' toggles only y,
which is what the documentation says, but maybe this should be changed.
* src/graph3d.c: Allow to draw contours associated with a pm3d surface.
2008-06-02 Ethan Merritt <>
* src/hidden3d.c (store_polygon) src/mouse.c (event_motion):
Replace a pair of assert() statements with a flag that prevents mouse
interaction from further increasing the value of surface_zscale. This
means you cannot trigger the error condition the asserts tried to guard
against just by moving the mouse. You can still trigger it by setting
the view parameters to something odd, but the patch of 2008-05-29 may
handle that.
Bug #172806
* src/term.c (estimate_strlen) term/estimate.trm:
Allow for embedded newlines when estimating string length and height.
* src/graphics.h src/graphics.c src/gadgets.h src/graph3d.c src/color.c
src/mouse.c: Move the bounding box information for the key and for the
colorbox into their respective structures so that they can be shared by
2D and 3D code. Change the 'l' and 'L' hotkeys so that the color axis
log scaling is toggled if and only if the mouse is in the colorbox.
2008-06-02 Shigeharu Takeno <>
* docs/term-ja.diff docs/gnuplot-ja.doc:
Sync Japanese documentation to gnuplot.doc revision 1.506
2008-06-02 Tim Hoffmann <>
* src/win/wtext.c (WndParentProc): Account for scrollbars when shrinking
the textwin to the maximally needed width. SF Patch #1971437.
2008-06-01 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (gp_cairo_draw_image): Unpack RGBA data.
Cairo uses a pre-multiplied alpha convention.
2008-06-01 Daniel Sebald <>
* term/gd.trm (PNG_image): Manually resize input image and
alpha blend so that palette colors aren't consumed unnecessarily.
* term/x11.trm (X11_image) src/gplt_x11.c (exec_cmd, X11_GR_IMAGE):
Handle alpha channel by blending with existing image contents for
AllPlanes, otherwise background is not included (i.e. value equals zero)
making blending too dark.
2008-06-01 Ethan Merritt <>
* docs/gnuplot.doc: New image plotting style 'with rgbalpha', requiring
four values (r,g,b,alpha) per input pixel. Each component lies in the
range [0:255]. Only a few terminals (cairo gd x11) support a true alpha
channel with partial transparency, but we provide terminal-independent
code that allows using the alpha channel as an all-or-nothing mask.
* src/datafile.c (avs_filetype_function): Handle AVS file alpha channel.
(df_bin_default_columns): Add RGBA_IMAGE with default 4 columns info.
* src/gp_types.h: Add RGBA_IMAGE plot style, define alpha coord CRD_A.
* src/plot2d.c (get_data) src/plot3d.c (get_3ddata refresh_3dbounds)
src/graphics.c (do_plot plot_image_or_update_axes)
src/graph3d.c (do_3dplot): Handle additional channel IC_RGBA and CRD_A
in several places, shuffle couple hunks of code, remove extra spaces.
Autoscale color components of RGB images to [0:255] regardless of
actual range present in the image.
* src/tables.c (plotstyle_tbl): Add 'rgba$lpha'/RGBA_IMAGE.
* src/term_api.h: Add IC_RGBA to t_imagecolor, new terminal flag
* src/wxterminal/wxt_gui.cpp (wxt_image): Data limit 4*M*N for IC_RGB.
* term/x11.trm term/wxt.trm term/cairo.trm term/gd.trm term/svg.trm:
* term/win.trm (WIN_image): Placemarker for code handling alpha channel.
* demo/rgbalpha.dem demo/all.dem: New demo
2008-06-01 Ethan A Merritt <>
* term/win.trm: Use a dynamically allocated string for the window title.
Bug #1769857
2008-05-31 Ethan A Merritt <>
* term/tek.trm src/term.h: Revise the list of default terminals.
New addition to default build: dpu414
Omit from default build: aed ai msdos/kermit selanar
* src/standard.c: Replace incorrectly defined macros FMIN, FMAX with
Bug #1969415
* src/set.c (set_mouse) src/show.c (show_mouse) src/mouse.c src/mouse.h:
Rework mouse option parsing to use dynamically allocated strings and
* src/tables.c src/tables.h src/show.c src/unset.c: The 'bind' command
doesn't follow usual gnuplot syntax conventions. Provide new synonyms
"show bind" and "reset bind" that are less unexpected.
* src/tables.c src/tables.h src/show.c: The command "show colornames"
was documented, but was not implemented. Now it is.
2008-05-31 Thomas Sefzick <>
* term/epson.trm: Add support for the Seiko DPU-414 thermal printer
'set term dpu414'.
2008-05-31 Allin Cottrell <>
* term/metapost.trm (MP_filled_polygon): Limit the number of vertices
per line of output.
2008-05-30 Ethan A Merritt <>
* src/plot2d.c (eval_plots): 'with rgbimage' does not use a palette.
* src/graphics.c (plot_c_bars do_key_sample) docs/gnuplot.doc
demo/candlesticks.dem: Candlesticks used to approximate a solid fill by
drawing three vertical bars. Now we use a true solid fill to indicate
(open > close). This is the standard convention for financial data.
2008-05-29 Ethan A Merritt <>
* src/axis.c (make_tics): Don't generate tics for an empty axis range.
* term/pbm.trm (PBM_options): Make the tic size independent of the
font size.
Bug #1969415
2008-05-29 Daniel Sebald <>
* src/hidden3d.c (sort_polys_by_z in_front coord_to_treecell):
Add range-checks to the calculation of quadtree array indices.
Bugs #1969415 #1728063
2008-05-27 Bastian Maerkisch <>
* src/win/wtext.c (TextInit), src/win/wgraph.c (GraphInit):
Increase buffer sizes which contain the path to wgnuplot.ini. Fixes
crashes on systems with very long paths of the %APPDATA% directory.
2008-05-27 Ethan A Merritt <>
* src/misc.c (need_fill_border): LT_UNDEFINED really means
"use default color"
* src/graphics.c (do_key_sample): Do not draw errorbars on candlestick
key sample
2008-05-25 Ethan A Merritt <>
* src/graphics.c (check_for_variable_color): Consolidate all the checks
for deriving color from a data column into a single subroutine.
* src/plot2d.c (eval_plots) docs/gnuplot.doc: Do not prevent the user
from requesting palette colors for a 2D plot. Reading a palette color
value from an additional data column works fine for any plot style that
isn't already using the full set of column assignments (candlesticks,
2008-05-25 Hans-Bernhard Broeker <>
* term/emf.trm (EMF_options): Option 'size' broke out of parsing
loop prematurely.
2008-05-23 Philipp K. Janert <>
* demo/all.dem demo/smooth.dem demo/dgrid3d.dem demo/random-points
demo/gnu-valley: added demos for the new dgrid3d kernels and for
the "smooth cumulative" smoothing algo.
2008-05-22 Thomas Sefzick <>
* src/bitmap.c (b_vector): If either end of a vector would fall outside
the canvas area, don't draw it. This prevents segfaults and memory
access problems if the terminal coordinates overflow or go negative.
Bug #1969415
2008-05-21 Ethan A Merritt <>
* src/specfun.c (inverse_error_func): The piecewise numerical
approximation failed to handle the case where x was exactly the join
point for the pieces. Include +/- 0.7 in the central piece.
Also add one more cycle of Newton-Raphson.
Bug #1962800
* docs/doc2texi.el docs/gnuplot.texi: Update
* src/graphics.c (boundary): If it is impossible to reserve as much
space as needed for the key, print a warning and leave the plot borders
where they are. This prevents the plot border from being pushed entirely
off the canvas.
2008-05-20 Shigeharu Takeno <>
* term/emf.trm (EMF_dashtype): Don't ignore linetype LT_AXIS.
2008-05-20 Ethan A Merritt <>
* src/misc.c (parse_fillstyle): Accept variables for fill density and
border line type.
* src/plot2d.c (eval_plots): Accept full keyword "fillstyle".
* src/graphics.c (plot_boxes): Restore missing test for no fill border.
2008-05-19 Ethan A Merritt <>
* src/datafile.c (plot_option_binary df_show_binary df_show_datasizes)
src/show.c (show_datafile) docs/gnuplot.doc:
Clean up option handling for binary data files by using the standard
option lookup routines. Add missing entry points to the documentation
for binary data options. Simplify default output of "show datafile".
"show datafile binary" will dump full list of options.
* src/scanner.c (get_num): Add back previous test for truncation
of long to int on 64-bit machines.
2008-05-17 Philipp K Janert <>
* src/graph3d.h src/plot3d.c src/plot3d.h src/save.c src/set.c
src/show.c src/unset.c docs/gnuplot.doc
Adding new smoothing kernels to the dgrid3d logic.
* src/gp_types.h src/interpol.c src/plot2d.c src/tables.c
New smoothing algorithm: 'smooth cumulative', which plots a
cumulative distribution function of a random collection of points.
2008-05-17 Shigeharu Takeno <>
* src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c term/win.trm:
Allow 'set term win ... title "foo"' to change the title displayed for
the plot window.
2008-05-16 Ethan A Merritt <>
* src/scanner.c (get_num): Parse integer constants on the command line
using strtol() rather than atol(). This allows catching overflows and
has the side benefit of handling hexadecimal and octal constants.
Fixes bug from mouse+zoom with very large coordinate values.
2008-05-13 Ethan A Merritt <>
* term/svg.trm (SVG_layer): Under some conditions a "front" grid or
border could cause a spurious black-fill of the entire plot. Fix this
by forcing a new group after the plot body, which will have fill:none.
2008-05-09 Ethan A Merritt <>
* src/datafile.c: Switch to dynamic allocation of strings read from a
data file. This removes the limit of 64 characters per string.
2008-05-08 Ethan A Merritt <>
* term/pdf.trm (ENHPDF_FLUSH ENHPDF_put_text): We correctly issue
save/restore requests to PDFlib, but we need to mirror these in the
terminal code so that we track what font is currently selected.
2008-05-07 Ethan A Merritt <>
* src/wxterminal/gp_cairo.c (gp_cairo_set_font)
Look for "Bold" and "Italic" in requested font name, and translate
this into a request for the corresponding variant of the base font.
Accept standard Adobe font names by treating hyphens as spaces.
Tracker item #1958227
2008-05-03 Ethan A Merritt <>
* src/tables.h src/tables.c (lookup_table_entry): New utility routine
for table lookup of a string, as opposed to a token index.
* term/fig.trm: Extend point types to match standard sequence for the
the first 13 types. Accept option syntax "set term fig ... size xx,yy".
Add a table lookup for font names known to fig, so that the terminal
accepts for example 'set term fig font "Palatino Italic, 11"'.
2008-05-01 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff:
Sync Japanese documentation to gnuplot.doc revision 1.495
2008-05-01 Ethan A Merritt <>
* term/post.trm: Add a user-editable definition of Gamma at the head of
PostScript output files. This currently affects only grayscale images.
Bug #1869824
2008-04-29 Ethan A Merritt <>
* src/gadgets.h src/graphics.c (adjust_offsets do_plot) src/graphics.h
src/save.c (save_offsets) src/save.h src/set.c (set_offsets)
src/show.c (show_offsets) src/unset.c (unset_offsets) docs/gnuplot.doc:
Allow graph offsets to be given in graph coordinates.
Feature Request #1849366
* demo/electron.dem: Do not pretend x2 is a separately scaled axis.
Bug #1744139
2008-04-28 Bastian Maerkisch <>
* term/win.trm: Remove specific references to Windows 3.1
2008-04-27 Ethan A Merritt <>
* src/graphics.c (boundary): The windows and postscript terminals place
the xlabel text with the character baseline on the bottom edge of the
canvas. This causes any descenders to be clipped. This patch leaves an
extra 1/5 line height of empty space at the bottom. This fixes windows
and postscript, but introduces a small waste of space on most other
terminal types.
Bug #1918293
2008-04-26 Bastian Maerkisch <>
* src/win/wgraph.c term/win.trm (WIN_set_color): Preserve setting of
dash type and linewidth when a new color is selected.
Allow dash types with linewidth > 1.
Bug #1863361
2008-04-25 Ethan A Merritt <>
* term/post.trm (PS_options): "set term post ..." was losing options on
the command line that appeared after "fontfile 'foo' ".
Remove extraneous an c_token++.
* src/graphics.c (plot_points) src/plot2d.c (get_data): Allow the
points in "with linespoints" to accept all the extra properties that
"with points" already allows. "pointsize variable" reads data from
a 3rd column, "lc rgb variable" reads from a 3rd or 4th column.
* docs/gnuplot.doc: Wording changes suggested on newsgroup.
2008-04-24 Ethan A Merritt <>
* term/post.trm (PS_encode_image PS_image): If the palette size is
limited by "set palette maxcolors" then we need to rescale [0:maxcolors]
to [0:bitwidth] for the packed representation of the image in PostScript
Bug #1869824
2008-04-24 Bastian Maerkisch <>
* src/win/wgnuplib.h src/win/wgraph.c: Separate the status line from
the plot canvas. XOR drawing is replaced by full overwrites.
Status line no longer contains garbled text.
Bug #1520692
* config/config.nt: Disable many thousand compiler warnings from
Microsoft Visual Express C++ 2005.
2008-04-23 Ethan A Merritt <>
* src/datafile.c (df_tokenise df_read_matrix): If missing or bad data is
found in a matrix data file, print an int_warn() message, set the value
to NaN if it isn't already, and return to the caller normally.
This allows one to leave holes in a matrix data file.
2008-04-23 Bastian Maerkisch <>
* src/win/wgnuplib.h src/win/wgraph.c term/win.trm:
I have defined a new constant in wgnuplib.h WIN_PAL_COLORS.
I don't know if the new value of 4096 is reasonable or not.
Bug #1847768
2008-04-20 Ethan A Merritt <>
* src/datafile.c src/set.c src/show.c src/util.c (int_error):
The worst-case fallback for int_error() uses a fixed length character
array. This can be overrun by long error messages (it's a fallback
for lack of snprintf). Increase the size of the character array and
also trim some very long error messages to a more reasonable size.
2008-04-18 Ethan A Merritt <>
* term/sun.trm: Rename local static variable "canvas" to "SUN_canvas"
to avoid conflict with global of the same name.
* src/util.c (int_error): We really want to use snprintf(), but if the
platform doesn't provide it (SunOS 4.1) what can you do?
To build on SunOS 4.1.4 I needed the above two changes,
application of the sprintf patch (on the web site) originally developed
for ultrix, and hand-editing of config.h to include #undef HAVE_VFPRINTF
2008-04-18 Daniel Sebald <>
* src/datafile.c (df_skip_bytes): Skip bytes from a file using fseek;
skip bytes from a pipe or stdin using repeated reading of single bytes.
2008-04-16 Ethan A Merritt <>
* term/x11.trm: Use a more finely sampled palette to generate colors.
It was using only 500 samples; change it to use the default (=5000) in
Bug #1906502
2008-04-15 Daniel Sebald <>
* src/datafile.c (plot_option_binary_format df_readbinary df_skip_bytes)
src/datafile.h: Allow repeat field in binary format greater to be more
than a single digit.
* docs/gnuplot.doc: Document that the binary format string allows
"discard" symbol and numerical repeat-field.
Bug #1937089
2008-04-14 Ethan A Merritt <>
* src/misc.c (load_file lf_push lf_pop) src/misc.h docs/gnuplot.doc
src/command.c (load_command call_command):
Save and restore the input line and token parsing structures in
lf_push() and lf_pop(). This allows both the 'call' and 'load'
functions to be used recursively without destroying the previous
input line and parsing context. So 'load' no longer needs to be the
last command on a line.
2008-04-13 Ethan A Merritt <>
* src/misc.c (load_file) src/misc.h src/util.c (PRINT_FILE_AND_LINE)
src/plot.c (main load_rcfile) src/command.c (call_command load_command):
Keeping infile_name in a global causes a memory leak. Move it to the
dynamic structure list maintained by lf_push() and lf_pop().
The callers in plot.c and command.c must pass a gp_alloc()ed string for
the plot name, but need not worry about freeing it later. lf_push()
and lf_pop() will handle this automatically, including error recovery.
2008-04-11 Ethan A Merritt <>
* src/misc.h src/misc.c(lf_push): Track recursion depth for load_file().
2008-04-10 Ethan A Merritt <>
* src/gplt_x11.c src/mouse.c src/os2/gclient.c src/win/wgraph.c
src/wxterminal/wxt_gui.cpp docs/gnuplot.doc:
New configure option --disable-raise-console
If, like me, you hate the program messing with your desktop state and
also want to be able to type <space> while the cursor is over the plot
window, then this option is for you.
2008-04-07 Ethan A Merritt <>
* src/datafile.c (df_open): Clear auto-generated key title from previous
plot, if any.
Bug #1929227
2008-04-06 Ethan A Merritt <>
* src/parse.c (parse_primary_expression) src/parse.h:
Track highest data column referred to in an expression.
* src/datafile.c (plot_option_using): Use info returned by perm_at()
to update the highest data column used. This allows us to catch at
least the simple case of autotitle columnheader for 'using 1:($3)'.
Delete previous ugly code to approximate this for binary files.
Bug #1929227
* term/post.trm (PS_set_font): Avoid segfault if the font name is longer
than 32 characters. The {ai grass next openstep} terminals suffer from
the same problem, but since they are moribund just let it go.
Bug #1935919
* term/gd.trm: Track ttf font names using dynamically-allocated strings
rather than fixed arrays.
Bug #1935919
* src/datafile.c (expect_string): Dead code (test is invariably false)
* docs/gnuplot.doc: Remove redundant links to shell/system section
* term/emf.trm: Remove dead code
* term/pbm.trm: Document that output image size is padded to nearest
multiple of 8 pixels on both x and y.
* docs/gnuplot.texi: Sync to current docs
2008-04-04 Ethan A Merritt <>
* src/graphics.c (boundary): Yet one more place ymax -> ymax-1.
2008-04-05 Daniel Sebald <>
* src/graphics.c (boundary): Missing cast to (int) for ytop.
2008-04-04 Ethan A Merritt <>
* src/graphics.c (boundary) src/color.c (draw_color_smooth_box):
The coding guide for terminals in term/README clearly states:
xmax is the maximum number of points in the x direction.
The range of points used by gnuplot is 0 to xmax-1.
The boundary calculations were instead scaling the right and top edges
to term->xmax and term->ymax, so in the absence of margins these two
border lines would lie off the edge of the plot. This fix replaces
term-xmax with term->xmax-1 in the boundary calculations, similarly for
ymax. It does not work perfectly for terminals with down-sampling
(wxt, cairo), but the previous code wasn't working either.
Bug #1929002
2008-04-02 Ethan A Merritt <>
* src/eval.c docs/gnuplot.doc: Change name from GPVAL_PI to GPVAL_pi
2008-04-01 Thomas Sefzick <>
* src/tables.c src/command.c (undefine_command) src/command.h
docs/gnuplot.doc: Introduce a new command 'undefine foo baz [...]'
that clears previously defined user variables "foo", "baz", ...
2008-04-01 Ethan A Merritt <>
* src/eval.c (update_gpval_variables) docs/gnuplot.doc: Users can
clobber the pre-defined variables pi and NaN. Provide permanent,
non-clobberable versions GPVAL_PI and GPVAL_NaN so that they can be
restored if necessary.
* src/internal.c (f_assign): Don't let the user assign new values to
internal variables GPVAL_* and MOUSE_*.
2008-03-31 Ethan A Merritt <>
* src/graphics.c (plot_c_bars) docs/gnuplot.doc: The docs state that if
(close > open) then the candlestick is drawn with 3 vertical bars. This
is backwards. The convention is that (close > open) is good, and the
box is empty; (close < open) is bad, and the box is filled. Correct the
documentation to match actual practice. And correct the code so that
extra lines are drawn in the boder color for solid-fill candlesticks.
2008-03-30 Ethan A Merritt <>
* src/contour.c src/pm3d.c src/plot2d.c src/datafile.c src/parse.c:
Yet more cleanup of dead code and outdated comments.
* src/misc.c (need_fill_border) src/misc.h src/graphics.c:
When "set style increment user" is in effect, apply it to the "border"
linetype of a fillstyle. New helper routine need_fill_border() to
determine when this is needed and simplify the call sites.
2008-03-30 Allin Cottrell <>
* src/command.c (help_command): Fix incorrect nesting of #if clauses
from removal of atari support.
* src/set.c (set_logscale): The logscale base was being incorrectly
truncated to an integer.
2008-03-29 Ethan A Merritt <>
* NEWS config/README config/makefile.amg config/makefile.mto
config/ config/makefile.unx config/term_pc.h
docs/ docs/doc2texi.el docs/gnuplot.doc docs/gpcard.tex
src/command.c src/corplot.c src/fit.c src/gnuplot.prj src/gp_types.h
src/help.c src/internal.c src/makefile.all src/makefile.awc src/plot.c
src/plot.h src/readline.c src/readline.h src/show.c src/standard.c
src/syscfg.h src/term.c src/term.h src/variable.c term/atariaes.trm
term/atarivdi.trm term/multitos.trm:
Remove code specific to atari platforms. The most recent serious
mention of gnuplot that I could find on an atari newsgroup was a 1997
post by Theo Hopman that gnuplot 3.6beta could be compiled.
The state of atari interest seems to be captured by this notice, all
that is left of a once active group:
"Due to declining membership, The Ol' Hackers Atari Users Group
closed its doors after its final meeting in December 2000"
2008-03-29 Andras Pal <>
* src/standard.c (f_ellip_first f_ellip_second f_ellip_third)
src/standard.h src/eval.c: New functions `EllipticK`, `EllipticE` and
`EllipticPi` have been introduced for complete elliptic integrals of the
first, second and third kind.
* docs/gnuplot.doc:
Documentation accordingly updated.
2008-03-29 Daniel Sebald <>
* src/command.c (test_palette_subcommand): Clean up the layout of the
'test palette' output on the displayed page.
2008-03-29 Ethan A Merritt <>
* src/set.c (set_command) src/show.c (show_command)
src/unset.c (unset_command): Replace overly long error messages that
list all available options with a suggestion to use 'help'. The long
error messages were not being printed anyhow due to length restrictions
in int_error().
* src/graphics.c (boundary): Fix bug in calculating the column width
of a horizontal key with a long title.
2008-03-24 Petr Mikulik <>
* config/config.cyg: pid_t is defined in types.h.
2008-03-23 Petr Mikulik <>
* src/axis.h: Fixed macros AXIS_INIT2D_REFRESH and
* src/command.c (refresh_request): Use these macros so that the refresh
command for volatile data works correctly for log axes (SF 1916494).
2008-03-23 Ethan A Merritt <>
* src/tabulate.c (output_number): Replace macro OUTPUT_NUMBER
with a routine that can handle time format axes as well as the
usual case.
Bug #1880565
* Fix help message for --disable-fiterrvars
Bug #1923468
2008-03-21 Ethan A Merritt <>
* src/set.c (set_format): Remove superfluous c_token++.
Bug #1922288
* docs/gnuplot.doc: Update section on "set format".
* docs/gnuplot.texi: Sync to today's gnuplot.doc
2008-03-20 Ethan A Merritt <>
* src/graph3d.h src/plot3d.c docs/gnuplot.doc: Add a per-plot splot
keyword "nocontours". This overrides the global "set contour", so
that you can contour a single surface from a plot with many.
* docs/ Note an external dependency for "make html"
2008-03-17 Ethan A Merritt <>
* src/variable.c src/variable.c src/util.c src/util.h src/save.c:
Make current_locale a global. Don't reset locale to "C" unnecessarily.
Rename get_numeric_locale() to get_time_locale(), since that's what it
really does.
* src/wxterminal/wxt_gui.cpp (wxt_init): Restore the locale settings
for both LC_TIME and LC_NUMERIC, but only after the GTK+ thread has
finished mangling them.
Bug #1916190
2008-03-16 Ethan A Merritt <>
"set locale" was taking the encoding (LC_CTYPE) from the environment,
but not the time/date usage (LC_TIME). This is exactly backwards from
what the documentation says. Change behavior to match the docs. However,
if the current locale is UTF8 then also set the encoding to utf8.
Move almost all of the code conditioned on HAVE_LOCALE_H into
variable.h and variable.c.
2008-03-15 Thomas Sefzick <>
* src/axis.c (setup_tics): If the user specified an explicit
tic interval on a timefmt axis, do not change this by calling
Bug #1908019
2008-03-14 Shigeharu Takeno <>
* src/graphics.c (do_circles): Instead of drawing all the circle
interiors, followed by all of the circle boundaries, draw both the
interior and the boundary for each circle in succession.
2008-03-13 Ethan A Merritt <>
* config/config.cyg config/config.dj2 config/config.mgw config/config.nt
config/config.os2 config/config.oww config/config.wc
src/datafile.c src/datafile.h src/gadgets.c src/gadgets.h src/gp_types.h
src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h src/hidden3d.c
src/plot2d.c src/plot2d.h src/plot3d.c src/pm3d.c src/save.c src/set.c
src/show.c src/tables.c src/tables.h src/unset.c src/util3d.c
src/util3d.h: Code cleanup of options no longer marked EXPERIMENTAL.
Remove conditional build flags EAM_HISTOGRAMS and EAM_DATASTRINGS.
Due to bit rot, it was not possible to build current cvs without these
anyhow. When last measured, the change in code size due to joint
omission of these options was 1.5%.
* src/axis.c src/breaders.c src/datafile.c src/color.c src/command.c
src/datafile.c src/gadgets.c src/graphics.c src/mouse.c src/plot3d.c
src/pm3d.c src/pm3d.h src/save.c src/set.c src/show.c src/unset.c:
Remove dead code, obsolete comments, leftover debug code.
* src/breaders.c src/breaders.h src/datafile.c
src/datafile.h src/plot2d.c src/plot3d.c src/set.c src/show.c
src/unset.c src/ No more BINARY_DATA_FILE conditionals.
Due to bit rot, one could not build with this disabled, and other
options depend on it.
* demo/all.dem: Add circles.dem to the set of "all" demos.
2008-03-13 Carl Troein <>
* term/post.trm (PS_filled_polygon): Limit the number of consecutive
relative moves in order to avoid accumulated round-off error.
2008-03-11 Ethan A Merritt <>
* src/plot2d.c (get_data store2d_point) src/graphics.c (plot_boxes):
Alter processing of "with boxes" to handle specification of a column
containing variable color information. Modify "with circles" to use
the same mechanism.
Bug #1910587
* src/set.c (parse_histogramstyle) src/tabulate.c (print_table):
Default to non-zero linewidth for histogram errorbars.
Handle histogram error bars in tabular output.
2008-03-10 Shigeharu Takeno <>
* docs/gnuplot.doc: Fix typos.
2008-03-08 Ethan A Merritt <>
* docs/gnuplot.doc: Update section on plot styles to include circles
and to separate out the plot styles affected by "set style fill".
2008-03-08 Ethan A Merritt <>
* src/datafile.c (df_gets): Revert patch of 2008-02-22 because testing
for "if (interactive)" is not a sufficient guarantee that it is safe to
call readline(); Example: "load foo" where "foo" contains a plot
command with inline data (readline() tries to read from the terminal,
not the file). Thanks to Ralf Juengling for analysing the problem.
2008-03-07 Ethan A Merritt <>
* src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h
src/wxterminal/wxt_gui.cpp: Treated dotted lines (LT_AXIS) differently
from the general cycle of dash patterns.
* term/cairo.trm: Scale dashlength down by a factor of 2 for pdfcairo.
2008-03-06 Ethan A Merritt <>
* src/graphics.c (boundary): Handle the case of a fixed aspect ratio and
fixed plot margins. Fixed left margin takes precedence over right. Fixed
bottom margin takes precedence over top. If no margins are fixed, center
the plot.
2008-03-04 Ethan A Merritt <>
* term/fig.trm (FIG_layer): We don't know a true bounding box at the
time a new plot is started, but fig2dev insists that some numbers be
present; give it the bounding box of the full plot.
Bug #1906855
* src/graph3d.c (draw3d_graph_box): Turn off clipping while drawing
the border + ticks, since we don't want to clip "out" ticks.
Bug #1906933
2008-03-03 Ethan A Merritt <>
* src/color.c (draw_color_smooth_box) src/unset.c (unset_axislabel):
Allow user to set colorbar label rotatation if the bar is vertical.
* term/cgm.trm: Adjust palette size based on actual number of
color slots remaining in the table.
2008-03-02 Ethan A Merritt <>
* term/cgm.trm: Clean up terminal code.
Use shared routines gp_alloc(), int_expression().
Switch to using same set of colors as other terminals (web_color_rgbs).
Handle RGB color request by returning closest match to a known color.
Don't over-write user colors with each new palette.
Decouple dash pattern from line color.
* src/command.h: refresh_request() depends on VOLATILE_REFRESH, not
2008-03-01 Ethan A Merritt <>
* term/cgm.trm (CGM_fillbox CGM_filled_polygon): Move the
management of fill styles and pm3d fill from CGM_fillbox() to
CGM_filled_polygon(). This is necessary because while boxes and
histograms call filled_polygon via term->fillbox(), the pm3d code
calls term->filled_polygon directly.
2008-02-29 Ethan A Merritt <>
* src/set.c (set_format set_tics set_tic_prop) docs/gnuplot.doc:
Allow string variables to specify the tic format. Also introduce
a format keyword for "set tics" and "set {axis} tics".
"set tics format 'foo'" is equivalent to "set format 'foo'"
"set ytics format 'baz'" is equivalent to "set format y 'baz'"
2008-02-26 Ethan A Merritt <>
* src/graphics.c (map_position place_objects) src/graphics.h src/mouse.c
src/color.c: Change map_position() to return (int) x,y rather than
(unsigned int). Callers are modified accordingly.
Bug #1903131
Rationale: This avoids implicit casting that breaks clipping
calculations on ia64 and PPC. This patchset fixes clipping of labels
and rectangles. Similar clean-up should be done everywhere,
It is a mistake to use unsigned coordinates before clipping.
2008-02-24 Ethan A Merritt <>
* src/term_api.h src/datafile.c src/gadgets.c src/term.c src/gplt_x11.c
term/cairo.trm term/cgm.trm term/dumb.trm term/eepic.trm term/gd.trm
term/pdf.trm term/post.trm term/x11.trm src/wxterminal/wxt_term.h
src/wxterminal/wxt_gui.cpp: A user has reported problems on ia64 that
may arise from improper casting between signed and unsigned numbers.
To facilitate debugging, change "unsigned" to explicit "unsigned int".
* src/hidden3d.c (sort_edges_by_z sort_polys_by_z):
Remove incorrect cast to (unsigned long).
* src/axis.h src/graphics.c src/plot2d.c(store2d_point eval_plots):
Remove a few more signed/unsigned incompatibilities. Declare variables
as coord_type rather than int when appropriate.
* src/datafile.c src/fit.c: Use defined enum value NO_AXIS rather
than the magic number -1 to mark an axis not in use. Cleaner, and
avoids signed/unsigned comparisons.
* docs/href.c(parse) docs/doc2ipf.c(process_line): Null-terminate
allocated string. Do not walk off the end of a null-terminated string.
Bug #1900987
2008-02-23 Shigeharu Takeno <>
* docs/faq-ja.tex: Translation of revision 1.37
2008-02-23 Ethan A Merritt <>
* src/datafile.c: #include "readline.h"
* demo/circles.dem demo/html/Makefile demo/html/
Include circles.dem in the set of web demos.
2008-02-23 Petr Mikulik <>
* src/os2/gclient.c: Use the font palette dialog instead of the standard
font selection dialog. Still switcheable via #define STANDARD_FONT_DIALOG.
SF #1773922 OS/2 PM-Termial broken font selection by Franz Bakan.
* config/makefile.cyg: Added GNUPLOT_PS_DIR and WIN_IPC.
* config/makefile.dj2 config/makefile.os2: Added GNUPLOT_PS_DIR.
* config/makefile.mgw: Added WIN_IPC.
* config/makefile.nt: Added GIF_ANIMATION.
* config/ New helper script to facilitate
comparison of ./configure'd src/config.h and config/
* config/config.cyg config/config.dj2 config/config.mgw config/config.nt
config/config.os2: Updated according to config.h from ./configure and by
means of
2008-02-22 Ethan A Merritt <>
* term/pslatex.trm: Include entry point PS_path in the terminal tables
for epslatex, pslatex, and pstex. This fixes a bug due to the code in
color.c:draw_inside_color_smooth_box_postscript() not being able to sync
with the code in the terminal driver.
* src/datafile.c (df_gets): Use readline() for reading inline data from
pseudofile '-'.
2008-02-22 Ethan A Merritt <>
* src/datafile.c src/gp_types.h src/graph3d.c src/plot2d.c src/tables.c
src/graphics.c (plot_circles): New plot style 'plot ... with circles'.
* docs/gnuplot.doc docs/plotstyles.gnu:
Documentation for 'plot ... with circles'
2008-02-22 Ralf Juengling
* demo/circles.dem demo/delaunay-edges.dat demo/empty-circles.dat
demo/optimize.dat demo/lena.rgb demo/lena-keypoints.bin:
Demo script and associated data files for 'plot ... with circles'.
2008-02-21 Ethan A Merritt <>
* src/term_api.h src/term.c (do_arc): New terminal-independent routine
to draw all or part of a circle, possibly filled. Terminal-specific
versions can be added later if desirable, with this one serving as a
default fallback for terminals with no private routine.
* src/set.c (set_object) src/show.c src/save.h src/save.c src/gadgets.h:
Generalize all the support routines for "set obj rectangle" to handle
circles and ellipses also.
* src/graphics.h src/graphics.c(place_objects do_ellipse) src/graph3d.c
demo/ellipse.dem docs/gnuplot.doc: Implement, document, and demonstrate
"set obj {circle|ellipse}".
2008-02-20 Ethan A Merritt <>
* src/graph3d.c (place_arrows3d): Save/restore the clipping area so
that splot doesn't trash the current clipping state. Bugfix.
* src/graphics.c (boundary): Reset the default clipping area to the
plot boundary at the start of every 'plot' command. This should not
be necessary, but it provides protection against a hypothetical instance
of int_error() in the middle of a save/draw/restore sequence.
2008-02-19 Ethan A Merritt <>
* src/set.c (set_timestamp): Do not spin on unrecognized option. Bugfix.
2008-02-18 Shigeharu Takeno <>
* docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja:
Sync Japanese documentation to gnuplot.doc revision 1.473
2008-02-18 Lars Hecking <>
* src/datafile.c: Allow all types of files as data files except for
2008-02-14 Ethan A Merritt <>
* src/util.c (gd_strdup) src/set.c (set_decimalsign): Fix segfault due
to trying to free a string returned by getenv(). Bugfix.
* term/svg.trm (SVG_layer): Force each plot to have its own bracketing
group. Bugfix.
2008-02-08 Ethan A Merritt <>
* src/datafile.c (adjust_binary_use_spec): This whole routine is
garbage. Patch it lightly so that at least it can handle more than one
plot per graph. But really it needs to be re-written from scratch.
2008-02-06 Ethan A Merritt <>
* src/graph3d.c src/hidden3d.c (reset_hidden3doptions): Change default
setting of "set hidden3d {front|back}" to "back" so that it matches the
behavior of earlier versions.
2008-02-04 Ethan A Merritt <>
* src/term.c (change_term): Insure that 'set term foo' will always
succeed if there is a terminal named "foo", even if there are also
terminals named "foobaz" and "foodstuff". Bugfix (svg/svga)
2008-02-04 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp:
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_term.h:
* src/wxterminal/gp_cairo.c:
* src/wxterminal/gp_cairo.h:
* src/wxterminal/gp_cairo_term.h:
* term/cairo.trm:
* term/wxt.trm:
Rework the cairo code for 'enhanced text' to make it more independant
from the parsing code. Now the parser loop is directly in the terminals
code, instead of being in gp_cairo.*. This is a preliminary work for
wxt-as-a-separate-process. It has the advantage of killing some global
variables in cairo code, although this particular aspect of the work is
not complete. gp_cairo_term.h is now useless and removed.
2008-02-03 Timothee Lecomte <>
* src/wxterminal/wxt_gui.h:
* src/wxterminal/wxt_gui.cpp (LoadCursor):
* src/wxterminal/bitmaps/xpm/cross.xpm:
* src/wxterminal/bitmaps/xpm/icon16x16.xpm:
* src/wxterminal/bitmaps/xpm/icon32x32.xpm:
* src/wxterminal/bitmaps/xpm/icon64x64.xpm:
* src/wxterminal/bitmaps/xpm/notfound.xpm:
* src/wxterminal/bitmaps/xpm/right.xpm:
* src/wxterminal/bitmaps/xpm/rotate.xpm:
* src/wxterminal/bitmaps/xpm/size.xpm:
Recent gcc versions are stricter with strings. Define xpm char arrays
as const.
2008-02-02 Ethan A Merritt <>
* src/graph3d.c src/hidden3d.c (draw_vertex):
Remove cntr3d_dots() as a special case routine. Use cntr3d_points() to
treat dots as pointtype 0. This allows hidden3d to handle dot surfaces.
2008-02-01 Ethan A Merritt <>
* src/tabulate.c: More informative error message if the current plot
style is not fully output to a table.
2008-02-01 Daniel Sebald <>
* src/datafile.c (df_readbinary): Fix off-by-one error in the implicit
"column 0" of non-matrix binary data files.
2008-01-30 Ethan A Merritt <>
* src/graph3d.c (do_3dplot): Revamp main loop over 3D plots.
Previously "unset surface" would bypass all plot types except contours.
Now we have many 3D plot types other than surfaces that should not be
bypassed simply because the surfaces are turned off.
The old logic was bogus anyhow, since there were many tests for
"if (!draw_surface)" inside the main "if (draw_surface)" block.
The result: now I can plot labels and vectors on top of my contours.
In general, 'splot ... with {labels|vectors|image|rgbimage}'
now ignores both "{un}set contour" and "{un}set surface"
* src/plot3d.c (eval_3dplots): Don't bother to check for non-grid data
in plot types 'with {labels|vectors|image|rgbimage}'.
2008-01-28 Petr Mikulik <>
* graph3d.c (map3d_getposition, map3d_position_r): Fix case of y graph
coordinate and splot_map.
2008-01-27 Ethan A Merritt <>
* graph3d.c (cntr3d_lines) util3d.c (polyline3d_next) gadgets.c:
Clip contour lines to the plot boundary in "set view map" mode.
Remove dead code related to these routines.
Bug #1745598
2008-01-26 Ethan A Merritt <>
* src/graphics.c (boundary): Be more precise in estimating the vertical
space required to accommodate rotated tick labels on x and x2 axes.
Bug #1879907
2008-01-25 Ethan A Merritt <>
* src/term_api.h src/graphics.c (do_plot) src/graph3d.c (do_3dplot):
Bracket each individual plot within a figure by a pair of calls to
* term/svg.trm (SVG_layer): Use the notification to encapsulate each
plot into an <a xlink:title="Plot #N"> ... </a> context.
SourceForge tracker ref #1359667
* term/post.trm (PS_layer): Use the notification to insert comments
before and after the code for each plot.
* term/fig.trm (FIG_layer): Use the notification to wrap each plot
as a separate compound object for later editing.
SourceForge tracker ref #1683173
2008-01-25 Ethan A Merritt <>
* src/help.c src/command.c: The old compile option NO_GIH allowed
bypassing gnuplot's internal help code on systems that have other help
mechanisms (Windows, VMS). Clean this up so that it compiles correctly
on all platforms, and make the unneeded internal help code conditional.
* src/tabulate.c: Handle plot style "with filledcurves".
* src/datafile.c (df_open df_generate_pseudodata) docs/gnuplot.doc
demo/heatmaps.dem: Instead of trying to guess based on the plot type
whether the user wants a one-dimensional set of samples or a 2D grid,
split the pseudo- file name into two variants.
'+' generates 1D (samples), '++' generates 2D (samples, isosamples).
See #1872528 Peter Danenberg <>
2008-01-23 Morten MacFly <>
* term/post.trm (PS_open_prologue_file PS_dump_prologue_file
PS_load_glyphlist) term/PostScript/prologues.h: Update built-in
prologues to match the external ones. Prevent a segfault if the
appropriate prologue file is not found at run time. Add utf-8
to the internal list of available prologues.
Bug #1878095.
2008-01-21 Ethan A Merritt <>
* term/svg.trm (SVG_filled_polygon): Fix bug that causes
FS_TRANSPARENT_PATTERN to create a blank fill area.
2008-01-21 Mojca Miklavec <>
* term/aquaterm.trm: Apple calls iso8859-9 NSWindowsCP1254StringEncoding
rather than NSISOLatin5StringEncoding.
2008-01-21 Allin Cottrell <>
* src/command.c (pause_command): Provide a default "paused" message so
that Windows does not segfault if no message is provided for pause -1.
2008-01-16 Ethan A Merritt <>
* src/tabulate.c (print_3dtable): Prevent possible segfault from
attempt to initialize vector tail pointer in a plot that contains
no vectors.
* src/graphics.c (plot_image_or_update_axes): Do not clip 3D image data
against Z range if the plot mode is "set view map".
* demo/heatmaps.dem demo/4D_data.dem demo/all.dem demo/html/
demo/html/Makefile: Replace the 4D_data demo script with a more general
demonstration of 2D and 3D heat maps.
2008-01-16 Hans-Bernhard Broeker <>
* share/ (Gnuplot): Fix rule to allow builds outside
the source tree.
2008-01-15 Ethan A Merritt <>
* term/svg.trm: Rework the inheritance of color and stroke properties
applied to points. This allows the Firefox svg engine to handle our
point styles.
2008-01-13 Allin Cottrell <>
* src/term_api.h src/term.c term/emf.trm term/PostScript/
term/post.trm docs/gnuplot.doc: Add encoding option for Microsoft
Codepage 1254 (Turkish). This is the same as latin5 (iso8859-9) except
that it also assigns characters to code points x80 - x9F.
2008-01-10 Ethan A Merritt <>
* src/set.c (prune_dataticks) src/setshow.h: New routine to purge any
axis tick labels left over from 'using xtics(n)' option during previous
plot command. Manually entered tick labels are kept.
Bug #1850588
* plot2d.c (plotrequest): Call prune_dataticks() before each new plot.
* src/pm3d.c (pm3d_plot): When color information is given in a separate
column, we must not use the interpolated z coordinate for color.
Bug #1783405
2008-01-10 Petr Mikulik <>
* src/command.c (replot_command): Fix for replot with unknown terminal.
2008-01-10 Petr Mikulik <>
* term/post.trm (PS_encode_image): Fix for maxcolors in "plot with
2008-01-10 Daniel Sebald <>
* src/hidden3d.c (store_polygon): Discard degenerate polygons.
Bug #1727198
2008-01-09 Ethan A Merritt <>
* src/eval.c (update_plot_bounds): Rename exported variables TERM_* to
GPVAL_TERM_* so that they match other internally maintained variables.
2008-01-07 Allin Cottrell <>
* term/pdf.trm (EMF_setfont): Add support for encodings
iso_8859_1 iso_8859_2 iso_8859_9 iso_8859_15 cp1250
2008-01-06 Allin Cottrell <>
* term/emf.trm (EMF_setfont): Add support for encodings
iso_8859_2 iso_8859_9 cp1250 koi8r koi8u
2008-01-06 Ethan A Merritt <>
* term/post.trm: Default to abobeglyphnames TRUE.
2008-01-05 Ethan A Merritt <>
* src/plot2d.c (plotrequest): Revert inadvertent change to handling of
'set log cb' introduced 2007-08-31.
2008-01-04 Ethan A Merritt <>
* term/svg.trm: Missing semicolon in definition of gpPt4.
2007-12-31 Allin Cottrell <>
* src/term_api.h src/term.c (change_term): Add a field to TERM_TABLE.
term->tscale is a scaling factor between internal terminal coordinates
and the output pixel coordinates. Intended to support external mousing.
* term/cairo.trm term/post.trm term/svg.trm: Initialize term->tscale.
* src/eval.c (update_gpval_variables update_plot_bounds):
Export pixel coordinates of plot boundary as seen in output image.
2007-12-31 Ethan A Merritt <>
* src/show.c (show_variables) docs/gnuplot.doc: Provide a mechanism
for listed only select variables. E.g. `show variables MOUSE` will
list only variables whose name begins with the string "MOUSE".
2007-12-25 Ethan A Merritt <>
* docs/gnuplot.doc demo/hidden2.dem:
Documentation and comments for 'set hidden3d {back|front}'.
2007-12-24 Ethan A Merritt <>
* src/graph3d.c (do_3dplot) src/graph3d.h
src/tables.c src/tables.h demo/hidden2.dem demo/html/Makefile
src/hidden3d.c (set_hidden3doptions show_hidden3doptions
save_hidden3doptions reset_hidden3doptions):
New option 'set hidden3d {front|back}'
controls whether the hidden3d plot elements are drawn before or after
other plot elements such as pm3d surface or image.
2007-12-20 Ethan A Merritt <>
* term/gd.trm: #define PASTEL_PALETTE and associated comments to
allow palette-based plots to use a partially saturated fill style.
2007-12-19 Ethan A Merritt <>
* term/svg.trm: Implement dashed lines. Extend color support to
include TC_LT. Assign color and dash attributes to individual paths,
rather than inheriting them from the style of the surrounding group
* src/set.c (set_termoptions): Allow set termoption {dashed|solid}.
* src/term_api.h: Add an explicit terminal flag TERM_CAN_DASH
to indicate that the terminal can toggle between solid and dashed lines.
* src/set.c (set_termoptions): Check flag before trying to call
current terminal with either dashed or solid.
* term/aquaterm.trm term/cairo.trm term/cgm.trm term/emf.trm
term/fig.trm term/metapost.trm term/pdf.trm term/post.trm term/svg.trm
term/tgif.trm term/x11.trm term/xlib.trm: Add flag TERM_CAN_DASH
* term/cairo.trm (cairotrm_set_color): When switching color via
TC_LT, be careful not to change the dash pattern also.
2007-12-18 Ethan A Merritt <>
* src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): Add a new parameter
that turns off autoscaling on a per-plot basis rather than per-axis.
* src/datafile.c src/graph3d.h src/graphics.c src/graphics.h
src/interpol.c src/plot2d.c src/plot3d.c: Corresponding modification
to all the call sites.
* src/graphics.c (do_plot recheck_ranges): Before drawing the plots,
fill in the INRANGE/OUTRANGE flags for plots with noautoscale set.
* src/datafile.c (df_open): Parse "noautoscale" keyword.
2007-12-17 Lars Hecking <>
* share/ Gnuplot is generated by make and deleted by
'make clean'. Bring variable names in line with xorg.
2007-12-17 Ethan A Merritt <>
* src/util.c (int_error): Fix incorrect handling of va_list.
* src/datafile.c: Call add_tic_user with a tick type of -1 (a new flag
value) rather than 0 (major tick). This allows to distinguish between
tick labels read from a data file and those entered from the
command line.
* src/axis.c (gen_tics): Treat tick type -1 the same as major ticks.
2007-12-14 Ethan A Merritt <>
* Increase the chance that ./configure will correctly
find all the pieces of gnu libreadline under OSX 1.4.
* src/plot3d.c src/graph3d.c src/graph3d.h:
Make 3D code use the same mechanism as 2D (plot->title_is_suppressed)
to control whether a key title is generated.
2007-12-13 Ethan A Merritt <>
* src/graphics.c (boundary): Missing "else" in bounds calculation.
Also fix trivial typo of v_char instead of h_char.
* term/svg.trm (SVG_SetFont) term/gd.trm (PNG_options): Use strncpy so
that overly long font names do not generate a segfault.
2007-12-09 Ethan A Merritt <>
* src/gplt_x11.c: More parsing problems with borderWidth
* term/x11.trm: Add a terminal option "set term x11 linewidth LW"
analogous to other terminal drivers. All user-specified linewidths are
multiplied by this factor.
2007-12-08 Ethan A Merritt <>
* src/gplt_x11.c: Command line options -bw and -borderwidth were
being mapped to X Resource "borderwidth". It should be "borderWidth".
Also remove limitation that maximum linewidth is 4 pixels.
* share/ Rename to Gnuplot before
installing it. Bug #1784379
* src/graphics.c (place_rectangles): If the linestyle is LT_DEFAULT,
nevertheless check for an explicit linewidth for this rectangle.
Bug #1833429
2007-12-08 Petr Mikulik <>
New options "front" and "back" to "set colorbox" to let the box be
drawn either after or below the image or surface.
* src/gadgets.h src/gadgets.c: New "layer" field in color_box_struct.
* src/graphics.c src/graph3d.c: Draw the colorbox at expected layers.
* src/save.c src/set.c src/show.c src/tables.h src/tables.c
docs/gnuplot.doc: The other necessary changes.
2007-12-05 Ethan A Merritt <>
* src/datafile.c src/datafile.h src/fit.c src/plot2d.c src/plot3d.c
src/set.c: Pass a pointer to the current plot header into df_open() so
that the 'using' options can be parsed in 2D/3D context. This has the
side benefit of removing an ugly hack whereby df_current_plot (used by
the histogram and key title processing) was a global. Now it is static.
2007-12-04 Shigeharu Takeno <>
* src/plot3d.c (eval3d_plots get3d_data): Implement taking key entry
titles from datafile column headers. 'splot <foo> using 1:2:3 title 3'
2007-12-02 Daniel Sebald <>
*, src/show.c (show_version) NEWS: Added new feature
--disable-x11-external. If selected, long versions shows +X11_EXTERNAL.
* demo/gpdemos.tcl demo/ Added a wish/TCL demo that
displays gnuplot x11 output embedded in a tcl paneled window. The demo
includes a minimal file browser that defaults to listing the contents of
* src/gplt_x11.c (prepare_plot): Removed an integer argument that isn't
necessary anymore after having implemented a linked list approach
rather than a fixed number of possible plots. Also, a plot number can
no longer be negative.
(record): Added an argument to the plot number command containing info
about an external system X11 window ID.
* src/gplt_x11.h: Added a control value for setting the X11 window ID.
* term/x11.trm (X11_options): Added code for setting X11 window ID as
string option. Also, do not send command if window number is negative.
2007-12-01 Ethan A Merritt <>
* src/term.c (enhanced_recursion): Give a warning if the enhanced text
mode parser encounters an error.
* src/unset.c (reset_command) docs/gnuplot.doc: The `reset` command is
documented to affect only the graphics output state. Do not reset user
interaction settings (locale, encoding, decimalsign).
2007-12-01 Allin Cottrell <>
* src/set.c src/term_api.h src/term.c docs/gnuplot.doc
term/aquaterm.trm term/post.trm term/pslatex.trm term/svg.trm
term/PostScript/ Add encoding ISO_8859_9 (Latin5).
2007-12-01 Thomas Orgis <>
* src/gplt_x11.c (process_configure_notify_event): Test for failure of
window resize, and do not loop indefinitely trying to resize. Fixes
infinite loop problem on ion and fluxbox window managers.
Bug #1836959 #1614928
2007-11-29 Lars Hecking <>
* term/ Generate postscript_DATA from .ps and .txt
files in PostScript subdir.
2007-11-25 Vladimir <>
* term/svg.trm (SVG_init): Correct encoding names to koi8-r, koi8-u.
Bug #1838066
2007-11-24 Allin Cottrell <>
* src/wxterminal/gp_cairo.c (gp_cairo_convert): Test input for validity
as a UTF-8 string. If it is already UTF-8, don't try to convert it.
2007-11-24 Ethan A Merritt <>
* src/variable.c (locale_handler): Set the character encoding during
initialization (LC_CTYPE). This was happening anyway for interactive
sessions using libreadline, and for default terminal type wxt.
2007-11-23 Ethan A Merritt <>
* term/fig.trm (FIG_boxfill): Update current color before drawing.
Bug #1837187
2007-11-22 Morten MacFly <>
* config/config.nt: #define vsnprintf
2007-11-21 Ethan A Merritt <>
* term/estimate.trm: Never return a zero size estimate for a
non-empty string. Promote fraction characters to 1.
2007-11-21 Allin Cottrell <>
* term/emf.trm (EMF_filled_polygon): Do not alter original color
when processing filled areas with opacity < 1.0
2007-11-20 Ethan A Merritt <>
* term/post.trm (PS_options PS_RememberFont ENHPS_OPEN)
src/term.c (enhanced_recursion): Move the PostScript-specific
RememberFont() cruft out of enhanced_recursion() and into ENHPS_OPEN.
This both cleans up the generic enhanced recursion code and removes
code duplication. Filter out blatently improper font names.
Bugs #1820912 #1833457
2007-11-20 Timothee Lecomte <>
* src/wxterminal/gp_cairo.c (gp_cairo_set_termvar): Fix typo in
commit dated 2007-11-04.
2007-11-20 Christos Gourdoupis <>
* src/wxterminal/gp_cairo.c (gp_cairo_get_encoding):
Allow "set encoding utf8" to override whatever the environment claims.
Bug #1834525
2007-11-19 Ethan A Merritt <>
* /config/ /config/makefile.286 /config/makefile.amg
/config/makefile.ami /config/makefile.emx /config/makefile.g
/config/makefile.msc /config/makefile.msw /config/makefile.mto
/config/ /config/ /config/makefile.unx
/config/ /config/makefile.ztc src/gnuplot.opt:
Add tabulate.{c|o|obj} to dependencies.
Pointed out by <>
2007-11-16 Ethan A Merritt <>
* src/term.c (enhanced_recursion): Do not allow the '}' character in a
font name. Prevents PostScript badness from the following user error:
set label "Foo{/Symbol}Baz".
Bug #1833457.
2007-11-15 Ethan A Merritt <>
* term/post.trm (PS_options): Allow a string variable for a
font file name. Whitespace cleanup.
2007-11-14 Arve Knudsen <>
* Move test for libgd libraries to earlier in script
2007-11-14 Ethan A Merritt <>
* src/plot2d.c (get_data) docs/gnuplot.doc:
Allow 3 columns of data for plot style "histogram errorbars".
2 column data: y err error bar from y-err to y+err
3 column data: y ymin ymax error bar from ymin to ymax
2007-11-13 Ethan A Merritt <>
* docs/gnuplot.doc term/post.trm term/pm.trm: Move description of
enhanced text mode out of the postscript terminal and into the main
2007-11-13 Ethan A Merritt <>
* docs/checkdoc.c: Teach checkdoc to ignore embedded figures.
* docs/psdoc/ps_symbols.gpi: Update to current syntax.
* docs/gnuplot.doc: Various minor indexing typos; mention UTF-8.
* term/ Add aglfn.txt to list of installed files.
2007-11-12 Ethan A Merritt <>
* term/post.trm (PS_options PS_dump_prologue_file PS_open_prologue_file
PS_load_glyphlist) term/PostScript/aglfn.txt: Move the list of Adobe-
recommended glyph names (aglfn) to an external file. Add an option
'set term post {{no}adobeglyphnames}' to control whether UTF-8
characters outside of the Latin1 set are refered to by their generic
name (e.g. /uni03B1) or their aglfn name (e.g. /alpha).
2007-11-12 Shigeharu Takeno <>
* docs/ Include cairo.trm in CORETERM list
* docs/gnuplot-ja.doc docs/term-ja.diff: Sync to version 1.457
2007-11-11 Ethan A Merritt <>
* term/post.trm (PS_options PS_load_fontfile PS_load_fontfiles):
Add a field to the fontfile structure to hold the font name.
Use this to reencode the font immediately after it is read in, rather
than the first time of use. This fixes a bug if the first use is at
the start of enhanced text processing.
2007-11-11 Philipp K Janert
* docs/gnuplot.doc: Correct an error in "help show palette".
2007-11-11 Ethan A Merritt <>
* term/post.trm (PS_options): Accept *.otf fonts.
* term/post.trm (ENHPS_OPEN ENHPS_WRITEC) term/PostScript/
Add UTF-8 encoding support for enhanced text mode.
* term/PostScript/ term/PostScript/
term/PostScript/unicode_maps.README: Provide sample files and a README
for constructing UTF-8 encoded Type 1 fonts for the postscript terminal
to use. Many thanks to Thomas Henlich for the initial example and
2007-11-11 Thomas Henlich <>
* term/post.trm (PS_put_text) term/aglfn.h term/PostScript/
src/util.h src/util.c (utf8_getmore utf8toulong):
Add UTF-8 encoding support for PostScript terminal. This implementation
supports PostScript Type1 fonts that use glyph names conforming to the
Adobe Glyph List For New Fonts. Code points above 0x00FF are displayed
PostScript glyphshow operator. Code points above 0x01FF are assumed to
be accessible as /uniXXXX glyphshow.
2007-11-08 Ethan Merritt <>
* demo/utf8.dem demo/enhanced_utf8.dem demo/all.dem:
Update utf8 demo, and add a new one for enhanced text mode.
2007-11-05 Ethan Merritt <>
* term/post.trm: Place general postscript prolog in front of special
encodings (if any).
* term/PostScript/*.ps: Place a comment at the start of included
encoding vectors.
2007-11-04 Timothee Lecomte <>
* src/wxterminal/wxt_gui.cpp (wxtFrame::OnClose): Fix compilation when
USE_MOUSE is not defined.
* src/wxterminal/gp_cairo.h (gp_cairo_set_termvar)
Do not use the global "term" pointer, but pass values by addresses.
2007-10-31 Ethan Merritt <>
* term/post.trm term/pslatex.trm: To forestall confusion, add a comment
that ISO8859-15 is the same thing as Latin9.
2007-10-30 Christian Faulhammer (
* docs/doc2texi.el: Gentoo patch to allow for changed handling of
newlines in up-coming version of XEmacs. Needed in order to
regenerate gnuplot.texi on such a system.
Bug #1822610
2007-10-29 Petr Mikulik <>
* docs/gnuplot.doc: Document option "pm3d depthorder" within
"help pm3d".
2007-10-27 Ethan Merritt <>
* docs/gnuplot.doc src/graphics.c src/graphics.h src/save.c src/show.c
src/set.c (set_bars) src/unset.c: Add {front|back} options to the
'set bars' command. This controls whether or not a solid-fill box or
histogram bar obscures the lower errorbar.
2007-10-26 Ethan Merritt <>
* src/graph3d.c (do3d_plot): Fix (another) bug in space allocation
for key title. This one was also present in 4.2
Bug #1817873
* src/eval.c (pop_or_convert_from_string): Switch from use of atof()
to strtod() so that we can trap errors in auto-conversion from string
to number during expression evaluation.
* src/wxterminal/gp_cairo.c (gp_cairo_end_polygon): Re-order code to
quiet an annoying compiler warning.
2007-10-23 Christer Lundberg <>
* term/post.trm: A font name containing spaces must be protected by
parentheses in PostScript output.
2007-10-23 Ethan Merritt <>
* src/graph3d.c (do3d_plot): Fix bug in space allocation for
key title.
Bug #1817873
2007-10-23 Ethan Merritt <>
Add a mechanism to embed figures in TeX-based documentation
* docs/README docs/doc2???.c: 'F' in first column of gnuplot.gih
indicates an embedded figure. The text immediately following is the
filename of the (pdf) figure. doc2tex emits a suitable \includegraphics
call, everyone else ignores the whole line.
* docs/titlpage.tex: Include packages graphicx and picins.
* docs/plotstyles.gnu docs/histopt.dat: Script to create figures
illustrating various plot styles.
* docs/ New target "make pdffigures".
* docs/gnuplot.doc: Expand the section on plot styles, and embed
suitable figures to illustrate.
* docs/gnuplot.doc: Document `set pm3d depthorder`.
* docs/gnuplot.texi: Sync.
2007-10-21 Ethan Merritt <>
* src/misc.c (lp_use_properties): Do not overwrite previously set
value of pointflag. (Missed one code path in yesterday's patch).
* src/save.c (save_linetype): Save point properties whether or not
pointflag is set.
2007-10-20 Ethan Merritt <>
Patch 1 of 2: Rationalize use of the pointflag Boolean in lp_style_type.
The current code relies on lp_parse() to set this flag as a side effect,
but this is not correct. lp_parse() uses the flag to determine whether
point style options are legal in the current context. This is not always
the same thing as saying that the current plot will have points.
In particular, it is reasonable to set point properties in linestyles,
yet not all plots using that linestyle will actually contain points.
This caused some plots with lines to be drawn as linespoints.
* src/misc.c (lp_parse lp_use_properties): Do not set the pointflag.
* src/plot2d.c src/plot3d.c: At the end of parsing plot options, set
lp_properties.pointflag based on the PLOT_STYLE_HAS_POINT flag in the
plot_style field of the plot structure.
Patch 2 of 2: Remove 3rd parameter of lp_use_properties(), which is no
longer used.
* src/color.c src/gadgets.c src/graph3d.c src/graphics.c src/misc.c
src/misc.h src/plot2d.c src/plot3d.c src/term_api.h src/util3d.c
2007-10-19 Ethan Merritt <>
* src/util3d.c (draw3d_line_unconditional): Check for user-defined
line styles when choosing colors for front/back of hidden surfaces.
* src/misc.c src/hidden3d.c: Clean up comments emphasizing that basic
line properties must be initilized before calling lp_use_properties().
* src/color.c (draw_color_smooth) src/graph3d.c (do_3dplot cntr3d_lines)
src/misc.c (lp_use_properties): Failure to initialize structure passed
to lp_use_properties().
2007-10-17 Ethan Merritt <>
* src/command.c (pause_command): Accept a string expression as the
final parameter to "pause" commands.
2007-10-16 Ethan Merritt <>
config/* docs/doc2texi.el docs/gpcard.tex docs/
src/makefile.all src/makefile.awc src/term.h term/iris4d.trm
Remove the long-obsolete IRIS4D terminal. This terminal never was the
preferred option even on a real IRIS4D (I had one!), and would no longer
compile and link on SGI descendents of the IRIS4D as of 3 years ago.
* docs/gnuplot.texi: Sync to current gnuplot.doc
2007-10-16 Ethan Merritt <>
* src/eval.h src/eval.c (update_gpval_variables) src/util.c (int_error)
src/unset.c (reset_command): Maintain error state variables.
GPVAL_ERRNO is set to a non-zero value whenever an error occurs.
GPVAL_ERRMSG holds the corresponding error message string.
Both are reset by the new command 'reset errors'.
* docs/gnuplot.doc: Revise the section on internal variables, adding
mention of the new error state variables.
2007-10-11 Ethan Merritt <>
* src/term.c (change_term): Fix stupid error that caused
'set term png <any options>' to fail.
Bug #1810957
* term/cairo.trm (cairotrm_options): Ignore "transparent" keyword when
the output mode is pdf.
2007-10-10 Timothee Lecomte <>
* term/cairo.trm (cairotrm_init): Do the sanity check for an existing
*cairo terminal once and for all.
Apply hinting in the pngcairo terminal: pngs are bitmapped, so they
look much better with lines at integer positions.
Also apply the "saturate" technique to get seamless polygons in pm3d
2007-10-07 Ethan Merritt <>
* term/cairo.trm: Differentiate cairo png and pdf terminals.
Set separate defaults for canvas size, font size, and linewidth.
Output png to a stream so that it can be piped for interactive display.
Ignore irrelevant keywords used by libgd-based png terminal.
Add "transparent" keyword for png.
2007-10-06 Ethan Merritt <>
* term/cairo.trm: Change all internal variable names from cairopdf_* to
cairotrm_* since the code now supports multiple cairo-based terminals.
Later we will introduce parallel variables cairopdf_*, cairopng_*, etc
wherever there is a need to distinguish different terminals.
* demo/html/Makefile demo/html/ Update syntax for font
2007-10-06 Ethan Merritt <>
* term/cairo.trm src/wxterminal/gp_cairo.c (gp_cairo_solid_background
gp_cairo_clear_background) wxterminal/gp_cairo.h wxterminal/wxt_gui.cpp:
Provide alternative routines to initialize the background to either
solid white or transparent.
2007-10-06 Ethan Merritt <>
* src/term.c (change_term): Always accept the full name of a terminal,
even if it is a leading substring of a longer name. E.g. accept
"set term pdf" even if there are both pdf and pdfcairo terminals.
* term/cairo.trm Convert cairo.trm to be shared by
more than one cairo-based terminal type. Change the pdf terminal name
from "cairopdf" to "pdfcairo". Add a parallel terminal entry table for
"pngcairo". Test for output type (pdf or png) in term->init() and
term->reset(). All other code is shared at this point.
2007-10-05 Ethan Merritt <>
* src/plot2d.c (eval_plots): Load first/second axis information into
the head of the label list for plot mode LABELPOINTS.
Bug #1807015
2007-10-03 Ethan Merritt <>
* term/cgm.trm (CGM_options): Remove spurious c_token++, which caused
parsing to skip the font size in: set term cgm "fontname" fontsize
2007-10-02 Ethan Merritt <>
* src/binary.c src/binary.h src/bf_test.c: Rename the routine vector()
to alloc_vector(). This avoids a conflict with the "vector" keyword on
PowerPC OSX with Altivec compiler options enabled.
Bug #1754164
2007-10-01 Ethan Merritt <>
* src/graphics.c (bound_intersect): Fix a degenerate case in the
intersection test that caused a divide by zero.
Bug #1805697
2007-09-29 Hanno Hoffstadt <>
* term/Postscript/ Add an explicit 'closepath' before
filling a rectangle. This is not required by the language spec, but
works around a bug in Adobe Distiller 7 and Apple's Quartz Preview.
Bug #1771533
2007-09-28 Ethan Merritt <>
* demo/html/Makefile demo/html/
Update to include latest demos
2007-09-28 Hanno Hoffstadt <>
* src/graphics.c (do_plot) src/graph3d.c (do_3dplot): It is necessary
to call term->previous_palette() at the end of any 2D plot or 3D plot
that used custom rgb colors.
Bug #1803337
2007-09-27 Ethan Merritt <>
* src/term.c src/set.c(set_encoding) src/show.c(show_encoding)
Add "utf8" to the list of options accepted by "set encoding".
Modify "show encoding" to report the current environmental locale as
well as the encoding that gnuplot thinks it is using. Resolving any
conflict is left to the user.
Most terminal drivers need take no special action if the encoding is
UTF-8. PostScript is a major exception. It is also useful for the
libgd-based terminals if you want to force UTF-8 encoding lookup in
the Adobe Symbol font. This patchset implements the command itself.
Actual libgd and PostScript support will be added separately.
2007-09-24 Ethan Merritt <>
* src/mouse.c (do_save_3dplot): If the log scale setting has changed
for any axis, we must do a full replot rather than a shortcut during
mouse-driven rotation. This is equivalent to the replot instead of
refresh code used for zooming, so we can use the same flag (refresh_ok)
to test for it.
Bug #1797500
2007-09-23 Ethan Merritt <>
* src/axis.c (gen_tics): On log scale plots with very large range,
the minitic interval can overflow integer representation.
Bug #1797500
* term/gd.trm (PNG_image): gdImageGetClip was introduced in libgd
version 2.0.12. Don't try to use it if GD2_VERS is less than 2.
Bug #1790171
2007-09-01 Ethan Merritt <>
* src/datafile.h src/datafile.c: make df_eof static rather than global.
* src/plot3d.c (eval_3dplots get_3ddata): Track return code from df_readline
directly rather than relying on a global df_eof that mirrors it.
2007-08-31 Ethan Merritt <>
Version 2.9.? of Octave switched to piping all data to gnuplot in-line
rather than via a temporary file. This broke mouse zooming and replot.
This patchset is an imperfect fix with several known problems:
- Clipping of zoomed 3D contour plots is not correct.
- splot volatile with image + zoom + unzoom is flaky
- plot -> zoom -> set grid -> unzoom loses the grid setting.
- you cannot toggle log scaling on/off while using refresh.
Introduce a new command "refresh" that acts like replot except that it
does not re-read the input data. Refresh is always needed in order to
zoom or replot in-line data (input file '-'), but may optionally applied
to normal data files also by appending the attribute 'volatile'.
* src/plot2d.c (eval_plots): This is the core change. Instead of
freeing stored data after each plot, keep it around in case of a
refresh command. The old data storage is freed at the start of the next
"plot" or "replot" command. This is parallel to what the 3D code was
already doing. Set refresh_ok = 2 at the end of a successful plot.
* src/plot3d.c (eval_3dplots): Update comments and remove dead code.
Set refresh_ok = 3 at the end of a successful plot.
* src/plot2d.c (refresh_bounds) src/plot2d.h
* src/plot3d.c (refresh_3dbounds) src/plot3d.h:
Provide a mechanism to recheck the INBOUNDS/OUTBOUNDS status of
existing data points after changing the current axis limits.
* src/command.c (refresh_command refresh_request) src/command.h
src/gadgets.c src/gadgets.h src/tables.c: New command "refresh" that
acts similarly to "replot" except that it does not re-read input data.
* src/axis.h (AXIS_UPDATE2D): Save/restore axis limits for zooming.
* src/mouse.c (apply_zoom): Choose between refresh or replot depending
on whether the current plot contain volatile data.
* src/mouse.c (builtin_toggle_log): Ignore 'l' and 'L' for volatile data
* src/set.c (set_logscale) src/unset.c (unset_logscale):
Because setting or unsetting log scale changes the way input data is
stored, "refresh" cannot work if the log setting has changed.
Set a flag indicating that a full replot is necessary.
* src/datafile.c (df_open): Accept a "volatile" keyword to indicate
that data in the input file may change. If data is input from pseudo-
device '-' or from a file marked "volatile", set a global flag so
that mousing/zooming/etc can choose to refresh rather than replot.
* docs/gnuplot.doc
2007-08-29 Ethan Merritt <>
* demo/all.dem demo/running_avg.dem demo/html/
Demonstrate use of new syntax operators = and , as part of a using
statement. The demo plots a running average and a sliding average.