2007-03-03 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/gnuplot.doc: Add mention of "set multiplot title <page-title>". * term/metapost.trm: Add missing terminal flag. 2007-02-25 Petr Mikulik <mikulik@physics.muni.cz> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation to current version. 2007-02-18 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c (pm3d_plot): Use the z-averaging also for flushed triangles. 2007-02-17 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: Updates in dgrid3d and contours sections. 2007-02-13 Ethan Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * term/README: Fix confusing typo in TERM_TABLE layout description. 2007-02-10 Petr Mikulik <mikulik@physics.muni.cz> 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 <daniel.sebald@ieee.org> * term/pdf.trm (PDF_point): Point type 1 was incorrectly drawn as a dot. Bug #1656433 2007-02-10 Juergen Wieferink <wieferink@freenet.de> * 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 <mikulik@physics.muni.cz> * docs/gnuplot.doc: Add a dummy label for "3 data style" to avoid bug in doc2gih (try "help contour"). 2007-02-08 Petr Mikulik <mikulik@physics.muni.cz> * src/plot3d.c (eval_3dplots): Improved message for non-grid data. 2007-01-31 Ethan Merritt <merritt@u.washington.edu> * 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 <persquare@mac.com> * configure.in: Testing libreadline for remove_history presence instead of readline to avoid incompatible libedit wrapper. 2007-01-26 Petr Mikulik <mikulik@physics.muni.cz> * term/post.trm: Typo in docs. 2007-01-24 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * PATCHLEVEL src/version.c configure.in: Tag and package as release candidate 4.2-rc3 2007-01-22 Petr Mikulik <mikulik@physics.muni.cz> * 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 <mikulik@physics.muni.cz> * 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 <mikulik@physics.muni.cz> * demo/pm3d.dem: Better title for plots with scans forward and backward. 2007-01-14 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/gplt_x11.c (PaletteSetColor): Update current color in plot->current_rgb when setting color from a Palette. Bugfix. 2007-01-09 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.texi: Sync with current docs 2007-01-06 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/term-ja.diff: Sync with current terminal source files. 2006-12-28 Daniel Sebald <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * term/svg.trm: Remove unused variable to quiet compiler warnings. 2006-12-23 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * configure.in: Fix spelling of BACKWARDS_COMPATIBLE 2006-12-10 Daniel Sebald <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * configure.in: Fix use of --without-kpsexpand 2006-11-24 Ethan Merritt <merritt@u.washington.edu> * docs/term-ja.diff: Update patch to match 4.2-rc2 driver source. 2006-11-28 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <mws116@usa.com> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * term/cgm.trm (CGM_set_color): Fix stupid typo in array bounds check. 2006-11-16 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/wxt_gui.cpp (wxtPanel::DrawToDC): Draw the zoom coordinates with the same font as the plot. 2006-11-04 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/datafile.c (df_readbinary): Fix error in logic of 2D and 3D rotation matrix initialization. 2006-11-01 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <broeker@physik.rwth-achen.de> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <mikulik@physics.muni.cz> * src/command.c (test_palette_subcommand): Fixed order of set tics commands. 2006-10-10 Ethan A Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <mikulik@physics.muni.cz> * NEWS README.1ST src/version.c: Updates. 2006-10-08 Daniel Sebald <daniel.sebald@ieee.org> * 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 <broeker@physik.rwth-achen.de> * docs/gnuplot.doc: Fix gotcha in list of alignment options in 'at <position>' case. 2006-10-05 Ethan A Merritt <merritt@u.washington.edu> * src/term.c (change_term): For backward compatibility, allow "set term X" as shorthand for "set term x11". 2006-10-04 Ethan A Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * src/graph3d.c (place_arrows3d): Clip arrows even in 3D. Patch from Harald Harders (SF #1569232). 2006-10-02 Ethan A Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * docs/gnuplot.doc: Changed documentation for image to reflect fact that uniform sampling is assumed. Fix other typos. 2006-10-01 Ethan A Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * PATCHLEVEL: Mark for first release candidate. 4.2-rc1 * VERSION: Bump to version 4.2. 2006-10-01 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> * 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 <timothee.lecomte@ens.fr> * 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 <wieferink@freenet.de> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation, SF Patch [1519215]. 2006-09-23 Ethan A Merritt <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/wxt_gui.cpp (wxtPanel::OnSize): Clean floating-point comparison nonsense. 2006-09-22 Juergen Wieferink <wieferink@freenet.de> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <broeker@physik.rwth-achen.de> * docs/gnuplot.doc (set format): Make documentation for missing <axes> argument match actual behaviour. 2006-09-15 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <broeker@physik.rwth-achen.de> * docs/gnuplot.doc (format specifiers): Fix typo in one example. 2006-09-11 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc: Sync Japanese documentation to recent changes in English files. SF Patch [1519215], rev.1.385. 2006-09-01 Juergen Wieferink <wieferink@freenet.de> * 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 <mikulik@physics.muni.cz> * 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 <h.harders@tu-bs.de> * src/graphics.c (place_arrows): Allow for terminal-specific clipping, exactly as done elsewhere in the code. 2006-08-30 Ethan A Merritt <merritt@u.washington.edu> * 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 <lhecking@users.sourceforge.net> * prepare: Allow importing auto* tools from the environment. 2006-08-26 Ethan A Merritt <merritt@u.washington.edu> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc Sync Japanese documentation to recent changes in English files. (rev.1.383) 15Aug2006 2006-08-21 Ethan A Merritt <merritt@u.washington.edu> * 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 <jrvz@comcast.net> * term/cgm.trm: update email address 2006-08-19 Ethan A Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * docs/doc2tex.c (puttex): Don't split index words at - or _; replace _ by space. 2006-08-11 Ethan A Merritt <merritt@u.washington.edu> * term/PostScript/prologue.ps: Remove comment with my name in it. Further tweak to the PatternBgnd macro. 2006-08-12 Petr Mikulik <mikulik@physics.muni.cz> * 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 <timothee.lecomte@ens.fr> * term/post.trm: Fix preprocessor logic for !defined(GNUPLOT_PS_DIR). 2006-08-11 Petr Mikulik <mikulik@physics.muni.cz> * 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 <bmaerkisch@web.de> * config/makefile.nt: Define GNUPLOT_PS_DIR to use external PostScript prologue files. 2006-08-11 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: Some comments in the help for bind and mouse variables. 2006-08-10 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc Sync Japanese documentation to recent changes in English files. (rev.1.381) 08Aug2006 2006-08-09 Ethan A Merritt <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <bmaerkisch@web.de> 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 <broeker@physik.rwth-achen.de> * src/show.c (show_version): Fix C99-ism by reintroducing a pair of braces that had been removed. 2006-08-07 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * README.1ST: Update notes on the gd library. 2006-07-31 Ethan A Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/gnuplot.doc (Known Bugs): The 'nohidden3d' options does not work for parametric curves. Bug #1531432. 2006-07-30 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-30 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <daniel.sebald@ieee.org> * docs/gnuplot.doc: Format norm()/invnorm() info for 80 characters. 2006-07-29 Ethan A Merritt <merritt@u.washington.edu> * 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 <jrv@vanzandt.comcast.net> * docs/gnuplot.doc: clarify definitions of functions norm() and igamma() 2006-07-29 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-26 Per Persson <persquare@mac.com> * term/aquaterm.trm: Made UTF8 the default encoding for AquaTerm. 2006-07-26 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> * 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 <timothee.lecomte@ens.fr> * tutorial/.cvsignore: Add *.eps and test.tex to the list of files to be ignored by CVS. 2006-07-25 Timothee Lecomte <timothee.lecomte@ens.fr> * term/README: Change IMAGE_DRIVER to the true WITH_IMAGE. 2006-07-24 Timothee Lecomte <timothee.lecomte@ens.fr> * term/wxt.trm (wxt_options): Fix wrong test on tri-state variable. 2006-07-23 Timothee Lecomte <timothee.lecomte@ens.fr> * docs/gnuplot.doc (Syntax): Change wording to avoid reference to `enhanced postscript`. 2006-07-22 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc: Sync to current English version. 2006-07-20 Ethan A Merritt <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <broeker@physik.rwth-achen.de> * 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 <mikulik@physics.muni.cz> 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 <timothee.lecomte@ens.fr> * 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 <bmaerkisch@web.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/gp_cairo.c: Respect ISO C90 standard (mainly move declarations to beginning of functions). 2006-07-14 Ethan A Merritt <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * src/eval.c (fill_gpval_string): Remove cast to (char *) by correcting a dereference of the string value. 2006-07-13 Juergen Wieferink <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <persquare@mac.com> * term/aquaterm.trm: Made aqua terminal respect font requests of the form: font "<fontface>{,<fontsize>}", old syntax still supported too. 2006-07-11 Petr Mikulik <mikulik@physics.muni.cz> * config/makefile.cyg config/makefile.mgw config/makefile.nt: #define EAM_OBJECTS and HIDDEN3D_VAR_PTSIZE. 2006-07-10 Ethan A Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-achen.de> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-07-07 Daniel Sebald <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <mikulik@physics.muni.cz> * 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 <jrv@vanzandt.comcast.net> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * config/makefile.nt: Add /DWIN32 to CFLAGS. 2006-07-04 Daniel Sebald <daniel.sebald@ieee.org> * demo/image.dem: Remove obsolete warning about terminal support. 2006-07-04 Bastian Maerkisch <bmaerkisch@web.de> * term/win.trm (WIN_enhanced_open): (2nd try) Reset to _default_ font, not _current_ font! Bug #1510055 2006-07-04 Ethan A Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <daniel.sebald@ieee.org> * src/show.c (show_command): Place in some messages about "show data" and "show linestyle" being deprecated. 2006-06-30 Ethan A Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <bmaerkisch@web.de> * term/win.trm (WIN_enhanced_open): Reset to _default_ font, not _current_ font! Bug #1510055 2006-06-29 Ethan A Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <mikulik@physics.muni.cz> 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <shige@iee.niit.ac.jp> * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation to recent changes in English files. 2006-06-27 Keith Hellman <khellman@users.sourceforge.net> * Accommodate new gnu autotools convention of installing read-only data relative to @datarootdir@ Bug #1513675 2006-06-27 Timothee Lecomte <timothee.lecomte@ens.fr> * m4/pkg.m4: New files containing the pkg-config macros. 2006-06-26 Ethan A Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/datafile.c: Whitespace cleanup, comments. * demo/contours.dem demo/vector.dem: Update demo to use "set view map". 2006-06-23 Daniel Sebald <daniel.sebald@ieee.org> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * term/wxt.trm: Small correction in TERM_HELP. 2006-06-20 Timothee Lecomte <timothee.lecomte@ens.fr> * src/wxterminal/wxt_gui.cpp: Small cleanups to avoid -Wall warnings. 2006-06-20 Ethan A Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * src/win/wtext.c: Add mouse wheel scroll support for text window. 2006-06-18 Shigeharu Takeno <shige@iee.niit.ac.jp> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <space>. * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <shige@iee.niit.ac.jp> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/gp_cairo.c: Fix a warning about gp_alloc() by including alloc.h 2006-06-15 Ethan A Merritt <merritt@u.washington.edu> * demo/all.dem demo/html/index.save demo/html/Makefile: Add demo hidden2.dem illustrating 'set pm3d depthorder'. 2006-06-15 Johannes Zellner <johannes@zellner.org> * 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 <daniel.sebald@ieee.org> * 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 <shige@iee.niit.ac.jp> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <daniel.sebald@ieee.org> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/gp_cairo.h: * src/wxterminal/wxt_plot.h: * src/wxterminal/wxt_term.h: Remove "extern" for functions. 2006-06-07 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * src/wxterminal/gp_cairo.c (device_y): Fix computation of coordinates. (gnuplot_y): Likewise. 2006-06-05 Peter Weilbacher <paepse@users.sourceforge.net> 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <ritzert@t-online.de> * term/Makefile.am.in: Look for the postscript files to be installed relative to $(srcdir). 2006-05-26 Ethan A Merritt <merritt@u.washington.edu> * src/gadgets.c (clip_point): The code comments incorrectly described the bit values returned by clip_point(). 2006-05-24 Ethan A Merritt <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * term/wxt.trm (TERM_HELP): Fix typos, thanks to Shigeharu Takeno. 2006-05-22 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <lhecking@users.sourceforge.net> * 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 <daniel.sebald@ieee.org> * 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 <broeker@physik.rwth-achen.de> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <lhecking@users.sourceforge.net> * docs/Makefile.in: Add titlepag.ipf to EXTRA_DIST. * docs/gnuplot.texi: Regenerated. 2006-05-15 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <bmaerkisch@web.de> * 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 <bmaerkisch@web.de> * config/makefile.nt: Make sure that the same (basic) compiler options are used for compiling wgnuplot and pgnuplot. This is necessary since they both contain version.c. * src/stdfn.h src/win/winmain.h src/win/wpause.c: Implementation of a non-blocking sleep function (gnuplot's 'pause' command) for windows. * term/win.trm (WIN_options, help text): Accept font request strings of the form set term win ... font "<fontface>,<fontsize>" Previous syntax set term win ... "<fontface>" <fontsize> remains valid as well. Update documentation. * src/os2/4allterm.cmd: Fix broken argument parsing. Convert end of line to CR/LF pairs. This is a must for the script to be readable by the OS/2 REXX interpreter. * docs/doc2ipf.c docs/titlepag.ipf: - Increase depth of table of contents from 5 to 6. This fixes "unknown reference" errors during compilation. - Only replace '.' in first column by ipf tag, it's not needed 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 <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * term/wxt.trm (wxt_options): Fix improper malloc for font name. 2006-04-29 Timothee Lecomte <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <timothee.lecomte@ens.fr> * 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 <broeker@physik.rwth-achen.de> * 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 <broeker@physik.rwth-aachen.de> * docs/gnuplot.doc (fit control environment): Fix mention of command 'set fit logfile'. 2006-04-25 James R. Van Zandt <jrv@vanzandt.comcast.net> * 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 <broeker@physik.rwth-aachen.de> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/graphics.c (plot_c_bars) src/plot2d.c (eval_plots): Allow user to control the width of whiskerbars on candlestick plots. plot <foo> with candlesticks {whiskerbars {<width>}} * demo/utf8.dem: Provide a demo for use in testing UTF-8 support by gnuplot terminals. This demo will only produce reasonable output on a terminal that supports UTF-8 and a current UTF-8 encoded font with the relevant character maps. 2006-04-17 Ethan A Merritt <merritt@u.washington.edu> * src/color.h: Add comments to document the meaning of TC_* flag values. 2006-04-16 Ethan A Merritt <merritt@u.washington.edu> * term/aquaterm.trm: Correct typos in help text. * src/set.c (set_object): Fix segfault on incomplete command 'set obj <new>'. * src/term.c (init_terminal): Keep initial terminal setting in GNUTERM even if it did not actually come from environmental variable GNUTERM. 2006-04-14 Ethan A Merritt <merritt@u.washington.edu> * 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 <jrv@debian.org> * 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 <merritt@u.washington.edu> * src/graph3d.c (draw_3d_graphbox): Fix bug introduced when adding newpath/closepath around the border of 3D plots with 'set view map'. The top border was not getting drawn, and the individual border components were not being considered separately. Also, when in 'set view map' mode, honor 'set border {front|back}'. * src/graphics.c (plot_border) src/gadgets.h: Similar bugfix in 2D. * src/misc.c (lp_parse): Don't fall into a recursion trap in the case that 'set style incr user' and 'set style line <foo> lt <baz>'. This should set the linetype of <foo> to <baz> even if <baz> itself has been assigned as another line style. 2006-04-08 Ethan A Merritt <merritt@u.washington.edu> * src/standard.c (f_tanh): Fix a two-fold error in bounds checking for tanh(). Bug #1452627 2006-04-08 Bastian Maerkisch <bmaerkisch@web.de> * 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 <daniel.sebald@ieee.org> * 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 <bmaerkisch@web.de> * 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 <laboratoryman@users.sourceforge.net> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/plot2d.c (eval_plots): Fix inadvertant breakage due to an accidentally deleted call to arrow_parse(). 2006-04-04 Harald Harders <h.harders@tu-bs.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <lhecking@users.sourceforge.net> * 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 <broeker@physik.rwth-aachen.de> * 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 <broeker@physik.rwth-aachen.de> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> SourceForge patchset #1143563 "Place arbitrary objects in plots". This patchset introduces a general infrastructure for placing individual geometric objects, similar to "set label" and "set arrow". However the only objects implemented at this point are rectangles. set object <tag> rectangle {from <position> {to|rto} <position> | center <position> size <w>,<h> | at <position> size <w>,<h>} {front|back|behind} {fc|fillcolor <colorspec>} {fs <fillstyle>} {default} {lw|linewidth <width>} set style rectangle {front|back} {fillcolor <colorspec>} {fs <fillstyle>} {lw|linewidth <lw>} * 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 <merritt@u.washington.edu> * 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<foo>" with "unset <foo>" in comments and error messages; i.e. make them match current syntax. 2006-03-24 Ethan A Merritt <merritt@u.washington.edu> * src/datafile.c: Remove vestigial comments about df_timecol[]. 2006-03-24 Ethan A Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/misc.c (lp_parse): Allow "bgnd" as shorthand for "lt -3". 2006-03-23 Daniel Sebald <daniel.sebald@ieee.org> * demo/pm3dcolors.dem: Make one example more happy. 2006-03-22 Ethan A Merritt <merritt@u.washington.edu> * src/unset.c (unset_axislabel): Fix memory leak from failure to free axis labels. 2006-03-22 Timothee Lecomte <timothee.lecomte@ens.fr> * src/gplt_x11.c (handle_selection_event): Fix typo in debug code. 2006-03-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/graphics.c (boundary): Avoid strchr() on NULL x axis label text. 2006-03-18 Ethan A Merritt <merritt@u.washington.edu> 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 <daniel.sebald@ieee.org> * 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 <broeker@physik.rwth-aachen.de> * 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 <shige@iee.niit.ac.jp> * term/aquaterm.trm: Correction of misprints. 2006-03-16 Ethan A Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * demo/html/index.save demo/html/Makefile: Add animate2 to the list of webified examples. 2006-03-11 Bastian Maerkisch <bmaerkisch@web.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * src/datafile.c (df_open): Shift misplaced call to gp_expand_tilde. 2006-03-06 Bastian Maerkisch <bmaerkisch@web.de> * src/command.c: #include direct.h if compiling with MSVC. 2006-03-06 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> * 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 <merritt@u.washington.edu> * term/cgm.trm (CGM_options) term/emf.trm (EMF_options) term/pdf.trm (PDF_options) term/post.trm (PS_OPTIONS): Accept font request strings of the form set term <foo> ... font "<fontface>,<fontsize>" Whatever previous syntax each terminal used remains valid as well. 2006-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> 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 <broeker@physik.rwth-aachen.de> 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 <broeker@physik.rwth-aachen.de> * 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 <mws116@usa.com> * term/cgm.trm (CGM_set_color): Let the CGM driver set color when colorspec type is TC_LT. 2006-02-28 Ethan A Merritt <merritt@u.washington.edu> * 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 <lhecking@users.sourceforge.net> * 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 <persquare@mac.com> * 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 <bmaerkisch@web.de> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * src/tables.c (set_palette_tbl pm3d_color_names_tbl): Support both spellings of "gray" and "grey". 2006-02-23 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot.doc term/post.trm: Correction of misprints. 2006-02-23 Petr Mikulik <mikulik@physics.muni.cz> * demo/pointsize.dem: Add 'reset' at the end. 2006-02-21 Daniel Sebald <daniel.sebald@ieee.org> * 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 <daniel.sebald@ieee.org> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <djlinse37@users.sourceforge.net> * missing: Add work-around for parsing bug that cannot handle the "--output=<foof>" 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 <merritt@u.washington.edu> * 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 <djlinse37@users.sourceforge.net> 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 <bmaerkisch@web.de> 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 <bmaerkisch@web.de> 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 <daniel.sebald@ieee.org> * 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 <mikulik@physics.muni.cz> * 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 <timothee.lecomte@ens.fr> * 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 <merritt@u.washington.edu> * docs/gnuplot.doc: Make "set xyplane" description more self-consistent. 2006-02-03 Petr Mikulik <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * src/graphics.c (plot_c_bars): Clip candlesticks (financebars) to vertical plot boundaries. 2006-02-02 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/term.c (parse_term_size): New routine intended to be shared by terminals with "set term <foo> size XX, YY" option. The routine itself supports size specification in inches, cm, or pixels. The calling terminal can limit which units are acceptable. * term/post.trm (term_options): "set term ... size XX, YY" option. This is intended to replace the older mechanism: "set size ... ; set term ...". The new code gets the bounding box right, which the old mechanism does not, and it rationalizes the use of screen coordinates to match that of other (but not all) terminals. 2006-01-26 Ethan Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * src/graphics.c (plot_image_or_update_axes): Fix for "plot [from:to] [from:to] ... with image". 2006-01-21 Petr Mikulik <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/gnuplot.doc: Correct various typos and spelling errors. 2006-01-13 Ethan Merritt <merritt@u.washington.edu> * 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 <timothee.lecomte@ens.fr> * demo/rainbow.dem: Do not "unset mouse" inside demo. 2006-01-12 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/plot3d.c (get3d_data): Fix initialization code for 3D plot style `with vectors`. 2005-01-07 Mike Sutton <mws116@usa.com> * 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 <daniel.sebald@ieee.org> * 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 <merritt@u.washington.edu> * src/term.c (term_end_multiplot): Free title string and clear multiplot title. 2005-01-07 Daniel Sebald <daniel.sebald@ieee.org> * src/gplt_x11.c (record): Incorrect nesting of parentheses. 2006-01-02 Ethan Merritt <merritt@u.washington.edu> * 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 <djlinse37@yahoo.com> * term/x11.trm: Remove redundant #include <sys/select.h> 2005-12-30 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm (PNG_options): Initialize and report animate {nooptimize} flag in terminal options string. 2005-12-29 Ethan Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * src/win/wgraph.c (drawgraph): Fixed "splot x with line palette lw 10". 2005-12-17 Petr Mikulik <mikulik@physics.muni.cz> * 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 <bmaerkisch@web.de> * 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 <bmaerkisch@web.de> * config/makefile.nt: Fixes for linking with bgd.dll. * src/term.c: #include <io.h> for __MSC__. 2005-12-11 Ethan Merritt <merritt@u.washington.edu> * src/graph3d.c (do_3dplot): Add a BoundingBox structure to describe the plot boundaries in 'set view map' mode. 2005-12-06 Ethan Merritt <merritt@u.washington.edu> * src/graph3d.c (do_3dplot) src/graph3d.h src/plot3d.c (eval_3dplots) src/hidden3d.c (build_networks) docs/gnuplot.doc: Add an option `with <plotstyle> nohidden3d` that allows you to exclude a particular plot from the global `set hidden3d` processing. 2005-12-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/gplt_x11.c src/gplt_x11.h: Move #include <sys/select.h> from gplt_x11.c to gplt_x11.h so that x11.trm can see it also. Bugfix #1365076. * term/x11.trm: Remove duplicate #define for constants present in gplt_x11.h. 2005-12-01 Michael Williamson <mwilliamson@users.sourceforge.net> * src/set.c (set_size): Do not allow size values <= 0. 2005-11-29 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c (apply_zoom): Fix for "set view map; plot x" and y-axis reversal when mouse zooming. 2005-11-28 Petr Mikulik <mikulik@physics.muni.cz> * src/datafile.c (df_set_datafile_binary): Give an error message for 'set datafile binary' (without any option). 2005-11-27 Juergen Wieferink <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * src/set.c (set_arrow): Rewrite set_arrow() to behave the same as set_label() and other "set <foo>" routines; attribute changes for any one arrow are now incremental. * src/misc.c (arrow_parse) src/plot2d.c src/plot3d.c src/set.c: Remove 2nd parameter of arrow_parse, since it is no longer used by any callers. * src/axis.c (axis_checked_extend_empty_range) src/plot3d.c: Suppress warning message "empty z range" when mode is "set view map". 2005-11-27 Petr Mikulik <mikulik@physics.muni.cz> * demo/pm3d.dem: Change one splot from "with lp palette" to "with lines palette". 2005-11-26 Ethan Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * src/datafile.c (avs_filetype_function) docs/gnuplot.doc: Support AVS image file format. Example: plot '<convert foo.jpeg avs:-' binary filetype=avs with rgbimage 2005-11-25 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (do_plot do_key_sample) src/graph3d.c (key_sample_line key_sample_point key_sample_point_pm3d): Clip key to canvas unless TERM_CAN_CLIP flag is set. * src/set.c (load_tic_user): Allow string variables and string functions in 'set {xyz}tics ( FOO <foo>, BAR(x) x, "string"."exp" <place> ) * src/datafile.c (plot_option_binary): Fix logic error in binary file initialization. Initialization was done inside a parsing loop, but the loop was never entered unless there were additional keywords on the command line. Bugfix. "set style data rgbimage" now works. 2005-11-25 Petr Mikulik <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * src/util.c (parse_sq) src/scanner.c (scanner) docs/gnuplot.doc: Fixed \' in single-quoted strings. 2005-11-24 Daniel Sebald <daniel.sebald@ieee.org> * 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 <broeker@physik.rwth-aachen.de> * src/hidden3d.c (build_networks): Fix handling of previousvertex variable for point-like objects, which don't need it. 2005-11-14 Juergen Wieferink <wieferink@freenet.de> * src/set.c (set_xyzlabel): Fix parsing error in backwards-compatible form "set xlabel 'foo' -1,-1". 2005-11-12 Ethan Merritt <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/term.c (do_arrow): Revert previous patch, since it seems the bad effects outweigh the good. 2005-11-08 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * 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 <mikulik@physics.muni.cz> * docs/gnuplot.doc: Updated 'help matrix' and 'help matrix ascii'. 2005-10-23 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (adjust_binary_use_spec): Interpret the command "plot <foo> matrix" as equivalent to "plot <foo> matrix using 1:3". 2005-10-22 Harald Harders <h.harders@tu-bs.de> * term/pslatex.trm (EPSLATEX_set_color): Fix bug in setting pure black or white via a gray value. 2005-10-22 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/gp_types.h: Force enum for variable types to start at INTGR = 1, so that 0 (NULL) is guaranteed not to be a valid variable type. * src/util.c src/util.h (type_udv): New function returning the type of a user-defined variable, or 0 if there is no such udv. Replaces isstringvar(). * datafile.c (plot_ticlabel_using df_readascii): Allow the using specs {x|y|z}ticlabel(<foo>) to accept an expression for <foo> rather than accepting only an integer constant. 2005-10-20 Petr Mikulik <mikulik@physics.muni.cz> * src/term.c (do_arrow): Moved misplaced declaration. * config/config.cyg config/config.mgw: Updated. 2005-10-19 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Update description of xticlabels(<col>). 2005-10-19 Petr Mikulik <mikulik@physics.muni.cz> * term/x11.trm (START_HELP): Update docs about window title. 2005-10-16 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <grobh@users.sourceforge.net> * src/gplt_x11.c: Fix buffer overflow caused by incorrect size allocation for rdbuf. 2005-10-14 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <dtaber@topaflyers.com> * term/pbm.trm: Update description of the PBMPLUS and NETPBM packages. 2005-10-12 Ethan Merritt <merritt@u.washington.edu> * 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 <lhecking@users.sourceforge.net> * src/beos/Makefile.in: Remove Makefile from EXTRA_DIST. 2005-10-11 Ethan Merritt <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * src/win/winmain.c (win_lower_terminal_window): "lower" command for the Windows terminal. 2005-10-09 Harald Harders <h.harders@tu-bs.de> * src/misc.c (lp_parse arrow_parse) set.c (set_linestyle set_arrowstyle) src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) docs/gnuplot.doc: Bring "set style line ..." and "set style arrow ..." into agreement with other "set style <foo>" commands by retaining current properties, rather than resetting to the default style each time. The previous behavior was undocumented. Add an explicit command "set style {line|arrow} default". 2005-10-09 Petr Mikulik <mikulik@physics.muni.cz> * term/pdf.trm term/svg.trm (START_HELP): Small changes. * term/x11.trm (START_HELP): Reorganized list of options. 2005-10-08 Bastian Maerkisch <bmaerkisch@web.de> * src/os2/gclient.c term/pm.trm: "lower" command for the pm terminal. 2005-10-07 Ethan Merritt <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> 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 <mikulik@physics.muni.cz> * src/command.c (system_command): Remove superfluous c_token++. 2005-10-06 Petr Mikulik <mikulik@physics.muni.cz> * src/syscfg.h: Increased MAX_NUM_VAR from 5 to 12 (max number of parameters for functions). 2005-10-06 Amitha Perera <amithaperera@users.sourceforge.net> * term/pbm.trm (PBM_options): Re-order declarations to be strict ANSI C. 2005-10-05 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * term/gd.trm (PNG_options): Test for valid (>0) size of image. 2005-10-05 Bastian Maerkisch <bmaerkisch@web.de> 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 <bmaerkisch@web.de> * term/pm.trm src/os2/pm_msgs.h src/os2/gclient.c: Support for "with image" on pm terminal. 2005-10-04 Ethan Merritt <merritt@u.washington.edu> * term/pbm.trm (PBM_options): Add an option to set the output size. set term pbm size XXX,YYY 2005-10-04 Bastian Maerkisch <bmaerkisch@web.de> * 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 <merritt@u.washington.edu> * configure.in: Issue a warning message if someone tries to build the PNG terminal without libgd. 2005-10-02 Ethan Merritt <merritt@u.washington.edu> * src/gadgets.h: Remove unused struct default_keybox_lp. * src/graph3d.c src/graph3d.h src/mouse.c src/save.c src/set.c src/show.c src/tables.c src/unset.c docs/gnuplot.doc: Move global ticslevel into a global struct xyplane that also contains a flag indicating whether the value fixes the Z-intercept of the x/y plane at a fraction of the z range (old behaviour) or a specific value of Z (new option). To select a specific Z, use "set ticslevel at <zval>". This change also introduces "xyplane" as a synonym for "ticslevel", so the more easily remembered form of the command is "set xyplane at <zval>". * src/graph3d.c (do_3dplot): Check for absolute placement of xyplane along Z axis, controlled by "set {ticslevel|xyplane} at <zval>". 2005-10-01 Ethan Merritt <merritt@u.washington.edu> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * term/post.trm (PS_COMMON_DOC1): More details for 'color' and 'monochrome' options. 2005-09-25 Ethan Merritt <merritt@u.washington.edu> 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 <mikulik@physics.muni.cz> * term/svg.trm (SVG_init): Encodings for OS/2 and Windows. 2005-09-24 Bastian Maerkisch <bmaerkisch@web.de> * src/os2/gclient.c term/pm.trm: Full RGB colour support for pm terminal (if display supports it). 2005-09-24 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/set.c (parse_label_options): Fix incorrect ordering of declaration/initialization. Non-gcc compilers didn't like it. 2005-09-19 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * src/command.c (string_expand): Fix bug in macro handling; escaped quotes were not recognized. 2005-09-16 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/gnuplot.doc: The histogram plot style was not being listed as an option under 'help plotting styles'. 2005-09-12 Ethan Merritt <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * config/config.nt: Rearranged to comply with config.{h,cyg,mgw,os2}. 2005-09-11 Ethan Merritt <merritt@u.washington.edu> * src/save.c (save_set_all): Fix incorrect placement of newlines in "set pm3d" options. 2005-09-09 Lars Hecking <lhecking@users.sourceforge.net> * 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 <broeker@physik.rwth-aachen.de> * 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 <broeker@physik.rwth-aachen.de> * 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 <lhecking@users.sourceforge.net> * 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 <lhecking@users.sourceforge.net> * 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 <mikulik@physics.muni.cz> * 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 <ghaushe@users.sourceforge.net> 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 <broeker@physik.rwth-aachen.de> * 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 <bmaerkisch@web.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <h.harders@tu-bs.de> * 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 <wieferink@freenet.de> * 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 <bmaerkisch@web.de> 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 <merritt@u.washington.edu> * src/gplt_x11.c: Restore original background pixel setting after text rotation. 2005-08-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/win/winmain.c: Define _WIN32_IE independent of particular compilers, conditional only on whether it's already defined. 2005-08-08 Ethan Merritt <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> * 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 <mikulik@physics.muni.cz> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> 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 <bmaerkisch@web.de> * src/set.c (set_tics): Fix non-ANSI ordering of declaration. 2005-08-06 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> 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 <merritt@u.washington.edu> * 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 <bmaerkisch@web.de> 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 <bmaerkisch@web.de> 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 <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> 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 <lhecking@users.sourceforge.net> * docs/Makefile.in: Update CLEANFILES and clean-generic. 2005-08-03 Bastian Maerkisch <bmaerkisch@web.de> * 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 <mikulik@physics.muni.cz> * config/config.mgw: Some more #(un)define for MingW >= 3.0. 2005-08-01 Ethan Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * src/history.c: Removed old comments. 2005-07-31 Bastian Maerkisch <bmaerkisch@web.de> * 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 <mikulik@physics.muni.cz> * config/config.mgw: Have HAVE_ERF, HAVE_ERFC for MingW >= 3.0. 2005-07-30 Ethan Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * demo/pm3d.dem: Added missing text for a "pause -1". 2005-07-29 Daniel Sebald <daniel.sebald@ieee.org> * src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/tables.c src/tables.h: Revamping of key placement routines. Backward compatible with previous placement options but now there are new, more flexible options. {{inside | outside} | {lmargin | rmargin | tmargin | bmargin} | {at <position>}} {left | right | center} {top | bottom | center} {vertical | horizontal} {Left | Right} controlling key placement and key element arrangement. * docs/gnuplot.doc: Updated documentation about new key options. "at" for manual placement was included in the documentation even though leaving "at" out will still work. * demo/bivariat.dem demo/electron.dem tutorial/eg3.plt tutorial/eg6.plt tutorial/tutorial.tex: Changed all uses of manual key placement to include "at". * demo/key.dem demo/all.dem: Added demo to show variety of key placements, and added demo to the all demo file. * NEWS: Added note about more versatile key placement. 2005-07-28 Ethan Merritt <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * 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 <bmaerkisch@web.de> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * 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 <merritt@u.washington.edu> * src/parse.c (string_or_express): Remove unused variable. 2005-07-22 Ethan Merritt <merritt@u.washington.edu> 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 <wieferink@freenet.de> * src/parse.c (string_or_express): Do not call int_error() for invalid expressions. Fixes "(s)plot 1/0". 2005-07-19 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * src/command.c (load_command): Issue an error message if any tokens or further commands follow a "load <file>" command. Sourceforge patch #1210835. 2005-07-16 Ethan Merritt <merritt@u.washington.edu> * 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 <wieferink@freenet.de> 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 <bbands@yahoo.com> * demo/finance.dem demo/finance.dat: New demo illustrating various gnuplot features applied to display of financial data. 2005-07-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * docs/psdoc/ps_symbols.gpi: Spiffed up sample page for PostScript symbols and linetypes. 2005-07-10 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot.doc: Fix typos. 2005-07-10 Ethan Merritt <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * 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 <wieferink@freenet.de> * 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 <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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(<n>)' 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 <wieferink@freenet.de> * 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 <jrv@debian.org> * term/gd.trm: Document "set output '| display png:-'". 2005-07-02 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * docs/checkdoc.c: Allow for lines beginning with '=' in gnuplot.doc (now used to indicated an explicit index entry). 2005-06-27 Shigeharu Takeno <shige@iee.niit.ac.jp> * src/set.c (parse_label_options): Allow string variable or expression for font name. 2005-06-27 Ethan Merritt <merritt@u.washington.edu> * src/internal.c (f_calln): Prevent buffer overflow if more parameters than expected are passed to a function. 2005-06-26 Petr Mikulik <mikulik@physics.muni.cz> * docs/Makefile.in: Replace "sort" by "LC_ALL=C sort" when building allterm.h to avoid localized sorting. 2005-06-24 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: Rewritten section for "help exit". 2005-06-22 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <h.harders@tu-bs.de> * docs/gnuplot.doc: Revise the section on "set arrow". 2005-06-16 Harald Harders <h.harders@tu-bs.de> * docs/gnuplot.doc: Document `set style line <n> linecolor <colorspec>` 2005-06-15 Ethan Merritt <merritt@u.washington.edu> * demo/stringvar.dem docs/gnuplot.doc src/eval.c: Rename substring built-in function to substr(string,beg,end). 2005-01-15 Bastian Maerkisch <bmaerkisch@web.de> * 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 <merritt@u.washington.edu> 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 <t-kita@cc.kumamoto-u.ac.jp> * docs/gnuplot.doc: Update `set xlabel` example to use the `offset` keyword. 2005-06-04 Juergen Wieferink <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * 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 <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * 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 <daniel.sebald@ieee.org> * term/post.trm: Fix incorrect fprintf statement that was causing compiler warnings. 2005-05-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * 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 <daniel.sebald@ieee.org> 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * term/estimate.trm (ENHest_put_text): Track estimated limits on string y extent also. 2005-05-22 Peter Weilbacher <paepse@users.sourceforge.net> * 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 <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <paepse@users.sourceforge.net> 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 <merritt@u.washington.edu> * 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 <g>} {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 <merritt@u.washington.edu> * src/set.c (set_allzeroaxis): Fix parsing error (bug #1204444). 2005-05-16 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * term/fig.trm (FIG_linetype): Use the postscript sequence of linetype colors. 2005-05-11 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (exec_cmd): Reorder variable declarations to allow building without binary-polygon support. 2005-05-09 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * pm3d.c (set_plot_with_palette): Fix for 'splot x, y with pm3d'. 2005-04-28 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm (X11_options): Accept string variables for terminal options 'font <foo>' and 'title <bar>'. * term/post.trm (PS_options) term/emf.trm (EMF_options): Accept string variable for font name. 2005-04-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * 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 <conio.h> for getch() function. 2005-04-27 Ethan Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * term/x11.trm: Fix a typo in the example using enhanced text font sizes. 2005-04-24 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c (set_plot_with_palette): Show colorbox for 'splot ... with ... palette'. 2005-04-23 Ethan Merritt <merritt@u.washington.edu> 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 <broeker@physik.rwth-aachen.de> * 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 <windows.h> * src/win/pgnuplot.c (_setmode) [__WATCOMC__]: Added name override to setmode. * src/term.c [__WATCOMC__]: Added #include <io.h>. * src/syscfg.h [__WATCOMC__]: Added #include <dos.h>. * src/stdfn.h [WIN32]: Added #include <windows.h> 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 <dir.h>. * 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 <merritt@u.washington.edu> * src/command.c (pause_command) src/command.h docs/gnuplot.doc: Modify syntax of pause mouse command: pause mouse {<end_condition>}{,<end_condition>}... {"prompt"} where <end_condition> 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * term/fig.trm (FIG_set_color): Support for "textcolor lt". 2005-04-16 Juergen Wieferink <wieferink@freenet.de> * 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 <merritt@u.washington.edu> * src/set.c (set_border): Fix bug in new parsing loop. 2005-04-14 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * 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 <mikulik@physics.muni.cz> * docs/gnuplot.doc: Improved 'help cbrange'. 2005-04-06 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c (set_plot_with_palette): Do not set the flag for displaying colorbox for 'splot ... with rgbimage'. 2005-04-06 Ethan Merritt <merritt@u.washington.edu> * 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 <merritt@u.washington.edu> * src/set.c: Allow 'set termoption delay <n>' to change the interframe gap of a gif animation in progress. * term/gd.trm (PNG_options): Add gif animation option 'loop <repeatcount>'. 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 <broeker@physik.rwth-aachen.de> * docs/gnuplot.doc: Remove blanks from whitespace-only lines. 2005-04-01 Juergen Wieferink <wieferink@freenet.de> * docs/doc2tex.c: Handle levels 5 and 6 of documentation text as paragraph and subparagraph, respectively. 2005-04-01 Ethan Merritt <merritt@u.washington.edu> * 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 <broeker@physik.rwth-aachen.de> * 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 <merritt@u.washington.edu> * demo/candlesticks.dem: Add demo of whiskerbars option. 2005-03-29 Petr Mikulik <mikulik@physics.muni.cz> * 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 <broeker@physik.rwth-aachen.de> * src/pm3d.c (set_plot_with_palette): Add a missing #ifdef WITH_IMAGE conditional. 2005-03-27 Ethan Merritt <merritt@u.washington.edu> * NEWS configure.in term/gd.trm: Allow storage of a sequence of plots into a single animated gif file. set term gif animate {delay <time>} {nooptimize} Requires libgd version 2.0.29 or better (2.0.33 is recommended). * src/plot2d.c (histogram_range_fiddling): Make it more obvious in the code that histograms always use FIRST_X_AXIS. 2005-03-26 Ethan Merritt <merritt@u.washington.edu> SourceForge patch #1090199 "Extend hotkeys to all open plot windows" Implement new option "bind all <key> <command>" that extends hotkeys to inactive plot windows in addition to the active window. The code is general, although currently only the x11 terminal tracks the ID of multiple windows in order to report who is who. * src/command.c (bind_command): New keyword "bind {all$windows} ..." * src/gpexecute.c (gp_exec_event) src/gpexecute.h: New parameter holds ID of window from which this event was triggered. * src/gplt_x11.c (process_event): Pass ID of originating window to gp_exec_event() along with the x,y coordinates and keystroke. Distinguish between active and inactive window by using event code GE_keypress or GE_keypress_old. You get the window ID in either case. * src/mousecmn.h: Add new field int winid to struct gp_event_t. * src/mouse.c src/mouse.h: Add new TBOOLEAN allwindows to the bind_t structure. New routine bind_all() sets this flag from "bind all <foo> <baz>". Teach event_keypress() to distinguish between keystrokes from active or inactive windows, and to load originating window ID into udv MOUSE_KEY_WINDOW so that it is visible to user-defined commands. * src/os2/gclient.c src/win/wgraph.c: Add extra parameter for window ID in all calls to gp_exec_event(). * docs/gnuplot.doc: Document new command option "bind all <key> <command>". * src/mouse.c (event_buttonpress) term/x11.trm (X11_waitforinput): Do not terminate "pause mouse key" on mouse button clicks. This allows zoom, select, and other mouse-click operations during the pause. 2005-03-26 Ethan Merritt <merritt@u.washington.edu> SourceForge patch #1120626 (contributed by Frank Maas). * src/plot2d.c (histogram_range_fiddling): When processing histograms, allow auto-scaling of either end of the X-range individually. 2005-03-25 Ethan Merritt <merritt@u.washington.edu> * config/makefile.amg config/term_pc.h docs/Makefile.in sec/makefile.all: Remove dependencies involving table.trm. * term/table.trm: Remove this file. 2005-03-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/plot2d.c (eval_plots): Add a missing #ifdef EAM_DATASTRINGS protection block. 2005-03-25 Petr Mikulik <mikulik@physics.muni.cz> * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Don't increment the default line/point properties for line/point plots if this_plot is an (rgb)image (the same is already happening for pm3d plots). Otherwise, "splot 'a.dat' with image,x*y with line" and "... x*y w line, 'a.dat' with image" draw surface x*y in different colours. 2005-03-24 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc src/set.c (set_table) src/unset.c (unset_table) src/tables.h src/tables.c: New commands set table {"outfile"} unset table These replace the old 'set term table', which never worked in general. * src/gadgets.c src/gadgets.h: TBOOLEAM table_mode and output file pointer table_outfile shared by plot2d and plot3d in table mode. * src/plot2d.c (print_table) src/plot3d.c (print_3dtable): If table_mode is set we send tabular output to table_outfile, if it was specified, otherwise send it to gpoutfile. * src/set.c (set_terminal): Allow 'set term table' as a special case backwards compatibility option. It doesn't work all that well, but then again the original didn't work either. * demo/all.dem demo/vector.dem: Rework vector.dem to use the new commands. This makes it safe to include as part of all.dem because unlike the old 'set term table' it doesn't trash the current state of the output device. * src/term.c src/term.h: Remove table.trm from the list of terminals. 2005-03-24 Ethan Merritt <merritt@u.washington.edu> * term/post.trm: Initialize the data structure pointer ps_params to point to the normal postscript mode values; without this, setting environmental variable GNUTERM to any of the PostScript terminal modes will cause a segfault on entry. 2005-03-23 Aapo Lankinen <aapo.lankinen@gmail.com> * src/contour.c (contour): Bugfix: logscale on CB was being applied twice when calculating contour colors. 2005-03-23 Petr Mikulik <mikulik@physics.muni.cz> * NEWS src/plot2d.c src/plot3d.c docs/gnuplot.doc: SF patch #1098256 "Ignore title string after notitle": Let the string in '{s}plot ... notitle "string"' be silently ignored. 2005-03-21 Petr Mikulik <mikulik@physics.muni.cz> * src/plot3d.c (eval_3dplots): Better fix for 'set pm3d at X; splot f(x,y), 'data_file' with pm3d at Y' for data_file with multiple surfaces. * src/graph3d.c (do_3dplot): Remove fix from 2005-03-17. Fix 'set pm3d at X; splot...with pm3d at Y' for data files with multiple surfaces. 2005-03-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * docs/gnuplot.doc (set title): Add missing keyword "font". 2005-03-17 Petr Mikulik <mikulik@physics.muni.cz> * src/graph3d.c (do_3dplot): Fix 'set pm3d at X; splot...with pm3d at Y' for data files with multiple surfaces. 2005-03-16 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (df_readline): Allow for embedded whitespace in the output of a string-valued expression inside a "using" spec. * src/graph3d.c (plot3d_points_pm3d plot3d_points): Remove routine plot3d_points_pm3d, and handle pm3d-colored points in plot3d_points instead. This removes any special drawing order for the points. 2005-03-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/axis.h (AXIS_ACTUAL_MAX, AXIS_ACTUAL_MIN): New macros to access range endpoints correctly, even if 'set view map' has mixed up the internal status. * src/util3d.c (IN_AXIS_RANGE): New macro, equivalent to calling inrange() with the two endpoints of any given axis' range. Makes code a bit more readable. (edge3d_intersect): New local macros INTERSECT_PLANE, INTERSECT_DIAG to centralize lots of very similar code blocks. Implement fix for clipping of -VERYLARGE points in the presence of 'set view map' reversed ranges, by using new axis.h macros. (two_edge3d_intersect): Use new macro IN_AXIS_RANGE, reindent, for readability. 2005-03-15 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c (set_plot_with_palette): Fix displaying colorbox also for 'splot ... with image'. 2005-03-14 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c (set_plot_with_palette): Fix displaying colorbox for 'plot ... with image'. 2005-03-12 Ethan Merritt <merritt@u.washington.edu> * src/plot2d.c (eval_plots): Fix bug in initialization order that prevented "set style data labels" from working in 2D plots. 2005-03-09 Ethan Merritt <merritt@u.washington.edu> * term/emf.trm term/gd.trm term/pdf.trm term/pm.trm term/post.trm term/svg.trm term/x11.trm src/gplt_x11.c src/gplt_x11.h: Modify term->set_color() to handle colorspec type LC_LT. This has the effect of changing the current line color to that of default linetype <lc> without changing any other line properties. * misc.c (lp_parse) save.c (save_set_all) show.c (show_linestyle) docs/gnuplot.doc: Allow line color {linecolor|lc} to be specified separately from the linetype. For example, this command will give a dashed black line: set style line 1 lt 2 lc -1 and the following will give a dashed gold line: plot sin(x) with lines lt 2 lc rgb "gold" * demo/dashcolor.dem: Demo of choosing both linetype (dot/dash pattern) and linecolor separately. * src/misc.c (arrow_parse): Bugfix: Keep current linetype as the default when parsing possible additional line style options. 2005-03-06 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (df_readline) src/misc.c (parse_colorspec): Clean up code to remove the remaining 2 compiler warnings in current cvs. 2005-03-05 Harald Harders <h.harders@tu-bs.de> * term/post.trm (PS_options): Patch #1121971. Avoid external processing of escaped characters in the epslatex header string. 2005-03-05 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (df_readline): Plug a memory leak caused by evaluating a string-valued expression inside a "using" specification. * configure.in /config/config.amg /config/config.cyg /config/config.mgw /config/config.os2 /src/eval.c /src/eval.h /src/internal.c /src/internal.h /src/parse.c /src/standard.c /src/standard.h: Remove configuration option --disable-defined-var. Remove the #ifdef GP_ISVAR ... #endif bracketing the corresponding code. * term/cgm.trm (CGM_linecolor): Force all line and point color requests to black if the terminal is in monochrome mode. Bug fix courtesy of N Matsuda (Tokyo Denki University). 2005-03-04 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c: Introduce a defined constant MAX_TOKEN_LENGTH rather than trusting multiple call sites to declare consistently sized character arrays. * src/eval.c src/datafile.h src/datafile.c docs/gnuplot.doc: New internal function f_stringcolumn() usable only inside a "using" specification; pushes the content of a data column onto the evaluation stack as a string variable. Syntax: plot 'foo' using (stringcolumn(1) eq "baz" ? column(2) : column(3)) * src/datafile.c (df_readline df_3dmatrix df_readbinary): Set a flag to indicate that we are in the process of evaluating a "using" specification. * src/datafile.c (f_column f_timecolumn f_stringcolumn): Report an error if any of the <xxx>column() functions are called outside the context of a "using" specification. * configure.in: Remove the "EXPERIMENTAL" warning from the histogram and datastrings options; they've had 2 years of testing. 2005-03-02 Ethan Merritt <merritt@u.washington.edu> * src/unset.c (unset_historysize): Rearrange #ifdefs for GNUPLOT_HISTORY to prevent compiler warnings about unused function definitions. * src/term.h term/post.h term/post.trm: Introduce a statement '#define PSLATEX_DRIVER' into post.h that controls whether or not the pslatex/epslatex terminal code is built. Add #ifdef PSLATEX_DRIVER in appropriate places. Without this it was impossible to build gnuplot with post.trm but not pslatex.trm. * src/term.h: Remove aed.trm and tek.trm from SHORT_TERMLIST set of terminals, but add estimate.trm if it is enabled. * configure.in src/graphics.c src/plot2d.c src/save.c src/set.c src/show.c src/unset.c src/plot2d.h: Remove configuration option --disable-relative-boxwidth. Remove the #ifdef USE_ULIG_RELATIVE_BOXWIDTH ... #endif brackets around code that implements it. * config/config.amg config/config.cyg config/config.mgw config/config.nt config/config.os2 configure.in src/bitmap.c src/datafile.c src/gadgets.c src/gplt_x11.c src/gp_types.h src/graphics.c src/misc.c src/plot2d.c src/save.c src/show.c src/term_api.h src/term.c src/unset.c src/win/wgraph.c term/aquaterm.trm term/cgm.trm term/fig.trm term/gd.trm term/mif.trm term/pdf.trm term/post.trm term/svg.trm term/win.trm term/x11.trm: Remove configuration option --disable-filledboxes Remove the #ifdef USE_ULIG_FILLEDBOXES ... #endif brackets around code that implements it. 2005-02-28 Ethan Merritt <merritt@u.washington.edu> * term/pslatex.trm: EPSLATEX_set_color must be protected by #ifdef PM3D. 2005-02-26 Ethan Merritt <merritt@u.washington.edu> * src/pm3d.c (set_plot_with_palette): Don't trigger display of the colorbox in 2D plots just because an explicit line color was set. * misc.c (parse_fillstyle): accept full keyword "fillstyle" in addition to short form "fs". 2005-02-24 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c(plot_c_bars) src/plot2d.c(eval_plots) docs/gnuplot.doc: New keyword '... with candlesticks {whiskerbars}' that draws horizontal crossbars at the top and bottom of the whiskers. This is typical for box-and-whisker plots. The new keyword is in lieu of adding a separate "boxplots" plot style (patch #624000). * src/gplt_x11.c (pr_fastrotate) term/x11.trm (documentation): The fully general implementation of text rotation added in version 4.0 is *much* slower than it used to be. This patch adds a new X resource gnuplot*fastrotate: {on|off} that reverts to the faster but imperfect rotation method. The default is "on", which favors fast rendering at the cost of possibly corrupting colors of nearby plot elements. 2005-02-22 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm: Fix botched optimization in previous patch. 2005-02-21 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm: Implement solid fill rectangles and polygons as a true solid color, with variable fading toward background color, rather than approximating by a set of 3 half-tone patterns. * docs/gnuplot.doc: Explain that for some terminals the size of a "dot" can be changed using linewidth. 2005-02-18 Ethan Merritt <merritt@u.washington.edu> * term/pdf.trm: Allow "lw" as an abbreviation for "linewidth" * term/post.trm: Make dash styles 6 and 7 a bit more distinctive * term/emf.trm: Add option 'set term emf {linewidth <factor>}' * term/gd.trm: Solid fill with density < 1 was not working with rgb colors. Trivial fix. * term/gd.trm: Add option 'set term ... {linewidth <factor>}'; increase maximum linewidth from 6 to 12 * src/graphics.c (boundary): When estimating the length and height of xlabel, increase the number of lines by one if we're in enhanced text mode and there seems to be a subscript. This test can be fooled if the label has disabled enhanced text processing. 2005-02-18 Petr Mikulik <mikulik@physics.muni.cz> * src/command.c src/tables.c src/set.c src/unset.c docs/gnuplot.doc: Let command '{un}set historysize' be always available, but report a descriptive error if gnuplot has not been configured with GNU readline. 2005-02-17 Ethan Merritt <merritt@u.washington.edu> * term/pdf.trm: Add terminal options for monochrome and for dashed lines: set term pdf {mono|color|colour} {solid|dashed {dl dashlength}} The defaults remain the same as before (color solid). The monochrome option only affects linetypes; you can still use color explicitly in filled areas or by using rgb specifications for line styles. * configure.in: Check for dashed line support in pdflib. 2005-02-16 Harald Harders <h.harders@tu-bs.de> * term/post.trm: Patch #1122014 "Improve dashed linetypes in Postscript terminals". 2005-02-16 Ethan Merritt <merritt@u.washington.edu> * term/pdf.trm: Correct the driver docs to say font limitations and font installation instructions must be sought in the pdflib documention. 2005-02-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/variable.c (loadpath_handler, fontpath_handler): Re-initialize limit to NULL, too, as p reaches it. 2005-02-15 Ethan Merritt <merritt@u.washington.edu> * src/save.c src/save.h: New routine save_fillstyle consolidates redundant code to convert a fill_style_type into a text description. * src/save.c src/save.h: New routine save_pm3dcolor consolidates redundant code to convert a colorspec struct into a text description. * src/save.c (save_set_all save_textcolor) src/show.c (show_linestyle): Call shared routines rather than duplicate code in-line. 2005-02-14 Ethan Merritt <merritt@u.washington.edu> * term/pdf.trm (PDF_options PDF_init PDF_dot): Add terminal option {rounded|butt} exactly parallel to post.trm. The default is butt ends and mitred line joins. "rounded" switches to rounded ends and rounded joins. 2005-02-14 Petr Mikulik <mikulik@physics.muni.cz> * src/term.c: Added #include "getcolor.h". * term/aquaterm.trm term/pdf.trm term/post.trm term/svg.trm: Removed #include "getcolor.h". * term/x11.trm: Removed #include "getcolor.h", #ifdef WITH_IMAGE_BUG #include "graphics.h". * term/vgagl.trm: Removed #include "driver.h", "pm3d.h", "mousecmn.h". 2005-02-14 Harald Harders <h.harders@tu-bs.de> * term/pslatex.trm: SourceForge patch #1121972 "Improve input encoding in epslatex terminal". Added the koi8-u encoding to epslatex. Added \inputencoding{...} to the output file. This enables the user to use different input encodings in the surrounding LaTeX file and in the plot. Added a user-friendly error message if the package graphicx.sty or graphics.sty is not loaded. 2005-02-13 Harald Harders <h.harders@tu-bs.de> * term/post.trm term/pslatex.trm: Clean up code in accordance with compiler warnings. 2005-02-13 Shigeharu Takeno <shige@iee.niit.ac.jp> * configure.in: New configuration option --enable-x11-mbfonts (enabled by default). Interpretation of character encodings is determined at run time by the LC_CTYPE locale setting. * src/gplt_x11.c: All calls to x11 font handling routines are conditionally substituted by the equivalent calls to multi-byte routines if --enable-x11-mbfonts is configured, and a multi-byte font has in fact been selected. * NEWS term/x11.trm: Add documentation that describes the specification of multi-byte fonts: set term x11 font "mbfont:<primary font>;<secondary font>" set label "foo" font "mbfont:<primary font>;<secondary font>" 2005-02-10 Ethan Merritt <merritt@u.washington.edu> * src/graph3d.c (plot3d_lines_pm3d key_sample_line_pm3d): If the graph specifies a solid rgb color, fall back to equivalent single-color routine. 2005-02-11 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.h src/pm3d.c: New global routine is_plot_with_colorbox(). New local variable plot_wants_colorbox. Color box is wanted for all draw elements using palette except those with TC_RGB. * src/graphics.c src/graph3d.c: No colorbox for 2D and 3D plots with elements using "rgbcolor". 2005-02-10 Ethan Merritt <merritt@u.washington.edu> * src/misc.c (lp_parse): Accept full keyword "rgbcolor" for the line attribute. 2005-02-09 Harald Harders <h.harders@tu-bs.de> SourceForge patch #1040192 "Merge post, epslatex, pslatex, pstex terminals". * NEWS demo/Makefile.am.in docs/Makefile.in docs/gnuplot.doc src/graph3d.c src/graphics.c src/makefile.all src/term.c src/term.h term/post.h term/post.trm: Miscellaneous changes. * demo/epslatex.dem demo/gnuplot.cfg: New demo and its LaTeX configuration file for usage with gnuplot-generated LaTeX files (epslatex terminal with standalone option). * term/pslatex.trm: Now includes code for all of the following terminals: pslatex: LaTeX with embedded postscript pstex: plain TeX with embedded postscript epslatex: LaTeX using \includegraphics, postscript part in an external file * term/epslatex.trm: Removed. * share/: New directory. * share/LaTeX/Makefile share/LaTeX/README share/LaTeX/gnuplot.cfg: New directory LaTeX/. New files for supporting the epslatex terminal. 2005-02-05 Ethan Merritt <merritt@u.washington.edu> * src/color.h src/save.c (save_textcolor) src/gadgets (apply_pm3dcolor) src/misc.c (lp_use_properties) docs/gnuplot.doc: New internal flag TC_LINESTYLE allows text to take its color from a line style. For example: set label "foo" textcolor linestyle 2 2005-02-04 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (do_key_sample plot_boxes) src/term.c (term_apply_lp_properties): Apply linetype properties (color *AND* dot/dash/solid) before applying pm3d color, if any. 2005-02-02 Ethan Merritt <merritt@u.washington.edu> * src/plot3d.c (get_3ddata): Ignore blank lines in data file input to "splot with vectors". * src/set.c (set_xyzlabel): Allow set label textcolor rgb <foo>. * src/gplt_x11.c (display): Always initialize gc_pm3d, in case we need it to handle individual rgb colors even in the absence of a palette. * src/save.c (save_textcolor) src/save.h src/show.c (show_label show_xyzlabel): Export save_textcolor() so that various "show ...label" routines can use it also. Also fixes compile error if configured --disable-pm3d. 2005-02-01 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (plot_boxes): Plot with boxerrorbars and three columns of input data hit a rare code path that set the boxwidth wrong in some cases. Fixes bug #1101409. 2005-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/time.c (xstrftime): Shift reply range of %I and %l time formats from [0:11] to [1:12]. * docs/gnuplot.doc (time/date specifiers): Fix descriptions of hour format specifiers (explain 0-filled vs. non-filled default, give correct output ranges). 2005-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/set.c (set_separator): Replace literal TAB character in source by a \t. * src/command.c (input_line, input_line_len): Renamed to gp_input_line and gp_input_line_len respectively, to avoid a conflict of input_line with a like name non-standard library function on QNX. * src/command.h: Renamed declarations of these, too. * all over the place: Renamed usages of these variables. Some CodeStyle cleanups, while at it. 2005-01-31 Ethan Merritt <merritt@u.washington.edu> * util.c (getusername): Don't try to free a string pointer that may have been returned by getenv. Fixes bug #1111804. 2005-01-27 Petr Mikulik <mikulik@physics.muni.cz> * config/config.mgw: Mingw 2.x does not HAVE_SYS_PARAM_H. * src/win/wgnuplib.h: Mingw 2.x needs to #define _fstr* functions. 2005-01-26 Petr Mikulik <mikulik@physics.muni.cz> * demo/pm3d.dem: Remove deprecated references to "set pm3d solid" and "set pm3d transparent". 2005-01-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/win/pgnuplot.c (PostString): Fix transmission of 8-bit characters to function taking ints by cast to unsigned char. 2005-01-25 Ethan Merritt <merritt@u.washington.edu> * term/ai.trm (AI_reset) term/corel.trm (COREL_reset) term/epslatex.trm (EPSL_init EPSL_text): Remove extraneous % characters in strings output by fputs(). 2005-01-24 Petr Mikulik <mikulik@physics.muni.cz> * src/command.c (save_command): Remove extraneous c_token++. 2005-01-20 Dietmar Warning <warning@danalyse.de> * src/gnuplot.opt: Add breaders.obj to the list. 2005-01-19 Dietmar Warning <warning@danalyse.de> * src/util.c: Correct the GetUserName call for windows. 2005-01-11 Shigeharu Takeno <shige@iee.niit.ac.jp> * term/tgif.trm: Fix two bugs related to font handling. 2005-01-11 Ethan Merritt <merritt@u.washington.edu> * demo/mousevariables.dem demo/keystroke.dem: Fix incorrect termination logic in the keystroke demo. * src/graphics.c (boundary): Rather than turning off the key altogether if the contents seem to be too big to fit, fall back to something half way plausible and also print an warning message. Fixes (or at least addresses) bug #1058117. 2005-01-11 Harald Harders <h.harders@tu-bs.de> Apply updated SourceForge patch #1023783 * configure.in: Check for which libpdf version is present; check whether <pwd.h> is present. * src/util.c src/util.h: New routine (char *) getusername() gets user name from environment or from passwd file. * term/pdf.trm (PDF_init) term/post.trm (PS_init): Store username and other envelope information in the PDF dictionary structure of the output file. New routine PS_escape_string() to ensure that character strings entered in the PDF dictionary are legal strings. * term/pdf.trm (PDF_init PDF_reset): Use either PDF_begin_document or PDF_open_file depending on which version of libpdf is available. Ditro for PDF_end_document or PDF_close. 2005-01-11 Harald Harders <h.harders@tu-bs.de> * src/src/set.c src/term.c src/unset.c term/post.h term/post.trm term/pslatex.trm: SF patch #1098256 "Introduce struct that takes all postscript terminal options". This patch introduces the struct ps_params_t that takes all postscript terminal options, e.g., color, blacktext, pslevel, rounded, fontsize, ... This is useful when different terminals share the same portion of code. 2005-01-10 Daniel Sebald <daniel.sebald@ieee.org> * src/gadgets.c src/gadgets.h src/set.c (set_margin) src/show.c (show_margin) src/unset.c (unset_margin): Specify and store plot margins as float rather than int. 2005-01-10 Daniel Sebald <daniel.sebald@ieee.org> * src/graphics.c demo/image.dem: Correct a problem with scaling of images from 'with image'. 2005-01-08 Ethan Merritt <merritt@u.washington.edu> * src/term.c (term_start_multiplot): Replace keywords "rowmajor" and "columnmajor" with "columnsfirst" and "rowsfirst", respectively. * docs/gnuplot.doc: Correct the description of row and column layout 'set term multiplot layout <rows>,<cols> {rowsfirst|columnsfirst}' 2005-01-08 Harald Harders <h.harders@tu-bs.de> * src/pm3d.c src/term.c src/term_api.h term/epslatex.trm term/post.trm term/pslatex.trm: SF patch #1098252 "Use variable gppsfile for postscript output". This patch uses the variable gppsfile (formerly postscript_gpoutfile) instead of gpoutfile for all PostScript output. This is very useful for terminals that produce two files where one of them is PostScript (for example pslatex and epslatex). * src/color.c src/pm3d.c src/term.c src/term_api.h term/epslatex.trm term/post.trm term/pslatex.trm: SF patch #1098249 "Rename postscript_gpoutfile to gppsfile". This patch renames the handler 'FILE *postscript_gpoutfile' to 'gppsfile' since the old variable name is too long for more often use. 2005-01-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/util.h (try_to_get_string): Add missing 'void' to prototype argument list. * term/x11.trm: #include <sys/select.h>, if it exists. * src/stdfn.h: #include <sys/param.h> before checking if PATH_MAX is defined (definition may be in there...), rather than inside the fallback definition only. * term/svg.trm (SVG_init): Updated DOCTYPE name and reference to current standard: SVG 1.1. Added an XMLNS namespace declaration to satisfy requirements for XML documents. 2005-01-05 Bastian Maerkisch <bmaerkisch@web.de> * src/os2/gclient.c: Some more cleanup: Removed some unused variables and unused code which eliminates a lot of compiler warnings. 2005-01-04 Ethan Merritt <merritt@u.washington.edu> * src/term.c src/term_api.h: Instead of exporting ignore_enhanced_text from term.c as a global TBOOLEAN, provide a wrapper routine ignore_enhanced(TBOOLEAN flag); * src/graphics.c (do_plot) src/graph3d.c (do_3dplot): Call new routine ignore_enhanced() rather than directly setting a variable inside term.c. * src/gadgets.h: Add TBOOLEAN noenhanced flag to label_struct. * docs/gnuplot.doc src/set.c (set_xyzlabel) src/save.c (save_set_all) src/show.c (show_xyzlabel): New suboption `set ... {{no}enhanced}` for plot title and axis labels, analogous to the noenhanced option for the plot key entries. This allows, for example, using a filename with underscores as part of the plot title. * src/graphics.c (do_plot) src/graph3d (do_3dplot): Disable enhanced text processing while writing out plot title or axis label text if the noenhanced flag is set in the corresponding label_struct. * docs/gnuplot.doc: Correct the documentation to say 'set multiplot layout <rows>,<cols>' (rows/cols were reversed in the previous version, and mis-described in the example). 2005-01-04 Bastian Maerkisch <bmaerkisch@web.de> * src/os2/gclient.c: Contains my attempt to implement pattern filling for the pm terminal. I gave this a bit of testing, but I have to admit that the result looks ugly together with the widelines option. But here you go anyway as 'widelines' has to be improved later anyway. It should work fine without 'widelines'... * src/os2/gnupmdrv.c: Newer versions of gcc on OS/2 no longer have fcloseall(), but _fcloseall(). * src/os2/gclient.c src/os2/dialogs.c src/os2/print.c: Clean up by removing some unused variables and code (some put into #if 0/#endif); some minor changes to layout - this basically removes anoying warning messages during compilation. 2004-12-31 Ethan Merritt <merritt@u.washington.edu> * term/estimate.trm src/term.h: New pseudo-terminal driver whose sole function is to parse a string in enhanced text mode and return the number of character-widths in the resulting output text. * configure.in NEWS src/term_api.h src/term.c (estimate_strlen): New routine estimate_strlen(char *text). Its default behaviour is to return strlen(text). But if the currently active terminal is in enhanced text mode, and the current plotting context does not disable enhanced text, then instead it calls the estimate.trm pseudo-terminal term->put_text(text) in order to determine the approximate width of the eventual output string. This feature may be disabled using ./configure --disable-strlen_estimation * src/graph3d.c src/graphics.c: Where strlen(text) is used to reserve space on the plot (e.g. leaving room for tic labels or key box entries) call the new routine estimate_strlen(text) instead. This allows more accurate plot layout in enhanced text mode. The improvement is particularly noticible if the y-axis tic format uses enhanced text mode. * term/x11.trm (X11_options ENHX11_put_text): Try harder to determine what the default fontsize is so that string lengths can be estimated. 2004-12-30 Ethan Merritt <merritt@u.washington.edu> * src/term_api.h term/README: Add a new terminal flag bit TERM_ENHANCED_TEXT that is set whenever the terminal is currently operating in enhanced text mode. The will allow improved estimation of text string length by the core code. * aquaterm.term dumb.trm gd.trm pdf.trm pm.trm post.trm svg.trm x11.trm: Set or clear TERM_ENHANCED_TEXT flag in term->options() code that parses the "{no}enhanced" terminal option. 2004-12-29 Ethan Merritt <merritt@u.washington.edu> * src/mouse.c (MKSTR): Do not allow embedded newlines in the format used for tracking mouse motion via an extra status line at the bottom of the plot window. Extra newlines freeze gnuplot_x11 badly. 2004-12-23 Ethan Merritt <merritt@u.washington.edu> * term/ggi.trm (GGI_fillbox GGI_set_color): Implement color selection by RGB values. Implement filled boxes. The GGI project seems moribund, so support of other new gnuplot features like polygons is unlikely. 2004-12-22 Ethan Merritt <merritt@u.washington.edu> * src/mouse.c: Remove unused routine event_print(). * src/mousecmn.h: Remove unused event types GE_stderr, GE_stdout, GE_cmd, and unused field text[100] in struct gp_event_t. 2004-12-21 Ethan Merritt <merritt@u.washington.edu> * term/ggi.trm (GGI_replot) src/mousecmn.h src/mouse.c (do_event): Remove the one and only instance of GE_cmd as an event type, used by ggi.trm to trigger a replot. Create new type GE_replot instead. * term/ggi.trm (GGI_set_color): Convert to newer API for set_color. 2004-12-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/emf.trm (EMF_filled_polygon): Renamed macro META_POLYGON to EMF_POLYGON, to avoid conflict with Win32 headers. 2004-12-21 Petr Mikulik <mikulik@physics.muni.cz> * NEWS docs/gnuplot.doc src/pm3d.h src/pm3d.c src/save.c src/set.c src/show.c: New suboptions 'set pm3d corners2color min|max'. 2004-12-20 Ethan Merritt <merritt@u.washington.edu> * term/fig.trm (FIG_put_text) term/gd.trm (PNG_put_text, ENHGD_FLUSH): Modify vertical centering text to match most other terminal types. This causes text rotation to occur about the vertical midpoint, as in the post, x11, pdf, and other terminals. (Bug #1086549) 2004-12-20 Bastian Maerkisch <bmaerkisch@web.de> * term/pm.trm (PM_set_color): Reflect recent changes of parameters in term entries. * src/os2/gnupmdrv.h src/os2/gclient.c: gnupmdrv.c and gclient.c both used to define variable bWidelLines, but it should be the same one. This patch adds an 'external' declaration in gnupmdrv.h, and removes the definition from gclient.c. * src/os2/gclient.c: Within GnuplotPM "Options->Gnuplot docs...", it did not open gnuplot.inf when using NewView, a widely used view.exe replacement. Replaced the fixed sized buffer solution with code using a dynamic buffer. * src/os2/gclient.c: This fixes text rotation for the pm terminal. The variable bHorz, which used to indicate horizontal text, has now been removed completely. Now pm terminal behaves similar to the postscript terminal. 2004-12-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/parse.c (push_vars): Conditionalize definition on GP_ISVAR. (parse_primary_expression): Conditionalize use of push_vars and action PUSHV on GP_ISVAR. 2004-12-14 Ethan Merritt <merritt@u.washington.edu> * demo/Makefile.am.in: Add rainbow.html and pointsize.html to the target list for "make html". 2004-12-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/command.c (update_command): Fixed handling of optional second filename argument broken during introduction of try_to_get_string(). 2004-12-08 Shigeharu Takeno <shige@iee.niit.ac.jp> * term/tgif.trm: Update option parsing to be order-independent. Add monochrome and linewidth options. 2004-12-07 Ethan Merritt <merritt@u.washington.edu> * term/emf.trm: Implement term->set_color(), term->filled_polygon, and term->fillbox() for the emf terminal. This does not provide PM3D palette support, but it does allow coloring by explicit RGB and plot styles that use filled boxes. 2004-12-07 Petr Mikulik <mikulik@physics.muni.cz> * demo/pm3d.dem: Turn on colorbox in the demo of corners2color, and position it at the bottom of the page. 2004-12-05 Ethan Merritt <merritt@u.washington.edu> Run valgrind to find memory leaks. * term/x11.trm (X11_make_palette): Free palette gradient after sending it to gnuplot_x11. Do other drivers have similar leaks? * src/set.c (set_cntrparam): Free old dynamic contour level array before getting a new one. * src/set.c (set_xyzlabel): Free dynamic label string after copying it to a static label structure. * src/parse.c (temp_at): Add a garbage-collection step to the deallocation of temporary storage for expression evaluation. I wish I understood this well enough to guarantee the correctness of scavenging, but empirical tests indicate that no double-free errors are triggered. 2004-12-04 Ethan Merritt <merritt@u.washington.edu> Run valgrind to find codepaths that trip over uninitialized variables. * src/parse.c (const_express) src/set.c (set_xyzlabel set_label): src/eval.c src/eval.h: Move set/clear of flag STRING_RESULT_ONLY up one level in the call chain. * src/temp_api.h src/color.h src/graphics.c (init_histogram) src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): More complete initialization of dynamic and gp_alloc()ed structures. 2004-12-03 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (xtick2d_callback ytick2d_callback): Fix bug reported by Mike Kay: if the grid was active and the key box was entirely above or to the left of the graph itself, then an extraneous grid line was drawn connecting the key box to the graph. * src/set.c (set_palette): Fix bug #1077699 - parser was skipping whatever token came after "gamma <val>". 2004-12-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/fig.trm (FIG_set_color): Fix a C99-ism. Thanks to Shigeharu Takeno for spotting this. 2004-12-02 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm: Keep track of current rgb values in parallel to the current linetype, since we can no longer count on regenerating the former from the latter. * term/x11.trm: Add missing X resource to the table in the docs. * configure.in: Remove obsolete messages relating to old png driver. 2004-12-01 Ethan Merritt <merritt@u.washington.edu> Add colorspec to linetype, and hence to all 2D and 3D plot elements. These changes all depend on configuration with --enable-pm3d Add support and demo example of using explicit RGB colors or gnuplot's internal pre-defined color names: set style line 1 lt rgbcolor "violet" lw 2 set style line 2 lt rgbcolor "#FFA080" lw 2 # salmon pink * src/term_api.h: Add new field "struct t_colorspec pm3d_color" to lp_style_type, so that any plot element with an associated line type can use palette-based or RGB colors. * src/term.c (term_apply_lp_properties): Check lp_style_type.use_palette flag, and if set apply the colorspec rather than a simple linetype color. * src/misc.c (lp_parse parse_colorspec): Call parse_colorspec() as part of normal line type parsing. This allows "lt {rgbcolor 'name'} | {palette {cb <val> | frac <val> | z}}" anywhere that "lt <val>" is currently valid. * src/graphics.c (do_plot plot_boxes plot_c_bars do_key_sample): Everywhere that we would normally call t->linetype(), check use_palette and instead call apply_pm3dcolor() Everywhere that we would normally call t->fillbox(), check use_palette and instead call t->filled_polygon() via new routine fill_corners() * src/plot2d.c (eval_plots): Do not allow "lt palette z" in 2D plots * src/save.c src/show.c: save/show colorspec options associated with line styles and text colors * src/set.c: Allow text color to use full colorspec options. * src/tables.c src/tables.h: New function reverse_table_lookup() that returns the keyword associated with a table value; this is used to look up the colorname associated with an RGB value. * NEWS docs/gnuplot.doc: Document new functionality and syntax. * demo/colorwheel.dem: Set palette mode to standard HSV color wheel and define common colors as macros. Allows terminal-independent commands such as plot sin(x) with lines @orange * demo/rainbow.dem: Demonstrate two approaches to defining terminal-independent colors for plot elements. (1) Load 'colorwheel.dem' to create a palette from which colors can be selected. (2) Use the new colorspec type RGB to request specific named colors, as in set style line 1 lt rgbcolor "sea-green" This only works well on terminals that support full RGB color modes. Some palette-based terminals will approximate the requested color using whatever palette color is closest, but the results may not be pleasing. 2004-12-01 Ethan Merritt <merritt@u.washington.edu> * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Add END_OF_COMMAND check before trying to parse possible backwards compatibility options. Fixes incorrect error message if text option parsing consumes the rest of the command line. 2004-11-30 Petr Mikulik <mikulik@physics.muni.cz> * term/post.trm docs/Changes.doc: Typos. 2004-11-29 Petr Mikulik <mikulik@physics.muni.cz> * term/pm.trm src/os2/gclient.c: Changes for the new colorspec type TC_RGB. Currently, they are dummy in gclient.c -- to be implemented. 2004-11-27 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc docs/gnuplot.texi: Re-format a large section of text dealing with binary files. The previous layout caused PDF output to treat the whole section as quoted monospace text, as for a code example. 2004-11-27 Ethan Merritt <merritt@u.washington.edu> * src/color.h: Add new colorspec type TC_RGB, allowing colors to be specified as an RGB triple stored as (RR<<16)+(GG<<8)+BB with red, green, and blue components running from 0 - 255. * src/gadgets.c (apply_pm3dcolor) src/gadgets.h: Pass RGB color specifications to terminals via the new API for term->set_color(). * src/gplt_x11.c src/gplt_x11.h term/*.trm (set_color): Implement set color to specified RGB triple in these terminals aquaterm gd metapost pdf post svg x11 Somebody please have a look at doing the same for cgm pstricks win 2004-11-26 Ethan Merritt <merritt@u.washington.edu> * src/term_api.h term/README: Change from term->set_color(double gray) to term->set_color(struct t_colorspec *colorspec). This sets the stage for allowing color specification mechanisms other than a PM3D palette. The immediate intent is to allow direct requests for RGB color values. * term/*.trm: Convert all terminal types providing set_color() to the new API. No change in terminal behavior or capabilities. Terminals affected: aquaterm cgm fig gd metapost pdf post pslatex svg tgif vgagl win x11 pstricks * src/color.c (set_color): This is the only routine that calls term->set_color. Convert it to pass a colorspec pointer rather than a palette gray value. 2004-11-25 Ethan Merritt <merritt@u.washington.edu> * src/util3d.h: map3d_xy_double is needed independent of WITH_IMAGE. 2004-11-24 Ethan Merritt <merritt@u.washington.edu> src/gplt_x11.c: Set background color for pattern-fill explicitly each time. term/svg.trm (SVG_GroupOpen SVG_DefineFillPattern): Allow palette colors to be used in pattern fill. 2004-11-23 Ethan Merritt <merritt@u.washington.edu> src/gplt_x11.c: Initialize mouse_format to null string. Fixes bug that in some circumstances the mouse position is printed as random garbage. 2004-11-21 Ethan Merritt <merritt@u.washington.edu> Rearrange code so that pm3d support routines are available to both 2D and 3D plots. The addition of pm3d code to 2D plots began in portions of the WITH_IMAGE patch; remove the dependence on WITH_IMAGE to prepare for more general use of pm3d colorspecs in 2D plots. Introduce general checking for pm3d colorspecs in 2D plots. This fixes a bug that the colorbox could only be drawn for "with image" plots if the *first* plot used pm3d; subsequent plots were not checked. Also, pm3d colorspecs were already usable for text coloring in 2D, but no colorbox was drawn if they were used. Now it is. * src/color.h src/gadgets.h : Move definition of t_colorspec to color.h * src/color.h src/color.c src/graph3d.c src/graphics.c plot2d.c: Remove #ifdef WITH_IMAGE from several code segments that are useful for plot styles other than image. * src/misc.c src/set.c src/misc.h: Move parse_colorspec from set.c to misc.c and export it for use when parsing "with" options in both 2D and 3D. * src/plot3d.c src/pm3d.c src/pm3d.h src/graph3d.c: Move set_plot_with_palette and is_plot_with_palette from plot3d.c into pm3d.c so they can be shared by 2D and 3D code. * src/graphics.c: Check for is_plot_with_palette() and modify layout of 2D plots to include colorbox if it returns TRUE. * src/color.c src/gadgets.c src/gadgets.h src/graph3d.c src/graphics.c: Rename apply_textcolor() to be apply_pm3dcolor(), since it is usable for any plot element requiring a palette-based color. 2004-11-20 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (add_key_entry): Make sure all fields of newly allocated structure are initialized. * src/graph3d.c (do_3dplot) src/plot3d.h: Call utility function is_plot_with_palette rather than making plot_has_palette a global int. * src/util3d.h: map3d_xy_double is needed independent of WITH_IMAGE. * demo/pm3d.dem: Turn off colorbox in the demo of corners2color. 2004-11-13 Ethan Merritt <merritt@u.washington.edu> * src/specfun.c (f_erf f_erfc f_normal): Replace in-line rough approximation for erf() and erfc() with calls to the internal routines that compute these values more accurately. This is only relevant to platforms that do not already provide math library routines erf() and erfc(). Empirical tests show that this change decreases the error relative to the double precision library erf routine from O(10^-8) to O(10^-16). Thanks to Dietmar Warning <warning@danalyse.de> 2004-11-12 Ethan Merritt <merritt@u.washington.edu> * term/svg.trm (ENHsvg_writec): Escape character & to be & in output stream. '<' and '&' are the only escaped characters so far, and only in enhanced text mode. 2004-11-12 Dietmar Warning <warning@danalyse.de> * src/specfun.c (inverse_error_func): Replace obsolete attribution of algorithm used for this function. * src/util3d.c (map_xy_double): This function is needed independent of the image code, so remove #ifdef WITH_IMAGE. 2004-11-11 Ethan Merritt <merritt@u.washington.edu> * demo/datastrings.dem: Add example of using a column both as a numerical value and a string (use y value as a label). * src/graphics.h: New TBOOLEAM title_is_suppressed in plot structure src/graphics.c (find_maxl_keys do_plot) src/datafile.c (df_set_key_title) plot2d.c (cp_alloc eval_plots): Keep an explicit flag indicating whether or not the key should contain an entry for this plot. 2004-11-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * docs/doc2texi.el (d2t-get-terminals): Fix search pattern for point where to insert terminal drivers after change of indentation level in gnuplot.doc. * docs/Makefile.in (TERM_H): New variable, points to term.h file in the src directory. (term.h): Rule generating this file disabled. (gnuplot.html, gnuplot.info): Removed superfluous dependencies on gnuplot.doc. (gnuplot.texi): Run Emacs inside source directory --- building gnuplot.texi in an out-of-source build tree is futile, and never really worked. (doc2gih.o, doc2hlp.o, doc2ipf.o, doc2rnh.o, doc2rtf.o): Build online documentation tailored to actual program by including the real term.h, instead of a mangled copy. (BUILT_SOURCES): Removed term.h from the list. * docs/gnuplot.texi: Rebuilt. * docs/gnuplot.doc: Cleared some whitespace-only lines. 2004-11-10 Ethan Merritt <merritt@u.washington.edu> * src/stdfn.h * src/eval.c (gp_exp) src/specfun.c (f_gamma) src/standard.c (f_tanh): Rename constant MINEXP to be E_MINEXP, since this is more in line with the terminology used in standard math libraries. Only fall back to the current assumption that E_MINEXP == -88 if the build environment does not provide a definition for DBL_MIN_10_EXP, probably in <float.h>. On most machines this means that gnuplot's gamma() function should now have the same allowed input domain as exp(lgamma()). 2004-11-10 Petr Mikulik <mikulik@physics.muni.cz> * src/save.c: Fix y-axes reversal when saving during 'set view map'. 2004-11-08 Ethan Merritt <merritt@u.washington.edu> * src/term.c (do_arrow test_term): Do not attempt filled arrowheads if the current terminal does not provide term->filled_polygon(). Exercise filled arrowhead code in the 'test' command. * src/graphics.c (plot_image_or_update_axes): Do not attempt to draw rotated quadrangles if the current terminal does not provide term->filled_polygon(). * docs/gnuplot.doc: Not all terminals support double-headed arrows. 2004-11-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/hidden3d.c (build_networks): Fix 'with impulses' drawing style --- was off by one. 2004-11-07 Ethan Merritt <merritt@u.washington.edu> * src/term.c (enhanced_recursion): Always allow backslash to escape the 5 special formatting characters @^_~& in postscript enhanced text mode. This breaks certain character sequences in Shift-JIS, but the alternative makes these characters unavailable for all other encodings. * src/graphics.c (plot_vectors): Fix bug which drew a head on the tail of arrows whose original heads were clipped. Bug #1062158. 2004-11-07 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: Typos. * term/tgif.trm: Replace "set nomultiplot" by "unset multiplot" in the docs section. 2004-11-06 Ethan Merritt <merritt@u.washington.edu> String variables - command line macros -------------------------------------- Command line macros are indicated by the character @ preceding a string variable. When the command line is read in, these macros are expanded by replacing the string @<varname> with the contents of the string variable <varname>. Macros can be nest up to 4 levels deep. Macros are not expanded inside single quotes or double quotes, but they are expanded inside backquotes. * configure.in: --enable-macros selects #define GP_MACROS * demo/macros.dem docs/gnuplot.doc: Examples and documentation. * src/command.c (do_line): Call new routine string_expand() that steps through input_line, expanded macros as it goes. * src/save.c (save_variables__sub): Save STRING variables in single quotes rather than in double quotes. That way when the saved values are loaded, no backquote substitution is triggered. * src/save.c src/set.c src/show.c src/unset.c src/tables.h src/tables.c src/command.c src/command.h: Global TBOOLEAN expand_macros to turn expansion on or off via new commands '{un}set macros'. 2004-11-02 Ethan Merritt <merritt@u.washington.edu> * src/set.c: Use 0 rather than NULL in initializing a union, to make gcc happy. * src/plot3d.c: #include "plot2d.h" so that store_label is imported. * src/internal.c (sprintf_specifier): Add a useless return statement to make gcc happy. 2004-11-01 Daniel Sebald <daniel.sebald@ieee.org> * src/datafile.c (df_readbinary): Do not try to access Z coordinate data in 2D mode. 2004-10-31 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (df_readbinary): Fix incorrect indexing of 2D rotation matrix. * src/mousecmn.h: Remove trailing comma from enum definition. * src/color.c (cbtick_callback) src/graph3d.c (do_3dplot xtick_callback ytick_callback ztick_callback map3d_position plot3d_vectors) src/mouse.c (nearest_label_tag): DEC cc is much pickier about mixing (unsigned int) and (int) across function calls or call-backs. Clean up the parameter usage to allow compilation under DU 4.0 * src/internal.c (f_concatenate f_sprintf): Provide fallback for configurations that don't support snprintf(). 2004-10-29 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Fix indentation level of terminal types when converted to pdf. Add mention of string variables in the documentation for 'set label'. * src/gplt_x11.c (pr_exportselection) term/x11.trm: Add a test for X resource gnuplot*exportselection and disable exporting the plot windows to the X clipboard if it is set to "off" or "false". * NEWS: Catch up with recent work. 2004-10-29 Petr Mikulik <mikulik@physics.muni.cz> * src/term.c docs/gnuplot.doc: Reset values of 'set size' and 'set origin' after 'unset multiplot' to the values as they were at 'set multiplot layout'. 2004-10-28 Ethan Merritt <merritt@u.washington.edu> * src/datafile.c (df_open): initialize_user_spec() is needed whether or not the input mode is binary. Fixes bug reported under Windows. 2004-10-27 Ethan Merritt <merritt@u.washington.edu> String variables - extra features --------------------------------- Autoconversion of strings to numerical values if encountered during evaluation of a numerical expression. ("3" + "4.5" == 7.5) is true. Autoconverion of integers to strings if encountered as an operand for string concatenation. ("file" . 4 eq "file4") is true. * configure.in: GP_STRING_VARS is #defined as 2 if these extra features are desired. Defining it as 1 leaves the basic feature set enabled but disables the extra stuff. * docs/gnuplot.doc src/eval.c src/eval.h src/internal.c src/standard.c: New routine pop_or_convert_from_string(), aliased to pop() during numerical evaluation. Treat INTGR operand to f_concatenate as a special case, promoting it to STRING. * src/parse.c (const_express): Suppress possible autoconversion to a number if the caller specifically expects a string value to be returned. 2004-10-27 Petr Mikulik <mikulik@physics.muni.cz> * src/term.c docs/gnuplot.doc: New 'set multiplot layout' options 'downwards' and 'upwards'. 2004-10-26 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Add separate section with indexed entry for discussion of quote marks. 2004-10-25 Ethan Merritt <merritt@u.washington.edu> String variables - basic functionality -------------------------------------- Allow gnuplot variables to contain strings, and allow expressions to operate on strings. Provide two pre-defined string-valued functions; sprintf() is a wrapper for the the C language formatting routine of the same name, gprintf() is a wrapper for the existing gnuplot-defined format specifiers. All changes are bracketed by #ifdef GP_STRING_VARS. Most places where gnuplot previously required a string constant will now also accept a string variable or a string-valued expression. * docs/gnuplot.doc: * src/gp_types.h: STRING variable type * src/internal.c src/internal.h src/eval.c src/eval.h src/parse.c string operators (A . B) (A eq B) (A ne B) string functions sprintf() gprintf() * src/util.c (try_to_get_string) src/util.h: Modify the routine try_to_get_string to accept string variables and functions. This one place handles the syntax change for most gnuplot commands. The main exceptions are 'plot', 'splot', and 'set label', which are handled separately. * src/scanner.c: accept . as a binary operator (string concatenation) * src/datafile.c: evaluate string-valued functions in a 'using' spec * src/mouse.c: set string variable MOUSE_CHAR when a key is pressed * src/plot2d.c: accept a string variable 'plot <foo>' * src/plot3d.c: accept a string variable 'splot <foo>' * src/set.c: accept a string variable in 'set label <foo>' * src/standard.c: int_error if a unary arithmetic operator is applied to a string. * demo/mousevariables.dem demo/keystroke.dem: Demo use of MOUSE_CHAR to treat keystrokes in the plot window as strings. * demo/stringvariables.dem: Demo use of constant strings or string- valued functions as plot symbols. 2004-10-25 Harald Harders <h.harders@tu-bs.de> * docs/gnuplot.doc: Add labels for "set term push", "set term pop". SourceForge patch #1052788. 2004-10-23 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Reorganize the docs to give a separate section to the list of terminal types. This change is not visible to the internal 'help' command, but improves the usability of the pdf and tex-based documentation. 2004-10-22 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: A very preliminary update of the "What's New" section of the docs to track changes since the version 4.0 release. 2004-10-21 Harald Harders <h.harders@tu-bs.de> This patch introduces the possibilty to move many kinds of texts by an offset in an arbitrary coordinate system. For example, tic marks, the title, and labels can be moved by an offset given in 'character', 'screen', 'graph', 'first', or 'second' coordinate system. SourceForge patch #993422. * docs/gnuplot.doc * src/axis.c (get_position get_position_default): New routine that accepts a default coordinate type when parsing offsets. * src/axis.h: Add offset structure to axis tics. * src/gadgets.h: Add offset structure to text labels. * src/color.c (cbtick_callback draw_color_smooth_box) * src/gadgets.c (get_offsets) * src/save.c (save_set_all save_tics) * src/set.c (set_label set_timestamp set_tic_prop set_xyzlabel new_text_label parse_label_options parse_histogramstyle) * src/show.c (show_label show_histogram show_xyzlabel show_ticdef) * src/unset.c (unset_tics unset_axislabel_or_title) 2004-10-20 Harald Harders <h.harders@tu-bs.de> Introduce a new coordinate system 'character' that uses character width and height as units. It is a 2d coordinate system similar to 'screen'. The origin is the same as for 'screen'. SourceForge patch #993411. The intended use is for setting label and text offsets in terms of character size, and generalizing this to all places where an offset is legal. * NEWS docs/gnuplot.doc: * src/axis.h src/axis.c (get_position_type) src/gadgets.h: New coordinate system "character". * src/graph3d.c (get_arrow3d place_labels3d place_arrows3d): * src/graph3d.c (map3d_getposition map3d_position): Track 3D coordinates internally as (int) rather than (unsigned int) so that out-of-bounds on the negative side can be detected. Interpret character offsets. * src/save.c (save_set_all) src/show.c (show_position show_arrowstyle): * src/graphics.c (map_position_double): Interpret character offsets. 2004-10-20 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (pr_font): Fix bug that whatever fallback font was used for an unrecognized font request, that fallback would become the default font for all future requests. 2004-10-19 Juergen Wieferink <wieferink@freenet.de> * src/set.c (parse_label_options): If the label has an associated point, allow its type to be specified by "linestyle <n>". 2004-10-19 Per Persson <persquare@mac.com> Adding enhanced text support to terminal aqua. * term/aquaterm.trm (ENHAQUA_put_text, ENHAQUA_open, ENHAQUA_flush, ENHAQUA_writec): Added. * docs/gnuplot.doc Add aqua to list of terminals with enhanced option. 2004-10-18 Volker Dobler <v.dobler@web.de> Ethan Merritt <merritt@u.washington.edu> New plot style variant that reads individual point sizes from specified input column. Examples: plot 'foo' using 1:2:3 with points pt 5 pointsize variable splot 'foo' using 1:2:3:4 with linespoints pt 5 ps variable splot 'foo' using 1:2:3:4:5 with points pt 5 ps variable lt palette * NEWS docs/gnuplot.doc: Document new variant of line/point style in which the point size is variable, with the size of each point read from an extra column in the input file. * demo/all.dem demo/pointsize.dem: Demo for 2D and 3D plots with variable point size and pm3d colors. * src/gp_types.h: Define storage location for point size info in struct coordinate (overload xlow). * src/graph3d.c (plot3d_points plot3d_points_pm3d): Check for variable pointsize request and change point size before plotting. * src/graphics.c (do_plot plot_points): Check for variable pointsize request and change point size before plotting and in plot key. * src/misc.c (lp_parse): Parse "pointsize variable" in with spec. * src/plot2d.c (get_data eval_plots): Allow 3 columns of input for points, with the extra column holding point size. * src/plot3d.c (get_3ddata): Allow 4 columns of input for points with variable point size in 4th column, plus a possible 5th column of pm3d color information. * src/save.c (save_set_all) src/show.c (show_linestyle): Print or save "pointstyle variable" characteristic of line style. 2004-10-18 Ethan Merritt <merritt@u.washington.edu> * term/be.trm term/cgm.trm term/emf.trm term/epslatex.trm term/fig.trm term/gd.trm term/metapost.trm term/tgif.trm term/win.trm term/x11.trm: Add a check in TERM_pointsize() so that negative point size is reset to size 1.0. This has always been the case for the generic do_pointsize() routine in term.c, but not all of the individual terminals did likewise. 2004-10-17 Ethan Merritt <merritt@u.washington.edu> * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): More stringent syntax test for bare numbers indicating line type in backwards-compatibility mode. 2004-10-17 Juergen Wieferink <wieferink@freenet.de> * src/scanner.c (scanner): Terminate scan properly if an empty substitution occurs at the end of a line. bug #1045695 2004-10-16 Ethan Merritt <merritt@u.washington.edu> * src/plot3d.c (get_3ddata): Reorganize the code so that fewer assumptions are made about what the plot must be based on the number of columns, and so that the various 3D mapping modes share the interpretations of columns other than the first three. src/plot3d.c (get_3ddata): Initialize variables to shut off stupid compiler warnings. src/unset.c: #include hidden3d.c to pick up reset_hidden3doptions. 2004-10-15 Ethan Merritt <merritt@u.washington.edu> * src/save.c (save_set_all): Do not try to save the current title and text properties of histograms. This is not part of the permanent style. Fixes strangeness with "test palette". 2004-10-14 Ethan Merritt <merritt@u.washington.edu> * src/plot2d.c (get_data eval_plots): Defer adjustment of histogram ranges until after the input file has been checked for valid data. (fixes bug #1046894) * src/datafile.c (df_parse_string_field): Handle missing field in input file more gracefully. (bug #1046894) * src/graph3d.c (map3d_position_r): Remove unused variables. 2004-10-13 Harald Harders <h.harders@tu-bs.de> * src/graph3d.c (map3d_position_r get_arrow3d): Change the interface of the function map3d_position_r() to be similar to map_position_r(). Now, map3d_position_r() does not need to get the startpoint. This will make it easier to use it for all kinds of relative coordinates as text offsets. * src/graphics.c (get_arrow): map_position_r already handles the relative position; no need to duplicate it in get_arrow. * docs/gnuplot.doc: Mention that relative coordinates in log scale imply a multiplicative rather than an additive offset. 2004-10-12 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (place_labels): Add a TBOOLEAN flag to indicate whether labels should be clipped against the current axis limits. Labels generated by "set label <foo>" are never clipped; labels generated by 'plot with labels' are clipped. * src/graphics.c (fill_between): Improve clipping to handle 1st/2nd axes and inverted axis range. 2004-10-11 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c (apply_zoom): Fix for reversed y-range in zoom by mouse and "set view map". * src/graphics.c (do_plot): Better warning for trying to use pm3d in a 2d plot. 2004-10-08 Petr Tobiska <tobiska@ure.cas.cz> * term/metapost.trm (MP_arrow): Handle double-ended arrows also. 2004-10-05 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (pr_font): Release previous font every time a new one is requested. This feels wrong to me since we know the old font will be used again very soon, but otherwise there is a serious memory leak. * src/gplt_x11.c (PaletteMake): (Daniel Sebald <daniel.sebald@ieee.org>) Fix another tiny memory leak. * src/plot3d.c (get_3ddata): Add missing #ifdef EAM_DATASTRINGS. * configure.in: If --disable-datastrings is selected, then turn off histogram support also since it is crippled without the datastrings code. 2004-10-05 Petr Mikulik <mikulik@physics.muni.cz> * config/config.cyg config/config.mgw config/config.os2: Added #defines EAM_DATASTRINGS and EAM_HISTOGRAMS. * src/makefile.all: Added breaders.$(O) to COREOBJS. 2004-10-04 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm (X11_graphics): Initialize font-tracking variable at the start of each plot (fixes problems seen with opening multiple plot windows with different default fonts). 2004-10-04 Petr Mikulik <mikulik@physics.muni.cz> * src/gplt_x11.c (process_event): Added missing cmd_tried = 1. 2004-10-03 Daniel Sebald <daniel.sebald@ieee.org> * src/gplt_x11.c (delete_plot): Fix small memory leak. 2004-10-01 Ethan Merritt <merritt@u.washington.edu> * src/plot3d.c (get_3ddata): Allow explicit pm3d palette colors for line and point styles in non-Cartesian mapping modes. (bug #1005775) 2004-09-30 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm: Change #ifdef GD2_VERS to #if (GD2_VERS >= 2) everywhere. * term/emf.trm (EMF_set_font) term/tgif.trm (TGIF_set_font): Fix longstanding problems with the set_font routines; interpret font requests of the form ",<size>" as a request to rescale the current font to <size>. 2004-09-29 Ethan Merritt <merritt@u.washington.edu> * demo/all.dem: Remove vector.dem again, since it turns out that it breaks for any terminal type whose default value of 'set output' is not the current display. * demo/world2.dem: Set font explicitly to "Helvetica,7", since some terminal drivers do not like the partial font spec ",7". * src/hidden3d.c (set_hidden3doptions) src/hidden3d.h src/unset.c (reset_command): New routine reset_hidden3doptions() called by "set hidden defaults" and also by "reset". * term/post.trm (PS_set_font ENHPS_set_font) term/pdf.trm (PDF_set_font) term/svg.trm (SVG_set_font): Do not allow the font to be set to ""; interpret font requests of the form ",<size>" as a request to rescale the current font to <size>. 2004-09-29 Petr Mikulik <mikulik@physics.muni.cz> * src/datafile.c (df_show_binary): In fprintf(), use "%f" not "%lf" for doubles. 2004-09-27 Ethan Merritt <merritt@u.washington.edu> * demo/airfoil.dem demo/fillcrvs.dem demo/histograms.dem demo/histograms2.dem demo/spline.dem demo/world.dem: Replace all instances of outdated syntax, i.e. everything that causes errors or warnings if BACKWARDS_COMPATIBLE is not defined. * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Wrap the code which interprets bare line+point types with #ifdef BACKWARDS_COMPATIBLE (e.g. plot 'foo' with linespoints 3 4). 2004-09-27 Petr Mikulik <mikulik@physics.muni.cz> * src/os2/gclient.c: Fix typo in a #define from the previous massive whitespace changes. * config/config.os2: Let #define STDC_HEADERS 1. 2004-09-26 Ethan Merritt <merritt@u.washington.edu> * src/plot3d.c (eval_3dplots): Fix logic of default arrow style in the case of splot with vectors. 2004-09-25 Ethan Merritt <merritt@u.washington.edu> * src/util3d.c src/util3d.h: Add a text_label pointer to the p_vertex structure in order to support labels in hidden3d mode. * hidden3d.c (build_networks draw_vertex): Add code to handle plot style "with labels" in hidden3d mode. * demo/world2.dem demo/srl.dat: New demo to show use of labels with pm3d colors and hidden3d mode. * demo/all.dem demo/Makefile.am.in: Add vector.dem and world2.dem. 2004-09-24 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (get_offsets place_labels) src/graphics.h: Simplify place_labels by calling a new shared routine. Move the support routine get_offsets into gadgets.c as well. * src/graph3d.c (plot_labels3d): Simplify place_labels3d by calling a new shared routine. * src/gadgets.c (get_offsets write_label) src/gadgets.h: New routine write_label that is shared by both the 2D and 3D code. * demo/fit.dem demo/vector.dem demo/histograms2.dem: Revise demo instructions slightly to work with the webify script. * demo/webify.pl: Use "pause 0" in demo scripts to signal that the output file needs to be reset during web page generation. * demo/Makefile.am.in: Update list of demos to include in web page generation ("make html"). 2004-09-20 Ethan Merritt <merritt@u.washington.edu> * configure.in: --enable-with-image requires both pm3d and binary file support. Enforce this in the configure script by not allowing with-image to be enabled if the other two options have not also been enabled. 2004-09-21 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: Fix documentation for multiplot. * src/term.c: Better error message for an invalid option of multiplot. 2004-09-20 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Fix some minor errors that interfered with latex processing. 2004-09-19 Ethan Merritt <merritt@u.washington.edu> * src/graph3d.c (do_3dplot plot3d_vectors) src/graph3d.h src/plot3d.c (get_3ddata eval_3dplots): Extend the plotting style "with vectors" to apply to 3D plots as well. splot 'data' using <x>:<y>:<z>:<delx>:<dely>:<delz> with vectors \ <arrowstyle> Only cartesian coordinate mapping is currently supported. * docs/gnuplot.doc NEWS: Document extension to 3D. 2004-09-17 Harald Harders <h.harders@tu-bs.de> * term/README term/debug.trm term/gd.trm: Fix typos and add information about enhanced text mode callback entries in TERM_TABLE. * term/post.trm: Move definition of /Rounded to the top of the prolog so that it is with the other user-editable definitions. 2004-09-17 Petr Mikulik <mikulik@physics.muni.cz> * NEWS docs/gnuplot.doc src/misc.c: New automatic variable $# gets expanded to number of arguments after "call <file>". SF patch #943749. 2004-09-16 Ethan Merritt <merritt@u.washington.edu> * src/set.c (set_timestamp set_xyzlabel) src/save.c (save_set_all) demo/contours.dem demo/surface1.dem docs/gnuplot.doc: Add keyword "offset" to commands of the form old: set xlabel "foo" -1,-1 new: set xlabel "foo" offset -1,-1 This is necessary to pave the way for string variables, as otherwise "set title var -1" is mis-parsed as containing the arithmetic expression (var-1). To maintain backward compatability, the keyword is optional. 2004-09-16 Harald Harders <h.harders@tu-bs.de> * term/post.trm (delete_ps_fontfile): Remove debugging printout line. 2004-09-15 Ethan Merritt <merritt@u.washington.edu> * src/plot3d.c (get_3ddata) src/graphics.c (boundary) term/x11.trm: Add #ifdefs so that ./configure --disable-pm3d will build successfully. * term/fig.trm term/epslatex.trm term/pslatex.trm term/metapost.trm term/tgif.trm term/pstricks.trm: Disentangle the ordering of #ifdefs in the TERM_TABLE entries (MOUSE is not a subset of PM3D). * term/emf.trm: Remove unused label to quiet compiler warnings. 2004-09-15 Konstantin Korikov <lostclus@ua.fm> * NEWS docs/gnuplot.doc src/gplt_x11.c src/set.c src/term_api.h src/term.c term/post.trm: Add support for character encoding koi8-u (cyrillic koi8 for Ukrainian users). SourceForge patch #966815. 2004-09-14 Ethan Merritt <merritt@u.washington.edu> * demo/borders.dem demo/Makefile.am.in: Rewrite the borders demo to terminate after 16 possible settings, to display the border setting in a label, and to execute from inside a single demo file rather than a combination of two. Thanks to Daniel Sebald for identifying that it needed an update. * src/term.c (do_arrow): Interpret (head < 0) as "draw arrowhead only". This allows us to retrace the arrowhead in a different linestyle if necessary. * term/post.trm (PS_arrow): Add a wrapper for the do_arrow() routine so that if the current linestyle is dashed we can retrace the arrowhead with a solid line. Addresses bug report #963213. * term/pslatex.trm (PSLATEX_arrow): Piggyback on PS_arrow to apply the same fix for pslatex. Any other terminals with dashed lines will have to be fixed separately. 2004-09-13 Daniel Sebald <daniel.sebald@ieee.org> * src/datafile.c: Rework the layout of the df_bin_default_columns array, so that the binary input code is not sensitive to the order of defining plot styles in gp_types.h. 2004-09-13 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c: Trivial cleanup to remove compiler warnings. * term/post.trm: Keep track of whether or not the macro definitions required for enhanced text mode have been written to the output file yet. If enhanced text mode is enabled after the terminal has already been initialized, make sure that the macros are added to the next output page. This allows, for example, setenv GNUTERM post; gnuplot all.dem > all.ps Without this fix, the output pages following the enhanced text demo are corrupted. An alternative would be to write the enhanced text macros in the %%Prolog for every PostScript output file regardless of whether enhanced text mode has been selected. 2004-09-11 Ethan Merritt <merritt@u.washington.edu> * src/command.c src/mouse.c src/parse.c src/parse.h: Rename utility function get_udv(char *name) to be add_udv_by_name(char *name), since this is what it really does. * src/fit.c (setvar): Simplify existing code by using add_udv_by_name. * src/set.c (set_termoptions): Update comment explaining this routine. * src/plot3d.c (eval_3dplots): Surface plots are no longer the only plot style that can have four 'using' specs; remove the error check that incorrectly prevents this. * src/plot3d.c (get_3ddata set_plot_with_palette) src/plot2d.h src/plot2d.c (store_label): Allow palette color options for text in "{s}plot with labels textcolor palette ...". * src/set.c (parse_colorspec): If "tc palette" is specified with no further suboptions, default to "tc palette z". * src/plot3d.c (get_3ddata): Allow palette color options in cylindrical and spherical coordinate modes also. 2004-09-09 Harald Harders <h.harders@tu-bs.de> * term/post.trm: Update the comment on plot-time evaluation of PostScript language level support. 2004-09-09 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot.doc, term/cgm.trm, term/eepic.trm, term/emf.trm, term/epslatex.trm, term/post.trm: Fix misprints in gnuplot manual (#15). 2004-09-07 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (process_event) term/x11.trm: Provide a command line option (-ctrlq) and an X resource (gnuplor*ctrlq: true) that disable trapping the 'q' and '<space>' keystrokes in the plot window, instead trap <ctrl>q and <ctrl><space>. This option allows the 'q' and '<space>' keystrokes to be treated like all other keystrokes during "pause mouse key" and other mousing operations. 2004-09-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * configure.in (AC_PREREQ): Bumped to 2.58, to avoid problems with missing AC_HEADER_STDBOOL. 2004-09-06 Daniel Sebald <daniel.sebald@ieee.org> * configure.in: The --enable-image option requires general binary data file code. Ensure --disable-binary-data-file is not in the option list if only --enable-image is activated. 2004-09-06 Petr Mikulik <mikulik@physics.muni.cz> * config/config.cyg config/config.mgw config/config.os2: Added #defines for "with image". 2004-09-03 Daniel Sebald <daniel.sebald@ieee.org> * src/breaders.c src/datafile.c: Get rid of compiler warnings. 2004-09-03 Petr Mikulik <mikulik@physics.muni.cz> * src/datafile.c: Changed default value of datafile endianess after reset: from variable df_bin_file_endianess_reset = DF_LITTLE_ENDIAN to #define DF_BIN_FILE_ENDIANESS_RESET THIS_COMPILER_ENDIAN. 2004-09-03 Shigeharu Takeno <shige@iee.niit.ac.jp> * demo/image.dem: Added endian=little where necessary. 2004-09-02 Ethan Merritt <merritt@u.washington.edu> * demo/all.dem: Include demos for candlesticks, multiplot, and enhanced text mode in the all.dem script used by "make check". 2004-09-01 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm (PNG_set_color PNG_image) term/pdf.trm (PDF_image) term/post.trm (PS_image): Change call from rgb255_from_gray() to rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette maxcolors'. * src/getcolor.c: Remove unused routine rgb255_from_gray. * term/gd.trm: Add WITH_IMAGE support for gif terminal also. 2004-09-01 Lars Hecking <lhecking@nmrc.ucc.ie> * demo/Makefile.am.in: Add new binary demo files to Makefile.am target. src/Makefile.am: Add missing binary.h to bf_test_SOURCES. 2004-09-01 Daniel Sebald <daniel.sebald@ieee.org> * NEWS: Updated. * configure.in: Added enable and define switches to activate new portions of code: WITH_IMAGE (--enable-with-image) code for plotting images WITH_IMAGE_VERIFY_ALL_PIXEL_LOCATIONS (--enable-image-grid-verify) code for verifying every point in image grid is uniformly spaced BINARY_DATA_FILE (--enable-binary-data-file) code to allow reading general binary data files BINARY_X11_POLYGON (--enable-binary-x11-polygon) code for X11 that allows transferring polygon information as binary values rather than ASCII, to save space in plot buffers * demo/all.dem: Added inclusion of image.dem. * demo/asciimat.dat demo/blutux.rgb demo/demo.edf demo/scatter2.bin demo/sine.bin demo/using.bin: New datafiles required by image.dem. * demo/image.dem: New demo to illustrate and test various new image and binary and matrix data file features. * docs/gnuplot.doc: Added documentation for image features and general binary file syntax. Also, removed language indicating gnuplot matrix binary is restricted to `splot`, as it now can be used for images in `plot`. * src/Makefile.am: Added gplt_x11.h to gnuplot_SOURCES list and gnuplot_x11_SOURCES list. Added bin_hook.c to gnuplot_SOURCES list and removed binary.c and binary.h from this list. * src/README: Added a discussion of technical details about how the formulas for properly orienting an image and passing that to the terminal driver are derived. They can be arcane if just looking at the code inside plot_image_or_update_axes(). Same goes for the details about sending binary data to gnuplot_x11 for images. It requires a simple heuristic encoding scheme to avoid a few particular characters from the data stream and can appear confusing at first sight. * src/bin_hook.c: A new, short file to include binary.c in the source tree if BINARY_DATA_FILE is not defined. Otherwise, binary.c is no longer required. * src/breaders.h: An example of how to read a header in a particular file format and fill in the general binary structure details. Not completely sure just yet how this should be integrated into gnuplot. * src/color.c (draw_color_smooth_box): Added an option for `plot` mode for use in images with a palette. * src/color.h: Adjusted function definition for change noted above. * src/command.c: Now save a new property is_cb_plot to determine if a color box can be part of the plot in question. * src/command.h: Added declaration of is_cb_plot variable. * src/datafile.c: Extensive additional code for interpreting general binary keyword syntax. Changed df_readline() to df_readascii() and added a new file df_readbinary() analogous to df_readascii(). A new df_readline() chooses which of these two to utilize. Code for reading binary and ASCII matrix format file was moved to df_readbinary(). This means other files in the source tree could be restructured so that the routine df_readline() is the only method to bring data into gnuplot. * src/datafile.h: Declarations for new functions as part of code noted above. Also, there are a few new enumerations and, most importantly, the definition for the structure containing information about general binary records. * src/fit.c (fit_command): Altered df_open() argument to include the plot mode MODE_QUERY. * src/getcolor.c: Reactivated rgb255_from_gray(), required for images. * src/gp_types.h: Added IMAGE and RGBIMAGE to PLOT_STYLE enumeration. * src/gplt_x11.c: Extensive additional code for handling images in binary data format, polygons in binary data format, and an endianess check to determine if bytes need be swapped. A simple, short encoding scheme is used for binary data to avoid a couple special characters in the data stream. * src/gplt_x11.h: A new header file to go along with gplt_x11.h containing definitions for code characters sent across pipe. Also some definitions for translation characters in the binary encoding scheme. * src/graph3d.c (do_3dplot): Added a plot_mode of MODE_SPLOT to argument of draw_color_smooth_box(), as now that can also be done for `plot`. Also, added cases of IMAGE and RGBIMAGE to plot style switch. * src/graphics.c: Added plot_image_or_update_axes(), a new image plotting routine. The new routine is fairly long and arcane in spots. The README file contains details to clear up obscure parts. Added the cases IMAGE and RGBIMAGE to the switch statement for plot style. Also, there is code for making room for a color box on the plot, followed by a call to draw_color_smooth_box() where appropriate. * src/graphics.h: Added definitions PLOT_IMAGE(), SPLOT_IMAGE() and UPDATE_AXES_FOR_PLOT_IMAGE() to make plot_image_or_update_axes() seem more intuitive. * src/misc.c: Added 'image' and 'rgbimage' to list of plot styles in error message indicating valid styles. * src/mouse.c (builtin_toggle_log): For plots having a color box property, allow changing the color box to logarithmic scale. * src/plot2d.c: Many small alterations to case statements, etc. to integrate IMAGE and RGBIMAGE plot styles. Also, added MODE_PLOT to df_open() argument list for binary data files. * src/plot3d.c: Similar to plot2d.c, many little changes made to incorporate IMAGE and RGBIMAGE plot styles. Also, for general binary there is no longer need for df_3dmatrix(), so that call was removed. Added MODE_SPLOT to argument list of df_open(). * src/save.c (save_data_func_style): Write `image` or `rgbimage` to file if appropriate plot style. * src/set.c (set_command/set_palette_file): Added call to routine setting defaults for binary data files if `binary` is specified as part of `set` command. / Added MODE_QUERY to list of arguments for df_open(). * src/show.c (show_datafile): Now show information about binary data file settings and details about binary variable sizes in bytes for the compiler under which gnuplot was built. * src/tables.c (show_style_tbl): Added `image` and `rgbimage` to table. * src/term_api.h (TERMENTRY): Added image() prototype function to TERMENTRY structure as well as an enumeration for image type as an argument to image() routine. * src/unset.c (unset_command/reset_command): Added call to routine that clears the binary data file record information. * src/util3d.c: Added a routine map3d_xy_double() to retain more accurate coordinates necessary for checking uniformity of the image grid via hyperplane concepts. It is repetition of existing code, but there is a note and define switch for code-reuse. * src/util3d.h: Added declaration for map3d_xy_double(). * term/README: Added note about how to properly use image() terminal function. * term/aquaterm.trm: Per Persson added an implementation of the image() terminal function, AQUA_image(). * term/dumb.trm: Ethan Merritt added a space filler for the image() terminal function location of TERM_TABLE. * term/epslatex.term: Added PS_image() to structure for image() in TERM_TABLE. PS_image() is in post.trm. * term/gd.trm: Ethan Merritt added a routine PNG_image() for the TERM_TABLE entry of image(). Also, a supporting routine PNG_set_color was created. * term/pdf.trm: Ethan Merritt added a routine PDF_image() and entry into the TERM_TABLE for image support for PDF files. * term/post.trm: Added a routine PS_image() and appropriate entry in the TERM_TABLE for image support in PostScript files. There is also a supporting routine PS_encode85() for encoding binary image data in ASCII85 data format. * term/pslatex.trm: Added PSLATEX_image() to structure for image() in TERM_TABLE. It uses a simple call to PS_image(), which is in post.trm. * term/svg.trm: Added space filler in TERM_TABLE for image() function. * term/x11.trm: Added X11_image() function and entry in TERM_TABLE. The new image routine contains code for a simple, heuristic encoding scheme to prevent a couple specific bytes from being in the image data stream. Similarly, X11_filled_polygon() and X11_set_color() were altered to use the same scheme to reduce the amount of characters inside the plot buffer. 2004-08-27 Per Persson <persquare@mac.com> * src/term.c (init_terminal): Make aqua the default terminal on Mac OS X if AquaTerm is installed. 2004-08-27 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm (PNG_vector): More specific test for libgd support of antialiasing. Versions 2.0.0 -> 2.0.11 were not correctly handled by the previous test. 2004-08-25 Ethan Merritt <merritt@u.washington.edu> * src/plot.c (main): Call term->options() on entry if the default terminal type is png, jpeg, or tgif. Without this, setting GNUTERM to this driver type causes a segfault due to incomplete initialization of the driver data structures. I believe this call to term->options() would be OK for all other drivers as well, but to be on the safe side I added it only for the drivers I know will segfault without it. * term/gd.trm: New option to generate truecolor png images. set term png .. {{no}truecolor} .. * term/gd.trm (PNG_vector): Use anti-aliasing for vectors if possible. This does not affect palette-based PNG images, so far as I can tell, but does work for both JPEG and TrueColor PNG images. 2004-08-25 Per Persson <persquare@mac.com> * term/aquaterm.trm (AQUA_options): make options order-independent; replace isstring+quote_str with try_to_get_string(); allow "font" as a synomym for "fname". 2004-08-23 Ethan Merritt <merritt@u.washington.edu> * term/xlib.trm (Xlib_text): Leave output file open so that it is possible to plot multiple frames without another 'set term xlib'. * svg.trm (SVG_options): allow "font" as a synonym for "fname"; replace isstring+quote_str with try_to_get_string(); new option "linewidth <n>". * pdf.trm (PDF_options): make options order-independent; replace isstring+quote_str with try_to_get_string(); allow "font" as a synomym for "fname"; new option "linewidth <n>". * post.trm (PS_options): allow "font" as a synonym for "fname" * fig.trm (FIG_options): allow "linewidth" as a synonym for "thickness". 2004-08-23 Shigeharu Takeno <shige@iee.niit.ac.jp> * docs/gnuplot.doc: Fix misprints in gnuplot manual (#14). 2004-08-20 Ethan Merritt <merritt@u.washington.edu> * src/set.c (set_termoptions): Only call term->options for terminals that actually support the option in question. * src/term.c (write_multiline) term/driver.h: Remove unused function set_font_null; instead mark lack of font support by initializing this TERM_TABLE entry to NULL. Fixes segfault if font is checked before terminal is initialized, and allows non-destructive test of font support. 2004-08-20 Ethan Merritt <merritt@u.washington.edu> * src/set.c (set_termoptions): Quietly ignore the command if there is no current terminal. 2004-08-19 Ethan Merritt <merritt@u.washington.edu> * src/set.c (set_termoptions): Fill in basic implementation of this function that allows changing one characteristic of the current terminal. So far the only allowed changes are the default font and {no}enhanced text mode. * demo/enhancedtext.dem: Use 'set termoption enhanced' (new command) to force enhanced text mode regardless of current terminal type. * docs/gnuplot.doc: Document 'set termoption <foo>'. * NEWS: Update NEWS file to cover post-4.0 development work. 2004-08-18 Volker Dobler <v.dobler@web.de> * src/term.c (term_end_plot term_start_multiplot term_end_multiplot): Implement auto-layout of multiplots with specified number of rows and columns. * docs/gnuplot.doc demo/layout.dem: Document and illustrate use of 'set multiplot layout'. 2004-08-18 Ethan Merritt <merritt@u.washington.edu> * term/svg.trm: More consistent handling of default background and font. 2004-08-17 Ethan Merritt <merritt@u.washington.edu> * src/eval.c (real imag magnitude angle): Move error message handling into default case of switch statements (prevents compiler warnings). * src/plot2d.c (eval_plots) src/graphics.c (init_histogram): Replace instance of isstring + quote_str with try_to_get_string(). Make histogram_title a dynamically allocated string rather than a fixed length char constant. 2004-08-15 Ethan Merritt <merritt@u.washington.edu> * demo/histograms.dem: Revise bmargin settings to work with the revised bmargin handling in graphics.c (2004-07-25). * src/plot2d.c (eval_plots): Fixed bug in "newhistogram 'title' ..." that caused the title to be ignored if there were no other options specified. 2004-08-13 Shigeharu Takeno <shige@iee.niit.ac.jp> * src/term.c (enhanced_recursion): Pass unescaped backslash character through to PostScript output in enhanced text mode. This is necessary for Shift-JIS character encoding to work in enhanced mode (the non- enhanced mode already does this). Bug report #998479. 2004-08-13 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Re-word the filledcurves section according to suggestions from Petr Mikulik. * term/post.trm: Rename new option once again: set term post {level1} (naming history: nolevel2 -> ai -> level1). Audit code to confirm that in fact it excutes only commands required by PostScript Level 1. * src/save.c (save_tics) src/show.c (show_tics): Save tic level for each explicit user-added tic. Fixes bug #1008869. 2004-08-12 Ethan Merritt <merritt@u.washington.edu> * term/post.trm: Rename 'nolevel2' option to 'ai', since its primary use may be to generate output compatible with Adobe Illustrator. 2004-08-11 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (exec_cmd): Set line properties to CapRound, JoinRound while drawing plot symbols. This works around a very odd bug that causes the symbols to be drawn incorrectly for some X-server settings. Also modify plot symbol code so that the symbols are always drawn with a 1:1 aspect ratio (crosses always fit in a square) rather than tracking the aspect ratio of the current plot window. 2004-08-10 Ethan Merritt <merritt@u.washington.edu> * src/set.c (parse_colorspec): Allow people to set the text color to background (tc lt -2) if they really want to. 2004-08-09 Ethan Merritt <merritt@u.washington.edu> * src/command.c: Remove unused prototype. * src/getcolor.c: Conditionally remove unused prototype during compilation of gnuplot_x11. * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) src/set.c (set_tic_prop): Continue replacement of isstring + m_quote_capture with try_to_get_string(). * src/command.c (history_command): Code cleanup; convert to use try_to_get_string(). Code is still full of little memory leaks. * term/post.trm: Fix '%' characters in output format. 2004-08-08 Ethan Merritt <merritt@u.washington.edu> * src/util.c src/util.h: New routine try_to_get_string() that combines isstring() and m_quote_capture(). The intent is to switch call sites over to using this new routine, and then extend it to handle string variables as well as quoted inline string constants. * src/contour.h: Revised declaration of contour_format[]. * src/set.c src/command.c: Begin wholesale replacement of isstring() and m_quote_capture/quote_string with new routine try_to_get_string(). 2004-08-07 Ethan Merritt <merritt@u.washington.edu> * src/set.c (set_print set_output): Do not chop whitespace from the front of input string; it causes a segfault when the string is freed. If we really need to strip whitespace from filenames, it should be done in a routine shared by all callers. 2004-08-06 Ethan Merritt <merritt@u.washington.edu> * term/graphics.c (place_arrows): Restore default text color after drawing all the arrows. Fixes bug #1004765. 2004-08-02 Ethan Merritt <merritt@u.washington.edu> * term/gd.trm src/term.h configure.in src/show.c (show_version): GIF support is back in libgd as of version 2.0.28 (July 2004). At last we can use the same driver for png, gif, and jpeg. * term/gif.trm term/png.trm: Remove these old drivers. * src/makefile.all docs/Makefile.in: And remove them as make targets. * src/command.h src/command.c (load_command): Remove macro that was used in only one place; clean up code order as prep for applying string variable patches. 2004-08-01 Ethan Merritt <merritt@u.washington.edu> Harald Harders <h.harders@tu-bs.de> * term/post.trm: Introduce a boolean value PSLevel2 into the PostScript prolog, and use it to determine whether pattern-fill is defined using PostScript Level 2 primitives or via a Level 1 solid fill. Introduce a corresponding option 'set term post ... {no}level2'. Setting level2 to false either via 'set term' or by editing the output PostScript file accommodates older printers and older versions of Adobe Illustrator. 2004-07-31 Harald Harders <h.harders@tu-bs.de> * term/post.trm (PS_common_init PS_put_text ENHPS_put_text): Check for black text only option in the PostScript code itself, rather than at the time the plot is generated. This allows you to change your mind later by editing one line in the PostScript file. 2004-07-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/show.c (show_key): Fix memory leak by making the variable in question a local to the switch case that uses it. (show_styles): Remove const-ness modifying cast. * src/save.c (save_data_func_style): Marked pointer argument 'which' as const. * src/save.h (save_data_func_style): Prototype updated accordingly. 2004-07-29 Ethan Merritt <merritt@u.washington.edu> * docs/gnuplot.doc: Fix the alphabetical order of plot style doc sections. 2004-07-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/util.c (PRINT_SPACES_UNDER_PROMPT): Protect against NULL prompt. 2004-07-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> Bugfix: caret position of error messages in multiplot modes was wrong. * src/util.c (current_prompt): New variable holding the currently used prompt string. (PRINT_SPACES_UNDER_PROMPT): Use current_prompt instead of global PROMPT macro. Use a pointer loop instead of a counter. (PRINT_SPACES_UNDER_PROMPT, PRINT_SPACES_UPTO_TOKEN): Enclosed macro body in do .. while(0). (os_error, int_error, int_warn): Use current_prompt instead of global macro PROMPT. * src/util.h (current_prompt): Declare. * src/command.h (PROMPT): Moved this global macro into command.c. * src/command.c (PROMPT): Moved macro to here. (read_line) [VMS]: Update new global variable current_prompt. (read_line) [!VMS]: Likewise. 2004-07-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> Code style changes: get rid of register keywords. Don't put parens around simple variables or term->element names. * src/graphics.c (boundary): If bmargin was set by user, key below should not modify ybot. Reindented. (key_cols): Made local to boundary(), the only function using it. 2004-07-24 Ethan Merritt <merritt@u.washington.edu> * src/parse.c (cleanup_udvlist): Fix memory leak; if udv structure is freed, free its dynamically allocated name also. * src/command.c (print_set_output): Fix memory leak; free old filename before setting a new one. * src/plot3d.c: Remove unnecessary #include "plot2d.h". 2004-07-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/util.h (os_error, int_error, int_warn, graph_error): Reverted change to prototypes for non-ANSI case back from (void) to (). * src/fit.c (Dblfn): Likewise. 2004-07-21 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (plot_bars plot_betweencurves): If the current terminal does not support filled_polygons, then fall back to yerrorbars plot style as per the documentation. 2004-07-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/post.trm (PS_make_header): Moved prototype into PM3D-only section. 2004-07-21 Lars Hecking <lhecking@nmrc.ucc.ie> * demo/Makefile.am.in: Add labelplot.pdb and nearmap.csv to Makefile.am target. 2004-07-19 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (do_plot): Write the key titles using write_multiline() rather than calling term->put_text() directly. * src/set.c (set_key): Fix order-dependence of 'set key' command. 2004-07-18 Ethan Merritt <merritt@u.washington.edu> * term/pdf.trm: Update "Creator: " field to report version 4.1 * term/post.trm: Petr's optimized format for solid pm3d quadrangles can be generated even outside the pm3d code, so the \h macro it uses must be defined in the header regardless of whether pm3d is in use. 2004-07-17 Ethan Merritt <merritt@u.washington.edu> * term/post.trm (PS_filled_polygon): Remove extraneous gsave introduced by previous patch, which fixes the observed slowdown. 2004-07-16 Ethan Merritt <merritt@u.washington.edu> * term/post.trm (PS_filled_polygon): The polygon fill code was mis-nesting gsave/grestore pairs, leading to several rather odd results. Fixes bug #992565 and also the loss of color information in pattern-filled fillcurves. * term/post.trm (PS_filled_polygon): Restore Petr's preferred compact format for the quadrangles that make up a pm3d surface, and add a gsave/grestore pair around the fill command. Fixes the moiré effect observed in ghostscript/gv with antialiasing enabled. Downside: takes longer to render; noticeable on a slow machine. 2004-07-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/fig.trm (FIG_arrow): Use actual linetype variables rather than those in FIG_line --- those are only set by FIG_vector, which isn't being called by FIG_arrow. 2004-07-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/show.c (show_version): Removed text about backwards compatibility of pre-4.0 syntax from startup message. * term/x11.trm (transmit_gradient): Made static. Missing prototype added. * term/post.trm: General CodeStyle cleanup. (ps_fontfile_def): Made static. (PS_make_header): made static. * term/gd.trm (png_smooth_color): Made static. * src/variable.c (fontpath_tbl): All 5 instances made static. * src/util.h (chr_in_str): Unused, prototype commented out. * src/util.c (chr_in_str): Unused, commented out. * src/term_api.h (change_term): Removed prototype from here. * src/term.c (enhanced_recursion): Made static. (change_term): Made static. Prototype moved here from term_api.h. (term_count): Unused, commented out. Removed GP_INLINE flag. * src/specfun.c (merror, erf): Made static. * src/set.c (pm3d_last_set_palette_mode): Made static. (parse_histogramstyle): Made static. * src/save.h: Added missing #include "axis.h". * src/save.c: Moved #include "axis.h" to header. * src/plot2d.c (histogram_range_fiddling): Made static. * src/mouse.c (usual_special_keys): Made static. * src/misc.c (recursivefullname): Added missing prototypes. (arrow_use_properties): Made static. Moved prototype here, from misc.h. * src/graphics.c (place_histogram_titles, style_from_fill): Made static. * src/gplt_x11.c (process_configure_notify_event): Added missing prototype. (getMultiTabConsoleSwitchCommand): Fixed used of __PROTO() macro in prototype. * src/getcolor.h: Added missing #include "color.h". (color_components_from_gray, calculate_color_from_rgb_formulae, color_to_str, str_to_color, rgb255_from_gray): Removed prototypes. * src/getcolor.c: Removed #include "color.h" --- done in getcolor.h now. Massive reindentation and CodeStyle cleanup. (color_components_from_gray, color_to_str, str_to_color): Made static. Prototypes moved in here, from getcolor.h. (calculate_color_from_formulae): Added missing prototype. (rgb255_from_gray): Unused, commented out. * src/gadgets.h (suppressMove): Unused, commented out. * src/gadgets.c (suppressMove): Unused, commented out. (draw_clip_line): Usage of suppressMove commented out. * src.fit.c(log_axis_restriction): Added missing prototype. * src/datafile.c (df_no_tic_specsm, df_column, df_parse_string_field): Made static. * src/command.c (capture_filename_and_pfopen): Added missing prototype. 2004-07-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/unset.c (unset_mtics): Renamed to unset_minitics, for clarity. (unset_month_day_tics): New function, to implement 'unset xmtics' and friends. (unset_command): Change all calls of unset_mtics to the new name. Implement previously missing 'unset xmtics' and friends by calling new function. 2004-07-09 Ethan Merritt <merritt@u.washington.edu> * src/util.c (parse_esc): Limit size of octal constants to 3 chars, possibly with a leading 0. This prevents consuming additional numerical characters from input stream. 2004-07-08 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (pr_font): Before falling back all the way to a fixed width font, try two common scalable fonts (helvetica, arial) as a last resort. Fixes bug #963211 on systems with either of these fonts. * src/gplt_x11.c (exec_cmd) term/gd.trm (PNG_point): Apply current linewidth to point symbols. * src/misc.c (get_style): Add new styles 'labels' and 'histograms' to the error message listing possible styles. * configure.in: Make --enable-histograms the default. * demo/all.dem: Add fillbetween, datastrings, and histograms demos. 2004-07-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/pdf.trm (PDF_init): Call PDF_open_file() instead of no longer existing function PDF_open_fp(). * demo/datastrings.dem, demo/starmap.dem: Replaced Windows-only font name Arial by Helvetica. * docs/gnuplot.doc: Remove whitespace-only lines. (contour): Remove outdated info on limited number of contour lines. 2004-07-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> Integrated SF patch #976546 by Stephane Barbaray, with some additional changes by me. * term/emf.trm: Reindented. Ancient hacks for NeXT and <assert.h> purged. (EMF_PX2HM): Changed to 26.37. (EMF_HCHAR, EMF_VCHAR): Changed by factors 0.6 and 1.3, respectively. (EMF_set_font): Multiply recomputed values for h_char and v_char by 0.6 and 1.3, respectively. (EMF_setfont): Output correct font struct size with some fields previously missing. (EMF_graphics): Divide by EMF_PX2HM instead of 20. Make reference device 1024x768 pixels, 270x200 mm. (EMF_put_text): Use ExtTextOutA instead of ExtTextOutW, include array of offsets (EMF_point): Disable special treatment of negative point types, i.e. dots --- why? (EMF_set_pointsize): Don't divide base size by 2. 2004-07-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/win/wtext.c (WndTextProc): Fix bug introduced during ANSI-fication operation. 2004-07-05 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c: Rework event-handling subroutines so that the intermediate window resize and redraw events are skipped if possible. This reduces the hysteresis when the window is resized by dragging. Patch by Jay Painter <jpaint@u.washington.edu>. 2004-07-05 Ethan Merritt <merritt@u.washington.edu> * src/graph3d.c (place_labels3d place_arrows3d get_arrow3d): Test for wrap-around of negative coordinates when converted to unsigned screen coordinates by map3d_position. If wrap-around has occurred, then skip this label or arrow when drawing the 3D plot. This really should be a general test for out-of-bounds, but the simple test at least catches some potentially fatal errors that have already happened. 2004-07-04 Ethan Merritt <merritt@u.washington.edu> * configure.in: --enable-histograms * demo/histograms.dem demo/histograms2.dem demo/immigration.dat: Demonstration files for 'plot with histograms' * docs/gnuplot.doc: Documentation for 'plot with histograms'. * src/datafile.c src/datafile.h src/gadgets.c src/gadgets.h src/gp_types.h src/graph3d.c src/graphics.c src/graphics.h src/plot2d.c src/save.c src/set.c src/show.c src/tables.c src/tables.h src/unset.c: Integrate SourceForge patchset #606169. New plot style "with histograms" produces a bar chart from a sequence of data columns in parallel. Each element of the `plot` command must specify a single input data source (e.g. one column of the input file), possibly with associated tic values or key titles. Three styles of histogram layout are currently supported. set style histogram clustered {gap <gapsize>} set style histogram rowstacked set style histogram columnstacked 2004-07-04 Ethan Merritt <merritt@u.washington.edu> * src/color.h src/plot2d.c (get_data) src/plot3d.c (get_3ddata) src/save.c (save_set_all) graphics.c (bound_intersect) term/cgm.trm term/pdf.trm term/svg.trm: Add #ifdef PM3D where appropriate to allow building without PM3D. * src/gp_types.h: This patch starts to make term->filled_polygon and filledcurves independent of PM3D. * src/term.c (test_term): Fix broken test of filled_polygon. * src/graphics.c (plot_betweencurves, fill_between, bound_intersect): ANSIfication of function definitions. 2004-07-04 Hans-Bernhard Broeker <broeker@accip02.physik.rwth-aachen.de> * src/set.c (set_arrow): Fix parsing of 'rto' vs. 'to'. Thanks to Shigeharu Takeno for spotting this. 2004-07-03 Ethan Merritt <merritt@u.washington.edu> * configure.in: --disable-datastrings * demo/ctg-y2.dat demo/datastrings.dem demo/labelplot.pdb demo/nearmap.csv demo/starmap.dem demo/table.dat: Various demos for 'plot with labels' and for reading axis tic labels and plot labels from a data file. * docs/gnuplot.doc: Documentation for 'plot with labels' and for reading tic and plot labels from a data file. * src/axis.c src/axis.h src/datafile.c src/datafile.h src/gadgets.c src/gadgets.h src/gp_types.h src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h src/plot2d.c src/plot2d.h src/plot3d.c src/save.c src/set.c src/setshow.h src/show.c src/tables.c src/util.c src/util.h: Integrate the "datastrings" patchset (SourceForge #595850). New plot style "with labels" will read a string, possibly delimited by quotes, from the data file and place it at the x, y, {z} coordinates specified. E.g.: plot 'datafile' using 1:2:3 with labels splot 'datafile' using 7:8:9:4 with labels New internal functions specific to the 'using' option that specify that string data from a datafile column is to be used for tic labels, or that string data from a datafile row is to be used for plot key titles. E.g.: plot '-' using 0:2:xticlabels(1) title 2 with boxes xxx "2001" Jan 123 Feb 456 Mar 78 e This will plot a histogram with each an x-axis tic label under each box: "Jan", "Feb" etc. The plot key will list the plot with title "2001". 2004-07-02 Ethan Merritt <merritt@u.washington.edu> * gnuplot/src/gp_types.h gnuplot/src/graphics.c gnuplot/src/plot2d.c: Rename PLOT_STYLE_HAS_BOXES to PLOT_STYLE_HAS_FILL since it now applies to objects other than boxes. 2004-07-02 Ethan Merritt <merritt@u.washington.edu> * src/color.c src/color.h src/gadgets.h src/gp_types.h src/graphics.c src/misc.c src/plot2d.c src/pm3d.c src/set.c src/tables.c src/tables.h src/term_api.h src/term.c: New capabilities for filledcurves plot style. (1) New options "above" and "below" to limit filled area to one side of the bounding line or second curve. (2) New ability to fill area between two curves (triggered if 3 input columns are given. E.g. `plot "data" using 1:2:3 with filledcurves` (3) Apply current fill style to filledcurves (requires terminal support in term->filled_polygon). * demo/fillbetween.dem docs/gnuplot.doc: documentation and demo file * term/cgm.trm term/gd.trm term/pdf.trm term/post.trm term/svg.trm term/x11.trm: Modified filled_polygon() to apply fill style passed in the color structure of the first vertex. * src/gplt_x11.c: Back-end support for applying explicit fill style to filled_polygon. Beware of incompatibility with early versions. 2004-07-02 Ethan Merritt <merritt@u.washington.edu> * term/post.trm: Minor cleanup of enhanced text "phantom box" macros. 2004-07-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * PATCHLEVEL, VERSION: Changed to version 4.1, patchlevel 0. * src/version.c (gnuplot_version, gnuplot_patchlevel, gnuplot_date): Updated by regenerating the file. * docs/gnuplot.doc, docs/titlepag.ms, docs/doc2texi.el: Update number in the title pages. * docs/gnuplot.texi: Regenerated. 2004-07-01 Ethan Merritt <merritt@u.washington.edu> * src/fit.c: #include gp_time.h is now necessary. 2004-07-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * PATCHLEVEL: Raised to 2 to mark post ANSI-fication status. * src/version.c (gnuplot_patchlevel, gnuplot_date): Updated. * ChangeLog, ChangeLog.0: Cycled the ChangeLog. Entries before the 4.0.0 release are now in ChangeLog.0, newer ones in ChangeLog (this file). * src/util.c (mant_exp): Modulo results can be negative. Aaargh! 2004-06-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * PATCHLEVEL: Raised to 1 in preparation of ANSI-fication. * src/version.c (gnuplot_patchlevel, gnuplot_date): Updated. (RELEASE_VERSION): Turn off. * INSTALL: removed pointless copy of startup banner screen. * docs/gnuplot.texi: Regenerated. * term/post.trm (PS_linewidth_last): New variable. (PS_graphics, PS_point, PS_fillbox): Initialize it. (PS_linetype): Call PS_FLUSH_PATH here, too. (PS_linewidth): Don't break the path if the new linewidth is the same as the cached value PS_linewidth_last. Do a PS_FLUSH_PATH here, too. * term/debug.trm (DEBUG_arrow): Fix type of 'head' argument. * src/hidden3d.c (in_front): Slight change to handling of points falling onto edges of triangles in 2D. Reindentations. * src/fit.c (log_axis_restriction): New function to output the actual state of the axis ranges, as optionally modified by range specified in the fit command line. (fit_command): Use it. * src/graphics.c (plot_bars): Reindentation. * src/util.c (mant_exp): Reindentation. * src/plot3d.c (print_3dtable): #undef OUTPUT_NUMBER earlier. 2004-06-24 Ethan Merritt <merritt@u.washington.edu> * src/mouse.c (event_reset): If 'pause mouse' terminates because the plot window is closed, insert an extra '\n' into the input stream so that the first character of the subsequent command is not swallowed. 2004-06-20 Ethan Merritt <merritt@u.washington.edu> * src/mouse.c (event_reset), src/command.c (pause_command), docs/gnuplot.doc: Set MOUSE_KEY to -1 when the "pause mouse {key}" command is issued; if it is still -1 when checked later, then the calling program may assume that no mouse input was successfully given. * src/command.c (pause_command): Change the test for legality of "pause mouse" command from "if (term_initialised)" to "if (mouse_setting.on)". Really it should test whether the current terminal supports mousing at all, but we don't yet have such a flag. * src/gplt_x11.c (process_event): Translate keystrokes using XLookupString() rather than XKeycodeToKeysym(). This method handles characters produced using shift, alt, or other multi-key sequences. * src/graphics.c (plot_f_bars plot_c_bars), term/gd.trm PNG_options): Make sure that the tic size is greater than zero. 2004-06-20 Petr Mikulik <mikulik@physics.muni.cz> * src/graph3d.c (key_sample_line_pm3d key_sample_point_pm3d): Fixed wrong step for negative palette. * src/color.c (set_color) src/command.c (test_palette_subcommand) src/show.c (show_palette_palette): Removed useless comments. 2004-06-19 Petr Mikulik <mikulik@physics.muni.cz> * src/color.c (set_color, draw_inside_color_smooth_box_bitmap) src/pm3d.c (cb2gray): Invert gray in routine pm3d.c:cb2gray(cb), instead of color.c:set_color(gray). The latter is now just setting term->set_color(gray) if the terminal supports set_color() API. * graph3d.c (do_3dplot): Fixed set_color(z2cb( cb2gray(cntrs->z)) to set_color(cb2gray( z2cb(cntrs->z) )). * gadgets.c (apply_textcolor): Take care of positive/negative palette for 'set label ... textcolor frac ...'. 2004-06-17 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (process_event): Send a GE_reset event back to gnuplot if the current plot window is closed. * src/mouse.c (event_reset): Terminate paused_for_mouse state whenever a GE_reset event is received. 2004-06-16 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (mainloop): Yet another tweak to the mouse timing code. This one reduces mouse-tracking hysteresis on systems that claim to have usleep() but in fact have much coarser timing. 2004-06-16 Petr Mikulik <mikulik@physics.muni.cz> * src/save.c: Save log cb axis (bugfix). 2004-06-14 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c: Do not start zooming during 'pause mouse'. 2004-06-12 Ethan Merritt <merritt@u.washington.edu> * show.c (show_datafile): Provide missing show commands for suboptions "show datafile {separator|comment|missing}". 2004-06-12 Ethan Merritt <merritt@u.washington.edu> * datafile.h: define DF_MISSING as a return code from df_readline(). * datatile.c (df_readline): If a data field contains the missing data string, return DF_MISSING rather than DF_UNDEFINED. * fit.c (fit_command): Explicitly ignore DF_MISSING data. * plot2d.c (get_data): Explicitly test for data marked DF_MISSING but treat it the same as DF_UNDEFINED. * plot3d.c (get_3ddata): Explicitly test for data marked DF_MISSING but treat it the same as DF_UNDEFINED. These are trivial changes that do not affect the existing behavior of gnuplot. However, the core routines in plot2d and plot3d now have the information needed to treat missing data differently depending on the plot style if desired. 2004-06-06 Ethan Merritt <merritt@u.washington.edu> * src/command.c src/command.h src/mouse.c src/gplt_x11.c term/x11.trm docs/gnuplot.doc docs/gnuplot.texi: `pause mouse keypress` option behaves exactly as `pause mouse` except that the pause can be terminated by a keystroke while the plot window has focus. On return, the variable MOUSE_KEY contains the mouse button number if the pause terminated on a mouse click, otherwise it contains the key code of the key that was pressed. Normal ascii characters will return their ascii code; other keyboard keys are assigned codes from a table in mousecmn.h. The command may be shortened to `pause mouse key`. 2004-06-04 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.h src/mousecmn.h src/mouse.c: Split array special_keys[] of of key names and key codes into special_keys[] and usual_special_keys[], so that "usual" keys (like BackSpace, Tab, Enter, Return, Escape, Tab, Delete) can have their "usual" keycodes instead of those >=1000. Changed lookup_key() and bind_fmt_lhs() in mouse.c to look into both arrays. This does not change any functionality of the current version of gnuplot, but will help new future features (like "pause mouse key"). 2004-06-03 Ethan Merritt <merritt@u.washington.edu> * term/emf.trm (EMF_linewidth): Force re-evaluation of line characteristics when the linewidth changes; otherwise the new width is ignored until some other property changes as well. 2004-06-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * demo/fillcrvs.dem: Add text to pause -1 prompts. * docs/gnuplot.doc (plot datafile using): Document restrictions of 'using' format-strings. * src/datafile.c (valid_format): Check that there's at least one actual %lf format in the format string, and no more than 7, because the scanf() that uses the format supplies only 7 arguments to store data in. (plot_option_using): Change error message to reflect new status output of valid_format(). 2004-05-28 Petr Mikulik <mikulik@physics.muni.cz> * src/getcolor.c (color_components_from_gray): Test gray value for being in range [0;1]. 2004-05-27 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (PaletteSetColor): Test for overflow of index derived from color ramp calculation. Is this algorithm really correct? 2004-05-27 Petr Mikulik <mikulik@physics.muni.cz> * term/post.trm (PS_make_header): Change definition of /pm3dround to fix color mapping with 'set palette maxcolors'. * src/win/wgraph.c (drawgraph): Change call from rgb255_from_gray() to rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette maxcolors'. 2004-05-26 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (PaletteSetColor): Fix off-by-one error in indexing color ramp of gray values. * src/mouse.c (do_event): Allow font and terminal size information to be processed while in multiplot mode. See bug #955081. 2004-05-26 Petr Mikulik <mikulik@physics.muni.cz> * src/getcolor.h src/getcolor.c: New routines rgb1maxcolors_from_gray() and rgb255maxcolors_from_gray(). * term/aquaterm.trm (AQUA_set_color) term/pdf.trm (PDF_set_color): Change call from rgb1_from_gray() to rgb1maxcolors_from_gray(). Fixes color mapping with 'set palette maxcolors'. * svg.trm (SVG_set_color): Change call from rgb255_from_gray() to rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette maxcolors'. 2004-05-26 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c (event_buttonpress): Don't start zooming box if replot is disabled. 2004-05-24 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (exec_cmd): Flush polyline to X-server when it reaches half the maximum single request size supported on the current display. * term/dumb.trm term/gd.trm term/pfg.trm term/x11.trm: The enhanced text overprint parameter was used as an (int) in some drivers, even though it is declared as a TBOOLEAN. Change it to (int) everywhere. 2004-05-24 Petr Mikulik <mikulik@physics.muni.cz> * src/pm3d.c src/term.c term/hpljii.trm: SF bug #953887 non-portable C code (prototypes & TBOOLEAN): input parameter for routines cannot be char, they must be int. 2004-05-21 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c (mainloop): Add a 100 usec delay to the event flush loop, so that if the other end of the pipe is jammed (gnuplot STOPPED) it doesn't monopolize CPU cycles. Fixes user-triggered error condition reported in bug #930426. 2004-05-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/graphics.c (plot_boxes): Clip lower border of boxxyerrorbars, too. (do_plot): Regrouped master switch over plot types. Draw box first in BOXERROR mode, to keep the lower part of the errorbar visible. * src/util.c (mant_exp): Extend technique for rounding exponents depending on the printf format precison of the mantissa to format specifiers %l and %L used for log bases other than 10. Fixes SF bug #851685. 2004-05-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * term/debug.trm (DEBUG_arrow): Fix type of 'head' argument overlooked in earlier global change. * src/plot2d.c (get_data): Fix mininum number of columnts for boxerrorbars style. Fixed handling of 4-column boxerrorbars in case of "set boxwidth -2" to match the documentation. * src/graphics.c (plot_impulses): Fix bug in clipping of impulses for out-of-range points. Was using an integer value to store a floating-point temporary number. * src/plot2d.c (print_table): Make the table terminal output two blank lines at the end of each curve_points structure, to allow selection of individual datasets via the 'index' option. * docs/doc2texi.el (d2t-handle-html): Handle anchor-only <a> tags more sensibly: output them to the texinfo file as a @c comment. Patch from Shigharu Takeno. * docs/gnuplot.texi: Regenerated. 2004-05-19 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c: Fix broken zoom history with a log axis. 2004-05-17 Petr Mikulik <mikulik@physics.muni.cz> * src/mouse.c src/win/wpause.c: Support for "pause mouse" in Windows terminal. 2004-05-16 Ethan Merritt <merritt@u.washington.edu> * src/graphics.c (boundary): prevent plot from flipping upside-down if the title or key take up too much vertical space. * term/post.trm: Add explicit default case to encoding switch. 2004-05-09 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm: Reduce time delay in waitforinput() from 1 sec to 100 usec. 2004-05-09 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc src/term_api.h src/term.c term/post.trm: Add support for CP1250 character encoding (Central and Eastern Europe encoding on MS-Windows). 2004-05-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * config/README: Clean up some of the descriptions. 2004-05-07 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm: Add an explicit "noenhanced" option to set term x11, since otherwise once you select enhanced text you cannot turn it off again. 2004-05-07 Franz Bakan <fbakan@users.sourceforge.net> * src/os2/gclient.c: SF bug #940596. Match menu items "GnuplotPM -> Mouse -> Coords format -> ..." to the text actually printed. 2004-05-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/win/wtext.c (WndTextProc): Fix unbelievably old long-standing bug: dragging the scroll bar "thumb" around didn't work, because the method of acccessing the position was completely wrong. 2004-05-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/set.c (set_range): Fix SF bug #946900: buggy interaction of 'set view map' with 'set yrange'. (set_view): Make error message string variables static and const to preserve some stack. 2004-05-03 Ethan Merritt <merritt@u.washington.edu> * src/mouse.c, term/x11.trm: Move handling of mouse click after 'pause mouse' from mouse.c to x11.trm. This removes an otherwise unnecessary do_string("replot") from mouse.c, and instead adds an explicit check for mouse button release in X11_waitforinput(). * demo/mousevariables.dem: Add a comment after final pause command. * src/set.c src/unset.c: Call gp_strdup() rather than strdup() as otherwise the test in ./configure is pointless, and gnuplot fails to link on systems without strdup(). * term/x11.trm: Redefine VMS-only macro to allow if/then/else constructs: GO(x) = do {} while (0) * src/show.c: Protect call to add_history() with a test for the presence of READLINE support. 2004-04-30 Petr Mikulik <mikulik@physics.muni.cz> * docs/gpcard.tex: Remove duplicated X11 terminal entry. 2004-04-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * docs/gnuplot.doc: Fix description of default format being "% g" instead of "%g". 2004-04-26 Petr Mikulik <mikulik@physics.muni.cz> * docs/gnuplot.doc: New section "Gnuplot-defined variables". Reference function defined(x) from section "User-defined variables". 2004-04-24 Ethan Merritt <merritt@u.washington.edu> * src/gplt_x11.c: Correct the placement of rotated text to account for the difference in x and y coordinate scaling. This greatly improves the rendering of rotated text in enhanced text mode. 2004-04-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * src/axis.c (set_cbminmax): Don't bail out if cbrange is empty. Let the caller handle it by auto-extending the range, as usual. * src/command.c (read_line): Fix bug where growing the line buffer interfered with handling of backslash-newline continuations. 2004-04-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * demo/Makefile.am.in (check-noninteractive, check-interactive): keep the previous $PATH at the end of the one set for running the newly built, not yet installed gnuplot. Needed so Cygwin binaries can find Cygwin1.dll, even if it's not installed in the Windows DLL path. 2004-04-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> * docs/gnuplot.texi: Regenerated. * docs/gnuplot.doc: Fixed missing leading blanks broken during URL updates. * docs/Makefile.in ($(srcdir)/gnuplot.texi): Fix missing blank in file copying rule. 2004-04-17 Ethan Merritt <merritt@u.washington.edu> * term/x11.trm: Clear all I/O locks when X11_reset is called. This is a more generic fix for the problem addressed by the patch of 2004-04-13, and covers cases such as a remote X-server failing to respond. Even without this patch the connection will eventually timeout, but with the patch you can ctrl-C out rather than waiting.