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