2009-09-03 Ethan A Merritt Release 4.2.6 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-29 Ethan A Merritt * configure.in: Remove the EXPERIMENTAL flag from the x11 terminal binary polygon option. * share/LaTeX/Makefile.am: Comment out an uninstall command because it breaks the build script. * NEWS PATCHLEVEL configure.in docs/titlepag.tex src/version.c: Update in preparation for release 4.2.6 2009-08-28 Ethan A Merritt * configure.in: Remove the EXPERIMENTAL flag from the wxt terminal 2009-08-13 anonymous * term/tek.trm: Add support for xterm tektronix emulation 2009-07-21 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-16 Ethan A Merritt * src/save.c: The "set view" command was incorrectly saved twice. Bug #2822433 2009-07-04 Thomas Sefzick * graphics.c (plot_boxes): Minimal fix for off-by-one pixel bug in width of boxes with palette or rgb color. Complete fix is in 4.4. Bug #2804784 2009-07-01 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-18 Ethan A 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. Backport of V4.4 patch from 2009-01-02 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 * 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 Bugfix. 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-28 Ethan A Merritt * term/x11.trm: Silence an escaped debug fprintf. Bugfix. 2009-05-11 Ethan A Merritt * term/pslatex.trm: Broken format specifier. Bug #2750114 2009-05-05 Peter Gasparovic (buteo@users.sourceforge.net) * term/PostScript/cp1250.ps: Fix code points for Lcaron, lcaron. Bug #2785002 2009-05-05 Thomas Sefzick (thse@users.sourceforge.net) * 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-09 Ethan A Merritt * src/gplt_x11.c: Filled boxes and filled polygons have different behaviour when the fillstyle is FS_DEFAULT, but the x11 driver was not making this distinction. (caused by patch of 2008-06-22). 2009-03-29 Ethan A Merritt Release 4.2.5 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-24 Ethan A Merritt * src/datafile.c: Fix breakage if configured --disable-binary-data-file (Lucas Hart) 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-23 Ethan A Merritt * src/win/wgraph.c (Wnd_exec_event): Clean the 2nd parameter sent to gp_exec_event after a keypress. This should fix the problem leading to "protocol error" messages. 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 * 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-15 Ethan A Merritt Increment patchlevel, version strings, documentation dates, and NEWS in preparation for release of version 4.2.5 2009-03-13 Ethan A Merritt * demo/datastrings.dem demo/histograms.dem demo/histograms: Switch demos to use the documented syntax "... title columnhead(2)" rather than the deprecated "... title 2" 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-02 Ethan A Merritt * term/hpgl.trm term/tgif.trm term/gd.trm: Fix illegal memory access violations 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-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-16 Ethan A Merritt * docs/titlepag.tex docs/gnuplot.doc term/cgm.trm: Remove duplicate keyword entries. Put version number on title page. 2009-02-14 Ethan A Merritt * demo/all.dem demo/heatmaps.dem: Add heat maps to demo set. 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-02 Petr Mikulik * src/mouse.c (lookup_key): Use exact match, otherwise F10, F11, or F12 hotkeys bind to F1. 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 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-22 Ethan Merritt * term/svg.trm: Back-port changes to svg terminal driver from 4.3 CVS. This adds support for dashed lines, additional color modes, more standard xml syntax for attributes, and a work-around for viewers that fail to correctly inherit 2009-01-21 Ethan Merritt * src/fit.c (fit_command): Issue a warning if no fittable parameters are found. Bug #1964774 2009-01-14 Ethan Merritt * src/util.c: Replace the file util.c with the correct file for this CVS branch. Somehow the copy from the 4.3 branch got incorrectly duplicated here. 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 gadgets.h. 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-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 2008-12-27 Allin Cottrell * util.c (gprintf): Allow '#' format character. 2008-12-26 Ethan Merritt * src/set.c: More work on "set view equal {xy|xyz}'. 2008-12-24 Mike Sutton * term/x11.trm src/gplt_x11.c: Added size and position options for X11. 2008-12-17 Ethan Merritt * term/x11.trm (parse_driver): Do not overwrite environmental variable GNUPLOT_DRIVER_DIR. 2008-12-14 Ethan Merritt * src/gadgets.c src/gadgets.h src/graph3d.c src/graph3d.h src/save.c src/show.c src/unset.c docs/gnuplot.doc: More work on "set view equal {xy|xyz}'. It now works well for terminals with isotropic coordinate systems, but unfortunately not for x11 or for 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 * configure.in 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. 2008-12-11 Ethan Merritt * src/fit.c src/show.c src/variable.c term/pdf.trm: Quiet some compiler warnings. 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. Bug #2345832 2008-12-04 Ethan Merritt * src/datafile.c: Give an error message if the user requests any unimplemented features documented for 'set datafile binary'. Bug #2378535 2008-11-28 Ethan Merritt * src/graphics.c (boundary) src/graph3d.c (boundary3d) docs/gnuplot.doc docs/gnuplot.texi: `set {lrbt}margin at screen FRAC` should behave consistently for all four plot borders. Ignore the current value of `set origin`. Bug #2345000 2008-11-27 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: The docs say that 'set size ratio' is ignored in 3D; make it so. 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. * src/set.c (prune_dataticks): Fix typo causing ticlabel list corruption 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-13 Ethan Merritt * docs/gnuplot.doc docs/gnuplot.texi: Update section on color selection to include "lc variable". 2008-11-06 Ethan Merritt * term/x11.trm (X11_set_font ENHX11_put_text): Initialize enhanced text processing to use the most recently requested font rather than the default font. * src/set.c (set_tics) src/show.c (show_tics) src/save.c (save_set_all) docs/gnuplot.doc: Allow tics to be set front/back without turning on the whole grid. Syntax: set tics {front|back} 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-27 Ethan Merritt * src/misc.c (lp_parse) src/graphics.c (check_for_variable_color): New colorspec: 'lc variable' Read linestyle index from data column, look up corresponding color. (2D plots only; Version 4.2 handling of variable color in 3D is messy). 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-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(). [sfeam] Is the clipboard problem still present for thicker lines? 2008-10-08 Shigeharu Takeno * src/plot.c (main): Add a command line option -e to execute specified commands: E.g.: gnuplot file1.in -e "reset" file2.in 2008-10-06 Juergen Wieferink * src/set.c (set_palette_defined): Allow string variables and expressions in "set palette defined". SF #2149065 2008-10-01 Ethan Merritt * src/plot2d.c (store_label): Only store color value for each label in a "with labels" plot if "rgb variable" has been requested. Bugfix 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 * src/axis.h src/axis.c(gen_tics) src/set.c(set_tics) src/show.c src/graphics.c (plot_border) demo/random.dem: 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 for the full range of the axis. 2008-09-22 Ethan Merritt Version 4.2.4 release * configure.in PATCHLEVEL docs/titlepag.tex src/version.c: Update for 4.2.4 release 2008-09-22 Ethan Merritt * src/axis.c (gen_tics): 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). Bug #2117370 2008-09-21 Ethan Merritt * docs/gnuplot.doc docs/gnuplot.texi: Update for 4.2.4 release. 2008-09-13 Ethan Merritt * term/emf.trm: Add support for enhanced text mode. 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. 2008-09-09 Bastian Maerkisch * src/win/wgraph.c (drawgraph): Force update of cursor position after every polyline. Bugfix 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-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. 2008-09-02 Juergen Wieferink * src/eval.c src/gp_time.h src/internal.c (f_strftime f_strptime) src/internal.h demo/stringvar.dem docs/gnuplot.doc: Introduce two new functions 'strftime' and 'strptime', which do essentially the same as the standard C functions with the same names, but use seconds since 2000 instead of struct tm. This has been in 4.3 cvs for 18 months now with no reported problems. (Patchset #1199186 July 2005). 2008-08-16 Ethan Merritt * term/dumb.trm: Accept terminal size in the form used by most other terminal drivers. 'set term dumb size 80,23" 2008-08-14 Petr Mikulik * docs/gnuplot.doc: Typo in show colornames. 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 and 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. 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-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. Bugfix. * src/plot2d.c (eval_plots) src/graphics.c (do_plot): Histograms did not correctly honor 'set style user increment'. Bugfix. * src/plot2d.c (eval_plots): Remove order dependency of newhist options. 2008-07-29 Ethan Merritt * src/wxterminal/wxt_gui.cpp(wxt_set_color): Pay attention to the value of 'set palette maxcolors'. Bugfix. 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-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 A Merritt * 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 else. 2008-07-21 Ethan A Merritt * 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 * src/graphics.c (plot_vectors) src/plot2d.c (get_data): Allow 2D vector plots to draw color from an extra data column. 2008-07-18 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 get_data) docs/gnuplot.doc: Allow palette colors in 2D plots. 2008-07-16 Ethan Merritt * src/graphics.c (do_plot) src/graph3d.c (do_3dplot): Move palette initialization earlier, so that no objects or axes are drawn before the palette is defined. Bug #2019453 2008-07-15 Christian Hilgers * src/plot2d.c src/graphics.c docs/gnuplot.doc: Make stacked histograms grow upward from positive data and downward from negative data. Also adjust and fix autoscaling of stacked histograms. This is a minor change in auto-layout of stacked histograms. 2008-07-15 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. (Backport from 4.3) 2008-06-26 Peter Rosin * term/ggi.trm: uint32 -> unit32_t Allows to build with current version of libggi (2.2.2). 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-25 Ethan Merritt * src/graph3d.c: Allow to draw contours associated with a pm3d surface. 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. Bugfix 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 output. SF Bug #2000751 2008-06-22 Ethan Merritt * src/plot2d.c: Plot with vectors did not honor linestyles requested via 'set style increment user'. * src/gplt_x11.c: Consolidate the fillstyle code into a single routine that is called both by fillbox and filledpolygon processing. This fixes a bug in which the fillstyle border was not applied to filled curves. 2008-06-17 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-06-07 Ethan Merritt * src/set.c (set_margin) src/save.c (save_set_all) docs/gnuplot.doc: Add keyword "at" to absolute margin placement commands. The full form is now "set rmargin {at screen} 0.8". 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-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 by moving the mouse. You can still trigger it by setting the view to something unreasonable, but the previous patch may handle that. Bug #1728063 2008-06-02 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-31 Ethan A Merritt * src/tables.c src/tables.h src/show.c: 'show colornames'. 2008-05-31 Allin Cottrell * term/metapost.trm (MP_filled_polygon): Limit the number of vertices per line of output. 2008-05-29 Ethan A Merritt * src/axis.c (make_tics): Don't generate tics for an empty axis range. 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/graphics.c (do_key_sample): Do not draw errorbars on candlestick key sample. 2008-05-25 Hans-Bernhard Broeker * term/emf.trm (EMF_options): Option 'size' broke out of parsing loop prematurely. 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 2008-05-20 Shigeharu Takeno * term/emf.trm (EMF_dashtype): Don't ignore linetype LT_AXIS. 2008-05-08 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 quantize_time_tics(). Bug #1908019 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-03 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. * 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"'. * src/tables.h src/tables.c (lookup_table_entry): New utility routine for table lookup of a string, as opposed to a token index. 2008-04-28 Bastian Maerkisch * term/win.trm: Remove specific references to Windows 3.1 2008-04-27 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. * 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-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-20 Ethan A Merritt * src/util.c (int_error): Revert patch of 2008-04-19; it is not needed for 4.2 2008-04-19 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? 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 approximate_palette(). Bug #1906502 2008-04-08 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)'. It also allows deletion of ugly code to approximate the same thing for binary files. Bug #1929227 2008-04-06 Ethan A Merritt * 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 this 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 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. 2008-03-27 Petr Mikulik * src/save.c (save_set_all): Fixed saving negative palette. 2008-03-21 Ethan A Merritt * src/set.c (set_format): Remove superfluous c_token++. Bug #1922288 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. 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 Merritt * src/gadgets.c src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/unset.c src/util3d.c: Add option to specify plot margins as an absolute position on the canvas (screen). set {lrbt}margin screen Back-port of CVS patches from 2006-10-21 2006-11-04 2008-03-06 * 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. Back-port from CVS. 2008-03-08 Ethan Merritt Version 4.2.3 release Any further commits to this tree will be in 4.2.4 if such a version is ever released. 2008-03-08 Ethan Merritt * term/x11.trm (X11_filled_polygon): Fix read beyond end of buffer found by valgrind. * src/datafile.c (df_tokenise): Fix uninitialized variable found by valgrind. 2008-03-07 Ethan Merritt * src/util3d.c (draw3d_line_unconditional): Check for user-defined line styles when choosing colors for front/back of hidden surfaces. Bugfix (back-ported from 4.3) * src/color.c (draw_color_smooth) src/graph3d.c (do_3dplot cntr3d_lines) src/misc.c (lp_use_properties): Do not fail to initialize the structure passed to lp_use_properties(). Bugfix (back-ported from 4.3) 2008-03-07 Ethan A Merritt * src/datafile.c (df_gets): Revert patch from 2008-03-04 because of problems reported in the development version. Revisit after 4.2.3. 2008-03-04 Ethan A Merritt * src/datafile.c (df_gets): Use readline() for reading inline data from pseudofile '-'. * 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 * PATCHLEVEL configure.in src/version.c: Mark as patchlevel 3 * NEWS docs/gnuplot.texi: Update in preparation for 4.2.3 * share/Makefile.am: Correct error in generating distribution package. 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. * src/datafile(adjust_binary_use_spec): Allow more than one binary file in a single "plot" command. 2008-03-02 Ethan A Merritt * term/cgm.trm (CGM_set_color): Decouple dash type from line color. Code clean-up. Use shared routines int_warn(), gp_alloc(). 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. Bugfix. 2008-02-29 Ethan A Merritt * src/set.c (set_format set_tics set_tic_prop) docs/gnuplot.doc: Allow the tic format to be provided as a string variable. 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. This avoids implicit casting that breaks clipping calculations on ia64 and PPC. This patchset fixes clipping of labels and rectangles. Bugfix. 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/config.nt config/makefile.nt: Moved GIF_ANIMATION. 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. 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-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. 2008-02-04 Ethan A Merritt * src/term.c (change_term): Allow terminals with similar names to coexist (svg/svga/svgalib). Back-ported from 4.3. 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-28 Petr Mikulik * graph3d.c (map3d_getposition, map3d_position_r): Fix case of y graph coordinate and splot_map. 2008-01-16 Ethan A Merritt * 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". 2008-01-13 Ethan A Merritt Backport fix for Bug #1850588 * 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 from the command line. * src/axis.c (gen_tics): Treat tick type -1 the same as major ticks. * src/set.c (prune_dataticks) src/setshow.h: New routine to purge any axis tick labels left over from 'using xtics(n)' option of previous plot command. * plot2d.c (plotrequest): Call prune_dataticks() before each new plot. 2008-01-10 Ethan A Merritt * src/pm3d.c (pm3d_plot): When color information is given in a separate column, we must not use the interpolated z coordinate as 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 image". 2008-01-10 Daniel Sebald * src/hidden3d.c (store_polygon): Discard degenerate polygons. Bug #1727198 2008-01-07 Allin Cottrell * term/pdf.trm (EMF_setfont): Add support for encodings iso_8859_1 iso_8859_2 iso_8859_15 cp1250 2008-01-06 Allin Cottrell * term/emf.trm (EMF_setfont): Add support for encodings iso_8859_2 cp1250 koi8r koi8u 2007-12-20 Ethan A Merritt * term/x11.trm: Fix 4.3-ism in patch of 2007-12-09. 2007-12-17 Lars Hecking * share/Makefile.am: Gnuplot is generated by make and deleted by 'make clean'. Bring variable names in line with xorg. 2007-12-14 Ethan A Merritt * configure.in: Increase the chance that ./configure will correctly find all the pieces of gnu libreadline under OSX 1.4. 2007-12-09 Ethan A Merritt * term/x11.trm: New option 'set term x11 linewidth LW' 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/Makefile.am: Rename Gnuplot.app-defaults 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-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-25 Johannes Zellner * term/emf.trm: implemented pm3d and point types according to the suggestion in term/README. (2006-12-07 patch to CVS trunk) 2007-11-25 Ethan A Merritt * term/estimate.trm: Never return a zero size estimate for a non-empty string. Promote fraction characters to size 1. 2007-11-25 Vladimir * term/svg.trm (SVG_init): Correct encoding names to koi8-r, koi8-u. Bug #1838066 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 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 (RememberFont): Revert patch of 2007-10-23 Parenthesized font names are not compatible with enhanced text mode, and anyhow PostScript fontnames should not contain any spaces. 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-02 Ethan Merritt * src/internal.c (f_sprintf) docs/gnuplot.doc: Remove limitation of 10 args max to internal function sprintf(). Bug #1753756. 2007-10-30 Christian Faulhammer (v-li@users.sourceforge.net) * 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-23 Christer Lundberg * term/post.trm: A font name containing spaces must be protected by parentheses in PostScript output. 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-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/prologue.ps: 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 Hanno Hoffstadt * src/graphics.c (do_plot): 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-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 version is less than 2. Bug #1790171 2007-09-01 Ethan Merritt Tag version 4.2.2 using command cvs tag -c "Release_4_2_2" Version 4.2.2 released via SourceForge. Any further commits to this tree will be in 4.2.3 if such a version is ever released. 2007-08-31 Ethan Merritt The axis label bug is serious enough to warrant an updated release IMHO. Obviously the release candidate for 4.2.1 didn't get enough testing. src/version.c PATCHLEVEL configure.in docs/titlepag.tex Increment patchlevel to 2 2007-08-28 Ethan Merritt * src/graph3d.c (draw_3d_graphbox): Fix bug that caused axis labels not to be drawn in 'set view map' mode. This was supposed to have been applied 2007-03-14 but somehow never made it into cvs. Serious bug in 4.2.1 2007-08-28 Ethan Merritt * src/graphics.c (plot_c_bars): Apply border color from 'set style fill' to filled candlesticks. 2007-08-26 Ethan Merritt Tag version 4.2.1 using command cvs tag -c "Release_4_2_1" Version 4.2.1 released via SourceForge. Any further commits to this tree will be in 4.2.2 if such a version is ever released. 2007-08-25 Ethan Merritt * src/version.c src/syscfg.h src/Makefile.am src/win/pgnuplot.c * src/show.c: Update version and contact info for 4.2.1 2007-08-25 Shigeharu Takeno * docs/gnuplot-ja.doc docs/faq-ja.tex docs/README.ja docs/term-ja.diff: Sync Japanese documentation to current version. 2007-08-25 Ethan Merritt * src/datafile.c (df_set_key_title): When a key title is loaded from a datafile columnheader, apply or don't apply enhanced text processing based on the setting of "set key {no}enhanced". Bug #1712560 2007-08-20 Timothee Lecomte * src/wxterminal/gp_cairo.c (gp_cairo_fill_pattern): Do not use negative coordinates to create hash patterns. This gives corruption with recent cairo versions (1.4.10 for example). Instead create them with rotations and scaling. Also scale the linewidth of the patterns with PATTERN_SIZE instead of its inverse. 2007-08-17 Ethan Merritt * docs/gnuplot.doc: Remove extraneous {} from entry for 'set timestamp'. 2007-08-12 Ethan Merritt * src/color.c (cbtick_callback) src/graph3d.c (xtick_callback ytick_callback ztick_callback) src/graphics.c (xtick2d_callback ytick2d_callback): The callback routines were testing for TC_DEFAULT in the wrong field (colorspec.lt instead of colorspec.type). Bug #1771240 * demo/electron.dem: Remove the "offset command", which is buggy, and use a consistent x axis. Still need to fix the bug in offset, however. Bug #1744139 2007-08-06 Petr Mikulik * term/x11.trm (X11_text): Fix conditionally missing {. 2007-08-04 Ethan Merritt * Tagged using command cvs tag -c "Release_4_2_1-pre1" * PATCHLEVEL src/version.c configure.in: Increment version to Version 4.2.1 * docs/gnuplot.doc docs/gnuplot.texi: Revert leakage from cvs branch (4.3) documentation into 4.2 documentation. In particular, 4.2 does not support transparency or iteration. * Makefile.am: Remove reference to obsolete README.exp * missing: Nobody "really needs" makeinfo. Allow installs without it. 2007-08-04 Matthias Habl * configure.in: Allow to configure from inside an emacs script. Bug #1741156 2007-08-02 Ethan Merritt * src/command.c (read_line): Treat line extension consistently for both interactive and non-interactive input paths. This is Timothee Lecomte's version of the fix. Bug #1753069. 2007-07-27 Dietmar Warning * term/win.c (WIN_enhanced_open): Avoid compiler warning. 2007-07-24 Shigeharu Takeno * docs/gnuplot.doc: Fixed misprint in "3 multi-branch". 2007-07-24 Petr Mikulik * term/win.trm: Document reading of wgnuplot.ini in user's %APPDATA% directory. 2007-07-17 Ethan Merritt * src/fit.c (fit_command): Accept a string variable as the file name for "fit via ". Bug #1755532 2007-06-21 Ethan Merritt Fix two special cases where gnuplot auto-increments the line type, but does not check whether the user has requested user-defined line styles instead (via "set style increment user"). * src/graph3d.c (do_3dplot cntr3d_lines): If the [default] option `set clabel` is in effect then contours auto-increment over line types. Check for prefer_line_styles at this point. * src/graphics.c (do_plot plot_boxes): Columnstacked histograms auto- increment over line types. Check for prefer_line_styles at thie point. 2007-06-17 Ethan Merritt * src/internal.c (f_sprintf): Remove any remaining escape sequences (%%) from the tail of the format string after all of the input variables have been processed. Bug #1739625 2007-06-17 Ethan Merritt * src/save.c (save_tics): save [xyz]tics must not follow the "offset" info with a bare number, because a negative number will be mis-parsed. Bugfix. 2007-06-07 Ethan Merritt * src/unset.c (unset_label): Do not treat "unset label " as a fatal error just because label is not currently defined. Bug #1732706 * term/post.trm (PS_load_fontfile): Add missing %. Bug #1732991 2007-06-06 Petr Mikulik * docs/gnuplot.doc: Hotkey 'q' does not close the pm terminal. 2007-06-04 Petr Mikulik * term/djsvga.trm: Unify color sequence comply with other terminals. Fix DJSVGA_set_font(fontname) for an empty fontname. * src/plot.c (main): Avoid printing "??Unknow" as the System welcome message under some versions of DOS (compilation by DJGPP). * config/config.dj2 config/makefile.dj2: Updated Makefile for djgpp using a config.h file. 2007-06-03 Petr Mikulik * src/history.c (write_history_n): Cannot use int_error() when exiting gnuplot. 2007-06-03 Petr Mikulik * config/config.amg config/config.cyg config/config.mgw: Removed PNG_FOR_GIF. * config/makefile.cyg config/makefile.mgw: Removed PNG_FOR_GIF and GIF. Write requirement for gd 2.0 and newer. Enable GIF_ANIMATION and JPEG. 2007-06-01 Ethan Merritt * INSTALL: Remove obsolete instructions for unix builds without ./configure, old png driver. 2007-05-31 Petr Mikulik * src/command.c (pause_command): On Windows, Gnuplot always bailed to command line after "pause mouse". Print the message of "pause " into the gnuplot terminal unless for "pause -1 " (message box). 2007-05-28 Ethan Merritt * src/set.c (set_decimalsign): Follow POSIX standard with regard to finding the value of LC_NUMERIC from the environment. Use the first match to LC_ALL, LC_NUMERIC, or LANG. Bug #1692541 2007-05-25 Ethan Merritt * term/latex.trm: Add an explicit size option; clarify documentation. set terminal {latex | emtex} {default | {courier|roman} {}} {size {unit}, {unit}} This brings the latex terminal into line with other terminals in 4.2 2007-05-23 Ethan Merritt * term/svg.trm: Give font sizes explicitly in pt units. * term/svg.trm: Subscript/superscripts position must be done using relative offsets, not absolute offset. Otherwise it prematurely terminates the scope of the surrounding "chunk" of text. * Make a concession to non-compliant svg viewers and clean up the scope of tspan elements. Many current generation svg viewers do not implement "em" space units. To coddle these, we back off to approximating 1 em == (1.1 * fontsize)pt 2007-05-22 Petr Mikulik * src/command.c (pause_command): On Windows, "pause -1" does not work if it is the 1st command in a script. Bug #1713350. 2007-05-22 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxt_sigint_restore): properly pass a pointer to signal(). 2007-05-19 Ethan Merritt * src/plot2d.c (get_data) src/graphics.c (plot_lines): Allow 2D plots "with lines lc rgb variable". Bug #1720032 2007-05-16 Daniel Sebald * src/gplt_x11.c (image creation): Adjust image line pad according to image data width in XCreateImage(). Bug #1716389. 2007-05-14 Timothee Lecomte * src/command.c (fgets_ipc): Fix fgets_ipc so that it behaves like fgets (always NUL-terminate the returned string). Bugs #1716556 and #1673352 2007-05-09 Ethan Merritt * src/color.d (ifilled_quadrangle): Initialize line style before setting color. Bug #1715480 * src/misc.c (lp_use_properties): Pay attention to the point flag even if we fall through to a default line type. Bug #1715480 2007-05-07 Ethan Merritt * term/aquaterm.trm (AQUA_options): Allow terminal window ID to come from a variable. Bug #1714070 2007-05-05 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxtThread::Entry): Fix the initialization of a sigset_t. The structure is not meant to be known, functions are provided instead. The previous code was completely wrong on non GNU systems. 2007-05-04 Daniel Sebald * term/gd.trm (PNG_image): Fixed an image clipping bug in x dimension. 2007-05-04 Ethan Merritt * src/graph3d.c (key_sample_point_pm3d): The sample point in the key failed to note an explicit "lc rgb 'foo'" in the plot command, leading to a color mismatch between the plot and the key. Bugfix. 2007-04-25 Ethan Merritt * src/graph3d.c (do_3dplot): Correct Z coordinate of xyplane for log scale on Z. Bug #1703370. 2007-04-24 Ethan Merritt * term/x11.trm (X11_text): term_reset() tries to close down all files and pipes cleanly. But it called on exit, the pipe to gnuplot_x11 may already be closed. Don't try to write to it. Bug #1706945. 2007-04-17 Ethan Merritt * term/post.trm: Change the default to "blacktext" for the TeX-based terminal variants (pstex pslatex epslatex). This is more in line with the behaviour in versions 4.0 and earlier. In particular it means that the default settings do not require you to include the color.sty package. 2007-04-01 Ethan Merritt * src/util.c (gprintf): Accept the ' format specifier, which asks for digits to be grouped and separated according to the current locale. We just pass it on to the C library for application. Bug #1692550 2007-03-27 Ethan Merritt * docs/gnuplot.doc: Cross-reference 'set datafile fortran'. 2007-03-23 Ethan Merritt * src/color.h src/graphics.c (plot_image_or_update_axes) term/pdf.trm (PDF_filled_polygon) src/color.c (filled_quadrangle filled_polygon_3dcoords filled_polygon_3dcoords_zfixed): Change gpiPoints to contain signed x,y values. This is what the explanatory comment always implied ("same as in gd.h"), but it wasn't true. The change fixes several image and polygon clipping problems, including segfaults in the pdf driver. It also fixes broken filledcurves on 64-bit machines. Bug #1612502 2007-03-21 Daniel Sebald * src/graphics.c (boundary): The change of 2007-02-25 overlooked the 2D plots having palettes that also required setup_tics(COLOR_AXIS,). Bug #1684789 2007-03-21 Ethan Merritt These are mostly trivial patches that went into CVS soon after the code freeze for 4.2 * src/graphics.c (plot_impulses plot_points plot_dots) src/plot2d.c (get_data store_2dpoint store_label): Allows a third column of data containing color info to be used in 2D plots (points/dots/impulses/labels), * term/gd.trm (PNG_image) term/pdf.trm (PDF_image) term/post.trm (PS_image) src/wxterminal/gp_cairo.c (gp_cairo_draw_fillbox gp_cairo_draw_image): Teach gd pdf post and wxt terminals to clip images using the bounding box info passed in corners[2] and corners[3] via term->image(). * term/pdf.trm (PDF_SetFont): Trap errors from PDF font selection, making it non-fatal. * src/axis.c (get_position_default): Reduce the problem of trailing comma after 2D offset. * src/graph3d.c (plot3d_impulses): splot with impulses lt rgb variable. * src/graphics.c (do_key_sample): If the length of a boxplot sample in the key is set to zero, do not draw it at all. Without this patch, a spurious vertical line appears in the key if the fillstyle includes a border. * term/svg.trm (SVG_PathLimit SVG_MoveForced): Avoid ridiculously long paths by limiting total path length to 512. * src/util3d.c (draw3d_line_unconditional): Clip line segment. Fixes segfault when line segment endpoint went negative in bitmap.c Bug #1649887 * src/graph3d.c (do_3dplot draw_3d_graphbox): Add special-case tests to insure that the plot border is drawn either back or front (in front of the grid) when splot_map is set. Bug #1655001 * term/gd.trm (PNG_vector): Grid lines (linetype 0) were always treated as alternating black/white/black/white. Change this to alternating current_color/transparent/current_color/transparent. Bug #1655001 * src/set.c (parse_label_options): Make sure that there is a default point type, so that 'set label point' does in fact draw an acceptable point. * src/datafile.h src/datafile.c (df_reset_after_error) src/util.c (int_error): The routines in datafile.c use local variables to track the context of expression evaluation; e.g. expressions may only reference data column values inside a `using` statement. But the state of these context variables is corrupted if an error exit bails directly to the command line, thus bypassing the normal execution path. Therefore we provide a routine df_reset_after_error() to be called from int_error(). * src/eval.c docs/gnuplot.doc: Allow strcol() and shorthand for stringcolumn() * src/unset.c (unset_style): Add missing command "unset style line ". * term/gd.trm (PNG_init): The color palette indexing of the brush is not necessarily the same as that of the main image. Set initial color index to something invalid so that we force an update on first use. Bug #1673316 * src/term.c (init_term): Normally we initialize the default terminal on program entry. However, if the default is x11 then defer initialization until an actual plot command. This mitigates problems if gnuplot_x11 cannot be started normally, and allows the user to select a different driver in the case that x11 is the default but is broken. Bug #1530601 * src/win/winmain.c (appdata_directory): WinNT can segfault if APPDATA is missing from the environment. 2007-03-03 Ethan Merritt * PATCHLEVEL src/version.c configure.in docs/gnuplot.texi: Tag and package for release of 4.2 patchlevel 0 * docs/titlepage.tex: Update 2007-02-27 Ethan Merritt * src/graphics.c: Remove spurious #ifdef that was masking the code to allow room for subscripts or superscripts when placing the x-axis label. Bug #1669038 2007-02-26 Ethan Merritt * docs/gnuplot.doc: Add mention of "set multiplot title ". * term/metapost.trm: Add missing terminal flag. 2007-02-25 Petr Mikulik * src/color.c (draw_color_smooth_box) src/plot3d.c (eval_3dplots): Call setup_tics(COLOR_AXIS, 20) at the same place as setup_tics(...) for all other axes. Until now it was called much later during color box drawing where it could change the colour axis min or max by rounding it to lower/upper tics step. 2007-02-22 sobukus@users.sourceforge.net * m4/apha.m4: Fix syntax of configuration test for gcc on alpha 2007-02-21 Shigeharu Takeno * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation to current version. 2007-02-18 Petr Mikulik * src/pm3d.c (pm3d_plot): Use the z-averaging also for flushed triangles. 2007-02-17 Petr Mikulik * docs/gnuplot.doc: Updates in dgrid3d and contours sections. 2007-02-13 Ethan Merritt * src/graphics.c (boundary): Do not apply log scale range checks to colorbar and palette unless these really are used in the plot. Bug #1659059 * docs/gnuplot.doc docs/gnuplot-ja.doc: Clarify the section on 'set log', and remove an empty entry point for 'set log cb'. 2007-02-11 Petr Mikulik * src/command.c (pause_command): On Windows, cannot wait for Enter in "pause -1" in a non-interactive session without the graph window. 2007-02-10 Petr Mikulik * src/command.c (pause_command): On Windows, wait for Enter in console instead for a mouse click in a special window if the graph window is not (yet) present. 2007-02-09 Ethan Merritt * term/README: Fix confusing typo in TERM_TABLE layout description. 2007-02-10 Petr Mikulik SF #1651350 win terminal: pause mouse key|any does not work * src/mouse.c (event_keypress): Kill pending Pause dialog. * src/win/wpause.c (PauseBox): Don't show "OK CANCEL" dialog when pausing for mouse. 2007-02-09 Daniel Sebald * term/pdf.trm (PDF_point): Point type 1 was incorrectly drawn as a dot. Bug #1656433 2007-02-10 Juergen Wieferink * src/plot.c (main): Flag 'interactive' not reset to FALSE after running command "gnuplot - nonExistingScript.gp". On some platforms, gnuplot cannot 'exit' and goes to an infinite loop after Ctrl-D. Bug #1612995 2007-02-09 Petr Mikulik * docs/gnuplot.doc: Add a dummy label for "3 data style" to avoid bug in doc2gih (try "help contour"). 2007-02-08 Petr Mikulik * src/plot3d.c (eval_3dplots): Improved message for non-grid data. 2007-01-31 Ethan Merritt * term/gd.trm (ENHGD_FLUSH): libgd 2.0.34 will allow explicit request for Adobe Symbol font encoding. Make use of this to handle transient use of Symbol font in enhanced text. Does not affect older gd versions. 2007-01-29 Per Persson * configure.in: Testing libreadline for remove_history presence instead of readline to avoid incompatible libedit wrapper. 2007-01-26 Petr Mikulik * term/post.trm: Typo in docs. 2007-01-24 Ethan Merritt * src/hidden3d.c (build_networks): Add checks in the hidden3d code to cleanly skip empty plots. This fix went into the trunk CVS 2 months ago, but apparently is needed in 4.2 also (test case provided by a user). 2007-01-23 Ethan Merritt * configure.in: The libreadline checks got mangled. Bad patch? This fixes the breakage, and adds a warning if gd.h is not found. * PATCHLEVEL src/version.c configure.in: Tag and package as release candidate 4.2-rc4 2007-01-22 Ethan Merritt * PATCHLEVEL src/version.c configure.in: Tag and package as release candidate 4.2-rc3 2007-01-22 Petr Mikulik * configure.in: Let the GNU readline be the default instead of the built-in readline. Improved messages for --with-readline. 2007-01-20 Petr Mikulik * plot3d.c (plot3drequest): Deactive splot_map when reading [y1:y2] argument of splot. Fixes axis reversal of set view map;splot [] [y1:y2]. 2007-01-19 Petr Mikulik * demo/pm3d.dem: Better title for plots with scans forward and backward. 2007-01-14 Ethan Merritt * src/gplt_x11.c (pr_encoding) term/x11.trm share/Gnuplot.app-defaults: Gnuplot_x11 has been using a default encoding *-* for x11 fonts. There is a bug in xorg-7.1 that causes this to fail. So we now provide an optional X-resource that can be used to set the default encoding to something else. E.g.: echo "gnuplot*encoding: iso8859-15" | xrdb -merge 2007-01-10 Ethan Merritt * src/gplt_x11.c (PaletteSetColor): Update current color in plot->current_rgb when setting color from a Palette. Bugfix. 2007-01-09 Ethan Merritt * docs/gnuplot.texi: Sync with current docs 2007-01-06 Ethan Merritt * term/gd.trm: Add error return check after calling gdImageCreate. This was not a useful check in earlier versions of libgd, but 2.0.34 will introduce serious sanity checking at the time of image creation. 2006-12-31 Ethan Merritt * docs/term-ja.diff: Sync with current terminal source files. 2006-12-28 Daniel Sebald * src/datafile.c (isanumber_pn, isatuple, token2double): Removed these functions as they repeat behavior of and somewhat inconsistent with real(const_express()). (plot_option_array): Use : instead of , for separator between elements. (token2tuple): Use real(const_express()) to parse image parameters. This allows variables to be used in image specs. (plot_option_comma_separated): Changed "comma_separated" to "multivalued" everywhere. Changed the separator to a colon rather than a comma since the comma conflicts with the separator between multiple plots within a plot command. The colon is also more consistent with the separator used in other commands like "using". * demo/image.dem: Replaced , with : in appropriate places. Bug #1590658 2006-12-24 Ethan Merritt * term/svg.trm: Remove unused variable to quiet compiler warnings. 2006-12-23 Ethan Merritt * src/graph3d.c (draw_3d_graphbox): Honor 2D setting for bmargin in 3D plots with "set view map". * configure.in: I still can't spell "COMPATIBLE" 2006-12-21 Ethan Merritt * term/gd.trm (PNG_graphics) docs/gnuplot.doc: Announce deprecation of "set size" to control output canvas size. Document the intended difference: set term ... size XX,YY controls size of canvas set size XX,YY scales relative to the canvas Warn that png/gif/jpeg (and pbm pdf) terminals honor old syntax for now, but will require explicit 'set term size ...' in post-4.2 versions. 2006-12-16 Ethan Merritt * src/datafile.c (df_tokenise df_parse_string): Allow for quoted strings in comma-separated value files. Bug #1614424 * src/graph3d.c (draw_3d_graphbox): Honor 2D front/back settings for axis, grid, and border elements in 3D plots with "set view map". 2006-12-15 Ethan Merritt * configure.in: Fix spelling of BACKWARDS_COMPATIBLE 2006-12-10 Daniel Sebald * src/README src/graphics.c (plot_image_or_update_axes): Augmented sign tests for determining image pixel orientation with the terminal scales in the x and y dimensions. Bug #1589589 2006-12-09 Ethan Merritt * src/plot3d.c (get_3ddata): If the first data file is non-empty but has no usable data, then auto-scaling fails. Instead of a fatal error, just print a warning and try to plot subsequent data files. Bug #1610430 * demo/borders.dem: Replace deprecated syntax defined(bb) with exists("bb"). * configure.in: Make the selection of backwards-compatibility an explicit option. We have been enabling it without even asking. Now you can disable it if you want to. Defaults to --enable-backwards-compatibiliy 2006-12-08 Ethan Merritt * src/set.c (set_tic_prop) src/save.c (save_tics): NO_TICS is a bitmask value, not an integer constant. All tests for NO_TICS must be masked through TICS_MASK. Bug #1611764 2006-12-07 Timothee Lecomte * configure.in: Fix use of --without-kpsexpand 2006-11-24 Ethan Merritt * docs/term-ja.diff: Update patch to match 4.2-rc2 driver source. 2006-11-28 Timothee Lecomte * configure.in: Fix bug in --{en|dis}able-wxwidgets * src/wxterminal/wxt_gui.cpp: * src/wxterminal/wxt_gui.h: Allow building with wxMac, in addition to wxMSW and wxGTK. 2006-11-24 Ethan Merritt * PATCHLEVEL configure.in src/version.c docs/gnuplot.texi: Update in preparation for second release candidate 4.2-rc2. * term/svg.trm: Back out the raw/escaped option. It needs more thought. 2006-11-23 Mike Sutton * term/gd.trm (PNG_init PNG_vector PNG_point): Fix off-by-one error in specifying brush definitions that control line width. 2006-11-22 Ethan Merritt * term/pdf.trm (PDF_graphics): The multiplier from 'set size' was being applied twice, so the resulting plot scaled as the square of the size. Apply it only once, to the plot, not to the canvas. * term/pbm.trm (PBM_graphics PBM_options): Decouple 'set size' from 'set term pbm size XX,YY'. The latter will always yield an XX,YY image. Maintain (pre-4.2) behaviour if no explicit terminal size is given. 2006-11-19 Ethan Merritt * config/makefile.mgw term/PostScript/prologue.ps PostScript/prologues.h term/post.h: Update version number 4.1 -> 4.2 in several places. * term/fig.trm (FIG_set_color): TC_LT was handled incorrectly. Bug #1599346 * src/misc.c (lp_use_properties): Remove annoying warning messages. 2006-11-18 Ethan Merritt * term/fig.trm (FIG_filled_polygon) term/tgif.trm (TGIF_filled_polygon) term/pstricks.trm (PSTRICKS_filled_polygon): These terminals were issuing a spurious warning message if term->filled_polygon() was called without a color palette having been initialized. It is perfectly fine to fill a polygon with other types of colorspec. 2006-11-17 Ethan Merritt * term/cgm.trm (CGM_set_color): Fix stupid typo in array bounds check. 2006-11-16 Ethan Merritt * src/plot2d.c (eval_plots): Giving a title for "newhistogram" is documented as optional. Do not return an error if it is missing. * INSTALL: Add mention of patches needed for Ultrix compilation. 2006-11-15 Ethan Merritt * graphics.h graphics.c (place_rectangles) graph3d.c: Add a parameter to place_rectangles that indicates with certainty whether this is a 2D plot or a 3D plot. Allow rectangles in splot if they are specified in screen coords. Also, insure that 'set view map' does not affect 2D plots. Bug #1596313 2006-11-12 Ethan Merritt * src/save.c (save_set_all): The gpsavediff script strips out lines from a gnuplot save file if the options they describe have not changed from the default. We can help this simplification by writing infrequently used suboptions on a separate line. Also change saved command 'set key nobox' to match documented syntax. 2006-11-10 Timothee Lecomte * src/win/wpause.c: * src/win/wtext.c: * src/wxterminal/wxt_gui.cpp: * src/wxterminal/wxt_gui.h: * src/wxterminal/wxt_plot.h: Rework and simplify the event handling from the wxt terminal on Windows. Remove hooks from the wxt terminal in the Windows files. * src/plot.c (main): * src/plot.h: Introduce a boolean to track the use of "-persist" on the command line. Remove WXWIDGETS-specific code. Call term_reset() using GP_ATEXIT(). * src/wxterminal/Makefile.am: * src/wxterminal/wxt_plot.h: Remove the file wxt_plot.h, now unused. * src/wxterminal/wxt_gui.cpp (wxt_init, wxt_atexit): * src/wxterminal/wxt_gui.h: Use GP_ATEXIT() to register wxt_atexit(). Rework "persist" behaviour on Windows. * configure.in: * wxt_gui.cpp (wxt_atexit): * wxt_gui.h: Use fork() to make the "persist" behaviour satisfying on UNIX. 2006-11-07 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxtPanel::DrawToDC): Draw the zoom coordinates with the same font as the plot. 2006-11-04 Ethan Merritt * term/x11.trm (parse_driver): If this routine fails on first entry, we must not call int_error() because the longjump has not been set up yet. I.e. "setenv GNUPLOT_DRIVER_DIR illegal; setenv GNUTERM x11; gnuplot" would segfault on entry. Just a print warning and hope the user notices. 2006-11-03 Ethan Merritt * src/datafile.c (df_readline): If the datafile we are supposedly reading from was never opened, simply return DF_EOF. This relieves the caller from having to check this separately before calling df_readline. * src/datafile.c (df_open); If the datafile cannot be opened, set df_eof and return DF_EOF. FIXME: Having both methods is stupid; we should just get rid of df_eof and use the return value. * src/graph3d.c (do_3dplot draw_3d_graphbox) src/graphics.c (do_plot): * src/plot3d.c (eval_3dplots): Do a better job of skipping over plots marked NODATA. In particular do not try to scan their data for scaling or plot limits, and do not place an entry in the key box. Bug #1579867 2006-11-03 Ethan Merritt * src/datafile.c (df_readbinary): Fix error in logic of 2D and 3D rotation matrix initialization. 2006-11-01 Ethan Merritt * docs/gnuplot.doc: Add an entry key for "help file", because otherwise this takes you to a section on avs binary format (confusing). 2006-10-28 Ethan Merritt * src/show.c (show_ticdef) src/save.c (save_tics): Sace/show textcolor of tic labels correctly for cases other than a pure linetype (TC_LT). Bug #1586427 2006-10-22 Hans-Bernhard Broeker * src/graphics.c (plot_image_or_update_axes): Operator | is forbidden on real C99 booleans. Use || instead. * src/datafile.c (df_readbinary): Operator | is forbidden on real C99 booleans. Use || instead. * src/axis.c (setup_tics): Operator & is forbidden on real C99 booleans. Use && instead. * config/makefile.oww (WCFLAGS): Add -za99 to enable _Bool type in recent versions of OpenWatcom. (default): Mark .SYMBOLIC for wmake. (texticon.ico): Avoid endless rebuild by copying the generation command. 2006-10-21 Ethan Merritt * src/datafile.c (df_open): Fix bug limiting the options for reading a plot key label from the data file; now allow title subcommand: plot foo using 1:(column(N)) title column(N) * src/plot2d.c (get_data): Add #ifdef EAM_HISTOGRAMS to a section that prevented configuration with --disable-histograms 2006-10-21 Timothee Lecomte * configure.in: Rework the summary displayed at the end of the 'configure' script, so that it is more complete, useful, consistent and still readable. 2006-10-20 Bernhard Simon * src/color.c (make_palette): Add missing stderr parameter in FPRINTF debugging statements. 2006-10-17 Ethan Merritt * term/svg.trm: option to control treatment of non-ascii characters "set term svg raw" - pass them through unaltered "set term svg escaped" - replace byte-by-byte with &#xNN; * configure.in: Print a warning if snprintf() is not found during auto- configuration. Recommend that the user provide snprintf() via an external version. 2006-10-15 Ethan Merritt * term/gd.trm: Switch to Unicode-compatible representation of octal characters given as \xxx in a single-quoted test string. Bug #1534649 2006-10-14 Ethan Merritt * term/svg.trm (SVG_options): Do not reset terminal options to default values if invoked from `set termoption` rather than `set terminal`. Bug #1534649 2006-10-13 Ethan Merritt * demo/rgb_variable.dem: Some platforms do not allow you to read a hexadecimal constant via strtod(). This prevents reading RGB colors as hexadecimal constants. Add a test for this, and print a warning. Bug #1574814 * term/gplt_x11.c: Place #ifdef HAVE_STRDUP protection around a code section that uses it to send signals to the KDE konsole. Older systems may not provide strdup(), but they also don't run KDE. Even if they did, the code in question is hardly a required feature. Fixes compile problem on Ultrix. 2006-10-12 Ethan Merritt * term/svg.trm: Replace -rc1 svg driver with the version from cvs 12 Oct 2006. This changes the handling of escaped characters and characters given as octal constants. Bug #1575007 2006-10-12 Daniel Sebald * docs/gnuplot.doc: Small corrections. * term/post.trm (PS_encode_image): Added gamma correction for images using a PostScript transfer function. SF Patch [1575425]. 2006-10-11 Petr Mikulik * src/command.c (test_palette_subcommand): Fixed order of set tics commands. 2006-10-10 Ethan A Merritt * m4/alpha.m4: Have the new macro use __alpha as the basis for the test. Checked on Digital Unix 4.0D and Tru64 V5.1 2006-10-10 Hans-Bernhard Broeker * m4/alpha.m4: New macro GP_ALPHA. Try to auto-detect if compilater targets DEC Alpha/AXP CPU. If so, add -mieee or -ieee flag to CFLAGS to avoid FPU weirdness. * configure.in (GP_ALPHA): Call new macro. 2006-10-08 Petr Mikulik * NEWS README.1ST src/version.c: Updates. 2006-10-08 Daniel Sebald * demo/borders.dem: Place all 16 plots on one multiplot. * demo/all.dem: Put borders.dem inside all.dem. 2006-10-08 Hans-Bernhard Broeker * docs/gnuplot.doc: Fix gotcha in list of alignment options in 'at ' case. 2006-10-05 Ethan A Merritt * src/term.c (change_term): For backward compatibility, allow "set term X" as shorthand for "set term x11". 2006-10-04 Ethan A Merritt * tutorial/eg7.plt: Make sure no local encoding is in effect, since the corresponding TeX package is probably not going to be loaded. * term/post.trm (PS_vector): Fix breakage introduced by Bugfix #1542050. The path length must not be set to 0 without issuing a stroke command, otherwise the current path may never be flushed at all. 2006-10-03 Hans-Bernhard Broeker * src/graph3d.c (place_arrows3d): Clip arrows even in 3D. Patch from Harald Harders (SF #1569232). 2006-10-02 Ethan A Merritt * share/LaTeX/Makefile.am: If ./configure has determined that TeX is not installed on this machine, do not try to install gnuplot.cfg in the TeX directory tree. Bug #1569033 2006-10-02 Daniel Sebald * docs/gnuplot.doc: Changed documentation for image to reflect fact that uniform sampling is assumed. Fix other typos. 2006-10-01 Ethan A Merritt * docs/gnuplot.texi docs/doc2texi.el docs/gnuplot.doc: Update version number to 4.2 and date to 2006 2006-10-01 Hans-Bernhard Broeker * PATCHLEVEL: Mark for first release candidate. 4.2-rc1 * VERSION: Bump to version 4.2. 2006-10-01 Hans-Bernhard Broeker * configure.in (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR): Changed to allow automake version to be checked. Avoid annoyingly frequent problems from CVS users who just have too ancient automakes, but only detect that by showing us obscure error messages. Required automake may have to be increased still. 2006-09-28 Timothee Lecomte * src/wxterminal/wxt_plot.h: Fix compilation on Windows, where syscfg.h has to be included for TBOOLEAN to be defined in wtext.c 2006-09-26 Juergen Wieferink * src/graphics.c (plot_betweencurves): If the input file contains a blank line, terminate current filled area and start a new one. Unfortunately it is not currently possible to distinguish between a blank line and an invalid/missing coordinate. * src/plot2d.c (get_data): Add comments to document the problem of distinguishing a blank line from an invalid data point. (EAM) Bug #1563430 2006-09-24 Shigeharu Takeno * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation, SF Patch [1519215]. 2006-09-23 Ethan A Merritt * src/pm3d.c (set_plot_with_palette): It used to be that all plots needing a colorbox had pm3d_color.type == TC_DEFAULT. This is no longer true, so add a more specific check on whether a colorbox is needed. Bugfix. 2006-09-23 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxtPanel::OnSize): Clean floating-point comparison nonsense. 2006-09-22 Juergen Wieferink * term/post.trm (PS_vector): To avoid accummulated error in a long series of relative moves or draws, we were issuing a "stroke" command periodically to force an update of the absolute position. This has the bad side affect of resetting the current dot/dash pattern. Fix this so that instead of using "stroke", we simply force an absolute vector before continuing. This avoids accummulated error but does not reset the dot/dash pattern. Bugfix #1542050 2006-09-21 Timothee Lecomte * configure.in: Bump required version of wxWidgets to 2.5.3 for the wxt terminal. * src/wxterminal/wxt_gui.cpp (DrawToDC): Fix double cast warnings. Fix a lazy constructor that seems not to be accepted on all setups. 2006-09-19 Ethan A Merritt * src/show.c (disp_value): Force clean printout of "NaN" on save, print, or show commands. Without this, the value is printed as "nan.0", which is not parsable by set or load commands. Bugfix #1544347 2006-09-16 Timothee Lecomte * configure.in: Rework the checks for cairo and pango so that the error messages are more helpful, mostly by copying the defaults pkg-config messages and making them non-fatal. Revert the minimum version of pango to 1.10.0 but refuse to compile the wxWidgets terminal with pango 1.10.2. 2006-09-16 Hans-Bernhard Broeker * docs/gnuplot.doc (set format): Make documentation for missing argument match actual behaviour. 2006-09-15 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (DrawToDC): Fill in gray the empty space that has been let by a change in the aspect ratio of the window. * trm/wxt.trm (TERM_HELP): Try to document the window resize behaviour a little better. 2006-09-14 Timothee Lecomte * configure.in: Bump the required version of pango to 1.10.3 to fix a bug in earlier versions about scaling matrix not being applied properly to the fonts. 2006-09-12 Hans-Bernhard Broeker * docs/gnuplot.doc (format specifiers): Fix typo in one example. 2006-09-11 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxtConfigDialog::OnButton): * src/wxterminal/wxt_gui.h (wxt_settings_queue, wxt_settings_apply): Queue the modified rendering settings instead of applying them right away, so that the plot is not messed up during a window resize. 2006-09-10 Timothee Lecomte * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Fix the use of the Symbol font in non-enhanced mode, a peace of code was not pasted properly. * src/wxterminal/wxt_gui.cpp (wxt_set_font): Fix the use of a non-initialized integer as the fontsize. 2006-09-10 Shigeharu Takeno * docs/gnuplot-ja.doc: Sync Japanese documentation to recent changes in English files. SF Patch [1519215], rev.1.385. 2006-09-01 Juergen Wieferink * src/command.c (string_expand): Fix segfault if a truly enormous string is to be used as an input line. 2006-09-01 Petr Mikulik * docs/gnuplot.doc: Edits of the "What is new in gnuplot 4.2". * docs/gnuplot.doc term/x11.trm: Comments on 'raise' does not raise. 2006-08-30 Harald Harders * src/graphics.c (place_arrows): Allow for terminal-specific clipping, exactly as done elsewhere in the code. 2006-08-30 Ethan A Merritt * src/graphics.c (do_plot): The border attribute of fill style was ignored by filledcurves. Change this to match all other places where fillstyle is honored. 2006-08-28 Lars Hecking * prepare: Allow importing auto* tools from the environment. 2006-08-26 Ethan A Merritt Fix program errors revealed by issuing the command sequence set termoption font 'face,size'; show term set termoption font 'face'; show term to all terminal types. * term/gd.trm term/svg.trm term/tgif.trm: Accept comma-separated font face, size. Reset to default font size if no size information is given. * term/tkcanvas.trm: Fix infinite loop if unrecognized terminal option. 2006-08-24 Ethan A Merritt * src/plot3d.c (get_3ddata): Increment the current point even if its value is undefined. This allows grid spacing to be maintained, and correctly handles `splot ... using ($1):($2):($3)`. FIXME: This is only a partial solution. Deeper problems exist in the handling of missing/NaN/junk data values during input. In particular, gridding is still corrupted in the case of `splot ... using 1:2:3`. 2006-08-23 Ethan A Merritt * src/color.c (cbtick_callback): Add handling of text properties associated with colorbox tic labels, making them like the other axis tic labels. Bug #1543927 2006-08-21 Shigeharu Takeno * docs/gnuplot-ja.doc Sync Japanese documentation to recent changes in English files. (rev.1.383) 15Aug2006 2006-08-21 Ethan A Merritt * src/save.c (save_variables__sub): Do not save NaN to output file, since it does not print correctly. * src/eval.c (update_gpval_variables): Make it explicit which variables are updated from which context. * src/plot.c (main) src/util.c (int_error): Call update_gpval_variables on program entry and on int_error. Bug #1540398 (last release-critical tracker item) 2006-08-19 James R. Van Zandt * term/cgm.trm: update email address 2006-08-19 Ethan A Merritt * src/graphics.c: One half of the definition of clip_fill was inadvertently omitted from the patch of 2006-06-04. This fix allows the improved clipping to apply to all filled curves, whereas without it the new clipping code only checked for "closed" filled curves. 2006-08-16 Ethan A Merritt * src/gadgets.h: Initialize default histogram title structure to use character units for the title offset. Fixes spurious error if the y axis is log scale. 2006-08-14 Ethan A Merritt * src/graphics.c (do_key_sample): Check for terminal support of term->filled_polygon before using it to draw a key sample. Fixes segfault in epson driver (and probably others) if a filled area is assigned an RGB color. Bugfix. * src/eval.c (update_gpval_variables): Test for term==NULL, and if so return without doing anything. This prevents a segfault. However, why does the program not trigger a similar segfault elsewhere? Bug #1540398 2006-08-13 Ethan A Merritt * docs/gnuplot.doc: Clarify the argument required by exists(), and provide an example of passing it a string variable containing the name of another udv (possibly useful in conjunction with macros). 2006-08-13 Petr Mikulik * docs/doc2tex.c (puttex): Don't split index words at - or _; replace _ by space. 2006-08-11 Ethan A Merritt * term/PostScript/prologue.ps: Remove comment with my name in it. Further tweak to the PatternBgnd macro. 2006-08-12 Petr Mikulik * term/PostScript/cp437.ps term/PostScript/cp850.ps term/PostScript/koi8r.ps: Remove superfluous C comment characters. * term/PostScript/cp852.ps: Remove my info. 2006-08-11 Timothee Lecomte * term/post.trm: Fix preprocessor logic for !defined(GNUPLOT_PS_DIR). 2006-08-11 Petr Mikulik * term/PostScript/prologue.ps: Replace multiple spaces by a tabulator. * docs/doc2tex.c (puttex): Remove superfluous spaces around \index{x}. 2006-08-11 Bastian Maerkisch * config/makefile.nt: Define GNUPLOT_PS_DIR to use external PostScript prologue files. 2006-08-11 Petr Mikulik * docs/gnuplot.doc: Some comments in the help for bind and mouse variables. 2006-08-10 Shigeharu Takeno * docs/gnuplot-ja.doc Sync Japanese documentation to recent changes in English files. (rev.1.381) 08Aug2006 2006-08-09 Ethan A Merritt * term/post.trm term/PostScript/prologue.ps: Move the pattern-fill background initialization out of the terminal driver and into the prologue script, with a user-toggle at the top of the file. Allows pseudo-transparency, and complete redefinition of the pattern styles without rebuilding gnuplot. 2006-08-09 Timothee Lecomte * docs/Makefile.in: Revert change from 2006-07-18 (define GNUPLOT_PS_DIR), now useless as the PostScript prologue help no longer has any #ifdef. 2006-08-09 Bastian Maerkisch SF Patch [1505261] wgnuplot: open file-open-dialog in current dir * src/win/wmenu.c (SendMacro): Windows XP uses a strange initial directory for the file open dialog. This patch forces the dialog to always open in the current directory. So now, if you change the directory via 'cd', the file open dialog opens where expected. 2006-08-08 Hans-Bernhard Broeker * src/show.c (show_version): Fix C99-ism by reintroducing a pair of braces that had been removed. 2006-08-07 Timothee Lecomte * src/wxterminal/wxt_gui.cpp (wxtPanel::wxt_cairo_create_bitmap): Use a reference instead of a pointer to avoid misusing an undocumented constructor that will be removed in wxWidgets >= 2.7.0. 2006-08-07 Ethan A Merritt * demo/all.dem: Add rectangle.dem to the standard test set. * demo/image.dem demo/macros.dem demo/rainbow.dem demo/rectangle.dem: Now that we have the configuration options in GPVAL_COMPILE_OPTIONS we can use this to test for the presence of optional features needed for any particular demo. These particular demos require configuration options that are marked EXPERIMENTAL in version 4.2, so we test for the presence of the feature and if it is missing then we print a warning message and skip the rest of the demo. This allows "make check" to succeed even if the EXPERIMENTAL features are configured out. 2006-08-06 Timothee Lecomte * docs/gnuplot.doc: Document GNUPLOT_PS_DIR in the list of environment variables. * INSTALL: Likewise. Synchronize the output of `./configure --help'. Document the requirements of the wxWidgets terminal. * configure.in: Remove detection of libpng, useless since the standalone png driver has been removed. * src/Makefile.am (AM_CPPFLAGS); Remove PREFIX and VERSION_MAJOR, those were used by the wxWidgets terminal but are not anymore. 2006-08-05 Ethan A Merritt * tutorial/tutorial.tex: Update version statement to 4.2 * src/version.c src/version.h: Global (char *)compile_options. * src/show.c (show_version): Save the configuration options string produced for "show version long" in (char *)compile_options. If called as show_version(NULL), do this and nothing else. * src/plot.c (main): Call show_version() on program entry in both interactive and non-interactive mode so that it initializes the compile_options string. * src/eval.c (update_gpval_variables): New udv GPVAL_COMPILE_OPTIONS that makes the compile_options string available to the user. 2006-08-05 Daniel Sebald * src/history.c: Built-in readline history command was losing one saved entry every time. Fix the start point for the save. Bug #1531532 2006-08-04 Ethan A Merritt * term/pdf.trm term/post.trm term/emf.trm term/cgm.trm term/metapost.trm: term->options() should not reset the terminal to its default values if it is called from "set termoption" rather than from "set term". Bug #1534649 * docs/gnuplot.doc: Fix typo and update example commands to use exists("Foo") rather than define(Foo). * src/eval.c (update_gpval_variables): Store PATCHLEVEL as a string if possible, so that people can use this as an identifier for customized versions. 2006-08-03 Ethan A Merritt * term/pdf.trm (PDF_set_color PDF_linetype PDF_filled_polygon): Implement the "mono" option, which up until now has not done anything other than failing to set new linetypes. Bug #1517932 2006-08-03 Petr Mikulik * term/PostScript/prologues.h: Regenerated. * term/PostScript/ps_header.sh: Force always the same sorting. * term/post.trm term/PostScript/prologue.ps: Move "Blacktext {} if" into the definitions of {M}{LCR}show, to avoid it directly in the postscript body. 2006-08-01 Ethan A Merritt * src/datafile.c (df_readascii): Allow a string-valued function to provide the time/date string for interpreting axis coordinates given after 'set {xyz}data time'. Bug #1445586 2006-07-31 Timothee Lecomte * README.1ST: Update notes on the gd library. 2006-07-31 Ethan A Merritt * term/gd.trm (PNG_linetype): Fix off-by-one error in checking for minimum legal linetype. Could conceivably have caused a segfault. * demo/rectangle.dem demo/html/index.save: Update demo for 4.2 2006-07-30 Ethan A Merritt * docs/gnuplot.doc (Known Bugs): The 'nohidden3d' options does not work for parametric curves. Bug #1531432. 2006-07-30 Shigeharu Takeno * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-30 Timothee Lecomte * term/post.trm: Reword the doc about the prologue files, so that we do not need the #ifdef GNUPLOT_PS_DIR, and so that the use of the environment variable GNUPLOT_PS_DIR is always documented since it is always available. 2006-07-30 Daniel Sebald * docs/gnuplot.doc: Format norm()/invnorm() info for 80 characters. 2006-07-29 Ethan A Merritt * configure.in: Remove warning about needing a patch for libreadline (not relevant to libreadline version 5). * docs/gnuplot.texi: Update to match current documentation. 2006-07-29 James R. Van Zandt * docs/gnuplot.doc: clarify definitions of functions norm() and igamma() 2006-07-29 Timothee Lecomte * docs/gnuplot.doc: Another round of additions to the "news" section of the help. * src/plot.c (main): Fix parsing of "-persist" for the wxWidgets terminal when X11 is not defined, and when _Windows is defined. * term/ai.trm (TERM_HELP): Add notice that the terminal is outdated and that post should be used instead. 2006-07-28 Timothee Lecomte * docs/gnuplot.doc: Add details about new features in 4.2 with full sentences and following the same format as 4.0 new features. * src/command.c (rlgets) [HAVE_LIBREADLINE]: Add an extra string comparison not to remove false duplicates from the history. BUG #1529200 2006-07-28 Ethan A Merritt * tutorial/Makefile.am.in: Set environmental variable GNUTERM to latex before running gnuplot on the tutorial demos. Bypasses any potential conflicts of default terminal type with currently installed terminals. Bugfix. * src/misc.c (lp_parse parse_colorspec): Incorrect parsing of linetype colorspec if the colorspec was not the last thing on the command line. Bug #1526387 * term/emf.trm: Implement "set term emf ... size XX,YY". * term/post.trm term/dumb.trm: Update terminal description 2006-07-27 Ethan A Merritt * term/pslatex.trm (EPSLATEX_set_color): If the color is specified by linetype, fall back to PS_linetype for monochrome/grayscale plots. Bug #1529884 2206-07-27 Timothee Lecomte * docs/gnuplot.doc (x11_mouse): Reword the section about possible hangs when piping from /dev/null to reflect the 4.2 behaviour where mouse is turned on by default. * src/plot.c (main): * src/wxt_gui.c (wxt_atexit): * src/wxt_plot.h: Move the code parsing **argv for "-persist" from wxt_atexit() to main(). X11_args() parses it too in main() and removes the tokens that it recognizes from **argv, so we need to do it before that happens. Also avoid processing of the mouse events when the wxt terminal is not the current active one at exit time. 2006-07-27 Shigeharu Takeno * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-26 Per Persson * term/aquaterm.trm: Made UTF8 the default encoding for AquaTerm. 2006-07-26 Hans-Bernhard Broeker * tutorial/Makefile.am.in (RUN_GNUPLOT): Can the .plt.tex command sequence into this new macro. (.plt.tex): Use the new macro. Ged rid of the @ marker that hides the gnuplot invocation, while at it. (eg7.eps): New rule using the macro, to ensure make knows how to make the .eps file, even if the .tex output is still present. 2006-07-26 Timothee Lecomte * tutorial/.cvsignore: Add *.eps and test.tex to the list of files to be ignored by CVS. 2006-07-25 Timothee Lecomte * term/README: Change IMAGE_DRIVER to the true WITH_IMAGE. 2006-07-24 Timothee Lecomte * term/wxt.trm (wxt_options): Fix wrong test on tri-state variable. 2006-07-23 Timothee Lecomte * docs/gnuplot.doc (Syntax): Change wording to avoid reference to `enhanced postscript`. 2006-07-22 Timothee Lecomte * docs/gnuplot.doc: Add here and there some references to the wxWidgets terminal, where appropriate. * term/post.trm (00psglobal): Remove reference to 'if compiled with pm3d'. * term/post.trm (epslatex): Change reference from 'set ticscale' to 'set tics scale'. 2006-07-21 Ethan A Merritt * src/gplt_x11.c term/x11.trm term/wxt.trm: Make x11 and wxt share a common syntax for switching between "quit = q" and "quit = ctrl-q" behaviour from the command line: set term foo {{no}ctrlq} 2006-07-20 Ethan A Merritt * src/eval.c src/eval.h src/plot.c: Add a pre-defined udv NaN that is guaranteed to evaluate as NaN. This provides a convenient way to define a user function that explicitly returns NaN under some conditions. Bug #1158281 2006-07-20 Shigeharu Takeno * docs/gnuplot-ja.doc: Sync to current English version. 2006-07-20 Ethan A Merritt * term/*.trm: Revert patchset of 2006-07-06 Restore explicit help entries for "set term foo ...". Daniel has a patch to help.c which would obviate this fix, but I judge that had better wait til after 4.2. This returns us to a state that was satisfactory for a long time. * docs/term-ja.diff: EAM - Modify patch so that it applies without error, but it still needs to be updated to track the recent changes to post.trm that add a section describing GNUPLOT_PS_DIR. 2006-07-18 Timothee Lecomte * src/wxterminal/wxt_gui.h (wxtPanel): New state variable wxt_ruler_lineto. * src/wxterminal/wxt_gui.cpp (wxt_set_cursor): Handle the new flags -3 and -4 for "line from ruler to current mouse position". (OnMotion): Redraw on mouse motionto update the line to ruler. (Draw): Draw a line from the ruler to current position when asked to. 2006-07-18 Ethan A Merritt * term/post.trm: Add help-file sections describing the PostScript prolog processing, and the environmental variable GNUPLOT_PS_DIR. * term/post.trm: Add a %%BeginProlog line to the output stream. * docs/Makefile.in: Define GNUPLOT_PS_DIR so that the corresponding documentation is processed (Timothee Lecomte). * src/plot3d.c (eval_3dplots): Unnecessary initialization to quiet spurious compiler warning. 2006-07-18 Hans-Bernhard Broeker * config/makefile.oww (TERMFLAGS): Add -DGNUPLOT_PS_DIR flag. (GNUPLOT_PS_DIR): Define the relative PostScript path. * config/makefile.mgw: Add a line to help Emacs detect this is a Makefile. (term.$(O)): -DGNUPLOT_PS_DIR shouldn't really be down here. (TERMFLAGS): Move the -DGNUPLOT_PS_DIR flag in here. 2006-07-18 Petr Mikulik SF Patch [1520821] line from ruler to current mouse position if polar distance * src/mouse.c term/README: Two new flags for term->set_cursor(flag,...): -3 = draw line between ruler and current mouse position, -4 = don't draw (erase) line between ruler and current mouse position. They are issued when mousing with displayed ruler and showing polar distance or tangent. * src/gplt_x11.c: New plot variables ruler_lineto_{on|x|y}, and function DrawLineToRuler(plot) to draw and erase line between ruler and current mouse position. This implements calls of set_cursor(flag,...) for flag=-3 and -4. * src/win/wgraph.c: Same as for gplt_x11.c, just with ruler_lineto structure. 2006-07-17 Timothee Lecomte * term/post.trm (PS_dump_prologue_file): Modify the Windows code to use GNUPLOT_PS_DIR as the relative path * config/makefile.mgw: Add an entry to define GNUPLOT_PS_DIR. 2006-07-17 Bastian Maerkisch * term/post.trm (PS_dump_prologue_file): OS/2 code to look for PostScript prologue files relatively to the executable path. 2006-07-17 Ethan A Merritt * NEWS docs/gnuplot.doc: Update list of known bugs, and add index entries to help find them in the docs. * src/plot2d.c (get_data): Remove debugging statement that escaped into cvs. 2006-07-16 Ethan A Merritt * term/pslatex.trm (EPSLATEX_set_color): Filter out redundant commands to change the color in the *.tex output stream by buffering each set_color command, and only sending the most recent one if necessary at the time the next TeX plot element is sent. Bug #1517932. * docs/gnuplot.doc: Document the new FIT_* user variables, and clarify the use of locale settings. 2006-07-15 Timothee Lecomte * term/PostScript/prologues.h term/PostScript/ps_header.sh term/PostScript/README: Set up an automated system for encapsulating the external PostScript prologue files back into a header for inclusion in-line in post.trm if necessary. * term/post.trm: If GNUPLOT_PS_DIR is defined, then load the prologue data at run-time from the externally maintained files in that directory. If GNUPLOT_PS_DIR is not defined, then include the equivalent text data as static arrays at compile time. * config/makefile.mgw: Define some GNUPLOT_PS_DIR. * src/win/winmain.h: Declare szModuleName as extern (EAM - what is this???). Bug #1510816 2006-07-15 Ethan A Merritt * src/fit.c (regress): Export user-visible variables from the fit. FIT_NDF : Number of degrees of freedom FIT_WSSR : Weighted sum-of-squares residual FIT_STDFIT : sqrt(WSSR/ndf), called "rms of residuals" in the log file FIT_CONVERGED : 1 if the previous fit converged; 0 otherwise 2006-07-15 Daniel Sebald * src/command.c (history_command): Remove recursive function call to avoid problem with "flag" being in incorrect state if the recalled command from history fails. Now use approach where command from history is parsed to check if it itself is also history. 2006-07-14 Timothee Lecomte * src/wxterminal/gp_cairo.c: Respect ISO C90 standard (mainly move declarations to beginning of functions). 2006-07-14 Ethan A Merritt * term/post.trm (PS_dump_prologue_file): Try harder to expand short file name into legal VMS or Windows path+file. Give more informative error messages if the file cannot be found. 2006-07-14 Juergen Wieferink * src/eval.c (fill_gpval_string): Remove cast to (char *) by correcting a dereference of the string value. 2006-07-13 Juergen Wieferink * src/eval.c (fill_gpval_string): Do not risk calling gpfree_string on uninitialized udv. * src/eval.c (update_gpval_variables): Treat GPVAL_TERM just like all the other GPVAL_* variables. * standard.c standard.h (f_exists): Allow to compile with ./configure --disable-stringvariables 2006-07-12 Ethan A Merritt * configure.in: Enable HIDDEN3D_QUADTREE by default. * term/post.trm (PS_linetype): Additional optimization from not forcing an absolute move if the linetype change has been optimized away. * term/pslatex.trm (EPSLATEX_linetype): Step back from over-general test for unnecessary linetype change. Forward it to PS_linetype for the actual decision. Without this, a pure linewidth change or a pure dash style change are incorrectly ignored. Bugfix. 2006-07-12 Timothee Lecomte * demo/Makefile.am.in: * demo/random.dem: * demo/vector.dem: Rename temporary *.dat files to *.tmp to prevent them to be included by 'make dist'. 2006-07-11 Ethan A Merritt * term/pslatex.trm (EPSLATEX_set_color): Restore support for color text set using fractional palette values. If the terminal is in mono mode, or has the blacktext option, the fractional text color remains a pure grayscale. Bug #1517932 2006-07-11 Per Persson * term/aquaterm.trm: Made aqua terminal respect font requests of the form: font "{,}", old syntax still supported too. 2006-07-11 Petr Mikulik * config/makefile.cyg config/makefile.mgw config/makefile.nt: #define EAM_OBJECTS and HIDDEN3D_VAR_PTSIZE. 2006-07-10 Ethan A Merritt * demo/mouselabels.dem demo/mouselab_1.dem demo/mouselab_2.dem: New demo using GPVAL_* variables and mouse/keystroke interaction to achieve interactive placement of plot labels. Tested for x11 and wxt. * demo/mousevariables.dem demo/keystroke.dem(removed): Remove the keystroke part of this demo, since this feature is now demonstrated more usefully by mouselabels.dem * src/eval.c: Allow both if(exists("foo")) and if(exist("foo")). The latter is what octave uses. 2006-07-09 Hans-Bernhard Broeker * demo/Makefile.am.in (CLEANFILES): Remove stringvar.tmp. * tutorial/Makefile.am.in (CLEANFILES): Fix up list of created files to be cleaned. (.plt.tex): Allow vpath builds. (.eps.pdf): New rule to fix pdf build of tutorial. (tutorial.dvi): Add dependency on eg7.eps. (tutorial.pdf): Add dependency on eg7.pdf * src/win/wtext.c: Fix mixed-up line endings. * docs/gnuplot.doc: Repair some blank-only lines. Again. 2006-07-08 Timothee Lecomte * configure.in: Always check for Cairo rendering support in Pango, and add the corresponding linking flags to WX_LIBS. * src/wxterminal/gp_cairo.c (gp_cairo_enhanced_flush): Initialize overprinted_width to avoid gcc warning. * term/wxt.trm (wxt_options): Initialize font_setting to avoid gcc warning. 2006-07-08 Ethan A Merritt * src/parse.c: Revert to parse.c version 1.44 (10 Jun 2006). This does away with dead code left after yesterday's partial reversion. * term/post.trm (PS_linetype PS_set_color): Restore long-time commented out test for redundant linetype commands. Don't "change" linetype if the new one is the same as the current one. term->set_color must also invalidate the previous linetype so that the next call to term->linetype isn't ignored. Bug #1517932. 2006-07-07 Shigeharu Takeno * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-07 Daniel Sebald * src/parse.c (parse_primary_expression): Partially back out patch of 2006-06-11. Do not check number of variables passed to a user function at the time of parsing - only at time of evaluation. Bug #1518553 2006-07-07 Ethan A Merritt * src/help.c (FindHelp): Add missing pair of brackets to disambiguate if/if/else syntax. * src/command.c (history_command): Fix segfault if re-execution of a previous command terminates via int_error(). Bug #1514453 * demo/rectangle.dem: Add reset at end, and prompts at 'pause -1'. * src/plot2d.c (get_data): HISTOGRAM plot styles must leave a slot for all entries, even if they are flagged as DF_MISSING. Otherwise the histogram plot elements do not line up properly. 2006-07-06 Daniel Sebald * docs/gnuplot.doc term/*.trm: Remove redundant help keys; i.e. those that are distinguished only by one being a short form of the other. No change in help or documentation behavior is intended. E.g. ?set terminal cgm ?set term cgm %% delete this one 2006-07-06 Ethan A Merritt * term/pslatex.trm (EPSLATEX_linetype EPSLATEX_set_color): Keep track of last color and/or linetype set, and filter out duplicate requests for the same setting. It remains true that the color change command is sent to both the *.eps and *.tex output stream, whereas in general only one of the two needs to see it. Bug #1517932. * tutorial/tutorial.tex tutorial/eg7.plt: Make the file names of the 7th example plot match the other six examples. 2006-07-07 Timothee Lecomte * src/wxterminal/wxt_gui.h: * src/wxterminal/wxt_gui.cpp (wxtPanel::Draw): (wxtPanel::DrawToDC): (wxtPanel::OnPaint): Small rework of the double-buffering to fully comply with wxWidgets API. 2006-07-07 Petr Mikulik * src/set.c docs/gnuplot.doc: New options 'set mouse {noruler|ruler {at x,y}}'. * src/mouse.h src/mouse.c: New function set_ruler() to (un)set ruler (at a given position). 2006-07-06 James R. Van Zandt * demo/bivariat.dem: - Adjust the step size so the range of integration is an integral number of steps - Use Simpson's rule rather than just taking the function value at one end of each step - Add points from the real erf(x) to the first plot, for comparison - For the second plot, define the integrand f(x)=cos(x) That way, the integral is sin(x) instead of being offset by a constant of integration - For the last plot, use "with impulses" to make the pattern more apparent, and because the function is only defined over the integers 2006-07-06 Petr Mikulik * src/set.c (set_mouse) docs/gnuplot.doc: Command 'set mouse polardistance{deg|tan}' to flip between the two possibilities of displaying polar distance. 2006-07-05 Ethan A Merritt * term/pdf.trm: Add {size xx,yy} option, exactly parallel to the option recently added for PostScript. Size can be given in inches or cm. 2006-07-05 Bastian Maerkisch * config/makefile.nt: Add /DWIN32 to CFLAGS. 2006-07-04 Daniel Sebald * demo/image.dem: Remove obsolete warning about terminal support. 2006-07-04 Bastian Maerkisch * term/win.trm (WIN_enhanced_open): (2nd try) Reset to _default_ font, not _current_ font! Bug #1510055 2006-07-04 Ethan A Merritt * term/gd.trm (PNG_justify_text): Move the conditional test for HAVE_GD_TTF inside the PNG_justify_text() routine, rather than maintaining it in parallel in the PNG/JPEG/GIF TERM_TABLE entries. Actually, we were failing to maintain it in parallel, causing Bug #1515292. 2006-07-04 Petr Mikulik * src/mouse.c (builtin_toggle_ruler, turn_ruler_off): New autogenerated variables MOUSE_RULER_X and MOUSE_RULER_Y. * src/mouse.c (GetRulerString, builtin_toggle_polardistance): Let polar coordinates show either (distance,angle) or (distance,tangent) after multiple clicks of the default hotkey '5'. * src/mouse.c (GetRulerString): Support polar coordinates in the mouse&ruler message string also for log-log plots. 2006-07-02 Daniel Sebald * src/show.c (show_command): Place in some messages about "show data" and "show linestyle" being deprecated. 2006-06-30 Ethan A Merritt * demo/image.dem demo/demo.edf: Set binary flag in cvs repository. cvs admin -kb demo/image.dem demo/demo.edf 2006-06-30 Petr Mikulik * src/breaders.c (edf_filetype_function): Don't print a debugging message. * src/eval.c (update_gpval_variables): Added automatic read-only variables GPVAL_VERSION and GPVAL_PATCHLEVEL. 2006-06-29 Bastian Maerkisch * term/win.trm (WIN_enhanced_open): Reset to _default_ font, not _current_ font! Bug #1510055 2006-06-29 Ethan A Merritt * src/set.c src/show.c: Less alarming error message if deprecated syntax is detected. Undeprecate "set key {below|above}". Bug #1514614. * tutorial/Makefile.am.in eg4.plt eg5.plt eg6.plt eg7.plt test.plt tutorial.tex header.tex makefile.dst linepoin.plot (removed): Replace deprecated syntax in tex example plots. Add an epslatex sample. * src/save.c: Add missing newline after 'set pm3d depthorder'. * docs/gnuplot.doc docs/gnuplot-ja.doc: Refer to current version as 4.2 rather than 4.1. 2006-06-29 Daniel Sebald * demo/airfoil.dem histograms.dem histograms2.dem image.dem multiplt.dem random.dem simple.dem starmap.dem: Small changes to ensure demos do not use deprecated syntax. * docs/gnuplot.doc: Clean up "set title" and "set xlabel" and remove any examples with non up-to-date syntax. 2006-06-29 Petr Mikulik SF Patch [1488448] User-available GPVAL_ variables * NEWS docs/gnuplot.doc src/command.c src/eval.c src/eval.h src/plot.c src/plot2d.c src/plot3d.c src/save.c src/set.c src/show.c src/unset.c: New routine update_gpval_variables() to create and update autogenerated read-only GPVAL_ variables, and its callers. New command option 'show variables all'. 2006-06-28 Daniel Sebald * src/history.c (write_history_n): Account for the case where the number of history entries is less than what the user asked for. 2006-06-28 Ethan A Merritt * src/term.c (change_term) term/x11.trm: The x11 terminal driver has been carrying around two copies of TERM_TABLE, one named "x11" and the other named "X11". But the "X11" copy has suffered from bit rot. Delete this redundant copy, and instead replace "X11" with "x11" at the time the "set term" request is processed. 2006-06-27 Daniel Sebald * src/unset.c (unset_minitics, reset_command): Change action of unset_minitics to MINI_OFF and set to MINI_DEFAULT after calling from reset_command(). Bug #1346814. 2006-06-27 Shigeharu Takeno * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-06-27 Keith Hellman * Accommodate new gnu autotools convention of installing read-only data relative to @datarootdir@ Bug #1513675 2006-06-27 Timothee Lecomte * m4/pkg.m4: New files containing the pkg-config macros. 2006-06-26 Ethan A Merritt * term/wxt.trm: Add index point for "help set term wxt". * configure.in src/variable.c: Only invoke kpsexpand if configuration option --with-kpsexpand is chosen at build time. Bug #1377786 2006-06-26 Daniel Sebald * src/help.c (FindHelp): Fixed bug introduced on 2006-06-23 where strcpy() overwrote keyword, inadvertently losing the subtopic string. Now expand all abbreviated sub-keywords until end of keyword string. * src/util.c (lower_case): Fix off-by-one bug in characters treated. 2006-06-25 Ethan A Merritt * src/plot2d.c (get_data): If a data field matches the current setting of 'set datafile missing "foo"', then do not interrupt the plotted line spanning the adjacent points in the plot. This was the behavior in version 3.7, and is what the documents describe, but has not been the case in version 4.0. Bugs #775810 #918793 #969322 #1403945 2006-06-24 Ethan A Merritt * src/datafile.c: Whitespace cleanup, comments. * demo/contours.dem demo/vector.dem: Update demo to use "set view map". 2006-06-23 Daniel Sebald * src/help.c (FindHelp): Return a pointer to an empty help key if the user help string is ambiguous. Change the len computation from strlen() to strcspn() so that non ambiguous, sub-optioned strings work. (help): Only PrintHelp if text exists to prevent blank line at output. 2006-06-23 Daniel Sebald * demo/image.dem: Clean up missing quotes. Removed some resets so that the palette doesn't change except when necessary. * src/graphics.dem src/set.c: Cosmetic changes. 2006-06-22 Ethan A Merritt * configure.in src/datafile.c (df_readline): Check input values against NaN, but only if the system supports the isnan() test. NaN input values are treated as UNDEFINED. Bug #1490699 2006-06-21 Ethan A Merritt * demo/scatter2.bin demo/sine.bin demo/using.bin demo/blutux.rgb: Flag these files as binary in the CVS repository cvs admin -kb *.bin *.rgb Hopefully this will fix image.dem under Windows 2006-06-21 Timothee Lecomte * term/wxt.trm: Small correction in TERM_HELP. 2006-06-20 Timothee Lecomte * src/wxterminal/wxt_gui.cpp: Small cleanups to avoid -Wall warnings. 2006-06-20 Ethan A Merritt * src/plot.c (main) src/term.c (init_terminal): Revisit fix of 2004-08-25 - call term->option() on entry if the default terminal is set from GNUTERM. We have only been doing this for the libgd terminals, but it turns out to be necessary for PostScript also, and probably others. Bug #1509033 * demo/stringvar.dem demo/html/index.save demo/html/Makefile: Modify the stringvar demo for use with webify, and add it to the demo web page. * src/set.c (load_tic_series): Fix parsing error that had the effect of requiring an explicit end point for the tic series unless this was the last thing on the command line. 2006-06-19 Ethan A Merritt * term/post.trm: Initialize PS_default_font to "Helvetica,14". In the worst case scenario, this guarantees a non-zero font size and an actual PostScript font. Bug #1509033 2006-06-19 Timothee Lecomte * configure.in (GNUPLOT_PS_DIR): Do not pass GNUPLOT_PS_DIR in config.h . * src/Makefile.am: Pass GNUPLOT_PS_DIR as a CPPFLAG. * term/Makefile.am.in: Install the *.ps files the automake way. * config/makefile.mgw (WXT): Do not install the PNG icons of the wxWidgets terminal (now embedded). 2006-06-19 Ethan A Merritt * src/plot3d.c (get_3ddata): After reading in the data points, check that the axis ranges are legal. If the input data contains NaN or Inf then the axis scaling may fail. Bug #1490699. 2006-05-18 Bastian Maerkisch * src/win/wtext.c: Add mouse wheel scroll support for text window. 2006-06-18 Shigeharu Takeno * docs/gnuplot-ja.doc docs/README.ja docs/term-ja.diff src/win/README.win-ja src/win/wgnuplot-ja.mnu: Sync Japanese documentation to recent changes in English files. 2006-06-18 Ethan A Merritt * src/show.c (show_version): List additional configuration options. Make the show version output more compact (25 lines). * term/emf.trm (EMF_linetype EMF_dashtype): It is necessary to set the line color and dash type every time either is changed. Bugfix. 2006-06-17 Timothee Lecomte * src/wxterminal/bitmaps/png/autoscale_png.h: * src/wxterminal/bitmaps/png/clipboard_png.h: * src/wxterminal/bitmaps/png/config_png.h: * src/wxterminal/bitmaps/png/grid_png.h: * src/wxterminal/bitmaps/png/help_png.h: * src/wxterminal/bitmaps/png/nextzoom_png.h: * src/wxterminal/bitmaps/png/previouszoom.h: * src/wxterminal/bitmaps/png/replot_png.h: New files containing the translation of the binary PNG files into C arrays to be included in the source code. * src/wxterminal/bitmaps/png/README.embedding: Text file briefly explaining the purpose of the embedded PNG files. * src/wxterminal/wxt_gui.cpp (wxtApp::OnInit): Remove the code to load the PNG files from standard paths (unreliable). Replace by the loading of the embedded files. (wxtPanel::UpdateModifiers): New routine to compare and update the state of the modifier keys as known by the core. It replaces the unreliable tracking of the press and release events. All wxMouseEvent and wxKeyEvent processing methods updated. (wxtPanel::OnKeyEvent): (wxt_init): (wxtConfigDialog): New variable wxt_ctrl to handle 'q' and . * src/wxterminal/wxt_gui.h: * src/wxterminal/wxt_term.h: Update prototypes and included wxWidgets headers according to the above changes. * term/wxt.trm (wxt_options): New terminal option '{no}ctrl'. (TERM_HELP): Updated. * src/Makefile.am (png_DATA): Do not install the PNG icons. 2006-06-17 Ethan A Merritt * demo/Makefile.am.in: Clean up temp.dat * share/Makefile.am: Attempt to install/uninstall Gnuplot.app-defaults properly. * docs/Makefile.in: Add Japanese language files to EXTRA_DIST * docs/gnuplot.doc: Replace old "bugs" section with current list of known bugs and limitations. * docs/gnuplot.doc: Add pointers to 'set pm3d depthorder' in the discussion of hidden surface removal. * docs/gnuplot.texi docs/doc2texi.el: Regenerate gnuplot.texi 2006-06-16 Timothee Lecomte * src/command.h: Add missing statement about copyright holders (i.e the same as command.c, as command.h was created from this file). * src/wxterminal/Makefile.am: New Makefile used to put all the wxterminal source files and bitmaps in the 'make dist' target. * src/Makefile.am (SUBDIRS): Add wxterminal to take the new Makefile.am into account. * configure.in (AC_OUTPUT): Include src/wxterminal/Makefile in the list of files to create. 2006-06-15 Ethan A Merritt * src/show.c (show_version): Add the rest of the non-driver configuration option choices to the output of 'show version long'. 2006-06-15 Shigeharu Takeno * docs/gnuplot-ja.doc docs/README.ja term-ja.diff: Japanese translation of user manual and instructions for building the help system from it. * src/win/wgnuplot-ja.mnu /src/win/README.win-ja: Instructions for building a Japanese language versino of wgnuplot for Windows, and a corresponding set of menus. 2006-06-15 Timothee Lecomte * src/wxterminal/gp_cairo.c: Fix a warning about gp_alloc() by including alloc.h 2006-06-15 Ethan A Merritt * demo/all.dem demo/html/index.save demo/html/Makefile: Add demo hidden2.dem illustrating 'set pm3d depthorder'. 2006-06-15 Johannes Zellner * src/save.c src/set.c src/show.c src/tables.c src/tables.h: New option 'set p3md depthorder' to request depth-ordering of pm3d quadrangles. * src/graph3d.c: TBOOLEAN pm3d_order_depth tracks the new option. * src/pm3d.c src/pm3d.h (pm3d_depth_queue_clear pm3d_depth_queue_flush) src/plot3d.c (calculate_set_of_isolines) src/color.h src/color.c (ifilled_quadrangle): New support routines. 2006-06-14 Daniel Sebald * src/color.c (make_palette) src/term.c (term_start_plot): Revert change of 9-Jun-2006, so that we are again optimizing color palette usage by avoiding unnecessary calls to term->make_palette(). However, make the PostScript terminal an exception by invalidating the previous palette at the start of every plot. 2006-06-14 Shigeharu Takeno * docs/faq-ja.tex: Japanese translation of faq.tex * NEWS docs/Makefile.in: Include faq-ja.tex in list of distributed files, and in NEWS. 2006-06-13 Daniel Sebald * demo/stat.inc: Overhaul of routines to add variable arguments, range checking and verify integer when appropriate. The significant change is forcing some input vars to be an integer, rather than casting them to int() in the formulae. (There are proper plot styles like "steps" to work with discrete r.v.s.) * demo/prob.dem: Modified the discrete r.v. examples to look more like a mass function or scaled impulses. More varied examples to show various plotting features. * demo/prob2.dem demo/random.dem: Add input variables to p.d.f. and c.d.f. functions. Added new Maxwell demo to random.dem. * docs/gnuplot.doc: Added adjective "normalized" to igamma() 2006-06-13 Ethan A Merritt * src/gplt_x11.c: Move export selection flags outside the the USE_MOUSE conditional code. Bug #1505704 * src/term_api.h: DEFAULT_LP_STYLE_TYPE to lt -1 (makes arrows default to black rather than red). 2006-06-13 Daniel Sebald * configure.in src/Makefile.am src/makefile.awc src/makefile.all: Add a configuration mechanism for including binary.c in list of gnuplot sources when appropriate. * src/bin_hook.c: Remove from source tree. 2006-06-13 Timothee Lecomte * src/win/wtext.c: * src/win/wgraph.c: * src/wxterminal/wxt_gui.cpp: * src/wxterminal/wxt_gui.h: * src/wxterminal/wxt_term.h: Fix failures when compiling the wxWidgets terminal with --disable-mouse, by putting more code and declarations inside #ifdef USE_MOUSE ... #endif 2006-06-12 Ethan A Merritt * configure.in: Move options marked EXPERIMENTAL to the end of the configuration summary printout. Remove EXPERIMENTAL label from string variables. 2006-06-11 Timothee Lecomte * demo/utf8.dem: Issue a 'reset' at the end of the file, as other demos do. * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Use the Symbol to Unicode conversion step, as for the enhanced text mode. (gp_cairo_enhanced_flush): Small cleanup and fix a forgotten free(). * term/wxt.trm (TERM_HELP): Document the font requirements properly, in particular how the Symbol font is handled and where the fonts are taken from. Layout the whole help text so that lines are smaller than 80 characters. 2006-06-11 Daniel Sebald * src/eval.h: Added number of variables to user defined function struct. * src/command.c (define): Recorded number of variables into udf entry. * src/parse.c (add_is_udf, is_ud_functin, add_udf): Slight rearranging of functions to allow code reuse. * src/parse.c (parse_primary_expression): Check if function used in command is user defined. If so, verify number of variables is correct. * src/internal.c (f_call, f_calln): Added tests to catch variable mismatch at time of evaluation. 2006-06-10 Timothee Lecomte * docs/Mafefile.in (CORETERM): Add wxt.trm in the list of terminals. * docs/gnuplot.doc : Add mentions of `wxt` among other terminals when useful (mouse, raise, lower, image, set_output, fillstyles). * src/wxterminal/wxt_gui.cpp: Fix compilation with --disable-with-image. * src/wxterminal/wxt_gui.h: Fix compilation with --disable-with-image. Cleanup includes. * src/wxterminal/gp_cairo.c (gp_cairo_draw_polygon): Replace malloc by gp_alloc. (gp_cairo_draw_image): Likewise. (gp_cairo_convert_symbol_to_unicode): Likewise. 2006-06-09 Ethan A Merritt * src/eval.c src/eval.h src/internal.c src/internal.h src/parse.c src/standard.c src/standard.h docs/gnuplot.doc NEWS: Deprecate built-in pseudo-function `if defined(foo)` Replace it with string function exists("foo") The previous version (defined) tried to bypass normal expression parsing, but succeeded only for the simplest cases. This variant, although deprecated, is still supported by BACKWARDS_COMPATIBLE. The new version handles the full general case by using string variables. Bugfix: #1497957 * src/color.c (make_palette): Revert optimization (18 Mar 2006) that only sent palette information for a plot if it had changed since the previous plot. This doesn't work for PostScript output, because the pages may be viewed out of order. Bugfix. 2006-06-08 Timothee Lecomte * src/wxterminal/gp_cairo.h: * src/wxterminal/wxt_plot.h: * src/wxterminal/wxt_term.h: Remove "extern" for functions. 2006-06-07 Timothee Lecomte * configure.in (--with-wx-config=PATH): Fix wrong variable name. * src/term.c (init_terminal) [WXWIDGETS]: Take DEFAULTTERM into account. * src/wxterminal/bitmaps/xpm/cross.xpm: * src/wxterminal/bitmaps/xpm/right.xpm: * src/wxterminal/bitmaps/xpm/rotate.xpm: * src/wxterminal/bitmaps/xpm/size.xpm: Write the hotspot coordinates directly in the cursor files. * src/wxterminal/wxt_gui.h (wxtApp::LoadCursor): * src/wxterminal/wxt_gui.cpp (wxtApp::LoadCursor): Remove hotpost arguments, take hotspot coordinates from the XPM files. (wxtApp::OnInit): Update calls to LoadCursor. * src/wxterminal/gp_cairo.h (current_xmax): Rename to the more meaningful device_xmax. (current_ymax): Rename to device_ymax. * src/wxterminal/gp_cairo.c: All callers changed. * src/wxterminal/wxt_gui.cpp: Likewise. 2006-06-06 Ethan A Merritt * configure.in src/setshow.h config/config.*: Move definition of BACKWARDS_COMPATIBLE into config.h and the various config.* files rather than setshow.h so that it is visible to all the source files. 2006-06-06 Timothee Lecomte * src/wxterminal/gp_cairo.c (device_y): Fix computation of coordinates. (gnuplot_y): Likewise. 2006-06-05 Peter Weilbacher SF Patch [1498727] Remove duplicate entries in GNU readline history * command.c (rlgets): Remove duplicate entries in GNU readline history. 2006-06-04 Timothee Lecomte * src/wxterminal/gp_cairo.c: Add Id. * src/wxterminal/gp_cairo.h: Likewise. * src/wxterminal/gp_cairo_term.h: Likewise. * src/wxterminal/wxt_gui.cpp: Likewise. * src/wxterminal/wxt_gui.h: Likewise. * src/wxterminal/wxt_plot.h: Likewise. * src/wxterminal/wxt_term.h: Likewise. 2006-06-04 Ethan A Merritt * src/graphics.c (two_edge_intersect) Remove old debugging code. * src/graphics.c (edge_intersect plot_filled_curves): Bugfix. Fix clipping of filled curves. When a curve leaves the plot and reenters via a different plot edge, we must add dummy points at the intervening plot corners. * src/graphics.c (fill_missing_corners): New routine to support clipping of filled areas defined by a bounding curve. 2006-06-01 Ethan A Merritt * src/unset.c (reset_command): Abandon the idea of automatic garbage collection for undefined user variables. The problem with this is that user-defined functions may still hold pointers to them for later use. E.g.: f(x) = a+b; reset; print f(1) - oops, no more a or b. Bugfix. * demo/world.dat: Rearrange line segments to make more continuous boundaries. Now it almost works for filledcurves. 2006-05-29 Michael Ritzert * term/Makefile.am.in: Look for the postscript files to be installed relative to $(srcdir). 2006-05-26 Ethan A Merritt * src/gadgets.c (clip_point): The code comments incorrectly described the bit values returned by clip_point(). 2006-05-24 Ethan A Merritt * src/gplt_x11.c: Treat LT_AXIS linetype as dotted even if the terminal is 'set term x11 solid'. Do not try to set dash type or linewidth for LT_BACKGROUND because this will underflow the type arrays. Bugfix. * share/Gnuplot.app-defaults: Comment out settings for *ctrlq *raise and *background so that the default remains the same as having no app-defaults file. 2006-02-23 Timothee Lecomte * term/wxt.trm (TERM_HELP): Fix typos, thanks to Shigeharu Takeno. 2006-05-22 Timothee Lecomte * term/vgagl.trm (VGAGL_init_keytable): Fix bug #1492341 by replacing sizeof() on an array of int (which gives an overflow by writing four times more than the size of the array) by the actual size of the array (KEYTABLE_SIZE). (VGAGL_truecolor): Declare as a TBOOLEAN instead of an integer, do not use the enums yes and no but TRUE and FALSE. (VGAGL_processing_graphics_events): Likewise. (VGAGL_interpolate): Likewise. (VGAGL_cursor_drawn): Likewise. (VGAGL_need_update): Likewise. (VGAGL_graphics_on): Likewise. 2006-05-22 Lars Hecking * configure.in: Reformat and bugfix wxwidgets section. * docs/gnuplot.texi: Regenerated. * share/Makefile.am: Add EXTRA_DIST. * src/Makefile.am: Add wxterminal to EXTRA_DIST. * src/makefile.all, src/makefile.awc: Regenerated. * src/wxterminal/wxt_gui.cpp: Fix typos. * term/estimate.trm: Add cvs Id. 2006-05-21 Daniel Sebald * demo/random.dem: Examples to illustrate generating normal random data, generating data points not linked to grid using table, setting the contour lines to the same color as surface, and creating histograms. 2006-05-21 Hans-Bernhard Broeker * term/win.trm (HELP): Got rid of some tabs. * docs/gnuplot.doc: Fixed some blank-only lines. (fit control, fit control variables, fit control environment, splot overview): Get rid of _ between words. Suggested by Dan Sebald. 2006-05-20 Timothee Lecomte * src/color.h (colorspec_t) [EXTENDED_COLOR_SPECS]: Declare the type before using it (fixes the compilation of linux.trm and vgagl.trm). 2006-05-20 Ethan A Merritt * src/gplt_x11.c term/x11.trm: Allow user control of solid/dashed line setting via the usual three mechanisms new X resource gnuplot*dashed: on from command line `gnuplot -dashed ...` from gnuplot command `set term x11 {dashed|solid} ...` * term/x11.trm: Bugfix: persist/raise/dashed terminal settings should not be conditional on mouse support. 2006-05-20 Ethan A Merritt * share/Gnuplot.app-defaults share/Makefile.am: New X resources file, intended for installation in the system's default location for X resources. Bug #1376604. 2006-05-19 Timothee Lecomte * src/wxterminal/gp_cairo.c (gp_cairo_draw_enhanced_text): Remove unappropriate comments about enhanced_max_height. (gp_cairo_end_polygon): Remove useless comment. (gp_cairo_convert_symbol_to_unicode): Change C++-style comments to C style /* ... */. (gp_cairo_initialize_plot): To avoid overflows, change strcpy() to strncpy(), strcat() to strncat() and sprintf() to snprintf(). (gp_cairo_set_font): Likewise. (gp_cairo_add_shape): Likewise. (gp_cairo_enhanced_flush): Likewise. (gp_cairo_enhanced_open): Likewise. (gp_cairo_draw_enhanced_text): Likewise. * src/wxterminal/wxt_gui.cpp (wxt_set_font): Likewise. * term/wxt.trm (wxt_options): Likewise. 2006-05-18 Timothee Lecomte * src/Makefile.am (AUTOMAKE_OPTIONS): Remove 'subdir-objects', not mandatory. * configure.in (enable_wxwidgets): Remove test AM_PROG_CC_C_O, not needed now that 'subdir-objects' is not used. * src/wxterminal/wxt_gui.cpp (wxt_waitforinput) [_Windows]: Rework event processing to avoid code duplication and handle more cases (pause, etc.). (wxt_waitforinput_pause) [_Windows]: Removed. (wxt_terminal_events) [_Windows]: New routine to process pending events from the wxWidgets terminal when it is selected and initialized. Its return code is used to stop a pause. (wxt_set_font): Use reasonable defaults for font name ("Sans") and size (10) instead of the wxWidgets system settings. It avoids to choose the inappropriate Courier font on Windows, where it is used by the console-like window. * src/wxterminal/wxt_term.h (wxt_waitforinput_pause): Remove declaration. * src/wxterminal/wxt_plot.h (wxt_terminal_events): Declaration. * src/win/wpause.c (PauseBox) [WXWIDGETS]: Use wxt_terminal_events(). * src/win/wtext.c (TextGetCh) [WXWIDGETS]: Likewise. * term/wxt.trm (help): Change the help text according to the change in the default font name and font size. 2006-05-18 Lars Hecking * docs/Makefile.in: Add titlepag.ipf to EXTRA_DIST. * docs/gnuplot.texi: Regenerated. 2006-05-15 Timothee Lecomte * src/wxterminal/bitmaps/xpm/cross.xpm: * src/wxterminal/bitmaps/xpm/right.xpm: * src/wxterminal/bitmaps/xpm/rotate.xpm: * src/wxterminal/bitmaps/xpm/size.xpm: Cross-platform cursors. * src/wxterminal/wxt_gui.h (wxt_cursor_cross, wxt_cursor_right, wxt_cursor_rotate, wxt_cursor_size): Cursors declarations. (wxtApp::LoadCursor): Routine to initialize a cursor. * src/wxterminal/wxt_gui.cpp (wxtApp::LoadCursor): Likewise. (wxtApp::OnInit, wxt_set_cursor): Use new cursors. (wxt_reset): Clear the events list when receiving ctrl-c. (wxtPanel::DrawToDC): Fix zoom strings on Windows. * src/wxterminal/gp_cairo.c (gp_cairo_linetype2color): Fix modulo operator to use the whole nine colors. (gp_cairo_draw_point): Fix position of triangles with the oversampling. Close the path for the filled triangle. * configure.in (CPPFLAGS): Remove useless gtk and wxWidgets flags from the cppflags. 2006-05-15 Bastian Maerkisch * config/makefile.os2: Define GIF_ANIMATION and HAVE_PDFLIB_H. * config/config.os2: Sync to config.h created by `configure`. Define EAM_OBJECTS, GP_STRING_VARS = 2, HIDDEN3D_VAR_PTSIZE. * src/os2/gclient.c (DisplayClientWndProc): Filter out WM_MOUSEMOVE events when the mouse hasn't been really moved. This eliminates excessive calls to gp_exec_event(GE_motion, ...) and subsequent unnecessary redraws of the plot. 2006-05-13 Bastian Maerkisch * config/makefile.nt: Make sure that the same (basic) compiler options are used for compiling wgnuplot and pgnuplot. This is necessary since they both contain version.c. * src/stdfn.h src/win/winmain.h src/win/wpause.c: Implementation of a non-blocking sleep function (gnuplot's 'pause' command) for windows. * term/win.trm (WIN_options, help text): Accept font request strings of the form set term win ... font "," Previous syntax set term win ... "" remains valid as well. Update documentation. * src/os2/4allterm.cmd: Fix broken argument parsing. Convert end of line to CR/LF pairs. This is a must for the script to be readable by the OS/2 REXX interpreter. * docs/doc2ipf.c docs/titlepag.ipf: - Increase depth of table of contents from 5 to 6. This fixes "unknown reference" errors during compilation. - Only replace '.' in first column by ipf tag, it's not needed otherwise. - Add an index: interactive help ('?') and explicit index entries ('=') are supported. - Table layout improvements: - omit table frame and horizontal lines - add additional horizontal spacing around table entries (1 char) - omit horizontal rules '_' (troff command) - entries are only interpreted as troff commands if they start with '.' and do not contain a table separator - try to filter out ipf tags when calculating column widths - always assume troff header at beginning of table. This fixes coloring of table headers, which has been broken since 17 Jun 1998 - Change handling of paragraphs and verbatim sections: successive empty lines only yield one new paragraph :p. This eliminates large empty spaces (especially in front of tables). - End sections with an empty paragraph instead of starting with an empty paragraph. Eliminates empty space at beginning of section and (still) ensures non-empty sections. - Optionally add additional reference panels to make navigation with IBM's online viewer easier. Controlled by #define IPF_MENU_SECTIONS. - Add a title page (new file titlepag.ipf). 2006-05-12 Ethan A Merritt * term/gd.trm (PNG_point): Bugfix: Draw filled circles with gdImageFilledArc rather than a 2-stage bound-and-fill. * src/graph3d.c (draw_3d_graphbox): Bugfix: Only draw vertical lines from base corners to surface if there really _is_ a surface. Having pm3d in surface mode is not sufficient. * demo/contours.dem: Where the above fix removes a vertical line along z, remove the z axis tics also. Add a single-color contour demo. * src/wxterminal/gp_cairo.c: Remove unused variables. 2006-05-04 Timothee Lecomte * configure.in (AC_PROG_CXX): Redefine AC_MSG_ERROR for AC_PROG_CXX, to prevent possible fatal errors in future autoconf versions. (WX_OBJ): Remove definition, let automake handle it. * src/Makefile.am (BUILD_WXWIDGETS): Simplify conditional compilation of the wxWidgets terminal, using automake conditionals instead of gnuplot_DEPENDENCIES and gnuplot_LDADD. 2006-05-01 Timothee Lecomte * configure.in (AC_PROG_CXX): Check for C++ unconditionally, and workaround harmful autoconf settings if no compiler is found. (PANGO): Raise minimum version to 1.10. * term.c (init_terminal): Make wxt the default terminal if it is available even if X11 is not defined. 2006-04-30 Hans-Bernhard Broeker * config/makefile.mgw (DESTDIR): MSYS-ify the drive letter. (GNUSORT): Use Unix-ish path to MSYS port of GNU sort. (all): Refer to default target instead of copying all its entries. (default): Remove config.h dependency. ($(OBJS) $(WINOBJS) dbinary.$(O)): Add rule that they depend on config.h. ($(M)bf_test.exe): Chdir to $(M), not $(D). (dbinary.$(O)): Input file is $<, not $^. (install) [WXT]: Move WX-specific installation rules here. * term/win.trm (WIN_enhanced_flush): Removed unused variables rc, cbR. * term/pslatex.trm (PSTEX_common_init): Avoid warning by making compile-time test an #if rather than an if. * config/makefile.mgw: Change this to expect MSYS tools to be used instead of the older native MINGW32 ports. Necessitates some workarounds for MSYS quirks. (HCWPATH): Uncomment one definition, provide a usable default, remove the other. (pgnuplot.exe): Needs -HAVE_STDBOOL_H to avoid a warning. ($(HELPFILE)): Use `-' instead of `/' for $(HCW) options, to avoid MSYS translating them to drive letters. (doc2rtf.exe, doc2tex): Strip trailing `/' off macros holding `../docs/' and `../term/' --- MSYS/MINGW32 gets confused by it. 2006-04-29 Ethan A Merritt * term/wxt.trm (wxt_options): Fix improper malloc for font name. 2006-04-29 Timothee Lecomte * configure.in: C++, wxWidgets, cairo and pango configuration tests. * config/makefile.mgw: Likewise. * src/command.c (raise_lower_command): Raise and lower commands for the wxWidgets terminal. * src/command.h : Likewise. * src/Makefile.am : wxWidgets terminal conditional compilation. * src/plot.c (main): wxWidgets terminal hook on exit to handle the 'persist' behaviour. * src/term.c (init_terminal): Make the wxWidgets terminal the default on Windows and X11. * src/term.h: Include the wxWidgets terminal. * src/win/wgnuplot.rc: Include wxWidgets ressources file. * src/win/wpause.c (PauseBox): Process events from the wxWidgets terminal when in pause. * src/wxterminal/bitmaps/png/autoscale.png * src/wxterminal/bitmaps/png/clipboard.png * src/wxterminal/bitmaps/png/config.png * src/wxterminal/bitmaps/png/grid.png * src/wxterminal/bitmaps/png/help.png * src/wxterminal/bitmaps/png/nextzoom.png * src/wxterminal/bitmaps/png/previouszoom.png * src/wxterminal/bitmaps/png/replot.png: PNG icons for the wxWidgets toolbar. * src/wxterminal/bitmaps/xpm/icon16x16.xpm * src/wxterminal/bitmaps/xpm/icon32x32.xpm * src/wxterminal/bitmaps/xpm/icon64x64.xpm: XPM icons for the wxWidgets window icon. * src/wxterminal/bitmaps/xpm/notfound.xpm: XPM icon for the wxWidgets toolbar. * src/wxterminal/gp_cairo.c * src/wxterminal/gp_cairo.h * src/wxterminal/gp_cairo_term.h: Generic routines to render a plot to a cairo surface. * src/wxterminal/wxt_gui.cpp * src/wxterlinal/wxt_gui.h * src/wxterminal/wxt_plot.h * src/wxterminal/wxt_term.h: Graphical user interface based on wxWidgets. * term/wxt.trm: Terminal hooks between term.c and the wxWidgets and cairo files. 2006-04-28 Timothee Lecomte * src/gplot_x11.c (UNSET, no, yes): Remove enum declaration. * src/term.c (enhanced_recursion, enh_err_check, do_enh_writec): Remove static declarations. (enhanced_text, enhanced_cur_text, enhanced_fontscale) (enhanced_escape_format, enhanced_min_height) (enhanced_max_height, ignore_enhanced_text): Remove static declarations. (UNSET, no, yes): Remove enum declaration. * src/term_api.h: Declare here the above variables and functions related to enhanced text support. Variables are declared extern. (UNSET, no, yes): Declare enum. * src/readline.c (msdos_getch) [_Windows && USE_MOUSE]: Call term->waitforinput() when appropriate, so that the wxWidgets terminal can process events. 2006-04-27 Timothee Lecomte * configure.in src/Makefile.am: Change PKG_MAJOR to VERSION_MAJOR to avoid a conflict with pkg-config macros. They will be used with cairo, pango, and gtk+ for the wxWidgets terminal. 2006-04-27 Hans-Bernhard Broeker * src/plot2d.c (get_data): Initialize further elements of df_data depending on plot style, so datafile module can parse absolute time/data for xlow etc. Similar fix for handling 'set ydata time; plot "-" u 2'. * src/plot3d.c (eval_3dplots): Fix for 'set zdata time; plot "-" u 2'. Replicate realloc size fix from get_data (--> 2006-03-28) here. 2006-04-26 Hans-Bernhard Broeker * docs/gnuplot.doc (fit control environment): Fix mention of command 'set fit logfile'. 2006-04-25 James R. Van Zandt * term/cgm.trm (CGM_filled_polygon): Allow filled polygons with up to 8190 vertices (was only 50). Also, allocate the polygon/polyline array from the heap, so it only takes space if the CGM terminal is used. * term/cgm.trm (CGM_set_color): access colorspec->value only for type=TC_FRAC when it is defined. 2006-04-25 Hans-Bernhard Broeker * src/win/wgnuplot.hpj (COMPRESS): New option, enables compression of the generated .hlp file. (LCID): New option, fixed the language of generated help files to English. Hopefully this will avoid incompatibilities like the one observed with the first binary release of 4.0 for Win32. 2006-04-24 Daniel Sebald * src/graphics.c (plot_image_or_update_axes) config/config.cyg config/config.mgw config/config.nt config/config.os2 configure.in: Removed all use of WITH_IMAGE_VERIFY_ALL_PIXEL_LOCATIONS and any code associated with verifying pixel locations in the grid. 2006-04-19 Ethan A Merritt * term/post.trm (PS_set_font): Do not write font change commands into the PostScript output stream of the TeX terminal variants (epslatex, pstex, pslatex). All font handling is done via the TeX output stream. Bug #1472260 * demo/html/Makefile demo/html/index.save demo/html/gnuplot_demo.css: Update html display of gnuplot demos. 2006-04-18 Ethan A Merritt * src/graphics.c (plot_c_bars) src/plot2d.c (eval_plots): Allow user to control the width of whiskerbars on candlestick plots. plot with candlesticks {whiskerbars {}} * demo/utf8.dem: Provide a demo for use in testing UTF-8 support by gnuplot terminals. This demo will only produce reasonable output on a terminal that supports UTF-8 and a current UTF-8 encoded font with the relevant character maps. 2006-04-17 Ethan A Merritt * src/color.h: Add comments to document the meaning of TC_* flag values. 2006-04-16 Ethan A Merritt * term/aquaterm.trm: Correct typos in help text. * src/set.c (set_object): Fix segfault on incomplete command 'set obj '. * src/term.c (init_terminal): Keep initial terminal setting in GNUTERM even if it did not actually come from environmental variable GNUTERM. 2006-04-14 Ethan A Merritt * src/term.c (change_term init_term): Save value of GNUTERM into a user-defined variable on entry. Use only first word of GNUTERM when calling change_term. This allows GNUTERM to contain extended terminal specs, e.g. setenv GNUTERM "png truecolor transparent". 2006-04-12 James R. Van Zandt * term/cgm.trm (CGM_point): Update cgm_current.edge_visibility before cgm_current.edge_color (was displaying some point symbols with incorrect edge colors). 2006-04-10 Ethan A Merritt * src/graph3d.c (draw_3d_graphbox): Fix bug introduced when adding newpath/closepath around the border of 3D plots with 'set view map'. The top border was not getting drawn, and the individual border components were not being considered separately. Also, when in 'set view map' mode, honor 'set border {front|back}'. * src/graphics.c (plot_border) src/gadgets.h: Similar bugfix in 2D. * src/misc.c (lp_parse): Don't fall into a recursion trap in the case that 'set style incr user' and 'set style line lt '. This should set the linetype of to even if itself has been assigned as another line style. 2006-04-08 Ethan A Merritt * src/standard.c (f_tanh): Fix a two-fold error in bounds checking for tanh(). Bug #1452627 2006-04-08 Bastian Maerkisch * src/win/pgnuplot.c: Patch for SF bug [1232950] "-persist option does not work in Version 4.0.0 (Windows)". Omit sending `exit` from pgnuplot to wgnuplot when `-persist` is given on command line. 2006-04-08 Daniel Sebald * src/set.c (set_palette_file) docs/gnuplot.doc: Binary palette files are supported as well. Example: set palette file "palette.bin" binary record=64 using 1:2:3 2006-04-08 Bastian Maerkisch * config/config.os2: Define more features. * config/makefile.os2: - add a list of required/recommended tools and libraries, - make use of pre-built version of libgd from hobbes.nmsu.edu, - change requirements for newer versions of PDFlib, - replace shell script to create allterm.h by 4allterm.cmd in Rexx. * src/os2/4allterm.cmd: New Rexx script to create allterm.h, much faster than previous code and does not require the unix tool chain to be installed. 2006-04-07 laboratoryman * src/term.c (test_term): No terminal currently implements any head fill style (curr_arrow_headfilled) other than 0/1/2. So don't use 3 as a test case. 2006-04-05 Ethan A Merritt * term/svg.trm: New line-join terminal option {rounded|butt}, with support for smooth joining of closed polygons via the recently added newpath()/closepath() mechanism. * src/gadgets.c (draw_clip_arrow): Provide a routine in the core code that clips arrow head/tail to the canvas boundaries. This means we don't have to do the clipping in do_arrow(), which has been messy. * src/graph3d.c (plot_arrows3d plot3d_vectors) src/graphics.c (place_arrows do_key_sample get_arrow) Draw arrows using new routine draw_clip_arrow. Addresses bug #1348015 and others. * src/term.c (do_arrow): Add a note that the clipping here is now redundant, and can be removed. Defer removal to a separate patchset. 2006-04-04 Ethan A Merritt * src/plot2d.c (eval_plots): Fix inadvertant breakage due to an accidentally deleted call to arrow_parse(). 2006-04-04 Harald Harders * src/term.c (do_arrow) src/term_api.h docs/gnuplot.doc * src/graphics.c (get_arrow plot_boxes plot_vectors) * src/misc.c (arrow_use_properties) src/show.c (show_arrow): Add an option "backhead" to arrow style that reverses the sense of the arrow. Modify flags to indicate the forward arrowhead and the backward arrowhead separately, so "heads" sets both flags. Patchset #1318546 2006-04-04 Ethan A Merritt * src/term_api.h src/term.c (newpath closepath) term/README: Define a new terminal entry point term->path(foo), and wrapper routines newpath() == term->path(0); closepath() == term->path(1). These are needed to ensure smooth line joins at the ends of a closed path in PostScript-like terminals. * src/graph3d.c (do_3dplot draw_3d_graphbox) * src/graphics.c (do_plot plot_boxes plot_cbars do_key_sample) * src/graphics.c (plot_border) src/color.c (draw_color_smooth_box): Enclose the vector commands that draw rectangles with a newpath()...closepath() pair. This guarantees a smooth join for the plot boundary, the key box, colorbox, boxes, and candlesticks. 2006-04-04 Ethan A Merritt * src/gplt_x11.c (gpXLoadQueryFont): When trying to load a multibyte fontset, treat "missing charsets" as a non-fatal warning. This seems necessary in order to handle en_US.UTF-8 and similar locales, which claim to require many exotic but trivial charsets. Normally these are not needed, so it should not be a fatal error if they are missing. Bug #1458525 * term/x11.trm: Increase maximum allowed length of font names. 2006-04-04 Ethan A Merritt * misc.c (lp_use_properties lp_parse): In "set style increment user" mode, an explicit linetype should be interpreted as a call for the corresponding line style. But if there is none, we should load a description of the linetype rather than failing to initialize the lp_style_type at all. 2006-03-28 Lars Hecking * docs/gnuplot.texi: Regenerated after recent documentation updates. * term/Makefile.am.in: Add PostScript directory to EXTRA_DIST. Add uninstall support. Rename install target to install-data-local (don't use automake-generated targets in Makefile.am) and add $(DESTDIR) support. 2006-03-28 Hans-Bernhard Broeker * config/makefile.oww (CPPFLAGS): Added -DEAM_OBJECTS. * src/plot2d.c (get_data): Avoid small size increments on reallocation --- at least double, and add another 1000 entries for good measure. 2006-03-28 Hans-Bernhard Broeker Revised handling of Windows "app data" and home directory settings by Bastian Maerkisch. * src/win/winmain.c: WANT_GET_DLLVERSION hardcoded active. (CSIDL_APPDATA): Provide fallback definition. (ShutDown): Removed ancient cruft. (appdata_directory): New function. Dynamically attach to shell32.dll and ask it for the "application data" directory. (WinMain): Have get_user_env() take care of finding $HOME. INIFILE_IN_APPDATA hardcoded. * src/win/wcommon.h (INIFILE_IN_APPDATA, WANT_GETDLLVERSION): Definitions removed, hardcoded active now. (appdata_directory): Added prototype. * src/plot.c: Added #includes of win/wgnuplib.h, win/wcommon.h. (get_user_env) [WIN32]: Call helper routine to find Windows' "application data" directory. 2006-03-27 Ethan A Merritt * src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Initialize the line style, arrow style, and fill style fields of each new plot to something reasonable. 2006-03-26 Ethan A Merritt * NEWS: List various new features added since last October. * src/gplt_x11.c: Store text rotation angle internally as a double. 2006-03-26 Ethan A Merritt SourceForge patchset #1143563 "Place arbitrary objects in plots". This patchset introduces a general infrastructure for placing individual geometric objects, similar to "set label" and "set arrow". However the only objects implemented at this point are rectangles. set object rectangle {from {to|rto} | center size , | at size ,} {front|back|behind} {fc|fillcolor } {fs } {default} {lw|linewidth } set style rectangle {front|back} {fillcolor } {fs } {lw|linewidth } * configure.in: Configuration option: ./configure --enable-objects Conditional compilation flag EAM_OBJECTS * demo/rectangle.dem docs/gnuplot.doc * src/gadgets.h src/gadgets.c src/tables.h src/tables.c: Infrastructure. * src/graph3d.c (do_3dplot) src/graphics.c (place_rectangles do_plot) src/graphics.h: Shared routine to place rectangles in 2D and 3D. * src/save.c (save_rectangle) src/set.c (set_object set_rectangle) src/unset.c (unset_object delete_object unset_style_rectangle) src/save.h src/show.c: General bookkeeping for objects. 2006-03-25 Ethan A Merritt * src/graphics.c (plot_c_bars): Re-order the lines making up a candlestick so that line-joining terminals have some chance of recognizing that the body is a closed rectangle. * term/PostScript/prologue.ps: Add a shorthand for closepath. * src/graph3d.c src/graph3d.h: New routine map3d_position_double() will be used by "set object" code. * src/color.c (draw_color_smooth_box): Use new routine map3d_position_double to avoid a mismatch of parameter types. * src/unset.c: Replace "set no" with "unset " in comments and error messages; i.e. make them match current syntax. 2006-03-24 Ethan A Merritt * src/datafile.c: Remove vestigial comments about df_timecol[]. 2006-03-24 Ethan A Merritt * configure.in term/Makefile.am.in term/PostScript/*.ps term/post.trm (PS_common_init PS_dump_prologue_file): Install and maintain PostScript prologue and character encoding files in a separate directory, external to the gnuplot executable. This removes a large chunk of text from the postscript driver, and allows local customization, editing, or patching of the postscript configuration. The directory in which these files are stored is taken from config.h: #define GNUPLOT_PS_DIR but may be replaced at runtime by an environmental variable of the same name, or by a "set loadpath" command inside gnuplot. This change should result in no change to the postscript files output by gnuplot. 2006-03-24 Ethan A Merritt * src/datafile.h src/datafile.c: Allow an input field expected to be a time format to be in quotes. Previously anything in quotes was assumed to be invalid as a numerical value. 2006-03-23 Ethan A Merritt * docs/gnuplot.doc: New option "set style increment {user|default}" By default, successive plots within the same graph will use successive linetypes from the default set for the current terminal type. However, choosing the "user" option allows you to step through user-defined linestyles rather than through the default line types. * src/gadgets.c src/gadgets.h: Global flag TBOOLEAN prefer_line_styles. * src/save.c src/set.c src/show.c src/tables.c src/tables.h: Save/set/show preference for line styles rather than linetypes. * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): If (prefer_lines_styles) then autoincrement successive plots by line style rather than linetype. * src/misc.c: Missing line style is non-fatal error. 2006-03-23 Ethan A Merritt * src/misc.c (lp_parse): Allow "bgnd" as shorthand for "lt -3". 2006-03-23 Daniel Sebald * demo/pm3dcolors.dem: Make one example more happy. 2006-03-22 Ethan A Merritt * src/unset.c (unset_axislabel): Fix memory leak from failure to free axis labels. 2006-03-22 Timothee Lecomte * src/gplt_x11.c (handle_selection_event): Fix typo in debug code. 2006-03-19 Hans-Bernhard Broeker * src/graphics.c (boundary): Avoid strchr() on NULL x axis label text. 2006-03-18 Ethan A Merritt Daniel Sebald has pointed out that when the same plot is being redrawn repeatedly, for instance during interactive rotation of 3D plots, the process is noticibly slowed by resending the color palette on each refresh. The following set of changes insures that the palette is only sent if something has changed. * src/color.c (make_palette): Do not call term->make_palette() unless either (a) the palette has changed, (b) the terminal has changed, or (c) the output device has changed. New routine invalidate_palette() is available to signal that one of these conditions has occurred. * src/set.c (set_output set_palette set_palette_defined): Call invalidate_palette(). Also fix a memory leak. * src/term.c (change_term): Call invalidate_palette(). 2006-03-17 Daniel Sebald * src/gplt_x11.c (exec_cmd): Realigned conditional code to allow compilation with ./configure --with-image --disable-binary-x11-polygon. Fix conditional test associated whith ./configure --disable-with-image. 2006-03-17 Hans-Bernhard Broeker * src/fit.c (splitpath): Reorder tests avoid possible read of uninitialized memory. * src/alloc.c (gp_alloc): Cast to (generic *) (checked_free): Introduced new local variable to reduce number of horrible casts. * src/hidden3d.c (build_networks): Initialize lp_style from lp_properties, regardless of whether the plot supposedly has point symbols drawn or not. Needed because PM3D drops stuff inside that struct. 2006-03-17 Shigeharu Takeno * term/aquaterm.trm: Correction of misprints. 2006-03-16 Ethan A Merritt * src/set.c (set_tic_prop): Another bandaid to protect against int_error() from inside try_to_get_string(). Bug #1434633. 2006-03-15 Ethan A Merritt * src/plot3d.c (get_3ddata): Reorder code so that mutually exclusive conditions are handled in an if/elseif/else construct. No actual change in behavior, but it quiets valgrind warning messages. * term/post.trm: Prevent segfault if someone passes off an undefined variable as an epslatex header. This is a bandaid rather than a true fix, but it's better than segfaulting. The true problem is that an int_error() exit from expression parsing bypasses proper cleanup of storage for string variables, and also fails to return NULL to the caller. Bug #1434633. 2006-03-15 Daniel Sebald * src/datafile.c (plot_option_comma_separated): Found by valgrind. Set an uninitialized tuple value to 0.0. * src/set.c (parse_histogramstyle): Found by valgrind. Set an unitialized text label to EMPTY_LABELSTRUCT 2006-03-11 Ethan A Merritt * demo/html/index.save demo/html/Makefile: Add animate2 to the list of webified examples. 2006-03-11 Bastian Maerkisch * term/pm.trm src/term_api.h src/mouse.h src/mouse.c src/plot.c src/set.c src/unset.c: Cleanup of the OS/2 menu stuff communicating gnuplot -> gnupmdrv. This eliminates some 'extern's in C files and moves code specific to pm terminal to pm.trm. 1. Remove update_menu_items_PM_terminal() from mouse.c. 2. Rename send_gpPMmenu() in mouse.c to PM_set_gpPMmenu() and move the actual communication with gnupmdrv to new routine PM_update_menu_items() in pm.trm. PM_set_gpPMmenu() now only updates the gpPMmenu struct. 3. Replace all calls to update_menu_items_PM_terminal() with calls to PM_update_menu_items(). 4. Removed multiple definitions of PM_intc_cleanup() in plot.c and pm.trm to term_api.h. 2006-03-11 Ethan A Merritt * src/datafile.c (df_open): If a requested input data file is missing, issue a warning and continue. The old behaviour was to issue an error and bail to the command line. df_open() now returns a negative number if the requested file cannot be opened. Callers must test for error return. * src/plot2d.c (eval_plots): If a requested file is missing or empty, create an empty plot structure for it, but plot other functions or datafiles as usual. May not work for some combinations of missing binary input files. * src/plot3d.c (eval_3dplots): Treat a missing input file the same way as an input file with no usable data points. This is not the same as skipping it cleanly as in the 2D case. 3D should be brought in line with 2D, but it will require revision of the data structure handling. * src/fit.c (fit_command): Give an error message if an input data file is missing or not readable. * src/graphics.c (do_plot): Re-indent code section dealing with empty plots. 2006-03-11 Ethan A Merritt * src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Our plot structures have gained additional fields over the years, but not all of them were being initialized on allocation. Switch to zeroing the entire structure on allocation, then filling in the small number of non-zero fields. Fixes rare segfault found while debugging "skip missing file" code due to use of an uninitialized plot->p_count field. 2006-03-10 Petr Mikulik * src/datafile.c (df_open): Shift misplaced call to gp_expand_tilde. 2006-03-06 Bastian Maerkisch * src/command.c: #include direct.h if compiling with MSVC. 2006-03-06 Hans-Bernhard Broeker * docs/titlepag.tex: The previous method of detecting pdflatex vs. normal latex no longer works (some clever guys decided that they should use pdflatex to make DVI files...). Give up trying to sort out that mess. Just assume that hyperref knows this on its own, these days. * src/syscfg.h (OS): Provide a fallback definition to avoid using an undefined macro. (GP_EXCEPTION_NAME) [__WATCOMC__]: Define. * config/makefile.oww: Some changes to make better use of Watcom's Make tool. * src/win/wgraph.c (drawgraph): Add missing break. * term/win.trm (Win_Opts): Change abbreviations of option {no}enhanced. (WIN_Font, WIN_Fontsize): Initialize to sensible defaults. (WIN_enhanced_flush): Remove unused local variable mode. 2006-03-04 Ethan A Merritt * term/cgm.trm (CGM_options) term/emf.trm (EMF_options) term/pdf.trm (PDF_options) term/post.trm (PS_OPTIONS): Accept font request strings of the form set term ... font "," Whatever previous syntax each terminal used remains valid as well. 2006-03-04 Hans-Bernhard Broeker Support for 'with image' plots in Windows, from Bastian Maerkisch. * term/win.trm (WIN_image): New function. An edited copy of PM_image. (TERM_ENTRY): Add entry for WIN_image. * src/win/wgraph.c (GraphOp, GraphOpSize): Moved body of previous GraphOp function to GraphOpSize, which has additional argument. GraphOp replaced by a call to the new function. (drawgraph): Handle new opcode W_image. * src/win/wgnuplib.h (W_image): New wgraph operation code. (GraphOpSize): Added prototype. 2006-03-04 Hans-Bernhard Broeker Bastian Maerkisch's enhanced text mode patch for Windows: * src/win/wgnuplib.h (W_font): New operation code macro. (struct tagGW): New members deffontname, deffontsize describing the default font. (GraphChangeFont, GraphGetTextLength, GraphGetFontScaling): Added prototypes. * src/win/wgraph.c (SelFont): Write font to graphwin struct. (drawgraph): Use TA_BASELINE instead of TA_BOTTOM text alignment. Add handling of opcode W_font. (WriteGraphIni): Write default font instead of current font as GraphFont= entry. (ReadGraphIni): Read default font from GraphFont= entry. (GraphChangeFont, GraphGetTextLength): New functions. (GraphGetFontScaling): New function (#if'ed out). * term/win.trm (enum WIN_id, WIN_opts): New option {no}enhanced. (WIN_font, WIN_fontsize, WIN_angle, WIN_x, WIN_y, WIN_justification): New variables duplicated out of graphwin struct. (ENHwin_opened_string, ENHwin_show, ENHwin_overprint, ENHwin_widthflag, ENHwin_sizeonly, ENHwin_base): New variables. (WIN_options): Pass font name and size on to struct graphwin. Accept new option {no}enhanced. (WIN_move, WIN_justify_text, WIN_text_angle): Save arguments to new variables. (WIN_set_font, WIN_enhanced_open, WIN_enhanced_flush, WIN_enhanced_put_text): (TERM_ENTRY): Add entries for new functions. 2006-03-04 Hans-Bernhard Broeker * config/makefile.cyg (HCWPATH): Look for HCW in the default place where it installs itself. ($(OBJS) $(WINOBJS) dbinary.$(O)): Make these depend on config.h. (default, all): Generate config.h by real dependency. (show.$(O)): Don't assume .o extension. * config/config.cyg: No, we don't HAVE_PWD_H. 2006-03-02 Mike Sutton * term/cgm.trm (CGM_set_color): Let the CGM driver set color when colorspec type is TC_LT. 2006-02-28 Ethan A Merritt * src/term.c (term_close_output): Fix fatal double-close error triggered by error return from post.trm at any point where gppsfile and gpoutfile both point to the same file descriptor. * term/post.trm: Fix broken linetype definitions loaded by set term epslatex oldstyle 2006-02-28 Lars Hecking * demo/Makefile.am.in: Add *.pdb and *.r3d to EXTRA_DIST generation. * docs/gnuplot.texi: Regenerated after recent documentation updates. 2006-02-28 Per Persson * term/aquaterm.trm: Added encoding support to aqua terminal. Currently supports iso_latin_1, iso_latin2, and cp1250. Default is iso_latin_1. 2006-02-27 Bastian Maerkisch SF patch [1436005] WIN: change sequence of pointstyles * src/win/wgnuplib.h src/win/wgraph.c: Change the sequence of poinstyle symbols such that it matches the sequence of terminals like postscript or gd. 2006-02-26 Ethan A Merritt * demo/html/index.save: Update web site template for 4.1 demos. * src/set.c(set_decimalsign) src/variable.c(locale_handler) src/show.c(show_command show_decimalsign show_locale) docs/gnuplot.doc: Work a little harder to show both the current input and output settings for decimal point handling (LC_NUMERIC locale setting). 2006-02-25 Ethan A Merritt * graph3d.c (do_3dplot): Contour lines are supposed to be in different colors, but this was only working if the surface itself was drawn in a simple linetype. Fix contour auto-coloring even for explicit rgb or other surface-coloring modes. 2006-02-25 Ethan A Merritt * src/gadgets.h src/term_api.h: Move line type definitions into term_api.h, since they exist to request specific terminal behavior. Remove definition of L_TYPE_NODRAW. It is now superseded by LT_NODRAW. * src/misc.c (parse_colorspec); Now that LT_BACKGROUND is safe to pass to all terminal drivers, allow it as a legal linetype (-3) in commands. 2006-02-24 Petr Mikulik * src/tables.c (set_palette_tbl pm3d_color_names_tbl): Support both spellings of "gray" and "grey". 2006-02-23 Shigeharu Takeno * docs/gnuplot.doc term/post.trm: Correction of misprints. 2006-02-23 Petr Mikulik * demo/pointsize.dem: Add 'reset' at the end. 2006-02-21 Daniel Sebald * term/post.trm (PS_encode_image): The computation for the max number of required bytes for encoding the image didn't take into account that there is 8 bit alignment (potentially additional 7 bits) at the end of each image line. The encoded image was written outside memory on the heap and corrupted when cleared. Fixed, and added an assert() test, after the fact, to compare encode size against memory size. 2006-02-21 Daniel Sebald * src/gplt_x11.c (scan_palette_from_buf): The read_input() status was ignored and consequently when a partial read of the pipe happened a full line was not removed from pipe. For long palettes garbage remained in pipe when done and next command was bogus. * src/gplt_x11.c (read_input_line): A new routine that will check status of read_input and continue reading if only a partial read. If there are too many reads, the routine gives warning. 2006-02-21 Daniel Sebald * src/getcolor.c (interpolate_color_from_gray): The index could go to one past the end of the array and cause a program crash. This was fixed with a bisecting routine as suggested by the old comment nearby, as opposed to the linear search. 2006-02-20 Ethan A Merritt * term/imagen.trm (IMAGEN_cvts): Obviously no one uses this driver, because if they had they would have noticed that it's been trampling on unallocated memory since version 3.7 times or earlier. Fixed. * term/metapost.trm (MP_filled_polygon MP_boxfill): solid fill density parameter was being interpreted incorrectly. 2006-02-20 Ethan A Merritt * aed.trm ai.trm amiga.trm corel.trm debug.trm djsvga.trm dumb.trm dxy.trm emf.trm excl.trm fg.trm fig.trm gd.trm ggi.trm gnugraph.trm gpic.trm grass.trm hp26.trm hpgl.trm imagen.trm iris4d.trm latex.trm linux.trm metafont.trm mif.trm next.trm openstep.trm pbm.trm pc.trm pdf.trm post.trm pstricks.trm regis.trm rgip.trm sun.trm svg.trm t410x.trm tex.trm texdraw.trm tgif.trm tkcanvas.trm tpic.trm unixpc.trm unixplot.trm vgagl.trm vws.trm win.trm Replace L_TYPE_NODRAW and explicit constants -2, and -1 with LT_NODRAW, LT_BLACK, and LT_AXIS respectively. Make sure all drivers check for legal linetype in term->linetype(). Many drivers were not prepared to handle term->linetype(LT_BACKGROUND). Note that it was unsafe even to call term->linetype(LT_BLACK) or LT_AXIS on some older drivers (e.g. iris4d). 2006-02-19 Ethan A Merritt * src/axis.c src/color.c src/gadgets.h src/graph3d.c src/graphics.c src/set.c src/show.c: Replace L_TYPE_NODRAW everywhere in core code with LT_NODRAW. * term/post.trm (PS_options): Fix a memory leak and a double-free in the code handling epslatex epslatex_header option. While there, update the code to handle string variables. Bug #1434633. 2006-02-19 Dennis Linse * missing: Add work-around for parsing bug that cannot handle the "--output=" option to makeinfo. See also the change below, which removes gnuplot.info from the default make target. Bug #1422925. 2006-02-19 Ethan A Merritt * term/gd.trm (image_do_crop): Move libgd version 2 dependency inside conditional code segment. Bug #1434658. * docs/Makefile.in: Add an empty target for "install-exec", and remove gnuplot.info from the target "all". These changes are needed in order for either a default "make" or "make install-exec" to succeed on a system without emacs or makeinfo. Bug #1430819. Thanks to Dennis Linse Note: an alternative is not to use the .../missing script for makeinfo, or somehow make the fact that it's missing a non-fatal error. 2006-02-17 Bastian Maerkisch SF patch [1432890] Win: rotated text at arbitrary angles * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Rotated text at arbitrary angles for the windows terminals. 2006-02-16 Bastian Maerkisch SF patch [1384525] Small fixes to gd terminals * term/gd.trm: Fixes for Win32 to allow linking with bgd.dll or static. - Static linking with gdlib is now possible (again) on windows (NONDLL is taken into account). - A new define GD_NEED_LOCAL_FONT_POINTERS is added. When defined gd.trm will use local pointers to the fonts built into gdlib. This is highly recommended by Mr. Boutell on Windows platforms. Currently it is only activated on Windows when linking to bgd.dll. 2006-02-12 Daniel Sebald * term/post.trm (PS_encode_image PS_image): Bug fix for the PostScript image using the five operand form (i.e., no palette). The bug was that the max colors was not set to 2^N, where N is 1, 2, 4, 8, or 12. So if the gray scale max was 128 (2^7) the brightness was lower than it should have been. 2006-02-12 Petr Mikulik * src/graph3d.c (do_3dplot): Fixed the condition for which the message of missing blank lines in a datafile for pm3d plot is displayed. 2006-02-11 Timothee Lecomte * src/gplt_x11.c (handle_selection_event): Export a timestamp for each selection request, as per the X11 clipboard handling standard. 2006-02-06 Ethan Merritt * docs/gnuplot.doc: Make "set xyplane" description more self-consistent. 2006-02-03 Petr Mikulik * src/set.c (set_tics set_tic_prop): Draw nomirrored tics correctly for "reset; unset xtics; set xtics nomirror; splot x" and "reset; unset tics; set tics nomirror; splot x". 2006-02-03 Ethan Merritt * src/graphics.c (plot_c_bars): Clip candlesticks (financebars) to vertical plot boundaries. 2006-02-02 Ethan Merritt * src/gplt_x11.c (handle_selection_event): Clean up yesterday's code a little, and separate the pixmap request from the mouse coordinate string request. By making the string request separately, it seems that klipper now notices it. 2006-02-01 Ethan Merritt * src/gplt_x11.c (handle_selection_event): Fix bad interaction between gnuplot_x11 and X11 clipboard management tool "klipper". Refuse to export the pixmap and colormap more than once per plot export. For unknown reasons, klipper continues to ask for copies of both ad infinitum. Fixes bugs ##1225866 and #1420675. 2006-01-31 Ethan Merritt * src/command.c: (VMS) replace MAILBOX with "PLOT$MAILBOX" * src/set.c (set_timestamp): Use gp_strdup() rather than strdup(). * src/term_api.h: Remove trailing comma from definition of t_termlayer. * src/util.c (existdir): Special case VMS. With these minor tweaks, the current gnuplot source will compile and build under VMS using DECC. Not all drivers tested, though. 2006-01-28 Ethan Merritt * src/term.c (parse_term_size): New routine intended to be shared by terminals with "set term size XX, YY" option. The routine itself supports size specification in inches, cm, or pixels. The calling terminal can limit which units are acceptable. * term/post.trm (term_options): "set term ... size XX, YY" option. This is intended to replace the older mechanism: "set size ... ; set term ...". The new code gets the bounding box right, which the old mechanism does not, and it rationalizes the use of screen coordinates to match that of other (but not all) terminals. 2006-01-26 Ethan Merritt * src/datafile.c (df_read_matrix): Bugfix for "every" option in plot "matrix ... every *:*:firstpoint:*". If we are explicitly skipping input columns, it doesn't matter whether they contain legal input or not. Therefore test index against firstpoint before trying to parse it as a number. 2005-01-23 Daniel Sebald * src/graphics.c (plot_image_or_update_axes): Fix for "plot [from:to] [from:to] ... with image". 2006-01-21 Petr Mikulik * src/graph3d.c (do_3dplot): The mistake of missing blank lines in a datafile for pm3d plot is so frequently made that it really deserves a warning. 2006-01-19 Ethan Merritt * src/color.c src/color.h src/gadgets.c src/gadgets.h: Move color_box structure and associated definitions from color.* to gadgets.*. This resolves a circular header dependency if the structure is to be shared by 2D and 3D code. Add (struct position) entries to color_box structure to generalize the placement options. * src/command.c src/command.h src/gadgets.c src/gadgets.h: Move the related TBOOLEAN flags is_3d_plot and is_cb_plot from command.* to gadgets.*. * src/save.c src/show.c src/set.c src/unset.c: Convert the relevant routines to manipulate color_box position using new (struct position) fields. * docs/gnuplot.doc: Document that color_box placement can now be specified in any of gnuplot's coordinate systems. 2006-01-15 Ethan Merritt * docs/gnuplot.doc: Correct various typos and spelling errors. 2006-01-13 Ethan Merritt * term/emf.trm: EMF_filled_polygon has the side-effect of changing the current line color. Force re-evaluation of line properties the next time a line is drawn. 2006-01-13 Timothee Lecomte * demo/rainbow.dem: Do not "unset mouse" inside demo. 2006-01-12 Ethan Merritt * term/svg.trm: Avoid improper call to strcpy found by valgrind. * term/emf.trm: Allow terminal to use LT_BACKGROUND as a line or fill color. * term/xlib.trm (Xlib_reset): Give xlib its own reset function, because sharing one with x11 can lead to a double-free of the output file, resulting in a segfault (found by valgrind). 2006-01-11 Ethan Merritt * src/plot3d.c (get3d_data): Fix initialization code for 3D plot style `with vectors`. 2005-01-07 Mike Sutton * term/gd.trm: New terminal option {rounded|butt} controls line caps. * src/color.c (draw_color_smooth_box): In splot in view map mode, have the colorbox extend the full height of the y axis by default. Placement in 3D plots is not affected. This was the old (pre-4.0) behaviour. 2005-01-07 Daniel Sebald * term/gd.trm: Addtional processing of animated gifs to bring output file into compliance with the Gif89a standard. * demo/animate2.dem demo/rotate.gnu: New demo of gif animation, showing transparency. Revised rotation code for both animate and animate2 demos. 2006-01-07 Ethan Merritt * src/term.c (term_end_multiplot): Free title string and clear multiplot title. 2005-01-07 Daniel Sebald * src/gplt_x11.c (record): Incorrect nesting of parentheses. 2006-01-02 Ethan Merritt * term/gd.trm (PNG_options): Change default animation mode to "nooptimize". Disable optimization if the background is transparent, as this combination is not handled well by most viewing programs. 2006-01-02 Dennis Linse * term/x11.trm: Remove redundant #include 2005-12-30 Ethan Merritt * term/gd.trm (PNG_options): Initialize and report animate {nooptimize} flag in terminal options string. 2005-12-29 Ethan Merritt * term/gd.trm term/vgagl.trm: Cleanup (#undef) definition of Y(coord) before leaving driver code. * term/pdf.trm: Correct signedness problem in call to PDF_open_image(). * term/svg.trm: Increase the internal resolution of terminal coordinates by adding a scale factor SVG_SCALE. This fixes the "wavy line" bug seen in svg plots. 2005-12-29 Petr Mikulik * term/gd.trm: New routine image_do_crop(), extracted from png_text(). Now shared for cropping all png/gif/jpeg images. 2005-12-26 Ethan Merritt * src/graph3d.c (place_label3d): Let write_label handle clipping to the page, rather than duplicating it in place_label3d. 2005-12-21 Ethan Merritt * term/gd.trm (PNG_text): Work around unexpected behaviour in libgd, which does not copy transparent pixels during a copy operation. Fixes bug #1386553. 2005-12-17 Bastian Maerkisch * src/win/wgraph.c (drawgraph): Fixed "splot x with line palette lw 10". 2005-12-17 Petr Mikulik * src/version.c: Changed value of gnuplot_date[] from a useless July 2004 day into "December 2005". * src/mouse.h src/mouse.c: Added new field was_splot_map in structure t_zoom. It should fix yet another occurence of "set view map; plot x" and y-axis reversal when zooming by mouse and unzooming by hotkeys. 2005-12-15 Bastian Maerkisch * term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph): Support for text color via RGB and via linetype color values. 2005-12-14 Bastian Maerkisch * config/makefile.nt: Fixes for linking with bgd.dll. * src/term.c: #include for __MSC__. 2005-12-11 Ethan Merritt * src/graph3d.c (do_3dplot): Add a BoundingBox structure to describe the plot boundaries in 'set view map' mode. 2005-12-06 Ethan Merritt * src/graph3d.c (do_3dplot) src/graph3d.h src/plot3d.c (eval_3dplots) src/hidden3d.c (build_networks) docs/gnuplot.doc: Add an option `with nohidden3d` that allows you to exclude a particular plot from the global `set hidden3d` processing. 2005-12-06 Hans-Bernhard Broeker * src/hidden3d.c (COORD_TO_TREECELL, COORD_TO_BITMASK): Avoid overflow by undoing effect of surface_scale before mapping to integers. (store_polygon): Add assert()s to internal macros GET_MIN, GET_MAX, to catch problems not handled by above changes. (in_front): Avoid accessing qlist[-1]. Make sure p_list[] is always filled, even if doing a single-vertex pseudo edge. 2005-12-05 Ethan Merritt * src/hidden3d.c (build_networks): Each plot with style LABELPOINTS contains a linked list of labels. But the first label in this list is a dummy entry used only as a placeholder for style parameters. The hidden3d code was incorrectly counting this as an actual label. Fixes at least some instances of bug #1372464. 2005-12-04 Ethan Merritt * src/gadgets.h: Add new internal linetype LT_COLORFROMCOLUMN * src/graph3d.c (do_3dplot): Remove warning if no surface is visible in plot with hidden3d set. * src/hidden3d.c src/util3d.h: Modify struct vertex so that it contains a pointer (lp_style_type *)lp rather than simply an (int)style. This allows all the various point properties to be handled in hidden3d mode except for variable pointsize. Variable pointsize is handled by adding a new field (struct coordinate *)original. This, however, increases the size of struct vertex, so it can be configured out under the control of HIDDEN3D_VAR_PTSIZE. * demo/pointsize.dem demo/rgb_variable.dem: Update demos to show off use of 'set hidden3d' for 3D point plots. * src/graph3d.c src/hidden3d.c: Handle 'splot with vectors' in hidden3d mode. * demo/molecule.dem demo/GM1_bonds.r3d demo/GM1_sugar.pdb: New demo that shows off vector+point plots in hidded3d mode. 2005-12-02 Ethan Merritt * src/gplt_x11.c src/gplt_x11.h: Move #include from gplt_x11.c to gplt_x11.h so that x11.trm can see it also. Bugfix #1365076. * term/x11.trm: Remove duplicate #define for constants present in gplt_x11.h. 2005-12-01 Michael Williamson * src/set.c (set_size): Do not allow size values <= 0. 2005-11-29 Petr Mikulik * src/mouse.c (apply_zoom): Fix for "set view map; plot x" and y-axis reversal when mouse zooming. 2005-11-28 Petr Mikulik * src/datafile.c (df_set_datafile_binary): Give an error message for 'set datafile binary' (without any option). 2005-11-27 Juergen Wieferink * src/parse.c (const_string_express parse_additive_expression) src/parse.h src/eval.c (pop_or_convert_from_string) src/eval.h src/util.c (try_to_get_string) src/internal.c (f_minus) src/set.c (set_label set_xyzlabel load_tic_user): Clean up parsing and evaluation of try_to_get_string() by moving the test against STRING_RESULT_ONLY into the actual parsing code. Now if a + or - operator is encountered while parsing something that is supposed to be a string, no further tokens are processed. Before, this triggered an arithmetic operation on the string that had to be thrown out afterwards. 2005-11-27 Ethan Merritt * src/set.c (set_arrow): Rewrite set_arrow() to behave the same as set_label() and other "set " routines; attribute changes for any one arrow are now incremental. * src/misc.c (arrow_parse) src/plot2d.c src/plot3d.c src/set.c: Remove 2nd parameter of arrow_parse, since it is no longer used by any callers. * src/axis.c (axis_checked_extend_empty_range) src/plot3d.c: Suppress warning message "empty z range" when mode is "set view map". 2005-11-27 Petr Mikulik * demo/pm3d.dem: Change one splot from "with lp palette" to "with lines palette". 2005-11-26 Ethan Merritt * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Bugfix: Arrow style used by "with vector" was getting over-written during subsequent command line parsing. 2005-11-25 Daniel Sebald * src/datafile.c (avs_filetype_function) docs/gnuplot.doc: Support AVS image file format. Example: plot ' * src/graphics.c (do_plot do_key_sample) src/graph3d.c (key_sample_line key_sample_point key_sample_point_pm3d): Clip key to canvas unless TERM_CAN_CLIP flag is set. * src/set.c (load_tic_user): Allow string variables and string functions in 'set {xyz}tics ( FOO , BAR(x) x, "string"."exp" ) * src/datafile.c (plot_option_binary): Fix logic error in binary file initialization. Initialization was done inside a parsing loop, but the loop was never entered unless there were additional keywords on the command line. Bugfix. "set style data rgbimage" now works. 2005-11-25 Petr Mikulik * term/tgif.trm (TGIF_init): Message "Creator: gnuplot %s patchlevel %s" instead of (dollar)Header:(dollar) in output file header. 2005-11-24 Ethan Merritt * src/gadgets.c (clip_point) src/term.c (do_arrow): If terminal flag TERM_CAN_CLIP is set, then set canvas clipping description to NULL. * src/term_api.h src/term.c: Export on_page() so that it can be used for clipping tests by other core modules. * src/gadgets.c (write_label): If a label has an associated point, clip the point using the same test as was used for the label itself. 2005-11-24 Juergen Wieferink * src/util.c (parse_sq) src/scanner.c (scanner) docs/gnuplot.doc: Fixed \' in single-quoted strings. 2005-11-24 Daniel Sebald * src/gplt_x11.c: Linked list of color maps separate from the linked list for x11 plots. Bugfix for different color palettes in different x11 terminal windows and resizing them. 2005-11-18 Hans-Bernhard Broeker * src/hidden3d.c (build_networks): Fix handling of previousvertex variable for point-like objects, which don't need it. 2005-11-14 Juergen Wieferink * src/set.c (set_xyzlabel): Fix parsing error in backwards-compatible form "set xlabel 'foo' -1,-1". 2005-11-12 Ethan Merritt * src/axis.c (gen_tics): Check whether user-specified tic is major or minor before choosing a line type for the corresponding grid line. * term/gd.trm (ENHGD_put_text) term/pdf.trm (ENHPDF_put_text): Fix typos that caused justification to fail for rotated, enhanced mode text strings. 2005-11-11 Harald Harders * src/axis.c (axis_output_tics): Normally the tics are placed to dodge the border line. If the border line is not drawn, then do not try to dodge it. 2005-11-11 Ethan Merritt * term/metapost.trm: Update driver to support version 4.1 features. Implement general text rotation. Add partial density solid fill support for rectangles and polygons, with pattern fill implemented as incremental density solid fill. Fix bugs in terminal option font parsing. Keep track of dash pattern independent of line color 2005-11-09 Ethan Merritt * src/term.c (do_arrow): Revert previous patch, since it seems the bad effects outweigh the good. 2005-11-08 Ethan Merritt * src/term.c (do_arrow): Add a work-around for broken behaviour by the postscript terminal. post.trm does not correctly report the current canvas size, so arrows cannot be clipped against the canvas boundaries if the current terminal is post.trm. The proper fix is probably in post.trm itself, but it potentially affects many aspects of plot layout so I am reluctant to make the change there. 2005-11-01 Ethan Merritt * src/plot3d.c (eval_3dplots): Fix logic bug in vector style initialization. Replicate vector line style properties stored in arrow_properties into plot's main lp_properties. 2005-10-31 Harald Harders * term/post.trm (PS_options): Add flags to track whether terminal options have been set; issue error on attempt set option twice. 2005-10-26 Petr Mikulik * docs/gnuplot.doc: Updated 'help matrix' and 'help matrix ascii'. 2005-10-23 Ethan Merritt * src/datafile.c (adjust_binary_use_spec): Interpret the command "plot matrix" as equivalent to "plot matrix using 1:3". 2005-10-22 Harald Harders * term/pslatex.trm (EPSLATEX_set_color): Fix bug in setting pure black or white via a gray value. 2005-10-22 Ethan Merritt * src/datafile.c (df_open): Fix [very] long-standing bug that caused only the first 3 columns of ascii matrix data to be read after the command: splot "data" using 1:2:3 matrix Bug #1264105. 2005-10-21 Ethan Merritt * src/gp_types.h: Force enum for variable types to start at INTGR = 1, so that 0 (NULL) is guaranteed not to be a valid variable type. * src/util.c src/util.h (type_udv): New function returning the type of a user-defined variable, or 0 if there is no such udv. Replaces isstringvar(). * datafile.c (plot_ticlabel_using df_readascii): Allow the using specs {x|y|z}ticlabel() to accept an expression for rather than accepting only an integer constant. 2005-10-20 Petr Mikulik * src/term.c (do_arrow): Moved misplaced declaration. * config/config.cyg config/config.mgw: Updated. 2005-10-19 Ethan Merritt * docs/gnuplot.doc: Update description of xticlabels(). 2005-10-19 Petr Mikulik * term/x11.trm (START_HELP): Update docs about window title. 2005-10-16 Ethan Merritt * src/gadgets.h: Export (BoundingBox *)clip_area, so that gnuplot core routines can specify clipping boundaries before calling clip_point() and clip_line(). * src/term.c (do_arrow): clip all lines in arrow to the canvas. Bug #1187336. * src/graph3d.c (get_arrow3d): Since arrow clipping is now handled properly in do_arrow(), remove the old cruder clipping test. * term/pdf.trm (PDF_filled_polygon): Filled arrowheads can still protrude across the canvas boundary, and the pdflib routines cannot deal with this due to the use of (unsigned int) for the polygon vertices. Cast to (int) prevents segfaults or error exit by pdflib library. * term/pdf.trm (PDF_point): Bugfix: Do not crash on pointsize 0. 2005-10-15 Ethan Merritt * src/gadgets.h src/gadgets.c: Define a BoundingBox structure type, and create two instances: one for the plot boundary and one for the canvas boundary. Also export a (BoundingBox *)clip_area pointer to the currently active BoundingBox for clipping. At this point, clip_area always points to plot_bounds. * src/term.c (term_start_plot): Immediately after each call to term->graphics(), load terminal's coordinate range into canvas BoundingBox. * src/gadgets.c (clip_point clip_line): Clip against the BoundingBox pointed to by clip_area. In the past this has always been the plot boundary, but now we will be able to use the same routines to clip against other areas. * src/graphics.c src/graph3d.c src/mouse.c: Replace all instances of xright, xleft, ytop, ybot with references to those same fields in the plot_bounds BoundingBox. * term/tkcanvas.trm: Replace xright, xleft, ytop, ybut here to. PLEASE FIX: But no terminal should be referring to these directly. 2005-10-15 Hans Grobler * src/gplt_x11.c: Fix buffer overflow caused by incorrect size allocation for rdbuf. 2005-10-14 Ethan Merritt * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Explicitly initialize arrow style for "{s}plot with vector", since arrow_parse() no longer does this for us. 2005-10-13 Ethan Merritt * term/dumb.trm: Fix dumb bug in dumb term. coords run from 0->xmax and 0->ymax, but array space was only allocated for xmax*ymax pixels. Correct this to (xmax+1)*(ymax+1). Fixes segfault triggered by "set size 2,2". 2005-10-12 Don Taber * term/pbm.trm: Update description of the PBMPLUS and NETPBM packages. 2005-10-12 Ethan Merritt * term/pslatex.trm: Add TERM_CAN_CLIP to terminal flags, since the core routines cannot correctly estimate the length of TeX strings. Bug #1324794. 2005-10-12 Lars Hecking * src/beos/Makefile.in: Remove Makefile from EXTRA_DIST. 2005-10-11 Ethan Merritt * src/graph3d.c (plot3d_points): Small code clean up in preparation for possible addition of a sorting step prior to plotting. 2005-10-10 Bastian Maerkisch * src/win/winmain.c (win_lower_terminal_window): "lower" command for the Windows terminal. 2005-10-09 Harald Harders * src/misc.c (lp_parse arrow_parse) set.c (set_linestyle set_arrowstyle) src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) docs/gnuplot.doc: Bring "set style line ..." and "set style arrow ..." into agreement with other "set style " commands by retaining current properties, rather than resetting to the default style each time. The previous behavior was undocumented. Add an explicit command "set style {line|arrow} default". 2005-10-09 Petr Mikulik * term/pdf.trm term/svg.trm (START_HELP): Small changes. * term/x11.trm (START_HELP): Reorganized list of options. 2005-10-08 Bastian Maerkisch * src/os2/gclient.c term/pm.trm: "lower" command for the pm terminal. 2005-10-07 Ethan Merritt * term/cgm.trm: Fix pattern-fill code, which was not working. If the user explicitly provides a background color, apply it to the entire canvas when plotting is started. The was documented, but apparently never implemented. Bug #616167. Also update linetype code so that it is possible to give the the background color as a line property. 2005-10-07 Daniel Sebald SF patch [859716] new raise/lower commands * NEWS docs/gnuplot.doc src/command.c src/command.h src/gplt_x11.c src/os2/gclient.c src/tables.c src/win/winmain.c term/pm.trm term/x11.trm: Commands "raise" and "lower" to raise and lower windows of interactive terminals. 2005-10-07 Petr Mikulik * src/command.c (system_command): Remove superfluous c_token++. 2005-10-06 Petr Mikulik * src/syscfg.h: Increased MAX_NUM_VAR from 5 to 12 (max number of parameters for functions). 2005-10-06 Amitha Perera * term/pbm.trm (PBM_options): Re-order declarations to be strict ANSI C. 2005-10-05 Ethan Merritt * src/graph3d.c (draw_3d_graphbox ztick_callback) src/save.c (save_set_all) src/set.c (set_command set_zeroaxis) src/show.c (show_command show_all show_zeroaxis) src/tables.c src/tables.h src/unset.c (unset_command unset_zeroaxis) demo/rgb_variable.dem: Implement zzeroaxis, and rework the placement of axis tics and labels in 3D when the corresponding "set {xyz}tics axis" flag is set. Bug #1293118. 2005-10-05 Ethan Merritt * term/gd.trm (PNG_options): Test for valid (>0) size of image. 2005-10-05 Bastian Maerkisch SF RFE [1063878] Support for pre-compiled bgd.dll If gd.trm made use of the gdFontGetTiny() and related methods to read the font pointers instead of referencing them as extern, gnuplot could more easily be compiled to work with the pre-compiled GD library bgd.dll instead of having to download and compile zlib, libpng and libgd. * config/makefile.nt: Support for binary version of gdlib (bgd.dll). * term/gd.trm: New BGD_EXPORT_DATA_PROT and gp_gdXXX() for Win32. 2005-10-05 Bastian Maerkisch * term/pm.trm src/os2/pm_msgs.h src/os2/gclient.c: Support for "with image" on pm terminal. 2005-10-04 Ethan Merritt * term/pbm.trm (PBM_options): Add an option to set the output size. set term pbm size XXX,YYY 2005-10-04 Bastian Maerkisch * src/win/wtext.c (DragFunc): Increase maximum length of filenames in drag and drop operations to MAX_PATH (bug found by Tim Chippington Derrick). 2005-10-03 Ethan Merritt * configure.in: Issue a warning message if someone tries to build the PNG terminal without libgd. 2005-10-02 Ethan Merritt * src/gadgets.h: Remove unused struct default_keybox_lp. * src/graph3d.c src/graph3d.h src/mouse.c src/save.c src/set.c src/show.c src/tables.c src/unset.c docs/gnuplot.doc: Move global ticslevel into a global struct xyplane that also contains a flag indicating whether the value fixes the Z-intercept of the x/y plane at a fraction of the z range (old behaviour) or a specific value of Z (new option). To select a specific Z, use "set ticslevel at ". This change also introduces "xyplane" as a synonym for "ticslevel", so the more easily remembered form of the command is "set xyplane at ". * src/graph3d.c (do_3dplot): Check for absolute placement of xyplane along Z axis, controlled by "set {ticslevel|xyplane} at ". 2005-10-01 Ethan Merritt Lines have more properties now than they used to. Rather than expanding the number of parameters to lp_parse() to pass default values for each property separately, change to requiring the caller of lp_parse() to preload default values into the lp_style_type structure being passed. This change should not by itself affect current syntax or behaviour, but will allow us to remove the style initialization from lp_parse(). This in turn will allow different callers to have different default line styles while still sharing the same parsing routine. * src/misc.h src/misc.c (lp_parse): Remove def_line and def_point parameters; instead assume they have been preloaded into lp. * src/plot2d.c src/plot3d.c src/set.c: Modify all callers of lp_parse() to follow the new scheme. * src/gadgets.h src/term_api.h src/graph3d.c src/graphics.c src/save.c src/plot2d.c src/plot3d.c: #define PTSZ_VARIABLE and PTSZ_DEFAULT as constants rather than passing magic values for lp_style_type.p_size. * src/term.c (term_apply_lp_properties): Check explicitly for PTSZ_VARIABLE and PTSZ_DEFAULT. 2005-09-29 Ethan Merritt * src/axis.c (axis_position_zeroaxis): More zeroaxis bugs; does nobody ever use this option? Range terminating at 0.0 is a perfectly valid case in which to draw a zeroaxis. Bugfix. 2005-09-27 Ethan Merritt * src/util3d.c (draw3d_line_unconditional): The code previously assumed that any 3D colored line is colored by Z value. This is no longer true. Bugfix. 2005-09-27 Petr Mikulik * term/post.trm (PS_COMMON_DOC1): More details for 'color' and 'monochrome' options. 2005-09-25 Ethan Merritt Even when gnuplot honors a LOCALE setting for input of data or output of plots, gnuplot's own command syntax requires LC_NUMERIC == C. We must check for this anywhere that a command is generated or parsed. * src/mouse.c (apply_zoom): Enforce C locale before creating command sequence to do zooming. * src/scanner.c (get_num): Enforce C locale before reading a number that is part of a command line. * src/command.c (save_command test_palette_subcommand) src/show.c (show_command show_style): Enforce C locale before saving or showing state of internal variables. 2005-09-25 Petr Mikulik * term/svg.trm (SVG_init): Encodings for OS/2 and Windows. 2005-09-24 Bastian Maerkisch * src/os2/gclient.c term/pm.trm: Full RGB colour support for pm terminal (if display supports it). 2005-09-24 Ethan Merritt * src/gplt_x11.c (process_event): Drain any backlog of keypress events from the current plot window every time we see an arrow key. This prevents hysteresis if the redraw rate is slower than the keyboard autorepeat rate. Bug #1111734. * term/emf.trm: (EMF_dashtype): Make axis dotted by default, consistent with other terminal types. 2005-09-23 Ethan Merritt * src/gplt_x11.c (exec_cmd) term/x11.trm (ENHX11_put_text): Change the vertical centering of enhanced mode text so that it matches that of non-enhanced text. 2005-09-23 Petr Mikulik * src/set.c term/gd.trm: Always allow animated gif options in 'set term gif ...'. Issue a warning if the gd library does not support animated gifs. 2005-09-22 Ethan Merritt * src/graphics.c (boundary do_plot label_width): Correct the layout of the key title area for enhanced text super- and sub- scripts, and ensure the box is wide enough for the key title string. Bug/RFE #1002488. NB: This fix reveals that the x11 driver has incorrect vertical centering for enhanced text; other drivers are fine. * term/xlib.trm: Add enhanced text entry points to TERM_TABLE so that enhanced text handling by x11 driver can be debugged. 2005-09-21 Ethan Merritt * term/svg.trm (SVG_init): Place encoding information in the XML header record if an encoding is explicitly set in gnuplot. Bug #1231209. * src/axis.c (gen_tics): Correct the calculation of last minitic position to be plotted on a log-scale axis. Bug #1223149. * src/term.c (write_multiline): Fix trivial line-counting bug. 2005-09-20 Ethan Merritt * src/set.c (parse_label_options): Fix incorrect ordering of declaration/initialization. Non-gcc compilers didn't like it. 2005-09-19 Ethan Merritt * src/graphics.c (boundary): Allow space for zeroaxis tic labels when zeroaxis is near plot border. Bug #219867 swatted after 5 years! 2005-09-17 Ethan Merritt * src/axis.c (gen_tics add_tic_user) src/axis.h src/save.c (save_tics) src/setc.c (set_tic_prop load_tic_user load_tic_series) src/show.c (show_ticdef) src/unset.c (unset_tics) docs/gnuplot.doc: Sourceforge patchset #1104018. Allow both user-specified axis tics and auto-generated tics at the same time. No change to basic syntax or behaviour of tics, but the extra key word "add" in a "set [xuz]tics ..." command causes the requested tics to be added to the current ones rather than replacing them. 2005-09-17 Ethan Merritt * src/graphics.c (plot_image_or_update_axes): Use gp_alloc rather than malloc. Bug #1254314. * src/gplt_x11.c src/getcolor.c: Check for NULL return from malloc(). Bug #1254314. * demo/all.dem: Fixed mis-matched quotes around "rgb_variable.dem". 2005-09-16 Juergen Wieferink * src/command.c (string_expand): Fix bug in macro handling; escaped quotes were not recognized. 2005-09-16 Ethan Merritt * src/graph3d.c (draw_3d_graphbox): Treat placement of Z-axis label in the same way as those for the X and Y axes. 2005-09-15 Ethan Merritt * src/term.c (write_multiline, on_page): New routine on_page(x,y) to check coordinates for being in range of entire terminal drawing area. Use this in write_multiline() to centralize text clipping (may extend it to single line text later). Fixes bug #1274007 and a lot of old complaints about segfaults in libpdf. * src/term_api.h term/post.trm: But some terminals can clip text just fine on their own, and do it more cleanly than on_page() can do. Define a terminal flag TERM_CAN_CLIP for these cases, starting with post.trm. If the flag is set for the current terminal, on_page() always returns TRUE. * src/graph3d.c (xtick_callback ytick_callback ztick_callback): Since write_multiline() now does its own clipping, it does not need to be wrapped by clip_put_text_just(). While we're here, apply text rotation for tic labels. * src/gadgets.c src/gadgets.h src/color.c: This leaves no callers for clip_put_text_just(), so remove the routine altogether. 2005-09-15 Harald Harders * src/variable.c term/post.trm (PS_options, documentation): Fix bugs in fontfile handling of ps terminal. Document "nofontfiles". SourceForge patch #1269469. 2005-09-15 Ethan Merritt * demo/html/Makefile demo/html/index.save: Add rgb_variable.dem to the autogenerated html set. Also add dashcolor.dem, which is complicated by needing to generate an *.eps file and then convert it to *.png. * demo/all.dem: Add rainbow.dem and rgb_variable.dem * src/gadgets.h: Initialize axis labels to use linetype -1, not 0. 2005-09-14 Ethan Merritt * docs/gnuplot.doc: The histogram plot style was not being listed as an option under 'help plotting styles'. 2005-09-12 Ethan Merritt * src/axis.c src/axis.h src/color.c src/gadgets.c src/gadgets.c src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/term.c src/unset.c: Up till now gnuplot's axis labels, plot title, and timestamp have been stored in statically allocated instances of struct label_struct. All other labels use dynamically allocated struct text_label. This set of changes converts all users of struct label_struct to use stucture text_label instead. This saves space everywhere, and consolidates the label parsing and handling routines. * docs/gnuplot.doc NEWS: The y and y2 axis labels now allow explicit control over rotation angle; all labels now allow explicit control over {no}enhanced text processing. 2005-09-12 Bastian Maerkisch * config/config.nt: Rearranged to comply with config.{h,cyg,mgw,os2}. 2005-09-11 Ethan Merritt * src/save.c (save_set_all): Fix incorrect placement of newlines in "set pm3d" options. 2005-09-09 Lars Hecking * Makefile.am: Add DISTCLEANFILES. * lisp/Makefile.am: Add $(ELS) to distclean-local target. * share/LaTeX/Makefile.am: Install .cfg file under gnuplot's directory hierarchy rather than LaTeX's - it is the user's responsibility to update the latter. Add uninstall-hook. 2005-09-09 Hans-Bernhard Broeker * config/config.nt: Added flags for GP_ISVAR, libPDF details, HAVE_STRINGIZE, string variables, datastrings, histograms, fit error variables, image mode, macros. Added at least some comments. 2005-09-08 Hans-Bernhard Broeker * config/makefile.nt: Add a rule that makes all *.obj files explicitly dependent on config.h. Explain usage a bit more clearly. * src/graphics.c (plot_image_or_update_axes): Don't dereference function pointer in test. * docs/gnuplot.texi: Regenerated. * docs/gnuplot.doc: Removed superfluous blanks, fixing some blank-only lines. * src/beos/Makefile.in: New file. Edited copy of previous Makefile to fix out-of-source 'make dist'. * src/beos/Makefile: Removed. * configure.in: Add src/beos/Makefile to AC_OUTPUT. 2005-09-07 Lars Hecking * Makefile.am, configure.in, share/Makefile.am: SUBDIRS in automake versions older than 1.9 can only contain direct children. Need a minimal, dummy Makefile.am in share/ to address this. * configure.in, share/Makefile.am, share/LaTeX/Makefile.am: Fix building outside source directory. 2005-09-07 Lars Hecking * Makefile.am: Add share/LaTeX to SUBDIRS. * depcomp, install-sh, missing, mkinstalldirs: Updated from automake. * config/Makefile.am.in: Add MacOSX to EXTRA_DIST generation. * demo/Makefile.am.in: Add *.cfg and html to EXTRA_DIST generation, remove webify.pl. * share/LaTeX: Add top_srcdir, INSTALL_DATA, DISTFILES, install, distdir, clean, distclean. Clean up all and install targets. * src/Makefile.am: Add makefile.awc to EXTRA_DIST. 2005-09-05 Petr Mikulik * show.c (show_palette_palette): Take care that print_out is stderr for for both NULL and stderr. * command.c (print_show_output): Make the test to print_out, not print_out_name (failed for stdout). 2005-09-05 Geoffrey Hausheer SF patch [1264939] Adds bilinear interpolation to pm3d surfaces * demo/pm3d.dem docs/gnuplot.doc src/pm3d.c src/pm3d.h src/save.c src/set.c src/show.c src/tables.c src/tables.h NEWS: When using pm3d with data files (rather than functions), a single color is used for each quadrangle (unless dgrid is used, but then you get weighted averages instead). This patch does bilinear interpolation to subdivide each quadrangle into nxn smaller quadrangles, and sets the color of each one independantly. 2005-08-30 Hans-Bernhard Broeker * config/makefile.dj2 (TERMLIBS): Updated to current version of GRX. (LINKOPT): Fix it to actually use $(TERMLIBS). (CFLAGS): Add -DHAVE_SYS_STAT_H. 2005-08-30 Bastian Maerkisch * src/os2/gclient.c (ReadGnu): implement stubs in pm terminal to map RGB colors to nearest color from current pm3d palette 2005-08-22 Ethan Merritt * src/color.c src/color.h: New routine set_rgbcolor(). * src/misc.c (parse_colorspec) src/graph3d.c: Allow color specification "rgb variable", in which case the RGB color is taken from an additional field of the "using" specifier. * docs/gnuplot.doc demo/rgb_variable.dat demo/rgb_variable.dem NEWS: Explain and give example of reading rgb color from input data field. 2005-08-19 Ethan Merritt * src/plot3d.c (get_3ddata) src/graph3d.c(plot3d_points): Variable pointsize should be honored in plot style "linespoints" exactly as in style "points". 2005-08-17 Hans-Bernhard Broeker * docs/gnuplot.doc (multiplot): Extend description of how multiplot actually works on interactive displays. Place a hint about using 'clear' for insets. Closes RFE #1256148. 2005-08-16 Harald Harders * src/save.c (save_tics): Fix inconsistency in the syntax of the saved "set tics" command and the input "set tics" command. SF patch [1261165] 2005-08-12 Juergen Wieferink * src/datafile.c (initialize_use_spec df_open df_close) src/fit.c (error_ex fit_command) src/set.c (set_palette_function): Use free_at() rather than free() for action table pointers. Fixes minor memory leaks found by valgrind. * src/eval.c (free_at): Handle null pointer gracefully. * src/gadgets.h src/graphics.h src/plot2d.c src/plot3d.c: Consistent initialization of the title_no_enhanced flag. 2005-08-12 Bastian Maerkisch SF patch [1234632] gnuplot history file without GNU readline * NEWS src/gp_hist.h src/history.c src/plot.c src/set.c src/show.c src/syscfg.h src/unset.c: This patch enables GNUPLOT_HISTORY if gnuplot is not compiled with GNU readline. History is automatically saved on program exit and reloaded on start. "set/unset history" commands are supported. * configure.in config/makefile.os2: Other makefiles should be adjusted to allow GNUPLOT_HISTORY to be defined when HAVE_LIBREADLINE is not. 2005-08-10 Ethan Merritt * src/gplt_x11.c: Restore original background pixel setting after text rotation. 2005-08-10 Hans-Bernhard Broeker * src/win/winmain.c: Define _WIN32_IE independent of particular compilers, conditional only on whether it's already defined. 2005-08-08 Ethan Merritt * term/pdf.trm: Keep track of current color regardless of whether it was set by term->set_color() or term->linetype(). 2005-08-08 Bastian Maerkisch * src/gp_hist.h src/history.c src/plot.c src/plot.h src/set.c src/show.c src/unset.c: Move variable gnuplot_history_size from plot.h to gp_hist.h. 2005-08-08 Petr Mikulik * demo/datastrings.dem demo/epslatex.dem demo/histograms.dem demo/layout.dem demo/pm3d.dem: Update for "set tics scale". 2005-08-07 Ethan Merritt * src/gplt_x11.c: Do away with special (GC *)gc_pm3d; use the same gc for all normal plot elements except pattern fill. Tweak the algorithm for text rotation as suggested long ago by Dave Denholm. The default method should now work on all TrueColor or DirectColor displays. The X resource "gnuplot*fastrotate: off" still allows fall-back to a slower but guaranteed algorithm if necessary. Fixes bug #1251193. 2005-08-07 Petr Mikulik Let PM3D be always compiled in. Thus, this patch removes all constructs #if(n)def PM3D and does a necessary code clean-up. Files changed: configure.in config/(11 files) config.amg config.cyg config.mgw config.os2 config.wc makefile.cyg makefile.mgw makefile.nt makefile.os2 makefile.oww makefile.win demo/world2.dem src/(37 files) axis.c axis.h color.c color.h command.c contour.c datafile.c gadgets.c gadgets.h getcolor.c getcolor.h gplt_x11.c gplt_x11.h gp_types.h graph3d.c graph3d.h graphics.c graphics.h hidden3d.c misc.c misc.h mouse.c plot2d.c plot3d.c plot.c pm3d.c save.c set.c setshow.h show.c tables.c tables.h term_api.h term.c unset.c util3d.c util3d.h src/os2/gclient.c src/os2/pm_msgs.h src/win/wgraph.c term/(22 files) README aquaterm.trm cgm.trm dumb.trm emf.trm estimate.trm fig.trm gd.trm ggi.trm metapost.trm mif.trm pdf.trm pm.trm post.trm pslatex.trm pstricks.trm svg.trm tgif.trm vgagl.trm win.trm x11.trm xlib.trm 2005-08-06 Bastian Maerkisch * src/set.c (set_tics): Fix non-ANSI ordering of declaration. 2005-08-06 Ethan Merritt * src/color.c: Remove C++ style comments. * src/gplt_x11.c: Replace non-standard type caddr_t with XPointer. * src/set.c (set_tics) src/tables.c src/tables.h: Do not consider use of old syntax as an error. (E.g. 'set key outside below') 2005-08-05 Ethan Merritt * demo/starmap.dem: Change style slightly for use with webify. * demo/html/index.save: Add tics demo. * demo/html/webify.pl: Use in-tree gnuplot executable, if available. 2005-08-05 Harald Harders SF patch [1245558] Different ticscale and ticpos for different axes * NEWS docs/gnuplot.doc src/axis.c src/axis.h src/color.c src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/term.c src/unset.c demo/all.dem demo/tics.dem demo/html/Makefile: This patch enables the user to specify different ticscales and tic-positions for each axis: - new: "set tics" can change most settings for {x|y|z|cb}tics at once; - new: tic scale can be set per axis using "set {x|y|z|cb}tics scale"; - change: "set ticsscale" is deprecated, use "set tics scale" instead. 2005-08-04 Ethan Merritt * src/plot2d.c(store_label get_data) src/plot3d.c (get_3ddata): For 'plot with labels', instead of treating a missing label as an undefined point, treat it as a blank label. That allows putting a point on the plot even if there is no label to go with it. Bug #1251922. * src/datafile.c: Better fix for mis-match of column header to column values in the case of `set style histogram errorbars` with `set key autotitle columnheader`. Supersedes 2005-07-30 patch. 2005-08-04 Bastian Maerkisch SF patch [1233984] Directory selection dialog for Win32 * src/win/wgnuplot.mnu src/win/wmenu.c: Add new directory selection dialog to Win32 platform. If SHELL_DIR_DIALOG is defined the common directory dialog of the windows shell is used. Otherwise a modified version of the common file open dialog is used. The new code is only active if WITH_ADV_DIR_DIALOG is defined. * src/win/wcommon.h: Make the new directory dialog the default by #defining WITH_ADV_DIR_DIALOG and SHELL_DIR_DIALOG. 2005-08-04 Bastian Maerkisch SF patch [1233987] WIN32: save wgnuplot.ini to user's appdata dir * src/plot.c src/plot.h src/win/winmain.c (WinMain): Change default location of wgnuplot.ini to the user's APPDATA directory on Win32 platforms. This is necessary since the directory of the executable can not be assumed to be writable. * src/win/wcommon.h: Make the new behaviour the default by #defining INIFILE_IN_APPDATA. 2005-08-04 Hans-Bernhard Broeker * src/contour.c: CodeStyle cleanup (no superfluous pointer casts, sensible indentation). (contour): Logarithmize parameters of incremental contour specification to imitate the way other ticks on log axes behave. (edge_struct, poly_struct, cntr_struct): Typedef'd these structs, use typedef names all over the place to render source less wordy. 2005-08-03 Ethan Merritt Move generation of html demo files into a separate subdirectory. * demo/html/index.save demo/html/gnuplot_demo.css: Template files for html pages. * demo/html/Makefile demo/html/webify.pl: Modify webify.pl to accept the "set term" parameters from environmental variable DEMOTERM. Create a separate Makefile just for generation of html pages. Add special case terminal parameters for several demos. * demo/multiplt.dem: Add a missing "pause -1" command so that the webify script works properly. 2005-08-03 Lars Hecking * docs/Makefile.in: Update CLEANFILES and clean-generic. 2005-08-03 Bastian Maerkisch * config/makefile.nt: Introduce variable OPTIONS for compile time switches like PM3D, USE_MOUSE etc. This makes addition of options easier. * src/win/winmain.c src/win/wcommon.h: Add new function GetDllVersion() which can determine the version of windows's shell and common control libraries. It is only included if WANT_GETDLLVERSION is defined. * src/win/wprinter.c src/win/wgraph.c src/win/wgnuplib.h src/win/wcommon.h: Rename struct PRINT to GP_PRINT due to name collision with windows shlobj.h header file. 2005-08-02 Petr Mikulik * config/config.mgw: Some more #(un)define for MingW >= 3.0. 2005-08-01 Ethan Merritt * src/save.c (save_position): OK, so maybe we have to print out the full "offset ...." even if it specifies zero offset. 2005-07-31 Petr Mikulik * src/history.c: Removed old comments. 2005-07-31 Bastian Maerkisch * src/plot.c: #include gpexecute.h for OS/2 without USE_MOUSE. * src/show.c (show_version): Correct spelling error HIDDEN3D_GRDBOX => HIDDEN3D_GRIDBOX. * src/term.h: Fix compilation with SHORT_TERMLIST. * src/gplt_x11.c: Remove reference to os2/dialogs.h. * src/mouse.c: Use OS/2 message definition file os2/pm_msgs.h. * config/makefile.os2: Fix build of gplt_x11.exe on OS/2. 2005-07-30 Petr Mikulik * config/config.mgw: Have HAVE_ERF, HAVE_ERFC for MingW >= 3.0. 2005-07-30 Ethan Merritt * src/save.c (save_position and its callers): Move printout of the "offset" keyword into shared routine save_position(). That way we can efficiently skip the whole thing if the offset is zero. * src/datafile.c (df_tokenise): Add back a copy and a comment corresponding to the old sscanf() input code. This makes is easy if someone wants to compare new and old code paths. * src/datafile.c (df_open): Fix mis-match of column header to column values in the case of `set style histogram errorbars` with `set key autotitle columnheader`. 2005-07-29 Petr Mikulik * demo/pm3d.dem: Added missing text for a "pause -1". 2005-07-29 Daniel Sebald * src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/tables.c src/tables.h: Revamping of key placement routines. Backward compatible with previous placement options but now there are new, more flexible options. {{inside | outside} | {lmargin | rmargin | tmargin | bmargin} | {at }} {left | right | center} {top | bottom | center} {vertical | horizontal} {Left | Right} controlling key placement and key element arrangement. * docs/gnuplot.doc: Updated documentation about new key options. "at" for manual placement was included in the documentation even though leaving "at" out will still work. * demo/bivariat.dem demo/electron.dem tutorial/eg3.plt tutorial/eg6.plt tutorial/tutorial.tex: Changed all uses of manual key placement to include "at". * demo/key.dem demo/all.dem: Added demo to show variety of key placements, and added demo to the all demo file. * NEWS: Added note about more versatile key placement. 2005-07-28 Ethan Merritt * src/term.c (term_start_multiplot mp_layout_size_and_offset): `set multiplot {title "string"} {layout ... }` Add a page title option for multiplots. In auto-layout mode, reserve space at the top of the page for this title, and scale all the component plots accordingly. RFE #992349 * demo/layout.dem: Add sample titles to the plots in this demo. * src/graphics.c (place_histogram_titles): Fix bug that tried to get the title offsets from the wrong data structure. 2005-07-28 Petr Mikulik * config/config.cyg config/config.mgw config/config.os2: Added #defines GP_MACROS, GP_STRING_VARS, HIDDEN3D_GRIDBOX, HIDDEN3D_QUADTREE, HAVE_PWD_H, __PROTOTYPES. 2005-07-28 Bastian Maerkisch SF patch [1234634] OS/2: use generic enhanced text in pm terminal. * config/config.os2 config/makefile.os2 src/os2/gclient.c src/os2/gnupmdrv.c src/os2/gnupmdrv.h src/os2/pm_msgs.h term/pm.trm: Use generic enhanced text in pm terminal -- Let pm terminal use the new generic routines for enhanced text. Currently the only new feature this provides is overprinted text. The binary interface between pm.trm and gnupmdrv has been extended slightly. To switch back to the old behaviour compile with PM_OLD_ENHANCED_TEXT defined. The old code is compiled into gnupmdrv in any case to maintain binary compatibility with programs using gnupmdrv like GP/ARI or Term::Gnuplot (but I haven't acually checked that). 2005-07-27 Ethan Merritt * src/set.c (set_timestamp) docs/gnuplot.doc: Drag the "set timestamp" code into the modern era by accepting options in any order. Add keyword "font" in front of the optional font string, but for backwards compatibility do not require it. Update the documentation to reflect current treatment of offset and font options. 2005-07-26 Ethan Merritt * src/set.c (set_xyzlabel): Check to see if next token is a valid keyword before trying to parse it as a string. Fixes bug on, e.g. 'set title offset 1,1' * src/save.c (save_set_all): Write out keyword "offset" where appropriate. 2005-07-25 Ethan Merritt * src/stdfn.c src/stdfn.h: Add a private function gp_strtod() in case there are platforms that do not have a working strtod(). * src/datafile.c (df_tokenise): Use strtod(), via gp_strtod(), to parse values read from a data file. On long input lines, this is substantially faster than using sscanf(). The previous fast path (non-Fortran) used atof() rather than strtod(), but that does not give a status return or character length consumed. 2005-07-25 Ethan Merritt * term/pdf.trm (PDF_options PDF_linewidth): libpdf does not like zero linewidth. Limit linewidths to 0.1 or greater. * src/command.c (exit_command) docs/gnuplot.doc: New command 'exit gnuplot' will unconditionally exit gnuplot immediately even if invoked from within several nested layers of input stream. This allows, for instance, binding a hotkey that can terminate gnuplot in response to a keystroke in the plot window. 2005-07-25 Ethan Merritt * src/datafile.c src/datafile.h src/save.c src/set.c src/show.c src/unset.c docs/gnuplot.doc: New command 'set datafile fortran' to enable parsing of input files containing Fortran D or Q floating constants. This was the default until now, but it requires a second check of every value parsed, which obviously slows down the input procedure. Now the second pass is disabled by default, and only occurs if the fortran parsing option is selected. Addresses complaints of slow input from large files. 2005-07-23 Ethan Merritt * src/command.c (print_command): Re-arrange code so that an expression being printed is only evaluated once, rather than twice. Fixes bug #1173508. 2005-07-23 Harald Harders * src/term.c (write_multiline): Use estimate_strlen rather than strlen. * term/post.trm: Use a more foolproof method of estimating the width of strings containing overprint characters. 2005-07-22 Ethan Merritt * src/parse.c (string_or_express): Remove unused variable. 2005-07-22 Ethan Merritt Introduce a new terminal API routine (term->layer)(int layer). This is used by the epslatex terminal (pslatex.trm) to handle the "front" or "back" text attribute. In the future it might be used to toggle other layering effects (transparency? contour levels?). * src/term_api.h term/README: Define new entry point and a set of layer names to pass into it. * src/graph3d.c (do_3dplot) src/graphics.c (do_plot): Call t->layer(TERM_LAYER_FRONTTEXT) and t->layer(TERM_LAYER_BACKTEXT) at the relevant stages of plot generation. * src/term.c (term_start_plot term_end_plot): Call t->layer(TERM_LAYER_RESET) and t->layer(TERM_LAYER_END_TEXT) at start and end of each plot, respectively. * term/pslatex.trm: Implement EPSLATEX_layer() mechanism. 2005-07-20 Juergen Wieferink * src/parse.c (string_or_express): Do not call int_error() for invalid expressions. Fixes "(s)plot 1/0". 2005-07-19 Ethan Merritt * term/cgm.trm: Add a warning that Win2000 cannot handle filled polygons with more than 50 vertices. Not our fault! Bug #955074. 2005-07-18 Ethan Merritt * src/datafile.c (df_parse_string_field): Fix tab-containing string constant which was broken when indent replaced tabs with spaces. * configure.in src/term.h term/post.h term/post.trm term/pslatex.trm: Repair the ordering of configuration options for building the post, epslatex, and pslatex terminals. This selection is now made at the top of term.h, as is selection of the enhanced text stringlength estimation pseudo-terminal. 2005-07-16 Juergen Wieferink * src/command.c (load_command): Issue an error message if any tokens or further commands follow a "load " command. Sourceforge patch #1210835. 2005-07-16 Ethan Merritt * demo/stringvar.dem: Add a demo showing a plot command that generates datafile names via a string-valued function, now possible because of the new string_or_expression code. 2005-07-16 Juergen Wieferink Allow a single plot or splot command to contain a mixture of functions, e.g. sin(x), and constant expressions including string-valued constant expressions, e.g. sprintf("file.%d",n). * src/datafile.c (df_open) src/datafile.h src/plot2d.c src/plot3d.c src/fit.c src/set.c: Parse filename from plot/splot/fit command before calling df_open(), and pass the resulting string to df_open() as a new argument. * src/parse.c (string_or_expression) src/parse.h: New function that can safely parse either a constant expression or a dummy function. string_or_expression() will return a pointer to a string if it successfully parsed a string-valued expression. It will return a pointer to an action table if it successfully parsed a dummy function. If it parsed a non-string expression, both the string pointer and the action table pointer will be NULL. * src/eval.c (imag): The use of string_or_expression() by splot/plot/fit allows one to mix string-valued functions and "true" functions in the same command. However, a string-valued function containing what looks like a dummy variable (normally x or y) is not parsed correctly. This error is eventually discovered and reported in imag(). 2005-07-16 John Bollinger * demo/finance.dem demo/finance.dat: New demo illustrating various gnuplot features applied to display of financial data. 2005-07-15 Hans-Bernhard Broeker * src/term.c (enhanced_recursion) [POSTSCRIPT_DRIVER]: added a conditional to allow builds without PostScript/pslatex drivers again. * term/pslatex.trm (PSLATEX_DRIVER): Define this macro here, where it belongs. * term/post.trm (POSTSCRIPT_DRIVER): Likewise. * term/post.h: Remove #define PSLATEX_DRIVER --- it had no business sitting in here. * src/term_api.h (PC_setup) [PC]: Add missing prototype. * src/gadgets.c: Add missing #include "graph3d.h". * src/datafile.c: Re-indented almost the entire file. Was violating CodeStyle all over the place. * src/term.h [DJGPP, DJSVGA]: Allow build without GRX (by setting DJSVGA to zero). * config/makefile.dj2 (EXENAME): Removed version number from name. (TERMFLAGS): DJSVGA definition moved to front, explain that setting this to zero has a different effect now. (TERMLIBS): Renamed to usual name (was LDFLAGS). (CFLAGS): Updated to support build of current source. (LINKOPT): Removed entry for GRX library. * src/breaders.h: Added missing HAVE_CONFIG_H conditional. 2005-07-14 Ethan Merritt * src/internal.c src/term.c src/gplt_x11.c term/gd.trm: Fix mangled use of FPRINTF debugging macro. * term/README term/gd.trm: Clarify documentation of term->suspend and term->resume. Remove TERM_CAN_MULTIPLOT flag from gd.trm, since it has no suspend/resume entry points. 2005-07-13 Ethan Merritt * src/command.c (do_system_func): Fix incorrect placement of final return code outside of the main conditional code segment. Fixes compilation error under mingw reported by Dietmar Warning. * src/graph3d.c (do_3dplot) src/graphics.c (do_plot) src/term.c (test_term) term/post.trm term/pslatex.trm: Remove all epslatex-specific code from the gnuplot core routines. It was not working anyhow. This reverts the epslatex driver to the old behaviour of ignoring any distinction between "front" and "back" text labels. It also clears the deck for a different approach that adds a terminal API routine to handle this sort of terminal-specific requirement (SourceForge patchset #1191202). 2005-07-11 Ethan Merritt * src/breaders.h src/datafile.c src/datafile.h src/fit.c src/plot2d.c src/plot3d.c src/set.c: Simplify conditional compilation controlled by --enable-binary-data-file. Instead of having a different number of parameters to df_readline() and plot_option_binary(), expost a uniform definition but add an auxilliary routine df_set_plot_mode() in the BINARY_DATA_FILE case. Also clean up the general coding style and remove redundant structure definitions. This prepares for easier implementation of Juergen Wieferink's "plot string or expression" patch. 2005-07-10 Harald Harders * docs/psdoc/ps_symbols.gpi: Spiffed up sample page for PostScript symbols and linetypes. 2005-07-10 Shigeharu Takeno * docs/gnuplot.doc: Fix typos. 2005-07-10 Ethan Merritt * src/command.c src/graph3d.c src/graphics.c src/term.c: Whitespace cleanup. * src/internal.c (f_gprintf): Use dynamic allocation for output buffer. 2005-07-10 Juergen Wieferink * src/command.c (do_system_func) src/command.h src/eval.c src/internal.c (f_system) src/internal.h src/scanner.c (substitute): New built-in string function system("command") which executes a shell command and returns the resulting output stream as a string variable. Consolidate this code with existing shell escape code (backticks) via a new routine do_system_func(). * docs/gnuplot.doc: Document new system("command") function. 2005-07-09 Juergen Wieferink * src/eval.c src/eval.h src/parse.c src/parse.h: Consolidate code in add_udv() and add_udv_by_name(). Move add_udv_by_name() from parse.c to eval.c so that lower level routines in internal.c and eval.c do not have to include parse.h. 2005-07-08 Juergen Wieferink * src/internal.c (f_call f_calln): Free all strings used as dummy variables; fixes memory leak. * src/eval.h src/eval.c: New function free_at() that frees all strings stored in an old action table so that there is no memory leak when the table is re-used. * src/command.c (define): Free old action table if a function is redefined; fixes memory leak. * src/parse.c (temp_at parse_primary_expression): Recode to use new free_at() routine. 2005-07-08 Ethan Merritt * docs/gnuplot.doc src/internal.c (f_range f_strstrt) src/parse.c (parse_primary_expression): Switch convention of substring indexing from C-like (first character has index 0) to Fortran-like (first character has index 1). This makes the routines strstrt() and word() consistent with each other, and makes the range specifier form string[beg:end] consistent with both of them. * demo/stringvar.dem: Expand demo to illustrate use of the substring operator and the various string string functions. 2005-07-07 Ethan Merritt * src/gp_types.h: Provide a pseudo-plot type NODATA to indicate that this plot is being skipped because the datafile was empty. * src/plot2d.c (eval_plots): When no valid points are found in a data file, issue a warning message, mark the current plot as NODATA, but then process the rest of the command line as normal rather than bailing to command line. This is a return to the behavior of 3.7.2, except that now there is an explicit warning message for each empty file. If other code sections code are sensitive to lack of data, they can test for NODATA. Addresses enhancement requests #1063873 and #1204125. 2005-07-06 Ethan Merritt * src/internal.c (f_sprintf): Switch from using a fixed length output buffer to a dynamically-allocated one. The string output by sprintf is no longer limited to 80 characters. * demo/stringvar.dem: Test dynamic extension of sprintf output buffer. * src/datafile.c (df_readline): Only call add_key_entry() if the current plot is really a histogram; otherwise specifying 'using key()' causes a segfault on non-histogram plots. * docs/gnuplot.doc: Clarify the method of auto-generating key titles and tic labels for columnstacked histogram style. 2005-07-03 Juergen Wieferink * src/command.c (system_command): Simplify code by using try_to_get_string() to extract the command string from input line. * docs/gnuplot.doc: Fix typo in the documentation for words(string). Add mention that `set style fill` applies to filledcurves. 2005-07-03 James R. Van Zandt * term/gd.trm: Document "set output '| display png:-'". 2005-07-02 Ethan Merritt * src/eval.c src/internal.c src/internal.h src/parse.c: New string-related functions: + words("string") returns the number of whitespace-separated words in the string. For example, words("A B C D") = 4 + word("string",N) returns the Nth word in the string. For example, word("A B C D",3) = "C" * docs/gnuplot.doc: Document new functions word() and words(). 2005-06-29 Ethan Merritt * src/util.c src/util.h: #define isstringvalue(c_token) to include both isstring() and, if enabled, isstringvar(). * src/plot2d.c src/plot3d.c src/set.c term/emf.trm term/gd.trm term/post.trm term/tgif.trm term/x11.trm: Modify all callers of isstring+isstringvar to either use the new combined routine or to call try_to_get_string() directly and handle both string and non-string returns. * src/axis.h: And one caller was hiding in a macro. Fixes the following bugs: + `plot func(x), FILENAME` gave an error + `set term pslatex font FONTNAME` should not have been legal + `set title "foo" -1,-1` (old style syntax with no "offset" keyword) caused a parsing error + fixes order-dependence of options to `set term emf` There are 60 odd instances of isstring() remaining, many of which are tests for format strings (e.g. `set format xy "format_string"`). 2005-06-28 Ethan Merritt * docs/checkdoc.c: Allow for lines beginning with '=' in gnuplot.doc (now used to indicated an explicit index entry). 2005-06-27 Shigeharu Takeno * src/set.c (parse_label_options): Allow string variable or expression for font name. 2005-06-27 Ethan Merritt * src/internal.c (f_calln): Prevent buffer overflow if more parameters than expected are passed to a function. 2005-06-26 Petr Mikulik * docs/Makefile.in: Replace "sort" by "LC_ALL=C sort" when building allterm.h to avoid localized sorting. 2005-06-24 Petr Mikulik * docs/gnuplot.doc: Rewritten section for "help exit". 2005-06-22 Ethan Merritt * src/eval.c src/internal.h src/internal.c (f_strstrt): New built-in string function that searches for a substring within a longer string. Equivalent to C library function strstr(haystack,needle) except that rather than returning a pointer, it returns an index. Example: n = strstrt("haystaneedleck","needle") sets n to 6. * demo/stringvar.dem docs/gnuplot.doc: Document and add to string demo. * NEWS: Update list of new features. 2005-06-20 Ethan Merritt * src/set.c (set_xyzlabel): Allow string variable or expression for font name. This is a variant of a patch from Shigeharu TAKENO. * src/plot2d.c (get_data histogram_range_fiddling): Clean up histogram code dealing with missing data or blank lines. Fixes an autoscaling bug if a data file ends with blank lines. 2005-06-19 Ethan Merritt * docs/gnuplot.doc src src/set.c (set_decimalsign): New command option `set decimalsign {locale {"locale_spec"}}` takes the decimal sign character from the locale specified for the locale "locale_spec" or from the locale specified in the enviromental variables LC_NUMERIC, LC_ALL, or LANG. * src/save.c (save_set_all): Save the current locale for LC_NUMERIC as well as the actual current value of decimalsign. * src/show.c (num_to_str) src/util.c (gprintf): Allow for the possibility that the current decimal sign is a comma rather than a dot. * src/variable.c (locale_handler): Expand output by `show locale` to show the current values of LC_NUMERIC LC_CTYPE and LC_TIME. * src/unset.c (unset_decimalsign): If the decimalsign is reset using `unset decimalsign`, then set the internal locale to C. 2005-06-18 Harald Harders * docs/gnuplot.doc: Revise the section on "set arrow". 2005-06-16 Harald Harders * docs/gnuplot.doc: Document `set style line linecolor ` 2005-06-15 Ethan Merritt * demo/stringvar.dem docs/gnuplot.doc src/eval.c: Rename substring built-in function to substr(string,beg,end). 2005-01-15 Bastian Maerkisch * term/pm.trm src/os2/gclient.c src/os/pm_msgs.h: Move definition of message codes for communication between gnuplot (pm.trm) and gnupmdrv (gclient.c) to a new separate file pm_msgs.h. Replace hard-wired codes in gclient.c by symbolic names. * term/pm.trm (PM_set_font): Fix font selection for pm terminal in case of empty font string. * src/plot.c (RexxInterface): Replace input_line[] by gp_input_line[] in code sections which are only compiled on OS/2. * src/os2/gclient.c (ParseText): Fix super- and subscripts in enhanced mode of the pm terminal. 2005-06-14 Ethan Merritt New functions related to string variables: sub = "ABCDEF"[beg:end] sub = substring("ABCDEF",beg,end) len = strlen("ABCDEF") * src/parse.c (parse_primary_expression): Check for a postfixed range specifier at the end of parsing an expression. * src/internal.c (f_range) src/internal.h: New internal function f_range() that applies a range specifier to a string in order to extract a substring. Used both by substring() and by [*:*] * src/eval.c src/eval.h: Define an index code for the internal function f_range(). Make it accessible also as a function substring("string",beg,end). Also define a function strlen("string"). * demo/stringvar.dem demo/all.dem docs/gnuplot.doc: Document and provide examples of substring syntax. Add string variable demo to all.dem 2005-06-13 Frank Maas / Ethan Merritt * docs/gnuplot.doc: Clarify histogram documentation to explain that histograms always use x1 axis coordinates, but other plot elements on the same plot may freely use either x1 or x2. 2005-06-13 KITA Toshihiro * docs/gnuplot.doc: Update `set xlabel` example to use the `offset` keyword. 2005-06-04 Juergen Wieferink * src/parse.c eval.c eval.h internal.c command.c set.c: Code clean up: replace explicit test-and-free of string values with a call to gpfree_string(). * src/datafile.c (df_open): Clean up parsing of data file name, using generic functions try_to_get_string() and gpfree_string(). 2005-06-04 Ethan Merritt * src/eval.c src/eval.h src/show.c src/setshow.h: Move the routine disp_value() and its helper num_to_str() from eval.c to show.c. This reduces the need for mutual cross-referenced #includes, and anyway the routine belongs in either show.c or save.c because that's what it does. 2005-06-04 Juergen Wieferink * src/show.c (disp_value) src/setshow.h: Introduce an additional parameter to disp_value() that controls whether or not quotes are printed around strings on output. This allows simplification of the code at all call sites. * src/command.c (print_command) src/internal.c (DEBUG code only) save.c (save_variables__sum) show.c (disp_at show_variables): Modify call sites of disp_value() to explicitly request quoted strings if necessary. 2005-06-02 Ethan Merritt * docs/README docs/titlepag.tex docs/doc2tex.c docs/doc2texi.el: Add a mechanism to auto-generate an index for the documentation via the TeX package "makeindex". All TeX-derived documentation formats will include the index. Juergen Wieferink has similarly modified the generation of gnuplot.info. A keyword is inserted in the index if it is found on a line of gnuplot.doc beginning with with '?' or '=', or if it appears as the final word of a phrase wrapped in backtics. This latter rule picks up cross-reference sites, but may be disabled by compiling doc2tex with -DNO_CROSSREFS. * docs/doc2.gih.c docs/doc2hlp.c docs/doc2ipf.c docs/doc2ms.c docs/doc2rnh.c docs/doc2rtf.c: Ignore leading '=' character in input stream. These conversion tools do not know how to generate an index. * docs/gnuplot.doc term/gd.trm term/x11.trm: Add some explicit indexing entries (keywords with a '=' in the first column of the line). * docs/Makefile.in: Switch generation of html documentation to use latex2html toolchain rather than going via gnuplot.texi 2005-06-02 Juergen Wieferink * src/eval.c (Gstring gpfree_string) src/eval.h: Separate the freeing of an old string variable from the creation of a new one. New function gpfree_string(). * src/mouse.c src/internal.c (f_gprintf f_sprintf f_concatenate) src/command.c (define) src/mouse.c (load_mouse_variables): Convert to use new gpfree_string() function. Fix memory leaks from re-use of string variable names. 2005-06-01 Ethan Merritt * src/util.c docs/gnuplot.doc src/graphics.c: Update old comments and documentation; quiet compiler warnings about uninitialized variable. 2005-05-27 Daniel Sebald * term/post.trm: Fix incorrect fprintf statement that was causing compiler warnings. 2005-05-25 Hans-Bernhard Broeker * src/gplt_x11.c: Lots of coding style changes, mainly missing blanks after commas. (main) [USE_X11_MULTIBYTE]: Reset LC_NUMERIC locale to "C", after all others have been set to the user's selection for purposes of multi-byte font support. 2005-05-25 Daniel Sebald SF Patch [1117060] Mod to post.trm for PostScript Level 1 images. * term/post.trm: New routine PS_encode_image(), new postscript variable InterpretLevel1 and some other changes. 2005-05-24 Ethan Merritt * src/tables.c: Allow shorthand for "set macros". * src/term_api.h term/README: Add new terminal flag TERM_NO_OUTPUTFILE. * src/term.c (term_init): As per discussion on gnuplot-beta, when changing to a new terminal type, check flags for TERM_NO_OUTPUTFILE associated with the new type. If present, then close current output file cleanly rather than reopening and overwriting it. Fixes bug #1182499. * term/x11.trm term/win.trm term/pm.trm term/be.trm term/aquaterm.trm: Mark terminal as TERM_NO_OUTPUTFILE. 2005-05-23 Ethan Merritt * term/estimate.trm (ENHest_put_text): Track estimated limits on string y extent also. 2005-05-22 Peter Weilbacher * src/gp_hist.h src/readline.c: Fix conditional dependencies on READLINE and HAVE_LIBREADLINE so that ./configure + build is clean with all three readline options. 2005-05-22 Ethan Merritt * term/gd.trm term/mif.trm term/pdf.trm: Code cleanup - remove static initializers from the TERM_PROTO code block. ggi.trm has these also, but I can't test for correctness after a change so I don't want to change it. Remove obsolete comments. 2005-05-20 Hans-Bernhard Broeker * src/util.c (PRINT_MESSAGE_TO_STDERR): New macro: invokes printf while protecting itself from current_prompt == NULL. (os_error, int_error, int_warn): Use new macro. 2005-05-20 Peter Weilbacher SF Patch [981476] Get history functions working with GNU readline * command.c (history_command): Let the "history" command be available also for GNU readline, i.e. HAVE_LIBREADLINE. * history.c: Make routines for GNU readline compatible to those of gnuplot readline. 2005-05-19 Ethan Merritt * src/datafile.c (df_readline) src/gadgets.h src/save.c (save_set_all) src/set.c (set_bars parse_histogramstyle) src/show.c (show_histogram) src/plot2d.c (get_data histogram_range_fiddling) src/graphics.c (do_plot plot_bars plot_boxes): New histogram plot mode set style histogram errorbars {gap } {linewidth {lw}} Identical to 'set style histogram clustered' except that a second column of input data (required) is used to generate error bars at the top of each box belonging to the histogram. * docs/gnuplot.doc: Document the addition of a new histogram plot mode and associated options for 'set bars'. 2005-05-18 Ethan Merritt * src/set.c (set_allzeroaxis): Fix parsing error (bug #1204444). 2005-05-16 Ethan Merritt * src/plot3d.c (eval_3dplots): Prevent parser from getting into an infinite loop when parsing 'splot with vectors' and no additional options (bug #1203139). * src/graph3d.c (do_3dplot): Show key sample for 'splot with vectors'. 2005-05-15 Ethan Merritt * src/set.c (set_terminal): That last change wasn't popular. Instead, provide additional (but not complete) backward compatibility by doing an implicit "unset table" whenever the terminal is changed. 2005-05-14 Ethan Merritt * src/set.c (set_terminal): Give up on trying to provide backward compatibility for the old 'set term table' command; just issue a warning and leave the current terminal unchanged. 2005-05-13 Ethan Merritt * src/term.c (ignore_enhanced): Force a return to the default font. Fixes bug #1194516. * term/README: Document the fact that term->set_font("") is expected to restore the terminal's default font. This was already true, but not mentioned in README. 2005-05-13 Petr Mikulik * term/fig.trm (FIG_linetype): Use the postscript sequence of linetype colors. 2005-05-11 Ethan Merritt * src/gplt_x11.c (exec_cmd): Reorder variable declarations to allow building without binary-polygon support. 2005-05-09 Ethan Merritt * src/gplt_x11.c: Rename static arrays Class[] -> X_Class[] and Name[] -> X_Name[] to avoid conflict with gcc 4 build environment under OSX 10.4 as reported by Per Persson. * docs/gnuplot.doc: Correct typo referring to 'set pause mouse'. * term/post.trm term/pslatex.trm (PSTEX_text): Allow postscript-based terminals to use fractional font sizes; change ps_fontsize from int to float, and change relevant format statements from %d to %g. 2005-05-07 Ethan Merritt * src/unset.c (reset_command): Don't include macro setting in general `reset`; macro expansion is more likely to be chosen per-input-file than per-plot. 2005-05-06 Ethan Merritt * src/plot2d.c (get_data histogram_range_fiddling): Treat all boxwidths as absolute when in HISTOGRAM plot mode. Be more thorough in checking for histogram entries that extend the X range in auto-scale mode. Fixes bugs reported by Andrew J Caird. 2005-05-05 Hans-Bernhard Broeker * docs/gnuplot.doc (timecolumn): New documentation entry for this old "secret" function. * src/datafile.c (f_timecolumn): Major brush-over, and lots of comments explaining just how broken this function currently is. 2005-05-02 Ethan Merritt * src/util.c (isstringvar) src/util.h: Have this function always return FALSE if gnuplot is configured with --disable-stringvariables. * term/tgif.trm (TGIF_options): Accept string variable for font name. * src/hidden3d.c (build_networks): If vertex has previously been flagged as invalid, do not pass it on for further processing. Fixes bug #1194035 / #1194055 2005-04-29 Ethan Merritt * term/x11.trm term/gd.trm term/pdf.trm src/misc.c src/gplt_x11.c: Whitespace cleanup. * term/gd.trm (PNG_options): Accept string variable for font name. * src/plot2d.c (get_data eval_plots): If the x-axis is in log mode, treat boxwidth as a constant visual width rather than as a constant number of units along x, which would produce narrower boxes as x increases. Issue an error message if the x-axis is in log mode when the plot style is histograms. * docs/gnuplot.doc: Document behaviour of 'set boxwidth' for log axes. * docs/gnuplot.doc term/x11.trm term/post.trm: Clean up line length and other issues that cause errors during creation of TeX docs. 2005-04-29 Petr Mikulik * pm3d.c (set_plot_with_palette): Fix for 'splot x, y with pm3d'. 2005-04-28 Ethan Merritt * term/x11.trm (X11_options): Accept string variables for terminal options 'font ' and 'title '. * term/post.trm (PS_options) term/emf.trm (EMF_options): Accept string variable for font name. 2005-04-28 Hans-Bernhard Broeker * config/makefile.wc: Update for more Watcom-like usage of tools. * config/config.wc: New file. Promised long ago, when I added makefile.wc, finally got round to doing it. * config/config.oww, config/makefile.oww: Rewrite for more features and more Watcom-like usage of tools. * src/readline.c [__WATCOMC__]: Add #include for getch() function. 2005-04-27 Ethan Merritt * src/set.c (set_label): If the first option after 'set label' is an expression, handle it appropriately whether it is a numerical expression that provides the label id tag or a string expression that provides the label itself. 2005-04-27 Hans-Bernhard Broeker * src/command.c (call_kill_pending_Pause_dialog): Fix accidental removal of this function caused by yesterday's change. 2005-04-26 Hans-Bernhard Broeker * src/win/wgraph.c (drawgraph): Initialize local variable to avoid a -Wuninitialized. * src/history.c (write_history_n): Only define local is_pipe if PIPES enabled. Avoids a -Wunused. * src/command.c (winsystem): Define this function only if USE_OWN_WINSYSTEM_FUNCTION is set. Removes a -Wunused. 2005-04-24 Ethan Merritt * term/x11.trm: Fix a typo in the example using enhanced text font sizes. 2005-04-24 Petr Mikulik * src/pm3d.c (set_plot_with_palette): Show colorbox for 'splot ... with ... palette'. 2005-04-23 Ethan Merritt Bug fix: Do not apply axis mapping (e.g. log scale) twice to the label coordinates in plot style 'with labels'. * src/gadgets.h: Define a new "layer" LAYER_PLOTLABELS, which allows the label-processing code to distinguish labels whose coords have already been axis-mapped from those where they have not. * src/graphics.c (place_labels do_plot) src/plot2d.c (eval_plots) src/graph3d.c (place_labels3d do_3dplot) src/plot3d.c (eval_3dplots): Mark the labels making up a 'with labels' plot as belonging to LAYER_PLOTLABELS rather than to front or back layers. * src/gplt_x11.c (exec_cmd): When setting a new font, set it for both the normal and pm3d graphics contexts. 2005-04-22 Hans-Bernhard Broeker * config/makefile.oww, config/config.oww, src/makefile.awc: New build files for Win32 build using OpenWatcom compiler. * src/win/winmain.c (mktemp) [__WATCOMC__]: Added name override to _mktemp. (_argv, _argc) [__WATCOMC__]: Added name overrides to __argc and __argv. * src/win/wgnuplib.h: Added #include * src/win/pgnuplot.c (_setmode) [__WATCOMC__]: Added name override to setmode. * src/term.c [__WATCOMC__]: Added #include . * src/syscfg.h [__WATCOMC__]: Added #include . * src/stdfn.h [WIN32]: Added #include for necessary type declarations like DWORD. * src/specfun.c (BIGENDIAN): Removed unused definition conflicting with system headers. * src/mouse.c [_Windows]: Added #include "win/winmain.h" for kill_pending_Pause_dialog() prototype. * src/fit.c (ERROR): Renamed to GP_ERROR to avoid conflict with some system headers. (FIXED): Renamed to GP_FIXED to avoid conflicts with system headers. * src/command.c [__WATCOMC__]: Don't #include . * src/bitmap.c (IN) Macro conflicts with names used by some system headers. Removed. (b_setpixel): Replace usage of macro IN by simplified expansion. * docs/xref.c (xmalloc): Fixed missing return from non-void function. 2005-04-21 Ethan Merritt * src/command.c (pause_command) src/command.h docs/gnuplot.doc: Modify syntax of pause mouse command: pause mouse {}{,}... {"prompt"} where is one of keystroke, button1, button2, button3, any * src/mouse.c (event_keypress event_buttonpress event_bottonrelease event_reset) src/term (term_reset) src/win/wpause.c term/x11.trm: Test individually for specific end conditions for `pause mouse`. 2005-04-18 Ethan Merritt * src/save.c (save_linetype) src/save.h src/show.c: Code cleanup. Provide a single routine to handle all the places that dump information from a structure of type lp_style_type. This cleans up 9 call sites in save.c and 9 more in show.c, many of which were not handling the recent extensions to line types in general. The grid linetypes were not being saved at all. * src/set.c (set_key): Fix parsing bug that caused next item after 'set key title "Foo"' to be ignored. * src/graphics.c (boundary): Fix for bug #1184989. Explicitly test for absence of any plot titles when sizing the key (avoid divide-by-zero). 2005-04-18 Petr Mikulik * term/fig.trm (FIG_set_color): Support for "textcolor lt". 2005-04-16 Juergen Wieferink * term/pslatex.trm: Clean up macro definitions written to output file of 'set term epslatex'. Fixes bug #1162038 "Wrong textcolor in epslatex terminal". 2005-04-14 Ethan Merritt * src/set.c (set_border): Fix bug in new parsing loop. 2005-04-14 Ethan Merritt * docs/gnuplot.doc src/gadgets.c src/gadgets.h src/graphics.c (do_plot) src/save.c (save_set_all) src/set.c (set_border) src/show.c (show_border): Make parsing of 'set border' options independent of their order. New option 'set border {front|back}'. 2005-04-11 Ethan Merritt * term/post.trm: Fix for bug #1180853, arrowheads drawn in wrong color if the arrow body has a specific line style or color. 2005-04-10 Ethan Merritt * demo/histograms.dem: Correct behaviour of the demo depended on a bug in the xrange code. Now that the bug is fixed (26-Mar-05) the demo needs to be fixed also (don't set xrange to [0:*]). 2005-04-08 Ethan Merritt * Makefile.am configure.in: Continued attempts to make configure ignore lisp files altogether when --without-lisp-files is chosen. In this case skip ./lisp subdirectory during 'make' recursion. 2005-04-08 Petr Mikulik * docs/gnuplot.doc: Improved 'help cbrange'. 2005-04-06 Petr Mikulik * src/pm3d.c (set_plot_with_palette): Do not set the flag for displaying colorbox for 'splot ... with rgbimage'. 2005-04-06 Ethan Merritt * term/README: Show call order of enhanced text mode entry points and mention that 'set termoption' calls into term->options(). 2005-04-03 Ethan Merritt * src/set.c: Allow 'set termoption delay ' to change the interframe gap of a gif animation in progress. * term/gd.trm (PNG_options): Add gif animation option 'loop '. Protect current animation state from being reset by a 'set termoption' command, but alow the frame delay to be changed. List animation options in terminal options string. 2005-04-03 Hans-Bernhard Broeker * docs/gnuplot.doc: Remove blanks from whitespace-only lines. 2005-04-01 Juergen Wieferink * docs/doc2tex.c: Handle levels 5 and 6 of documentation text as paragraph and subparagraph, respectively. 2005-04-01 Ethan Merritt * docs/gnuplot.doc: Add help keyword for 'newhistogram'. * configure.in: If the user configures --without-lisp-files then do not try to run configure in the lisp subdirectory. 2005-03-30 Hans-Bernhard Broeker * src/gplt_x11.c (process_event) [!USE_MOUSE]: don't refer to objects and functions not defined in this case. * src/plot3d.c (eval_3dplots) [!GP_STRING_VARS]: Don't call isstringvar() if feature disabled. * src/plot2d.c (eval_plots) [!GP_STRING_VARS]: Likewise. * src/show.c (show_command): Fix display of 'zeroaxis' settings reported by error message. * src/set.c (set_command): Likewise. * src/unset.c (unset_command): Likewise. 2005-03-29 Ethan Merritt * demo/candlesticks.dem: Add demo of whiskerbars option. 2005-03-29 Petr Mikulik * NEWS docs/gnuplot.doc src/plot3d.c src/pm3d.c src/pm3d.h src/save.c src/set.c src/show.c src/unset.c: Let pm3d drawing be always available without prior "set pm3d": now you can "splot x*y with pm3d" without prior "set pm3d". The "explicit" be the default pm3d value after reset. For compatibility (historical) reasons (color filled pm3d plot combined with mesh line plot): commands "set pm3d;" and "set pm3d at X other_opts;" switch pm3d to "implicit". No change for "set pm3d map". 2005-03-29 Hans-Bernhard Broeker * src/pm3d.c (set_plot_with_palette): Add a missing #ifdef WITH_IMAGE conditional. 2005-03-27 Ethan Merritt * NEWS configure.in term/gd.trm: Allow storage of a sequence of plots into a single animated gif file. set term gif animate {delay