[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/gnuplot/gnuplot-old/master/ChangeLog [Back]  [Original]

2017-11-04  

===============================================================================
If you are seeing this you must have obtained a snapshot of gnuplot development
from the development cvs repository on sourceforge.net.  This is out of date!
As of December 2017 the development source has moved to using git rather than
cvs.  For the forseeable future gnuplot release tarballs and other files will
continue to be distributed from

	http://gnuplot.sourceforge.net

Please check there to obtain the current version or more information.
===============================================================================

2017-11-02  Ethan A Merritt  

	* docs/gnuplot.doc src/gadgets.c:  Remove obsolete comments and trivial
	typos. Add documentation section for piped input data.

2017-11-01  Ethan A Merritt  

	* src/plot2d.c (histogram_range_fiddling):  For stacked histograms,
	autoscaling did not distinguish between 'set xrange [*:*]' and 
	'set xrange [explicit_min:*]', always resetting min to -1.
	Bugfix

2017-10-30  Ethan A Merritt  

	* src/gadgets.c (draw_clip_arrow):  Do not call term->arrow() if the
	entire arrow is out of range.

	* src/graphics.c (plot_vectors):  The code for 2D  "plot with vectors"
	is redundant.  Replace the core of it with a call to draw_clip_arrow().

	* src/boundary.c (do_key_sample):  Illustrate revision of a
	draw_clip_arrow() call site to use (double) rather than (int)
	parameters.  The only reason for this is to allow draw_clip_arrow()
	itself to switch to (double) parameters if we decide that is useful,
	e.g. to handle arrows with length approaching zero.

2017-10-13  Petr Mikulik  

	* src/pm3d.c (pm3d_draw_one pm3d_plot): Move call of term->layer() with
	TERM_LAYER_BEGIN_PM3D_MAP and TERM_LAYER_END_PM3D_MAP from pm3d_draw_one
	to pm3d_plot in order to avoid insertion of line commands between the
	%pm3d_map_begin and pm3d surface commands in the postscript file
	which broke the pm3dCompress.awk and pm3dConvertToImage.awk scripts.

2017-10-11  Ethan A Merritt  

	* src/axis.c (gen_tics): The start point for log-scale tic placement
	could not lie outside the axis range (e.g. start at 1 for axis range
	[5:50]).  Remove this restriction.  Still not perfect backwards
	compatibility with log-scale tic placement in earlier versions.

2017-10-09  Ethan A Merritt  

	* src/datafile.c (df_generate_pseudodata):  The sample-generation code
	failed to distinguish between nonlinear x2 (primary axis hidden) and
	"set link x2 via f(x) inv g(x)" (primary axis x1).
	Bug #1973

	* src/graphics.h src/unset.c:  We have an enum AXIS_INDEX. Use it.
	(mostly to aid debugging; shouldn't affect code generation).

2017-10-08  Ethan A Merritt  

	* src/axis.c (reconcile_linked_axes) src/axis.h src/plot2d.c:
	gnuplot version 5.0 always tracked the autoscale range on the primary
	axis (x1 or y1) of a linked pair, even if the data was actually plotted
	on x2 or y2.  In verison 5.2 we track the data range on x1 x2 y1 y2
	separately.  This caused breakage wherever the program assumed the
	autoscale range on x1 (or y1) was always current.  Worse, it would
	propagate that range onto the secondary axis, possibly overwriting the
	correct range.  Now we introduce a new routine reconcile_linked_axes()
	that merges the min/max values from e.g. x1 and x2 so that the 
	autoscaled range covers input data plotted on either axis.
	Bug #1973

	* demo/linked_autoscale.dem: Exercise the new code (fails on previous
	gnuplot versions).

2017-10-06  Hans-Bernhard Broeker  

	* src/command.c: Move WEXITSTATUS fall-back definition away from here.

	* src/syscfg.h: Include , if it exists.
	(WEXITSTATUS): Provide fall-back definition, if none in
	.  Move MS Windows specific replacement from command.c
	to here.

	* configure.ac: Add call to AC_HEADER_SYS_WAIT

2017-10-06  Bastian Maerkisch  

	* config/mingw/Makefile:  Add helpfiles to "all" target, including
	the japanese version.  Remove helpfile from default target.

	* config/mingw/Makefile:  Default to Mingw-w64 and Direct2D v1.1.
	Note that building using Mingw32 currently does not work anyway
	due to missing headers libraries for newer Windows APIs.

	* config/mingw/Makefile:  Add a note that secure APIs are required
	(pointed out by Allin Cottrell on the mailing list).

	* config/msvc/Makefile:  Build and install support files for the
	lua/tikz terminal.

	src/win/wgnuplot.mnu:  Add menu items to edit gnuplot.ini and
	wgnuplot.ini to 'Help' menu.

2017-10-05  Bastian Maerkisch  

	* src/win/wd2d.cpp:  Enable color font support.  This enables colored
	emojis, which can be used e.g. as point symbols.  Due to the default
	font-fallback to "Segoe UI Emoji", this might lead to unexpected
	results if a plot relied on non-colored character fallbacks.

2017-10-03  Ethan A Merritt  

	* term/gd.trm:  Report number of frames in completed animation sequence.

2017-10-01  Bastian Maerkisch  

	* src/win/winmain.c|h src/command.c:  For wgnuplot, open or attach to a
	console when executing system commands so we can its the output.  That
	in my option eliminates the last benefit of wgnuplot_pipes over
	wgnuplot.  Note that the process terminates if the new console is
	closed, just as is the case with wgnuplot_pipes, but the console is
	only opened when actually required.

2017-09-29  Ethan A Merritt  

	* src/axis.h src/axis.c (axis_set_scale_and_range): Incorrect use
	of unsigned parameters caused terminal scaling to fail if the axis
	range was inverted. The error was introduced by converting from a
	macro to a subroutine in the run-up to 5.2.

	* src/gadgets.h src/graphics.c src/misc.c src/plot2d.c src/set.c
	src/tables.h:  Rework parsing and handling of filledcurve options.

	* src/command.c (array_command):  Allow size of an array to be
	determined automatically from the number of initializers. E.g.
	    array  A = ["a","b","c"]

2017-09-25  Ethan A Merritt  

	* src/plot2d.c:  smoothing options csplines|acsplines|bezier|sbezier
	failed to recheck inrange/outrange after smoothing.  Example failure:
	    plot [0:4][4:0] '+' using 1:1 smooth bezier w lines
	Bugfix

2017-09-23  Ethan A Merritt  

	* src/axis.c (gen_tics) docs/gnuplot.doc demo/nonlinear6.dem:
	Revise documentation of "set xtics" to include examples and description
	of logscale keyword.  Restore pre-5.2 behaviour that for log-scaled axes
	the increment in "set xtics {start,} incr {,end}" is interpreted as a
	multiplicative factor rather than a constant interval.  However this is
	only true if the "logscale" attribute is set for axis tics.
	New demo nonlinear6.dem exercises this feature and also shows the use of
	"set tics rangelimit" with log-scaled axes.
	Bug #1971

	* src/interpol.c (mcs_interp):  The previous implementation of monotonic
	cubic splines did not guarantee that the original points were included
	in the set of generated points used to draw the resulting curve.  This
	meant that the curve might not pass through all points.  Now we merge
	the original points with the set of evenly sampled points.
	Thanks to K Antal for identifying and demonstrating the problem.
	Patch/Bug #1972

2017-09-21  Ethan A Merritt  

	* term/cairo.trm (cairotrm_reset):  Still trying to get this right.

2017-09-20  Ethan A Merritt  

	* term/cairo.trm (cairotrm_reset):  Revert change.

2017-09-19  Ethan A Merritt  

	* term/cairo.trm (cairotrm_init cairotrm_reset):  Valgrind complained
	that calling cairo_destroy(plot.cr) on exit triggered multiple reads 
	of previously-freed data.  It seems preferable to not call it on exit.
	It does make sense to call it if the terminal has been closed and then
	reopened.  So we fix the ordering of code in cairotrm_init that
	frees the old plot.cr before reinitializing a new one.
	REVERT: This change caused some cairo installations to close pdf output
	file without proper termination of the contents.

	* src/parse.c (parse_array_assignment):  Memory leak.

	* src/interpol.c:  Dead code.

	* src/Makefile.am:  Fix recipe for building qt embed_example

2017-09-18  Ethan A Merritt  

	* src/datafile.c (f_columnhead df_set_key_title) src/datafile.h
	src/eval.h src/parse.c (create_call_columnhead) src/parse.h
	src/plot2d.h src/plot2d.c (reevaluate_plot_title) src/plot3d.c:

	Defer evaluation of "plot ... title " until after
	data is read in.  This is important mostly for the case where the plot
	title contains text taken from a data column header.  We can now drop
	an imperfect workaround that initially stored the title as
	@COLUMNHEADXXXX@ and then later replaced the placeholder text with
	the real column header text.
	Bug #1968

	* demo/columnhead.dem demo/html/*:  Add a demo for the new capability.

2017-09-17  Ethan A Merritt  

	* src/set.c (parse_label_options):  Memory leak.

	* src/graph3d.c src/plot3d.c:  Initialize to prevent compilere warnings.

2017-09-15  Ethan A Merritt  

	* src/plot2d.c src/plot3d.c:  Starting in version 5, NaN and UNDEFINED
	input data points count toward the total number of points read.  This
	caused the test for "no points read" to not terminate iterations of the
	form  "for [i=min:*] ..." on the first missing file or invalid spec.
	To prevent runaway iteration we now test for "no INRANGE points read in".

	* src/datafile.c (f_columnhead):  columnhead(N) invoked inside a using
	specifier now returns the actual column header.
	See Bug #1968

2017-09-13  Ethan A Merritt  

	* src/graphics.c src/graph3d.c: The "title at {beg|end|}"
	options were originally intended as an alternative to the normal key,
	so preservation of the key layout was not a concern. This patch allows
	you to mix custom-placed titles with in-key titles in the same plot.
	Bug #1967

2017-09-11  Ethan A Merritt  

	* src/graphics.c src/graphics.h src/set.c src/tables.c src/tables.h
	src/unset.c src/show.c src/save.c demo/image2.dem docs/gnuplot.doc:
	The default interpretation of RGB color components on input is that
	they are integer values in the range [0:255].  This matches the 
	content of PNG and JPEG files. Since the interpretation of RGB color
	components has been decoupled from the palette range limits controlled
	by "set cbrange", data using some other RGB convention must be 
	rescaled.  This patch introduces a new command `set rgbmax`.
	The primary use is so that data using the convention that color
	components are floating point values in the range [0:1] can be
	plotted using
	    set rgbmax 1.0;   plot 'imagedata' with rgbimage

	* src/graphics.c (map_position_double):  It is pointless to test for
	logscale in the "else" clause of an "if" statement that handles 
	nonlinear axes.

2017-09-10  Ethan A Merritt  

	* src/axis.c( gen_tics ) src/axis.h( reorder_if_necessary ):
	New macro to reorder the min/max of axis ranges (but could be used
	elsewhere).  If the mapping function of linked axes inverts the
	axis direction, tics were not being generated because min > max.
	E.g. set link x2 via 100-x inv 100-x; set x2tics; plot [50:40] x

	* src/axis.c (parse_range):  Refactor parse_range() to handle
	in-line ranges for linked or nonlinear axes.
	Bug #1964

	* src/graphics.c (plot_border) src/boundary.c (boundary):
	Range-limited axes were not accounting for nonlinear or linked axes.
	Space reserved for long axis tic labels made the same mistake.
	Bug #1965

2017-09-05  Ethan A Merritt  

	* src/axis.c src/axis.h src/datafile.c src/gp_time.h src/gp_types.h
	src/internal.c src/time.c demo/timedat.dem docs/gnuplot.doc:
	Gnuplot already supports relative time format specifiers %tH %tM %tS
	for output via strftime() and in the time format for axis tic labels.
	Now we add the same format specifiers as an option for input via
	strptime().  They can also be used to read data fields containing 
	degrees/minutes/seconds.

2017-09-04  Dima Kogan  

	* src/axis.c (clone_linked_axes):  When sanity checking the via/inverse
	mapping functions for linked or nonlinear axes, adjust the allowable
	difference by a scale factor related to the axis range.

	* configure.ac:  Add $LIBRARIES_FOR_X to WX_LIBS so that it pickes
	up -lX11 as required by wxgtk3

2017-09-04  Ethan A Merritt  

	* src/set.c src/tables.c src/tables.h src/unset.c src/util.c
	src/util.h src/show.c:  Developer-only command "set debug "
	intended to facilitate A/B testing of new code.  Trial code can be
	wrapped in a test such as
	    if (debug > 0) { execute trial code }

2017-09-03  Daniel J Sebald  

	* configure.ac:  Use AC_MSG_RESULT rather than AC_MSG_WARN to report
	which Qt version will be used.

2017-09-03  Ethan A Merritt  

	* src/time.c (xstrftime):  The variant format specs for time
	%tH %tM did not behave as documented in that hours wrapped at 24 and
	minutes at 60 if the decimal precision modifier was missing.

2017-09-02  Ethan A Merritt  

	* src/axis.c (parse_range eval_link_function) docs/gnuplot.doc:
	Attempt to handle the case of linked axes (x+x2 or y+y2) and an in-line
	range specifier in the plot statement.  This fix only addresses simple
	cases, such as
	    set link x2;  plot [x=min:max] something-using-x2 axes x2y1
	Recommend to use separate "set xrange ... set yrange ..." instead.

2017-09-01  Bastian Maerkisch  

	* src/win/winmain.c (ConsoleHandler):  Install the console handler
	also for wgnuplot and wgnuplot_pipes.  Avoids segfaults when closing
	the wgnuplot_pipes console window or the caca terminal console window.

2017-08-31  Martin Saturka  

	* src/mousecmn.h src/mouse.c:  Bind the < and > keys to change the
	current azimuth setting while mousing 3D plots.
	(EAM) add an internal flag "Opt-" so that you can bind a hotkey for
	which the  Alt and Ctrl modifiers are optional rather than required.

2017-08-28  Bastian Maerkisch  

	* config/mingw/Makefile:  Fix target name of generated dependencies
	for pipe and console targets.

2017-08-24  Ethan A Merritt  

	* src/axis.c src/axis.h src/graphics.c src/interpol.c src/plot2d.c
	src/plot3d.c: Revise macro name STORE_WITH_LOG_AND_UPDATE_RANGE to
	STORE_AND_UPDATE_RANGE since we no longer handle log scaling at the
	time data is stored.  Take this opportunity to remove an unused
	parameter (OUT_ACTION) from the macro. Go back to using the same
	macro for the COLOR_AXIS that we use for all other axes.
	This is intended solely to make the code easier to understand;
	there is no change in the code actually executed.

2017-08-23  Ethan A Merritt  

	* src/plot2d.c (parametric_fixup):  Consolidate redundant code blocks
	handling the polar/cartesian paths through parametric function handling.

	* src/plot2d.c (store2d_point): Consolidate identical case statements
	for BOXPLOT, BOXES.

2017-08-22  Ethan A Merritt  

	* src/grahics.c src/graphics.h (rgbscale) demo/image.dem:
	Since cbrange is now decoupled from rgbimage, the image and image2 demos
	need to change accordingly.  Add a placeholder macro rgbscale(colorval)
	that for now only enforces that color components are in [0:255] but
	can later be replaced with an actual scaling routine.

2017-08-18  Ethan A Merritt  

	* src/graphics.c (process_image):  Limit alpha channel range to [0:255]
	in "with rgbalpha pixels".

	* src/axis.c src/datafile.c src/plot2d.c src/plot3d.c src/graphics.c
	demo/sampling.dem docs/gnuplot.doc:
	Allow explicit sampling interval in the range statements associated with
	pseudofile '++' in both 2D and 3D.  Example:
	plot sample range [u=0:127][v=0:127] '++' using 1:2:(F(u,v)) with image

	* src/tabulate.c:  Handle splot with rgbimage, rgbalpha

2017-08-17  Dima Kogan  

	* src/plot2d.c src/plot3d.c src/graphics.c (process_image):
	Do not apply cbrange to rgbimage data.  Do not use rgbimage range to
	autoscale cbrange.  For now this means that rgbimage color components
	must be in the range [0:255], as they are for png, jpeg, etc.  Later
	we may add an autoscaling option for user-supplied color values.

	* term/x11.trm src/qtterminal/qt_term.cpp:
	If the outboard driver cannot be started, point the user to
	environmental variable GNUPLOT_DRIVER_DIR.

2017-08-16  Ethan A Merritt  

	* src/datafile.c (df_open): Expand leading ~ in filename for binary data
	files just as for text files.

	* src/plot2d.c src/graph3d.c src/wxterminal/gp_cairo.c:  Add harmless
	initializations to silence compiler warnings.

2017-08-15  Bastian Maerkisch  

	* src/msvc/Makefile:  Eliminate the separate wrapper script for builds of
	console mode gnuplot by passing the file appropriate extensions as
	arguments to the script.

	* src/win/wgraph.c src/win/wgdiplus.cpp:  We intend to scale line widths
	with resolution when printing, but we got that wrong due to confusion of
	constants.

	* src/win/wgraph.c (CopyPrint):  Fix fallback from D2D to GDI+ for
	printing.

2017-08-12  Bastian Maerkisch  

	* config/mingw/Makefile:  "Recursive make considered harmful".  Up
	until now we tried to reduce the number of rules by using recursive
	make for the three different targets "windows", "pipes" and "console".
	That broke parallel builds of the "all" target because of multiple
	attempts to build the same file due to insufficient dependency rules.
	Instead of fixing this, we now follow the same concept as the
	MSVC and OpenWatcom Makefiles and implement three set of rules and
	avoid recursive make altogether.  This also allows us to implement
	separate automatic dependency rules.  gnuplot scripts are now always
	executed using console mode gnuplot in order to see their output.

	* config/config.oww:  Update to version 5.3.  In particular enable
	boxed text and external functions and disable bitmap terminals by
	default.

2017-08-11  Ethan A Merritt  

	* src/parse.c (check_for_iteration):  If some depth of a nested
	iteration evaluates to an empty range, the evaluated limits of depths
	below it are irrelevant and possibly invalid.  Add a test to skip
	evaluation at lower depthes in such a case.
	Bug #1952

2017-08-10  Bastian Maerkisch  

	* config/msvc/Makefile:  Handle empty lines in cl wrapper script.
	jom dislikes changing the directory in a rule twice, so spawn
	a subshell when required.  Automatically generate timestamp.h for
	development builds.

2017-08-08  Ethan A Merritt  

	* src/command.c src/parse.c src/plot2d.c demo/iterate.dem:
	Revise recursive iteration algorithm to address problems with empty
	ranges in a nested iteration. Add support for dynamic reevaluation of
	the string in nested ranges using "for [s in ]".
	Bug #1952

2017-08-09  Bastian Maerkisch  

	* config/msvc/Makefile:  Automatically generate dependency rules.
	Disabled by default since it slows down compilation. Enable with
	DEPEND=1.
	Patch #756

	* config/msvc/Makefile:  Improve compatibility with jom, the parallel
	nmake like build utility, by adding a space after every backslash at
	an end of line.  Otherwise this would be treated as line continuation.

	* config/msvc/Makefile (zip):  Distinguish 32/64 bit builds.

2017-08-07  Ethan A Merritt  

	* src/plot2d.c src/plot3d.c:  Revert inadvertent change of 2017-03-31
	that failed to call update_gpval_variables in "set table" mode.
	Bug #1954

2017-08-07  Martin Beranek

	* term/metapost.trm:  Support for user-defined dashtypes.

2017-08-06  Bastian Maerkisch  

	* src/stdfn.c|h src/win/wtext.c (ms_snprintf, ms_vsnprintf):
	Starting with MSVC 2015 snprintf is finally C99 compliant.

2017-08-05  Ethan A Merritt  

	* src/graph3d.c:  "set key fixed" should be ignored in the case of
	"set view map".

2017-08-05  Bastian Maerkisch  

	* src/set.c (set_table):  Implement "append" option for datablocks.
	Bug #1951

	* src/win/wd2d.cpp (d2dCreatePatternBrush):  Scale pattern with
	desktop DPI if not using a D2D 1.1 DeviceContext.

2017-08-04  Ethan A Merritt  

	* src/plot3d.c:  Update FIXMEs, comments, remove typos, add 
	initialization to avoid compiler warning (false positive).

2017-08-04  Hans-Bernhard Broeker  

	* config/watcom/Makefile (WCFLAGS, WPPFLAGS): Drop -j option,
	which turned plain char into signed.  That makes no sense anymore,
	now that we try to be 8-bit savvy.

2017-08-03  Ethan A Merritt  

	* src/axis.h:
	Simplify the logic of macro ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE

2017-08-03  Bastian Maerkisch  

	* config/watcom/Makefile:  Avoid expanding macros when extending the
	list of objects to build.

	* config/mingw/Makefile:  Strip decorations when creating a 32bit
	library by using the -k option of dlltool. Revert the incorrect
	redirection change made on 2017-07-27.
	Bug #1942

2017-08-02  Ethan A Merritt  

	* src/graphics.c:  Separate code path for calculating image grid
	coordinates for logscale axes is now redundant.

2017-07-31  Ethan A Merritt  

	* configure.ac src/axis.c src/axis.h src/color.c src/command.c
	src/mouse.c src/plot2d.c src/plot3d.c src/pm3d.c src/pm3d.h src/save.c
	src/set.c src/stats.c src/tabulate.c src/unset.c src/util3d.c:

	Version 5.2 introduced support for non-linear axes and used it to
	reimplement logscale.  The new implementation was enabled by default but
	could be disabled by ./configure --without-nonlinear-axes
	Now we remove the option to disable it and remove the original version 
	of macros  AXIS_DO_LOG() etc belonging to the old implementation.
	The macros remain as no-ops but will be removed in later patches.

	* src/axis.c src/axis.h src/contour.c src/datafile.c src/eval.c
	src/graph3d.c src/graphics.c src/interpol.c src/mouse.c src/plot2d.c
	src/plot3d.c:  Remove all instances of AXIS_LOG_VALUE AXIS_DELOG_VALUE

	* src/axis.c src/axis.h src/interpol.c src/mouse.c src/set.c:
	Remove all instances of AXIS_DO_LOG and AXIS_UNDO_LOG

	* src/axis.c src/axis.h src/gadgets.c src/graphics.c src/interpol.c
	src/plot2d.c:  Remove all instances of axis_log_value axis_de_log_value
	axis_do_log axis_undo_log

	* src/axis.h: Always optimize evaluation of logscale coordinates

	* src/axis.c: Remove code only used by old logscale implementation

	* src/axis.c src/axis.h src/datafile.c src/plot2d.c:
	Replace old routine axis_unlog_interval() with a simpler check
	check_log_limits() to ensure min/max of a logscaled axis are positive

	* src/axis.c src/axis.h src/plot2d.c src/plot3d.c:  Replace 
	axis_revert_and_unlog_range() and axis_revert_range() with a single
	routine axis_check_range(). This was the last of the *_unlog_* routines.

2017-07-31  Bastian Maerkisch  

	* config/watcom/Makefile:  Optionally build with GDI+ or Direct2D/
	DirectWrite.  These libs are available at
	https://sourceforge.net/p/gnuplot/patches/746/

	* src/win/wgraph.c:  Wrap a few more GDI-only code sections with tests
	for USE_WINGDI.

	* src/win/wgnuplib.h (GW):  Re-group fields.  Separate GDI-only struct
	members.

	* src/win/wd2d.cpp:  Enable compilation with OpenWatcom, which is
	missing __uuidof().

	* src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp
	(TEXTBOX_MARGINS):  Adjust scaling of textbox margin to be more like
	what the qt terminal does (ie. much smaller).

	* src/win/wd2d.cpp:  Missing WINAPI call type for print ticket API.

	* src/win/wgraph.c (CopyPrint):  Check return values of GDI print API
	function calls.

2017-07-31  Ethan A Merritt  

	* config/mingw/Makefile config/msvc/Makefile win/gnuplot.iss:
	The pm3d and contrib subdirectories are no longer in the distribution
	source, so they must not appear in the windows installer inventory.

	* src/Makefile.am (src/template.h): Remove dead file template.h

2017-07-30  Ethan A Merritt  

	* src/set.c (set_view):  Switching from "setview equal xy[z]" to 
	"set view map" failed to clear the 3D aspect ratio flag, leading to
	conflicting scale factors.  Now we treat it as "set size ratio -1",
	which is what the documentation says.
	Bug #1948

2017-07-30  Bastian Maerkisch  

	* src/term.c (test_term):  Disable extra space around textbox for size
	comparison.

2017-07-29  Bastian Maerkisch  

	* config/mingw/Makefile config/msvc/Makefile:  Mingw-w64 and MSVC have
	working popen/pclose implementations for GUI applications.  So we use
	them instead of our own "fake" pipe emulation.
	Bug #1950

	* src/win/winmain.c src/syscfg.h config/config.nt config/config.oww:
	Unicode support for popen.

	* src/stdfn.c|h src/command.c src/win/wgdiplus.cpp src/win/wd2d.cpp
	src/internal.c:  Do not include windows.h in a header file and use the
	WIN32_LEAN_AND_MEAN define to speed up compilation.

2017-07-29  Ethan A Merritt  

	* src/set.c (set_range):  Allow to set range properties without
	changing the range min/max.  E.g. "set xrange noextend".

	* src/axis.h (autoscale_one_point) src/plot2d.c src/plot3d.c:
	Refresh_bounds and refresh_3dbounds perform only a simplified version
	of autoscaling.  Consolidate this into a macro autoscale_one_point().
	Extend the simplified autoscaling to include both ends of a VECTOR plot.
	Other cases remain where the simplified autoscale is insufficient.
	Bug #1947 #1709

2017-07-27  Ethan A Merritt  

	* src/fit.c:  Ignore non-numeric contents of potential dummy variables
	x y t u v used during fit evaluation.
	Bug #1949

2017-07-27  Bastian Maerkisch  

	* src/win/wd2d.cpp:  Resize the swap chain buffers instead of
	recreating the swap chain when the window size changes.

	* src/win/wgraph.c term/win.trm:  Default to Direct2D backend.

2017-07-27  Tatsuro MATSUOKA  

	* config/mingw/Makefile (prntvpt.def):  Need to disable Win64 FS
	redirection for 32bit builds.
	Bug #1942

2017-07-24  Ethan A Merritt  

	* src/datafile.c (df_open):  Reject plot command if input and output
	both use the same data block.  Prevents memory corruption / segfault.

2017-07-24  Bastian Maerkisch  

	* config/mingw/Makefile config/msvc/Makefile config/watcom/Makefile
	config/config.mgw config/config.nt config/config.oww src/syscfg.h
	src/command.c|h src/fit.c src/graph3d.c src/graphics.c src/mouse.c
	src/plot.c src/plot2d.c src/plot3d.c src/show.c src/term.c|h
	src/variable.c src/qtterminal/qt_term.cpp src/wxtterminal/gp_cairo.c
	src/wxtterminal/wxt_gui.h term/caca.trm term/gd.trm term/wxt.trm
	demo/gnuplot_plugin.h:  Use only _WIN32 to test for Windows.  This is
	pre-defined by all supported compilers.  Eliminate uses of WIN32 and
	_Windows.

2017-07-23  Ethan A Merritt  

	* src/fit.c src/command.c src/plot2d.c src/util.c src/term.c src/show.c
	src/save.c src/axis.c:
	Remove dead code, out-of-date FIXMEs, comments, etc.

2017-07-22  Ethan A Merritt  

	* src/fit.c:  The code saving the previous "fit" command incorrectly
	assumed that "fit" must be the first thing on the input line.  This
	is clearly not true, particularly when the command is inside a {}
	bracketed clause since the entire clause acts as one long input line.
	Bug #1946

2017-07-20  Ethan A Merritt  

	* src/datafile.c (df_open df_readascii expect_string) src/datafile.h
	src/plot2d.c src/tabulate.c src/tabulate.h docs/gnuplot.doc:
	Move code for "plot with table" into tabulate.c (tabulate_one_line).
	Plot styles (e.g. "with labels") already call expect_string(column) to
	signal that a particular input column is to be treated as a string.
	Now we add special case so that "with table" can use expect_string(-1)
	to signal that any column is treated as a string if its using specifier
	evaluates to a string.  This allows "plot ... with table" to create
	tables containing strings and to use sprintf/gprintf to format
	numerical output.

	* src/set.c (set_separator) src/show.c (show_table):  New command option
	    set table {separator {comma|tab|whitespace|""}}
	allows "plot with table" to create csv files.

	* src/plot2d.c src/tabulate.c src/tabulate.h:  EXPERIMENTAL feature
	(version in 5.3 is subject to change and may never appear in a released
	version in this form).
	    plot ... with table if 
	where  can access input data fields by column number, etc,
	as if it were a using specification. Implemented only for "with table"
	but the mechanism could just as easily work for other plot styles.
	Example:
	    plot  using 1:2:($4+$5) with table if (strcol(3) eq "Red")

2017-07-18  Ethan A Merritt  

	* src/plot2d.c src/plot3d.c:  Fix inconsistent handling of 
	"plot ... with table". E.g. "set style data table; plot foo" tried to
	both plot and tabulate.  Warn that function plots are not handled.

2017-07-16  Ethan A Merritt  

 	* config/config.cyg config/config.mgw config/config.nt config/config.os2
	config/config.oww configure.ac src/internal.c term/post.trm:
	snprintf() is now required.  Remove vestigial tests for HAVE_SNPRINTF.

2017-07-14  Ethan A Merritt  

	* src/mouse.c term/canvas.trm term/emf.trm term/tkcanvas.trm
	term/sixel.c src/time.c src/wxterminal/gp_cairo.c docs/doc2tex.c:
	Do not use C++ style comments in C source files.

2017-07-11  Ethan A Merritt  

	* src/eval.c (magnitude) src/standard.c(f_abs f_ceil f_floor):
	src/internal.c (f_power):  Use idiom fabs((double)i) rather than
	(double)(abs(i)) so that i can be either a short or long integer.
	Preparation for 64-bit int support.

2017-07-11  Bastian Maerkisch  

	* src/win/wd2d.cpp:  Create an IDXGISurface instead of IDXGISurface1.
	Bug #1941

	* src/mingw/Makefile (clean):  Remove prntvpt.lib|def as the lib has
	has to be recreated for 32/64 bit builds.
	Bug #1942

2017-07-11  Akira Kakuto  

	* src/win/wgraph.c (GraphGetBitmap):  Correct mixed up order of
	parameters for ReleaseDC().

2017-07-10  Bastian Maerkisch  

	* src/win/wgdiplus.cpp (SaveAsBitmap):  Make sure that GDI+ is
	initialized.  Bug fix.

	* src/win/wgraph.c (TryCreateFont):  Silence font substitution
	warnings in GDI backend again.  This is consistent with other backends
	and less annoying.

	* src/win/wgraph.c src/win/wcommon.h src/win/wgdiplus.cpp 
	(SaveAsBitmap):  Get a bitmap copy of the screen output with the help
	of a new routine GraphGetBitmap() extracted from CopyClip().  Fix
	for the D2d 1.1 case.

2017-07-09  Bastian Maerkisch  

	* src/win/wgraph.c:  Fix a few more oversights concerning the
	allocation of a separate subwindow for the graph (2017-06-24).

2017-07-08  Ethan A Merritt  

	* src/term.c (test_term): Revise "test" command output.
	- simplify rotated text and arrow section
	- fix bug in "dumb" centering of polygon title
	- compare true textbox area with generic estimated text dimensions.

2017-07-07  Bastian Maerkisch  

	* src/win/wd2d.cpp|h src/win/wgnuplib.h src/win/wgraph.c
	config/mingw/Makefile config/msvc/Makefile:
	Direct2D printing support.  Requires D2d 1.1 and hence Windows 7
	with platform update.  Mingw-w64 currently misses the required
	prntvpt library and header, so we supply minimal definitions
	taken from MSDN inline and create a library from the DLL.

	* src/syscfg.h:  Minimum required API version is Windows 7 by
	default.  Vista and XP are end-of-service.

2017-07-07  Ethan A Merritt  

	* term/dumb.trm:  Slightly nicer arrows.

2017-07-06  Ethan A Merritt  

	* src/qtterminal/qt_term.cpp (qt_boxed_text):  Increase the textbox
	y margin slightly to allow more space for descenders.

	* src/scanner.c (get_num):  More robust parsing of really big integer
	constants.  E.g.  "print 0x12345678901234567890"
	Use strtod() rather than atof() so that the parser's position in the
	input line is tracked.  Also, do not assume that integers are
	necessarily 32-bits.

	* src/util.c (gprintf_value) src/util.h src/internal.c:
	gprintf() only takes a (double) parameter.  The limits what can be
	provided to format strings or 64-bit integers.  Provide a new
	variant gprintf_value() that instead takes a parameter (struct value *).

2017-07-05  Daniel J Sebald  

	* src/qtterminal/QtGnuplotScene.cpp:  Qt::Align{Foo} are bit
	definitions, not integers.  Therefore tests should be of the form
	(alignment & Qt::AlignRight) rather than (alignment == Qt::AlignRight).

2017-07-05  Ethan A Merritt  

	* src/term.c (set_term init_terminal) src/unset.c (unset_terminal)
	docs/gnuplot.doc:
	On entry, copy environmental variable GNUTERM to internal variable
	GNUTERM.  Note that starting with version 5.2 this is a string that
	may include terminal options in addition to the terminal name. E.g.
	    GNUTERM="post eps color size 5in,3in" 
	Modify "set term " to look only at the first word of .
	Thus "set term GNUTERM" works as before. Note that "set term @GNUTERM"
	expands and applies the full set of options.
	Fix "unset term" to act equivalently to "set term GNUTERM" as
	documented.

	* src/eval.c (set_gpval_axis_sth_double):  Remove unused parameter.

	* configure.ac docs/Makefile.am term/caca.trm:
	Add caca terminal documentation to the user manual.  Fix segfault on
	"set term caca driver raw".

2017-07-04  Bastian Maerkisch  

	* src/win/wgnuplib.h src/win/wgraph.c src/win/wgdiplus.cpp
	src/win/wd2d.cpp:  Use a common definition of GWOPMAX and increase
	to accommodate e.g. typical pm3d plots.

2017-07-03  Bastian Maerkisch  

	* term/win.trm:  Cannot use docked graph windows in persist mode as
	the text window will not be shown.

	* src/internal.c:  Windows time() implementation with sub-second
	resolution.

	* src/win/wgdiplus.cpp:  Switching the compositing mode to take the
	gamma factor into account for filled polygons not only slows down
	drawing considerably, but also produces output different from
	other terminals or windows back-ends.  So stop doing that. Also
	scale the linewidth when drawing anti-aliased polygons. Bug fix.

2017-07-02  Ethan A Merritt  

	* src/graphics.c (place_raxis):  Raxis was being truncated to R=0.
	I.e. set rrange [90:-30] lost the final quarter of the axis.
	Bug #1370

2017-07-01  Shigeharu Takeno  

	* docs/doc2texi.el:  Support for bulleted lists.

	* docs/term-ja.diff docs/gnuplot-ja.doc:  Sync with gnuplot.doc 1.1092

	* docs/gnuplot.doc:  Typos in new Bessel function section.

2017-06-30  Bastian Maerkisch  

	* src/win/wd2d.cpp:  Fix center of rotation for enhanced text.  Snap
	textbox coordinates to full pixels for vertical or horizontal
	orientation.

2017-06-29  Bastian Maerkisch  

	* src/win/wgraph.c:  Unbreak hypertext tooltips.  Oversight in the
	change on 2017-06-24.

2017-06-28  Ethan A Merritt  

	* term/canvas.trm (CANVAS_mouse_param) term/svg.trm (svg_mouse_param): 
	Make these subroutines rather than macros.  Eases abstraction to support
	64-bit integer values.

2017-06-27  Bastian Maerkisch  

	* src/win/wd2d.cpp:  Respect the antialiasing setting.  Always clear
	the polygon render target to avoid "ghost" images and enforce its
	size in pixels.

	* src/win/wd2d.cpp:  Direct2D implementation of pattern fill using a
	bitmap brush.  This eliminates the last GDI/GDI+ fallback, so we
	no longer aim to be compatible.

	* src/win/wd2d.cpp:  Instead of converting between pixel units and
	so-called device-independent-pixels (DIPs) all the time, we now force
	the two units to be the same.  For the DCRenderTarget this was always
	the case, for the HwndRenderTarget this is done by forcing the
	(internal) resolution to 96dpi, and the DeviceContext supports the
	SetUnit() call.  Partially reverts the changes made on 2017-06-18.

	* config/mingw/Makefile config/msvc/Makefile src/win/wd2d.cpp|h:
	Optionally use Direct2D 1.1 and a DeviceContext as RenderTarget,
	which is available starting from Windows 7 with Platform Update and
	requires to link to Direct3D 11.1. Otherwise default to using a
	DCRenderTarget.

2017-06-26  Ethan A Merritt  

	* term/dumb.trm:  Core routine apply_lp_properties looks to see whether
	the current terminal lacks color support by testing the equivalence
	(term->set_color == null_set_color). Thus introduction of a non-NULL
	dumb_set_color() routine to support color output had the side-effect of
	losing the distinction between line types without color.  Fix this by
	only listing dumb_set_color() in TERM_TABLE when color mode is active.
	Bug fix.

2017-06-24  Bastian Maerkisch  

	* src/win/wgdiplus.cpp:  We still need to indicate that text can be
	rotated. Bug fix.

	* src/win/wd2d.cpp:  Do not abort drawing if an error is encountered.
	Add a few more error checks.

	* src/win/wd2d.cpp src/win/wgnuplib.h:  Add code for using a 
	DeviceContext as RenderTarget.  Requires Direct2D 1.1 which is
	available starting from Windows 7 with Platform Update.  Requires
	to link to the Direct3D 11.1 library d3d11.lib.  Not yet enabled
	by default.

	* src/win/wgraph.c src/win/wgnuplib.h src/win/wd2d.cpp|h wcommon.h:
	src/win/wgnuplib.h:  Allocate a separate subwindow for the graph
	instead of handling the drawing within the parent window.  This makes
	the HwndRenderTarget (mostly) functional.

	* src/win/wd2d.cpp:  Change the type of some parameters from bool to
	BOOL to avoid warnings.

2017-06-21  Bastian Maerkisch  

	* src/win/wgnuplib.h:  The dot needs not to be included in the number
	of different point types for cycling through.  Bug introduced on
	2017-05-13.

2017-06-21  Ethan A Merritt  

	* src/standard.h src/standard.c src/eval.c docs/gnuplot.doc:
	Use Bessel functions j0, j1, jn, y0, y1, yn from libm if present.
	These replace the hard-coded implementations besj0, besj1, besy0, besy1
	in standard.c.   The old versions are still present if needed.
	Add wrappers besjn(i, X) besyn(i, X).
	The hard-coded implementations claimed accuracy to 1.e-13.
	The libm implementations claim accuracy to 2.e-16.

2017-06-20  Ethan A Merritt  

	Bump version number of development branch to 5.3

2017-06-18  Ethan A Merritt  

	* src/fit.c (save_fit) src/util.h src/util.c (num_to_str):
	save_fit() is the only external caller of num_to_str().
	Call value_to_str() instead and make num_to_str() local to util.c.

	* src/internal.c (f_index):  Repair memory leak when a datablock
	is accessed as $DATABLOCK[index].

2017-06-18  Bastian Maerkisch  

	Prepare use of HwndRenderTargets instead of a DCRenderTarget. This is a
	first step to support printing etc. also with the new Direct2D backend.

	* src/win/wd2d.cpp:  Direct2D uses coordinates in "device-independent-
	pixels" (DIPs).  For a DCRenderTarget these are identical to pixels,
	but for other rendering targets we need to take a conversion factor
	into account.  Fixes drawing with the HwndRenderTarget.

	* src/win/wd2d.cpp|h (d2dInit) src/win/wgnuplib.h src/win/wgraph.c:
	Create a new HwndRenderTarget for every graph window.  The
	DCRenderTarget can be shared.

2017-06-17  Bastian Maerkisch  

	* src/win/wgraph.c src/win/wgnuplib.h:  Remove the doublebuffer
	setting.  It is always enabled.

	* src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp
	src/win/wgnuplib.h:  Remove remnants of the old oversampling code.

2017-06-15  Ethan A Merritt  

	More corner-case failures found by fuzzing the demo set.

	* term/dumb.trm:  terminal character grid y limit was not checked prior
	to printing text with color+utf8 attributes.

	* src/command.c (print_set_output):  Fix failure to reset flag indicating
	output to a datablock. E.g. "set print $T; set print '-'; show print"

	* src/graphics.c:  Sanity check for well-defined coordinates at the
	corners of an image.  Variable initialization to make compiler happy.

2017-06-14  Ethan A Merritt  

	* term/svg.trm:  Normalize handling of terminal option "fontscale" to
	match other terminals. Remove obsolete keyword "fsize".

	* src/axis.c (eval_link_function):  Executing the general case nonlinear
	mapping functions via a dynamically interpreting action table is slower
	than in-line evaluation.  In the special case of log-scaled axes we can
	short circuit the general case evaluation by an immediate call to the
	log or exp function.  This more than recovers the execution speed of
	pre-version 5 logscale code.  log-intensive benchmark timings:
	version 4.6.6:         42.7u 42.7 total
	version 5.1 generic:   57.5u 66.2 total   (why extra system time?)
	version 5.1 optimized: 42.1u 42.4 total

	* src/axis.c (gen_tics) src/contour.c (contour) src/plot2d.c (eval_plots)
	src/set.c (load_tic_series) term/emf.trm term/write_png_image.c:
	Explicitly initialize some variables indicated as suspect by compiler
	option -Wuninitialized.  The one in set.c can cause a real fault;
	the others look like false positives to me but I am not 100% certain.
	Bug #1933

2017-06-14  Bastian Maerkisch  

	* src/win/wd2d.cpp:  When compiled with D2DDEBUG defined, enable the
	Direct2D debug layer.

	* src/win/winmain.c (WinExit):  Missing cleanup of Direct2D resources.

2017-06-13  Bastian Maerkisch  

	* src/win/wgdiplus.cpp:  Cleartype text antialiasing seems to be only
	applied to horizontal text.  Use grayscale antialiasing for rotated
	text.

	* src/win/wgdiplus.cpp (InitFont_gdiplus):  Fix double application of
	fontscale.

	* src/win/wgraph.c (WriteGraphIni):  Only save window size and position
	for standalone graph windows.

	* src/win/wd2d.cpp (W_line_width):  Enforce a minimum line width of 1
	pixel to avoid tiny dash patterns for grids in polar plots.

2017-06-12  Ethan A Merritt  

	* src/util.c (gprintf):  Sanity check for NULL format

	* src/datafile.c (df_open):  Sanity check to catch "plot '+' binary ..."

	* src/plot2d.c (eval_plots):  image plots cannot use '+' as input

	* src/gadgets.c (do_timelable):  Previously we modified timelabel.text
	in place and then restored it afterwards.  If the routine exited via
	int_error, the restore never happened.  Fix: make a use-once copy of
	timelabel and print that instead.

	* src/hidden3d.c (build_networks):  Empirical fix for array overrun 
	faults found by fuzzing data fed to '-'.  I don't understand the true
	general case that fails but ignoring input curves with "length logscaling
	was not being cleared by "unset log" or "set nonlinear".
	Nonlinear axes part 16

2016-07-31  Bastian Maerkisch  

	* src/wxterminal/wxt_gui.cpp:  Handle errors when creating a cairo
	surface.
	Bug #1621

2016-07-29  Ethan A Merritt  

	* src/graph3d.c:  "splot ... with dots" was accidentally broken by the
	addition of multibyte PT_CHARACTER support.  This was a regression from
	released versions of 5.0.

2016-07-27  Bastian Maerkisch  

	* src/win/wgraph.c src/win/wgdiplus.cpp|h src/win/wresourc.h:  Add an
	option to the menu to save the current graph as bitmap.  Supports all
	encoders available to GDI+.  On my system that is (TIFF, JPEG, GIF,
	PNG, and BMP).  Defaults to PNG.

	* src/win/wgraph.c (SaveAsEMF):  Tweak flags for GetSaveFileName() to
	make sure that the file/path is not read-only and to preserve the
	current working directory.

2016-07-26  Bastian Maerkisch  

	* win/gnuplot.iss:  Enforce inclusion of directory and program group
	pages since the default changed in Inno setup version 5.5.7.
	Bug #1831

2016-07-25  Bastian Maerkisch  

	* src/win/wgraph.c src/win/wmenu.c:  Use the "large" icon set for the
	toolbar if the nominal resolution is larger than 96dpi.  Use
	TB_ADDBUTTON instead of TB_LOADIMAGES as this somehow eliminates
	another major resource leak.

	* src/win/wgraph.c (drawgraph) src/win/wgdiplus.cpp(drawgraph_gdiplus):
	Missing cleanup of cached point symbols caused a sizeable resource
	leak. Bugfix.

2016-07-24  Bastian Maerkisch  

	* src/win/wgnuplot.exe.manifest src/win/wgnuplot.exe.manifest64
	src/win/wgraph.c src/win/winmain.c|h src/win/wtext.c:
	Windows scales gnuplot's windows according to the monitor's scaling
	factor.  This in turn may be based on the monitor's DPI or an explicit
	user setting.  In consequence gnuplot's text window and plot output look
	blurred e.g. on high-resolution screens.  This changeset makes gnuplot
	(system) DPI aware so that Windows no longer scales automatically
	(at least in the most common case).  Window sizes in wgnuplot.ini are
	(still) interpreted to be given in the default resolution of 96dpi.
	See also bug #1807.

	* src/win/wtext.c (DoLine):  Fix off-by-one error which caused the
	area below the last line to contain garbage in some cases.

2016-07-23  Bastian Maerkisch  

	* src/win/wgdiplus.cpp src/win/wgraph.c:  Textbox fillcolor and
	bordercolor support for windows terminal.  Transparency works
	except when using the GDI only variant with antialiasing disabled.

	* src/win/wgdiplus.cpp:  Use StringFormat::GenericTypographic() to draw
	text.  This reduces differences in text placement between GDI and GDI+
	output.

2016-07-22  Ethan A Merritt  

	* src/gadgets.c src/gadgets.h src/save.c src/save.h src/set.c
	src/show.c docs/gnuplot.doc:
	Bookkeeping and core code implementation of textbox fillcolor and
	bordercolor. Note that transparency is possible if the fillcolor
	contains an alpha component.

	    set style textbox {noborder | border {filled_polygon() in preference to term->fillbox().

2016-07-15  Bastian Maerkisch  

	* src/win/wgdiplus.cpp (W_enhanced_text):  Apply text color to enhanced
	text.
	Bug #1829

2016-07-14  Ethan A Merritt  

	* docs/gnuplot.doc docs/plotstyles.gnu demo/custom_key.dem:
	Add custom key demo figure to the documentation.

	* src/boundary.c (do_key_layout):
	The command 'set key spacing ' adjusts the vertical spacing of
	entries in the key.  However a complicated minimum size test caused the
	result to be discontinuous as a function of .
	I.e. 'set key spacing 2' came out the same as 'set key spacing 1'
	but both were smaller than 'set key spacing 1.8'.
	This patch makes the vertical spacing a simple multiplier for
	character height in the current font.  It also dissociates the
	height of the key sample itself from the line spacing.

2016-07-08  Ethan A Merritt  

	* src/gadgets.c (write_label): Consolidate code to create a textbox for
	this label.

	* term/pslatex.trm: Implement textbox margins.

	* src/qtterminal/qt_term.cpp src/qtterminal/QtGnuplotScene.cpp
	src/qtterminal/QtGnuplotScene.h:  Implement textbox margins.

	* src/wxterminal/gp_cairo.c (gp_cairo_boxed_text): Reduce textbox
	margin size and linewidth to better match other terminals.

2016-07-04  Bastian Maerkisch  

	* src/win/screenbuf.c|h src/win/wtext.c:  Handling of colored text
	was lost when re-working the text window's internals for the 4.6
	release in 2011.  Turns out that it is not too hard to re-enable
	that again.

2016-07-03  Ethan A Merritt  

	* src/util.c (print_line_with_error):  Replace macros
	PRINT_MESSAGE_TO_STDERR PRINT_SPACES_UPTO_TOKEN PRINT_FILE_AND_LINE
	with new utility routine.  Add code to reconstruct the original input
	line number by counting \n characters embedded in a command line
	produced by concatenation of successive lines in a bracketed clause.

	* src/graphics.c(plot_betweencurves):  The filled curve options y=foo,
	below y=foo, etc were reworked to piggyback on the 'fill between' code
	by pre-loading ymax with foo on data input.  However this mechanism
	breaks if the curve is smoothed because ymax is lost during smoothing.
	Revert the case of smooth + filledcurves + y=foo to use the original
	FILLEDCURVES_ATY1 code.  This original rationale (IIRC) was to get
	better clipping but since we now have good general case polygon
	clipping perhaps all the piggyback cases should be reverted.

2016-07-02  Bastian Maerkisch  

	* src/command.c (changedir):  Handle encodings (Windows).

	* src/term.c:  Replace local function prototypes with proper include.

	* src/win/wtext.c:  Ctrl-C copies text to clipboard if there's
	selected text or sets the Ctrl-C (break) flag otherwise.

	* src/win/wtext.c (UpdateScrollBars):  The size of the scroll bar
	thumb reflects the length or width of the scrollable area.

2016-07-02  Jun Takimoto  

	* configure.ac:  The change of 2016/05/23 to the --with-readline=DIR
	code did not properly handle the case when libedit is installed and thus
	found by AC_CHECK_HEADERS, but we really want to point to GNU readline
	installed in DIR.

2016-06-22  Ethan A Merritt  

	* RELEASE_NOTES demo/plugin/Makefile.am:  Note compiler flags needed
	to build gnuplot using Solaris SunPro C compiler.
	Bugs #1786 #1821

2016-06-20  Bastian Maerkisch  

	* src/win/wtext.c (UpdateCaretPos):  Fix a resource leak which occurred
	only if the encondig is set to utf8 or sjis.

	* src/readline.c (readline):  VREPRINT conflicts with hard-coded ^R for
	reverse-search.  Deactivate that section.

	* src/history.c (gp_read_history):  Cast argument of isspace() to
	unsigned char.

	* src/history.c (write_history_list):  Avoid adding extra leading
	spaces when saving to a file.  Index of history_get is zero-based
	relative to history_base.

	* src/history.c (write_history_list):  Let the built-in readline use
	the same code as is used for GNU readline and libedit.

2016-06-17  Ethan A Merritt  

	* parse.h plot2d.c plot3d.c:  Tracking the wrong iteration
	variable (iteration_current rather than iteration) caused plot
	command iteration with a negative increment to fail to iterate at all.
	E.g. 'plot for [i=9:1:-1] foo' plotted only the single plot with i=9.
	Bug #1819

	* src/graph3d.c (draw_3d_graphbox): Don't draw ztics or tic labels
	at view angle rot_x=0 (projection along z axis).

2016-06-15  Ethan A Merritt  

	* src/datafile.c (check_missing):  Fix test for explicit 'set missing'
	string in a csv file (previous check assumed the string was followed by
	whitespace rather than a field separator).

	* src/graphics.c:  Rearrange code to avoid compiler warning about
	unused variable image_z_axis.

2016-06-14  Bastian Maerkisch  

	* src/readline.c src/plot.c config/config.mgw config/mingw/Makefile:
	Allow console mode gnuplot on Windows to use GNU readline, which is
	more powerful than the builtin code, but still does not handle Unicode
	input on Windows.

2016-06-13  Daniel J Sebald  

	* term/tkcanvas.trm:  Error check for ftruncate().
	Bug #1798

2016-06-12  Daniel J Sebald  

	* src/graph3d.c:  Better fix for bug #1809 (placement of xyplane
	independent of tics or grid lines).

2016-06-12  Shigeharu Takeno  

	* src/gplt_x11.c (gpXTextExtents):  Wrap call to XTextExtents() in a
	routine that checks first for multibyte support.

2016-06-09  Ethan A Merritt  

	* src/set.c (set_table) docs/gnuplot.doc:  New option to append tabular
	plot output to an existing file.  "set print" already works this way.
	    set table "outfile" {append}

	* src/multiplot.c (multiplot_start):  Remove alarming warning messages
	if default values for inter-plot spacing are used.

	* src/axis.c src/axis.h src/plot3d.c:  Remove unused macro definitions.

2016-06-08  Ethan A Merritt  

	* src/stats.c:
	Since we now store the data value itself rather than log(value), there
	is no longer a problem running stats while the axes are log-scaled.

	* src/stats.c:  An unreadable line in a data file should not be a fatal
	error in "stats".  Print a warning and keep going.

2016-06-07  Ethan A Merritt  

	* src/graph3d.c demo/piecewise.dem:  Consistent placement of xyplane
	regardless of whether tics or grid lines are present.
	Bug #1809

2016-06-05  Ethan A Merritt  

	* src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE):
	Since we now store the data value itself rather than log(value), there
	is no longer a need to replace non-positive values with NaN on input.
	Nonlinear axes part 15

2016-06-04  Ethan A Merritt  

	* src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE):
	Only update axis->data_min/max if the point being stored is INRANGE.
	Bug #1804

2016-05-31  Ethan A Merritt  

	* set/set.c (set_palette):  Disallow "set palette maxcolors 1" because
	this causes divide-by-zero errors during color smoothing.
	Reported originally as an Octave bug
	https://bugzilla.redhat.com/show_bug.cgi?id=1340660

2016-05-27  Bastian Maerkisch  

	* src/readline.c src/gnuplot.doc:  ^R starts a backward-search through
	the history.  Searches the command history as you type.  Use ^R/^S to
	find the next/previous match.

	* src/history.c (history_find_by_number, history_find,
	history_find_all):  Share the functions for GNU readline and the
	built-in code.  Remove the old specialised code.

2016-05-27  Ethan A Merritt  

	Nonlinear axes part 14.

	* src/axis.h src/save.c src/set.c src/unset.c src/pm3d.c src/pm3d.h:

	- Turn all the log/delog macros into no-ops, including z2cb.
	This reduces the size of the gnuplot executable by 1-2% and removes
	any behavioral dependence on the axis->log flag in the core code.

	- Repurpose the axis->log flag to special-case nonlinear axes that
	were set up using the "set log" command.  This makes the save and show
	commands report axes as log-scaled if they were set up by "set log"
	but not if they were manually defined using "set nonlinear" even though
	the result is otherwise the same.  It also allows mousing of logscaled
	axes in the svg and canvas terminals.

	The implementation of "set log" has now been almost entirely replaced.
	This should be transparent to users.  I know of only a few exceptions.

	- In some cases the range limits chosen for autoscaled log axes come
	out slightly different with the new implementation.  In most cases this
	is an improvement, but it is possible there are other cases where the
	new autoscaled range is less satisfactory.
	Bug #1590

	- Log scaling proper and choice of log-scale axis tics are now
	separable. This addresses several long-standing bugs, including
	Bug #10 filed back in 2000!  I.e. even if the axis is log-scaled,
	you can still user "set tics " or "set tics nolog".
	Bug #10 Bug #1250

	- Minor axis tics now work as expected over all logscale axis ranges.
	Bug #1748

	- The new code is slightly slower.  Speed will be recovered in a
	separate patch.

2016-05-26  Ethan A Merritt  

	* src/pm3d.c src/pm3d.h:  Make z2cb() a macro that calls the original
	routine.  This will allow us to replace it cleanly with a no-op later.

	* src/set.c src/unset.c src/axis.h src/command.c src/axis.c:
	Nonlinear axes part 13.
	Re-implement the "set log " command internally as the pair of
	commands "set nonlinear  via log10(x) inv 10**x; set xtics log".
	Similarly for an explicit base "set log  " and for
	"unset log".  The new code is selected by #define NONLINEAR_AXES 1
	The orignial code is still in place and can be selected either by
	1) ./configure --without-nonlinear-axes
	   (equivalent to #undef NONLINEAR_AXES)
	2) #define NONLINEAR_AXES 0
	   nonlinear axis support selected but "set log" command doesn't use it.

	Note: at this stage the "show" and "save" commands report logscaled
	axes as nonlinear but do not recognize that this is from "set log".
	The next patch set will repair this.

2016-05-26  Bastian Maerkisch  

	* src/readline.c (fn_completion):  Allow filename completion for system
	commands '!' and after pipe symbols 'set_m[in|ax]) if it is a
	dependent autoscaled axis.

	* src/command.c (link_command): Nonlinear axes part 12.
	As it stands, bad things happen if an axis ends up linked to another
	visible axis ("set link") and also to a shadow axis ("set nonlinear").
	This patch adds checks to both commands to prevent this from happening.

2016-05-18  Bastian Maerkisch  

	* src/win/wtext.c src/win/wpause.c src/win/wcommon.h:  Show the current
	encoding in the status bar of the text window.

	* src/win/wpause.c:  Use default GUI font (not the archaic system font).
	Match the size of the dialog box to the actual length of the message.

	* src/win/wtext.c (DragFunc, M_PASTE) src/win/wpause.c:  Make sure to
	use wide character APIs for Unicode windows. Bug fix.

2016-05-17  

	* term/js/gnuplot_svg.js: Apply screen transform to mouse coordinates,
	so that browser-mediated changes of scale and origin are accounted for.
	In particular this handles the case where the size of an svg image is
	not the same as the object it is embedded in.

2016-05-17  Ethan A Merritt  

	* src/plot3d.c (get_3ddata):  The 7-column input case of "with vectors"
	was broken by code refactoring (2016-02-29). Clean this up and store
	color information in both head and tail of vector.
	Bug #1793

2016-05-15  Ethan A Merritt  

	* term/post.trm: Do not read beyond the end of a font spec.

2016-05-13  Tatsuro MATSUOKA  

	* src/internal.c (GP_MATHERR):  The matherr mechanism is not supported
	by Mingw64 in both 32bit and 64bit mode.  BM: But it is available with
	MSVC, so re-enable it there also for 64bit builds.
	Bug #1791

	* src/config/mingw/Makefile:  Add default path for QT in Mingw64 32bit
	builds.

2016-05-13  Bastian Maerkisch  

	* src/fit.c (fit_command):  Since memory requirements are linear in the
	number of datapoints, double max_data if we need to enlarge the
	internal buffers.  Remove the associated message.
	Feature Request #444.

2016-05-11  Ethan A Merritt  

	* src/axis.c (extend_primary_ticrange): Snap logscale range to nearest
	even power if it is already closer than epsilon (a.k.a. "set zero").
	Bug #1590

2016-05-09  Shigeharu Takeno  

	* docs/term-ja.diff docs/gnuplot-ja.doc:
	Sync Japanese documentation to doc version 1.988

2016-05-08  Ethan A Merritt  

	* src/pm3d.c src/command.c src/mouse.c src/plot2d.c: Where possible,
	use macro nonlinear(AXIS *) rather than #ifdef NONLINEAR_AXES.

	* src/axis.h src/contour.c src/datafile.c src/graph3d.c src/graph3d.h
	src/plot3d.c src/util3d.c src/axis.c src/boundary.c:
	Nonlinear axes part 11.  3D plot axes x, y, z, countours.

	* demo/all.dem demo/nonlinear5.dem:  logscale z with contours

2016-05-07  Bastian Maerkisch  

	Let wgnuplot handle Unicode (not console mode gnuplot)
	Patch #727

	Part 4 - File APIs.

	Windows C runtimes do not handle UTF-8.  We work around this
	restriction by using the "wide" (UTF-16) variants of the API and
	translating from the internal encoding to UTF-16 when required.

	* src/win/winmain.c (win_fopen) src/syscfg.h:  Wrap calls to fopen()
	in a new routine win_fopen() on Windows which uses _wfopen().

	* src/win/command.c (do_system): Use _wsystem() instead of system().

	* src/win/winmain.c (fake_popen, fake_pclose):  Handle encodings by
	using _wsystem().

	* src/stdfn.c (opendir, closedir, readdir, rewinddir):  Handle
	encodings by using UTF-16 internally.  Convert search results to a
	byte encoded format according to `encoding`.  This most notably brings
	encoding/unicode support for tab-completion on the command line.

	* src/external.c|h (DLL_OPEN):  Handle encodings for the file name of
	external libraries.

2016-05-07  Ethan A Merritt  

	* src/gp_types.h (intNaN) src/axis.h (invalid_coordinate):
	If an expression returns "undefined" or NaN inside a function returning
	a real then the return value itself can be set to NaN. Inside a function
	returning an int, as for example the terminal coordinate mapping
	functions, this does not work. Now we define an integer equivalent
	intNaN with leading bit 1 and all trailing bits 0 (max negative value in
	two's complement representation).  Most callers can test via a generic
	macro:  if (invalid_coordinate(x,y)) ...

	* src/graphics.c:  Filter out invalid coordinates produced by axis
	mapping functions.  As an example this fixes bad postscript output
	produced by nonlinear1.dem.

	* src/axis.h:  New macro nonlinear(AXIS *) becomes a noop if configured
	without support for nonlinear axes.

	* src/save.c:  "save" command can use a loop to save the log status of
	all axes rather than running through them in-line one by one.

2016-05-07  Bastian Maerkisch  

	Let wgnuplot handle Unicode (not console mode gnuplot)
	Patch #727

	Part 3 - GUI.

	* src/win/wtext.c (M_PASTE):  Always ask the clipboard for UTF-16
	encoded text.  This is always possible since Windows will convert
	other encodings (OEM/ANSI) for us.

	* src/win/wtext.c (TextCopyClip):  Now that strings for display
	are stored internally in UTF-16 format, use Unicode to copy to
	clipboard, too.

	* src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c src/win/wtext.c:
	Drag'n'drop handles Unicode encoded file and directory names.

	* src/win/winmain.c (Pause) src/win/wpause.c src/win/wcommon.h
	src/win/wgnuplib.c|h: Create pause dialog box as Unicode window.
	Pause() will do the text conversion according to current encoding.

	* src/command.c (pause_command):  Converting the string encoding
	is now only required for console mode gnuplot.

	* src/win/wmenu.c:  Temporary fix of string type of argument for
	MessageBox.

2016-05-07  Bastian Maerkisch  

	* config/watcom/Makefile:  Fix compilation by adding definitions
	of version and patchlevel to flags.

	* config/config.oww:  Add some more defines for function names.

	* src/win/wgnuplib.h src/win/winmain.c:  Remove old compiler
	specific checks which are no longer required.

	* src/win/wgnuplib.h src/win/wgraph.c src/win/wpause.c
	src/win/wprinter.c src/win/wtext.c:  No need to have functions use
	WINAPI (stdcall) calling convention.  Remove define WDPROC.

2016-05-06  Ethan A Merritt  

	* term/emf.trm:  Better (though still not perfect) estimation of the
	space occupied by a UTF-8 string. Till now each byte in a multi-byte
	character was being counted as occupying space.
	Bug #1787

	* src/term.h:  The above change means that estimate.trm must be
	included earlier in term.h than emf.trm.  Bump it to the top.

	* src/axis.h src/gadgets.c (apply_pm3dcolor) src/pm3d.c (z2cb):
	Use existing macros axis_do_log() and friends rather than doing
	hard-coded calculations with axis->log_base.

	* src/graph3d.c (draw_3d_graphbox): Fix think-o in revision to 3D axis
	label placement - should not multiply the constant offset by tic scale.
	Bug #1790

2016-05-06  Bastian Maerkisch  

	Let wgnuplot handle Unicode (not console mode gnuplot)
	Patch #727

	Part 2 - Screen Output.

	* src/win/wtext.c src/win/screenbuf.c|h src/win/wgnuplib.h:  All output
	to the terminal window is stored in a buffer.  Change the internal data
	type of this buffer from "char" to "WCHAR".  This enables support for
	UCS-2 (i.e. BMP) characters.

	* src/win/wtext.c (TextPutCh):  All of gnuplot's screen output during
	line-editing passes through this function.  Make sure to properly
	convert codes to UTF-16 for storage in the buffer (includes UTF-8 and
	S-JIS sequences).

	Part 1 - Input.

	* src/text.c (WM_CHAR) src/win/wcommon.h src/win/wgnuplib.c:  Use "W"
	API variant to create text window to receive UTF-16 codes in WM_CHAR
	messages.  Convert them to the `encoding` set by the user for internal
	storage.  Handles basic multilingual plane (BMP) only.

	* src/misc.c|h (encoding_from_locale init_encoding) src/plot.c
	src/set.c:  When using the built-in readline, initialize the
	`encoding` according to current locale.  This is required since
	the behaviour of the built-in readline depends on `encoding` for
	utf8 and sjis.  Do this by extracting the code which handles
	`set encoding locale` to new functions in misc.c.

	* src/win/winmain.c|h (UnicodeText AnsiText WinGetCodePage
	WinGetEncoding) src/command.c src/win/wcommon.h src/win/wgraph
	src/win/wgdiplus.cpp:  Move code to convert a text from a given
	encoding to UTF-16 (UnicodeText) from wgraph.c to winmain.c.
	Extract mapping of gnuplot's encoding values to a Windows
	codepage (WinGetCodePage).  Move the inverse code from command.c
	to WinGetEncoding in winmain.c.  Implement AnsiText to convert
	from UTF-16 to a byte encoded string.

2016-05-05  Bastian Maerkisch  

	* src/readline.c src/util.c|h:  The internal readline already
	handles UTF-8 multi-byte sequences.  Extend that mechanism
	to S-JIS. Likely most useful on Windows.
	Patch #729

2016-05-04  Ethan A Merritt  

	* src/save.c:  "rotate parallel" was not being saved correctly.

	* src/graph3d.c:  Revise placement of axis labels in 3D plots.
	Remove dead code.  Use same axis-to-label gap on both x and y.
	Fix inconsistent use of h_tic or v_tic to define gap size.
	Bug #1781

2016-05-01  Matthew Halverson  

	* term/svg.trm: Do not flag svg terminal as TERM_BINARY.

2016-05-01  Ethan A Merritt  

	* src/command.c (link_command): Do not recalculate axis ranges after
	"unset link" for an axis that was not linked anyhow.

	* src/axis.c (parse_range):  The in-line range for a nonlinear axis
	must be transferred to its corresponding primary axis.

2016-04-27  Ethan A Merritt  

	* src/fit.c (call_gnuplot):  More robust handling of undefined value
	returned by function being fit.

	* src/datafile.c (df_generate_pseudodata): Nonlinear axes part 10.
	Sampling along '+' should track linear/nonlinear state of primary
	plot axis.

2016-04-26  Ethan A Merritt  

	* src/command.c src/plot2d.c src/set.c src/axis.c:
	Nonlinear axes part 9.
	Handle nonlinear polar axis r.  This completes support for 2D axes.

	* src/internal.c (f_assign):  In most places any numerical array index
	is accepted, but inside an assignment non-integral indexes caused an
	error.  Now the index is taken as floor(value) as it is elsewhere.

2016-04-25  Ethan A Merritt  

	* src/axis.c src/color.c src/command.c src/mouse.c src/parse.c
	src/plot2d.c src/pm3d.c src/save.c src/unset.c demo/nonlinear4.dem:
	Nonlinear axes parts 7 and 8
	Handle nonlinear x2, y2 axes (2D) and cb axis (2D and 3D).

2016-04-24  Ethan A Merritt  

	* src/axis.c src/axis.h src/set.c src/save.c:
	Nonlinear axes part 4
	New command "set tics logscale" lets the new nonlinear axis code use
	the old logscale tic placement code.  Thus the effect of the old command
	"set log x" can be replicated by
	    set nonlinear x via log10(x) inverse 10**x
	    set xtics logscale

	* docs/gnuplot.doc:  Nonlinear axes part 5 (documentation).

	* demo/all.dem demo/probably_tux.demo
	demo/nonlinear1.dem demo/nonlinear2.dem demo/nonlinear3.dem:
	Nonlinear axes part 6 (demos)

2016-04-23  Ethan A Merritt  

	* configure.ac src/axis.h:  Preparation for nonlinear axis code.
	Nonlinear axes part 1
	New configuration option --without-nonlinear-axes will allow to disable
	code that depends on #ifdef NONLINEAR_AXES.

	* src/graphics.c (adjust_offsets) src/plot2d.c (eval_plots):
	Revise tests for linked axes to distinguish between "set nonlinear"
	and "set link".

	* src/axis.c src/axis.h src/command.c src/mouse.c src/plot2d.c src/save.c
	src/save.h src/set.c src/show.c src/tables.c src/tables.h src/unset.c:
	Nonlinear axes part 2
	New command "set nonlinear  via f(axis) inverse g(axis)"
	At this stage only the x and y axes are supported.

	* src/axis.c src/plot2d.c:
	Nonlinear axes part 3
	When plotting functions on a nonlinear axis, choose the samples evenly
	along the linear axis it is linked to.

2016-04-22  Ethan A Merritt  

	* src/graph3d.h src/util3d.c:  Move macro map_x3d() and friends from
	a shared header to the only file where they are used.

2016-04-21  Tatsuro MATSUOKA  

	* win/gnuplot.iss: Restore  to indicate utf-8 enconding.
	Reverts change 2016-04-10

	* config/mingw/Makefile:  Add warning that it is required to use the
	unicode version of Inno Setup Compiler rather than the standard version
	because gnuplot.iss is now encoded utf-8 with BOM.

2016-04-20  Ethan A Merritt  

	* src/graphics.c (process_image):  There are two paths through the
	code that extracts image data from an ascii input stream, depending
	on whether the x or y coordinate varies fastest.  The fix for Bug #1767
	corrected one path but broke the other.  Now we fix the broken path so
	that both are working, at least on test data.
	Bug #1782

2016-04-16  Ethan A Merritt  

	* src/util3d.c (apply_3dhead_properties) src/util3d.h src/hidden3d.c
	src/graph3d.c:  After consolidation of 2D and 3D axis initialization
	into axis_set_scale_and_range() (3-Mar-2016) there is no longer any
	reason to have separate 2D and 3D versions of apply_head_properties
	for arrows.

	* src/graph3d.c (get_arrow3d):  Fix typo introduced in 5.0 that caused
	arrows defined by "from ... rto ..." to be mangled in 3D plots.

	* src/fit.c (fit_command): Replace misleading use of SECOND_Z_AXIS.

	* src/fit.c (fit_command): Avoid using globals x_axis/y_axis/z_axis.

	* src/axis.c:  Disallow commands affecting z2, e.g. "set log z2"

	* src/graphics.c (attach_title_to_plot): Bad things happen if you try
	to attach a title to the end point of a plot with no points (NODATA).

2016-04-15  Shigeharu Takeno  

	* docs/gnuplot.doc:  Edits to description of dashtype and pt .

	* src/term.c:  Windows requires mode "wb" for pipe output, BSD requires
	"w" (no "b" character), linux will accept either.
	Bug #1756

2016-04-11  Ethan A Merritt  

	* src/plot2d.c (refresh_bounds):  Patch from 2016-01-18 to fix bug
	#1709 introduced a regression.   Minimal example:
		'set log x; plot '-'; replot'
	failed to delog/log the updated min/max axis limits.
	Bug #1774

2016-04-10  Tatsuro MATSUOKA  

	* win/gnuplot.iss: Remove  marker from start of file, since this
	makes autoconfigure fail on MinGW. >>> NB: Reverted 2016-04-21

2016-04-08  Bastian Maerkisch  

	* src/util.c (existdir) src/misc.c (recursivefullname):  Use Windows
	implementations of getdir() and friends in stdfn.c instead of platform
	specific code (or the ones provided by OpenWatcom).

2016-04-06  Ethan A Merritt  

	* term/emf.trm:  Enhanced text mode was over-zealously skipping new
	set_font requests if successive writes requested the same font+property.
	This caused it to lose italic/bold/etc properties.
	Prevent this by clearing the font history at the end of each enhanced
	text write.
	Bug #1772

2016-04-04  Ethan A Merritt  

	* src/graphics.c (process_image):  There is not currently a fool-proof
	mechanism for inferring image dimension from a set of x/y/z coords read
	as ascii data.  But we can do better than transposing the row/column
	count by mistake.  Note that this same transposition was previously
	fixed for the case of ascii matrix data input (Bug #1654)
	Bug #1767

2016-04-02  Ethan A Merritt  

	* src/axis.c (eval_link_function):  Test for "undefined" status on
	return from link evaluation.

2016-04-01  Ethan A Merritt  

	* src/term_api.h src/graphics.c term/qt.trm:  The qt terminal output
	for "with image pixels" suffers from bad inter-pixel artifacts. This
	seems due to use of term->fillbox() rather than term->filled_polygon().
	The qt fillbox routine is probably fixable but for now we add a
	terminal flag TERM_POLYGON_PIXELS that tells the image code to use
	polygons instead.

2016-03-31  Bastian Maerkisch  

	* src/command.c (rlgets) docs/gnuplot.doc:  Do not add lines to
	command line history which start with a history command.
	Bug #1763

2016-03-31  Ethan A Merritt  

	* src/history.c (add_history):  The documentation states that
	"set history N" will save N lines on history to a file on program exit.
	This is true in practice for both the readline-based history code and
	the built-in history code.  However the builtin code also truncates and
	renumbers the active history list in the current session.  This makes
	the numbers essentially useless once the list reaches N entries.
	Remove this unwanted secondary effect in the built-in version.
	Bug #1763.

	* src/axis.c (gen_tics):  Promote logscale base from 0 to 10 on entry
	rather than later having to test for nonzero each time.

2016-03-30  Bastian Maerkisch  

	* config/mingw/Makefile:  Use local version of gnuplot to generate
	plots of the tutorial.

	* config/mingw/Makefile:  Collecting all required DLLs for a Windows
	binary package can be tedious.  When activated via the DLLS=1 option,
	we now try to at least automatically copy all DLLs from Mingw-w64.
	Applies to targets `install`, `installer`, and `zip`.

2016-03-29  Bastian Maerkisch  

	* src/win/wmenu.c:  Remove the alternative code which would use a
	modified file-open-dialog to select a directory.  This wasn't working
	since Vista anyway and was never included in any official binary.

	* src/command.c:  The Windows specific winsystem() has been deactivated
	for a long time. Remove it.

	* src/readline.c:  The return value of the *_getch() functions should
	be int, not char, in order to avoid confusion between EOF (-1) and
	(char)0xff.
	Bug 1558

	* src/qtterminal/qtconversion.cpp:  Avoid use of isnan() in C++ code.
	The C++11 standard has it as a function in the std namespace, whereas
	older compilers provude it as a macro or as ::isnan(). Use (var != var)
	instead.

2016-03-25  Ethan A Merritt  

	* axis.c (eval_link_function) graphics.c (plot_lines):
	If map_x() or map_y() trigger eval_link_function(), it may return NaN.
	In this case the mapped coordinate value is nonsense and the "undefined"
	flag is TRUE.  Check this flag to avoid drawing spurious line segments
	in plot with lines.

	* src/axis.c src/axis.h src/plot2d.c:  New routine init_sample_range().
	Always use SAMPLE_AXIS to hold bookkeeping values for function sampling,
	rather than sometimes using a real axis, sometimes a parametrics axis,
	and sometimes SAMPLE_AXIS.

2016-03-24  Ethan A Merritt  

	* src/command.c (array_command):
	Sanity check: array name must start with a letter.

	* src/command.c (command is_array_assignment):
	Change the order of parsing: check for array assignment before trying
	to interpret the first input token as a command keyword.  E.g.
	"array q[2]; q[1] = 1" must not interpret the initial 'q' as shorthand
	for 'quit'.
	Bug #1762

2016-03-24  Bastian Maerkisch  

	* config/mingw/Makefile:  The proper way to invoke shell commands in
	GNU makefiles is via $(shell ...).  Using backticks relies on the
	shell doing the replacement and is not always what we want.
	Bug #1752

2016-03-21  Ethan A Merritt  

	* src/datafile.c src/datafile.h src/unset.c: The df_fgets() change
	4 days ago caused a regression because input buffer initialization was
	missed in some paths.  Rename the shared buffer to df_line.
	Move the initialization into a new routine df_init() called via
	reset_command() on program entry.
	Bug #1758

	* src/axis.c (clone_linked_axes): If an endpoint of a linked axis was
	exactly zero, the forward/reverse link check would complain because of a
	spurious divide-by-zero.  Now we test for this case separately.

	* src/graphics.c (do_plot plot_points):  The "dots" plot style is
	implemented internally as pointtype 0, although this was never stated in
	the documentation. Apparently some users discovered and used pointtype 0
	routinely and were unhappy that it stopped working in version 5.
	Neither the original behavior nor its removal was intentional, but it is
	easy enough to restore the pre-version 5 behaviour so we do it now.
	Bug #1733

2016-03-20  Matthew Halverson  

	* src/term.c (term_set_output):  Open pipes in binary mode if the
	terminal has the TERM_BINARY flag set.
	Bug #1756

2016-03-17  Ethan A Merritt  

	* src/plot2d.c:  If pointtype PT_CHARACTER is the default for a plot
	then allow text options like "tc rgb 'foo'" in the plot command.

	* src/command.c src/eval.c src/parse.c:  Disentangle gpfree_string() and
	gpfree_array().  Most callers should avoid the latter.

	* src/graph3d.c src/graphics.c src/hidden3d.c:  "pt variable" point
	types were off-by-1 on output.
	Bug #1754

	* src/datafile.c src/datafile.h src/datablock.c:
	There was already a routine df_gets() in datafile.c that safely reads in
	an arbitrary length line of data.  Split this into a public function
	df_fgets() and a private wrapper df_gets().  Share the public function
	with data input in datablock.c:datablock_command.  This removes the
	limit of 1024 characters per line read in to a datablock.

2016-03-15  Ethan A Merritt  

	* src/qtterminal/qt_term.cpp:  Revise "set term qt  close" so that
	1) It closes window with id N but leaves the current window id unchanged
	2) It executes the command immediately rather than queueing it
	Bug #1753

	* src/qtterminal/QtGnuplotWindow.cpp:  Do not set the DeleteOnClose
	attribute of plot windows.  This avoids an error message if you send a
	new plot after explicitly closing the current plot window.
	Bug #1753 #1554

2016-03-13  Ethan A Merritt  

	src/axis.h src/mouse.c src/save.c: Minor code cleanup for linked axes.

2016-03-10  Ethan A Merritt  

	* src/save.c (save_link) src/save.h src/show.c:  New routine so that
	"show/save link" is distinct from "show/save xrange".

2016-03-09  Allin Cottrell  

	* term/aquaterm.trm: Incorrect argument type to abs() or fabs().

2016-03-08  Ethan A Merritt  

	* src/axis.h src/axis.c src/command.c src/unset.c src/set.c:
	Add a new field axis->linked_to_secondary so that the handling of linked
	axes is more symmetric.  Now you can do "set [*]range" on either end of
	the linkage and the min/max/etc for the other end of the linkage will be
	recalculated automatically.

	* src/axis.h src/axis.c src/boundary.c src/graph3d.c:  Replace
	AXIS_SETSCALE(AXIS_INDEX, ) and axis_set_graphical_range(AXIS_INDEX, )
	with a single combined routine axis_set_scale_and_range(AXIS *, ).

	* src/axis.c src/graphics.c:  More cleanup and generalization of linked
	axis code.

2016-03-07  Shigeharu Takeno  

	* term/tkcanvas.trm src/win/wgnuplot.mnu:  Typos.

	* docs/term-ja.diff docs/gnuplot-ja.doc
	src/win/wgnuplot-ja.mnu win/README-Windows-ja.txt:
	Sync Japanese documentation to doc version 1.982

2016-03-06  Bastian Maerkisch  

	* config/mingw/Makefile win/gnuplot.iss:  Support MSYS2/Mingw-w64 as
	well as MSYS/MinGW and compilation using clang.  Ability to build
	64bit or 32bit zip package and installer.  New make flags MINGW64,
	CLANG, COLOR-GCC, and M32.  Default to 64bit builds when using
	Mingw-w64, use M32 flag to select 32bit builds.

	* src/win/wcommon.h src/win/wgdiplus.cpp src/win/wgnuplib.h
	src/win/wgraph.c:  Fix several issues found by clang, with the most
	important being wrong delete's in wgdiplus.cpp.

	* scanner.c (get_num):  strtoll() on Windows may consume zero
	characters causing an infinite loop for the input "0x".
	Bug #1745

	* src/win/wgraph.c (MakeFonts, TryCreateFont):  Do not rely on GDI
	supplying a sensible substitute when a requested font is not
	available.  Instead, fall back to the user-supplied default font or
	the terminal's default font if the former is not available.
	Bug #1669

2016-03-05  Ethan A Merritt  

	* src/wxterminal/gp_cairo.c (gp_cairo_set_linewidth):  Change the
	minimum linewidth supported by pdfcairo to match the other cairo
	terminals.  Reduce all of them to 0.20 pts (was 0.25 or 0.50).

	* src/axis.c src/graphics.c:  More cleanup of linked axis code.

2016-03-03  Ethan A Merritt  

	* src/plot2d.c (get_data):  Introduction of "pt variable" increased the
	maximum number of data columns for "with points" to 5.  If the plot
	command really does consume 5 columns, fine.  But if get_data returns
	5 columns for a simple 'plot with points' command, we have to ignore the
	extra columns gracefully.
	Bugfix

	* src/axis.c src/axis.h src/eval.c src/eval.h:
	Move eval_link_function() from eval.c to axis.c

	* src/axis.c src/axis.h src/eval.c src/eval.h src/command.c
	src/graph3d.c src/graphics.c src/mouse.c src/plot2d.c src/set.c:
	Revise clone_linked_axes() and eval_link_function() to use
	(AXIS *) pointers rather than AXIS_INDEX.

	* src/axis.c (clone_linked_axes): Warn that the program cannot
	currently handle via/inverse mapping of linked logscale axes.
	Bug #1736

2016-03-02  Ethan A Merritt  

	* src/command.c (link_command): Accept "unset link "
	(regression since 5.0).

2016-03-01  Ethan A Merritt  

	* src/internal.c (f_assign): Sanity check for array index that
	is found to be zero during expression evaluation.

	* graphics.c (map_position_double): Fix stupid typo that tried to map a
	linked y axis through the x mapping function. This always mis-placed
	objects and labels whose position is given in terms of y2 whenever y2 is
	linked to y1. Furthermore placement on either x2 or y2 could be wrong if
	the most recent plot did not use that same linked axis.

2016-02-29  Ethan A Merritt  

	* src/gp_types.h src/graph3d.c src/graphics.c src/misc.c src/plot2d.c
	src/plot3d.c src/save.c src/term_api.h src/hidden3d.c docs/gnuplot.doc:
	Add support for "pointtype variable".  If there are multiple "variable"
	properties in the same [s]plot command, the order of columns in the
	using spec is
		[s]plot DATA using x:y:z:pointsize:pointtype:color
	"pointtype variable" is only allowed with "points" or "linespoints".
	Only numerical point types are possible; if you want variable character
	pointtypes use "with labels" instead.

	* src/stats.c:  "array A[n];  stats A" should default to single-column
	analysis (equivalent to stats A using 2) since the properties of the
	index are uninteresting.

2016-02-28  Ethan A Merritt  

	* src/util.h src/util.c (common_error_exit):  Move the code that resets
	various gnuplot state variables after an error from int_error() to a new
	common path routine common_error_exit() shared with os_error().  Ensure
	that GPVAL_ERRNO and GPVAL_ERRMSG are set in both cases.
	Bug #1741

2016-02-26  Hans-Bernhard Broeker  

	* src/win/wgnuplot.mnu: Update the Windows GUI menu definitions a
	bit.

2016-02-20  Ethan A Merritt  

	* src/parse.c (parse_assignment_expression): In order to support
	assignment to an array element (e.g. A[i] = foo) a slot for the
	array index is always pushed onto the evaluation stack even if no
	array is involved.  However this slot was not being initialized to
	a valid PUSHC descriptor, so "show at" and certain other
	operations could fail even though they don't really care about
	this dummy slot.  Now we initialize it to report that a NOTDEFINED
	variable was pushed.

	* src/command.c src/eval.c (push) src/internal.c src/parse.c: Back
	off to the original idea that bare array names are not legal for
	expression evaluation.  The previous work-around of copying the
	entire array on every reference imposed a huge overhead for
	accessing the value of an individual entry. The previous code is
	left in place via #ifdef ARRAY_COPY_ON_REFERENCE to serve as a
	model for later expansion to support some subset of operations
	requiring a copy (e.g. simple assigment B=A or concatenation C =
	A.B).

2016-02-18  Ethan A Merritt  

	* src/command.c src/eval.c (push): Evaluation of expressions that
	contain a bare array name is problematic because any attempt to
	access the actual array contents during or after evaluation
	requires that they be duplicated on push() and freed
	later. Freeing is the tricky part, particularly if the array
	contains STRING elements.  This patch seems OK in preliminary
	testing, but at this point the only only possible operations are
	indexing and assignment. If other operations are added later they
	may reveal inadequacies in the alloc/free tracking.

2016-02-14  Bastian Maerkisch  

	* src/wxterminal/wxt_gui.h:  Use local events to avoid warnings about
	incompatible linkage on Windows.

	* config/mingw/Makefile:  Use MinGW's own implementations of
	printf etc. which are C99 compliant.

	* src/win/wtext.h:  Avoid warnings about the re-definition of
	popen/pclose with fake pipe support using MSYS2/Mingw-w64.

	* src/wxterminal/wxt_gui.cpp|h:  Fixes to make the wxt terminal work
	with wxWidgets 3 on Windows:
	1) Disable wxWidgets debug assertions in release builds. This does
	not solve the problem with a setlocale(LC_ALL, NULL) == "C" test in
	wxLocale, but at least gets rid of the warning.
	2) Flush the cairo surface before blitting the internal bitmap to
	screen.

	* src/win/wgraph.c:  Include direct.h for _chdir().

	* term/tkcanvas.trm (TK_init):  TK_image requires WRITE_PNG_IMAGE to be
	defined.

2016-02-12  Jun Takimoto  

	* term/tkcanvas.trm:  More fixes suggested by clang warning messages.

2016-02-11  Bastian Maerkisch  

	* term/wxterminal/wxt_gui.cpp (wxt_raise_window):  On Windows, only
	Restore() the window if it is iconized.  Fixes accidental resize of
	maximized windows.

	* term/tkcanvas.trm (TK_vector):  Fix for vector commands without
	preceeding move as e.g. in "with line lc variable".

	* src/fit.c:  Fix order of using specs printed to log-file.
	Bug #1657

	* docs/term-ja.diff:  Remove japanese documentation for sun, next, and
	openstep terminals which were removed on 2016-01-11.

2016-02-11  Ethan A Merritt  

	* src/term.c src/axis.h src/plot3d.c: Remove dead code and old comments.
	Comment out the call to AXIS_WRITEBACK that appears to be a vestige from
	a code reorganization in the version 3.8 era. There are no other users
	of this macro.

	* src/set.c src/show.c:  set/show arrow length wants only a single
	coordinate, not three.  (See patch of 2015-12-19).

2016-02-10  Bastian Maerkisch  

	* term/dumb.trm:  Include stdint.h to make sure that uint32_t is defined
	(MSVC).

	* config/config.nt config/config.nt:  Sync with output of configure.

	* config/mingw/Makefile:  Use gnuplot's default settings to generate
	plots for the documentation.

	* configure.ac:  Cairo terminals require pango 1.22
	(pango_layout_get_baseline) now.  Consequently they do no longer build
	on RH5 etc.

2016-02-10  Ethan A Merritt  

	* src/command.c (print_command):  Do not allow printing a datablock into
	itself, which could cause infinite recursion.

	* src/stats.c: Reset data input mode to 2D at start of stats command.
	This produces consistent results for "stats FOO matrix", even if the
	previous command was "splot".
	Bug #1739

2016-02-08  Anton Gladky  

	* term/tkcanvas.trm:  Replace statements of the form
	fprintf(gpoutfile, string) because they trigger a compiler warning/error
	with  -Werror=format-security.

2016-02-08  Ethan A Merritt  

	* src/datafile.c src/parse.c src/parse.h:

	Add bookkeeping to allow 'plot', 'stats', and 'fit' commands to work
	on data stored in an array.
	    array  A[200]
	    do for [i=1:200] { A[i] = sin(pi * i/100.) }
	    plot A title "sin(x) in centiradians"

	*  demo/array.dem docs/gnuplot.doc:
	Documentation and demo for use of arrays in 'fit' and 'plot'.

	* src/command.c src/save.h src/save.c (save_array_content):
	Dump content of arrays in a "print" or "save" statement, analogous to
	printing/saving content of user-declared variables.

2016-02-07  Ethan A Merritt  

	* src/command.c src/command.h src/eval.c src/eval.h src/gp_types.h
	src/internal.c src/internal.h src/parse.c src/tables.c src/util.c
	src/save.c:  Basic support of arrays.

	Introduce support for arrays as an indexed list of variables.
	An array must be declared before its entries can be accessed.
	Each entry A[i] acts as a normal gnuplot user variable (integer, string,
	complex).  Variables held in an array need not be of the same type.
	    array  A[2] = [ "apples", "oranges" ]
	    set title sprintf("Comparing %s and %s",A[1],A[2])
	    plot for [n = 1:2] A[n] title A[n]

	* docs/gnuplot.doc demo/array.dem demo/all.dem demo/html/*:
	Documentation and demo for basic use of arrays.

2016-02-04  

	* src/gadgets.c (clip_line):  Use (double) rather than (int) for
	intermediate coordinates used in line clipping.
	Bug #1614

2016-02-04  Joachim Wuttke  

	* term/tkcanvas.trm:  Replace old (pre-1999) tkcanvas.trm with a
	rewrite from Joachim Wuttke  
	and Bastian Maerkisch  

	This new driver has only partial support for scripting languages other
	than tcl and has unreliable support for image data, but it is strictly
	better than the 1999 terminal.

2016-02-03  Jun Takimoto  

	* config/mingw/Makefile:  Pass through MAINVERSION and PATCHLEVEL
	into the MinGW build process.

2016-02-03  Daniel J Sebald  

	* src/help.c:  Be less aggressive about suppressing help index entries
	that might share a leading substring.
	Bug #1734

2016-02-03  Ethan A Merritt  

	* src/stats.c (create_and_set_int_var):  Some of the user-accessible
	variables created by the stats command are necessarily integral (e.g.
	STATS_records, STATS_columns).  Create these using Ginteger() rather
	than Gcomplex().

	* src/graphics.c (finish_filled_curve):  The routine fill_between()
	passes in an extra-long array whose last element stores above/below
	flag.  We must not try to test this flag on other processing paths
	because for them it is an out-of-bounds access (found by valgrind).

2016-01-31  Ethan A Merritt  

	* src/wxterminal/wxt_gui.cpp:  Another pair of fixes for wxt font
	processing.  Prevent a memory leak from temporary storage of the
	fontname.  Initial font used by enhanced text processing should be the
	most recently set font, not the original one from "set term".

2016-01-28  Ethan A Merritt  

	* src/set.c (set_missing): Remove minor memory leak if
	"set datafile missing '*'" is called repeatedly.

	* src/boundary.c src/graph3d.c src/graph3d.h src/graphics.c
	src/graphics.h src/plot2d.c src/plot3d.c:
	    {s}plot ... title "foo" at 
	New option for customized placement of individual key entries.

	* docs/gnuplot.doc demo/custom_key.dem:
	Documentation and demo for customized placement of key entries.

2016-01-26  Jun Takimoto  

	* term/wxt.trm: Previous fix for parsing font "name,size" was incorrect.
	Bug #1731

2016-01-25  Ethan A Merritt  

	* src/qtterminal/QtGnuplotScene.cpp:  Only toggle plots on left-click
	(not center- or right-click).

	* src/qtterminal/QtGnuplotScene.cpp:  Use explicit color Qt::lightGray
	to gray out toggled key entries.

2016-01-21  Jun Takimoto  

	* .../.cvsignore:  Include more of the auto-generated files in the lists
	of things for CVS to ignore during update/diff/status/commit/etc

2016-01-18  Ethan A Merritt  

	* src/plot2d.c (refresh_bounds):  The intent of this routine is to keep
	the previous axis range if the user has not changed autoscale settings.
	It wasn't working.  I'm not sure the revised code is doing quite the
	right thing either, but at least it correcly handles the test case in
	Bug #1709.

2016-01-17  Ethan A Merritt  

	* src/graphics.c (process_image): This routine handles both 2D and 3D
	images so it must not try to access fields only present in the 2D case
	(in this case plot->x_axis and friends).
	Bug #1718

	* term/wxt.trm (wxt_options):  Fix regression, fontsize ignored if it
	is the only thing in the requested font string (e.g. font ",12").
	Bug #1731

2016-01-16  Hans-Bernhard Broeker  

	Fix "make distclean" problems caused by a bug in automake, which
	in turn is triggered by docs/doc2wxhtml requring src/version.c.

	* configure.ac (VERSION_MAJOR, PATCHLEVEL): Export these from
	shell scripts to config.h.
	(PATCHLEVEL): Export to configure script.

	* docs/windows/doc2html.c (convert): Replace references to
	version.c constants by macros in config.h.

	* docs/Makefile.am (doc2wxhtml_SOURCES): Remove use of version.c.

	* term/djsvga.trm (DJSVGA_set_font): Somebody overlooked this call
	of graph_error.

2016-01-14  Ethan A Merritt  

	* src/eval.c (real) src/standard.c (f_int):  Special case handling of
	NaN or undefined values during expression evaluation was lost if the
	expression passed through an intermediate integer value. For example
	int(NaN) evaluated to "-2147483648" rather than "NaN" or "undefined".
	Add special case checks to the integer evaluation path.

2016-01-12  Jun Takimoto  

	* term/aquaterm.trm: Add support for version 5 custom dashtypes.

2016-01-11  Ethan A Merritt  

	* term/sun.trm: The SunView windowing system was phased out after
	Solaris 2.2 (end of life 1999). Remove the corresponding terminal
	from the gnuplot distribution.

	* configure.ac configure.vms config/makefile.dj2 config/makefile.emx
	docs/doc2texi.el docs/Makefile.am PORTING src/makefile.all
	src/makefile.awc src/term.c src/term.h:  Remove references to sun.trm.

	* docs/gpcard.tex (move to subdirectory docs/old/) Makefile.am
	makefile.os2 mingw/Makefile MacOSX/createdist.sh:
	gpcard is horribly out of date to the point of holding only historical
	interest.  Remove it from the build rules.  Also remove makefile.dst
	which was superseded by autotools + Makefile.am 15 years ago.

2016-01-09  Ethan A Merritt  

	* src/qtterminal/qt_term.cpp: "set term qt  title 'foo'" was
	incorrectly changing the title of the previous plot window in addition
	to that of the new plot window.

	* src/internal.c:  Error messages should distinguish between an
	uninitialized variable and an improper variable type.

	* configure.ac: Do not assume that wxwidgets uses the gtk2 toolkit
	(it might use gtk3 or on OSX it might use cocoa).

	* src/pm3d.c: Account for interpolated quadrangles when applying a pm3d
	lighting model.

	The NeXT and OpenStep platforms per se are 15-20 yrs dead and gone.
	Aquaterm is the evolutionary successor of openstep.

	* src/NeXT src/OpenStep term/next.trm term/openstep.trm configure.ac
	m4/next.m4: Remove the drivers proper.

	* src/Makefile.am src/axis.h src/makefile.all src/makefile.awc
	src/stdfn.h src/syscfg.h src/term.c src/term.h src/util.c
	src/variable.c term/cgm.trm term/driver.h docs/Makefile.am
	docs/doc2texi.el: Remove references to the next and openstep terminals
	and remove code conditional on NEXT.

2016-01-05  Ethan A Merritt  

	* src/fit.c:  The fit command should gracefully accept data files known
	to contain column headers.  Previously this sequence would fail:
	   set key autotitle columnhead;  fit ...

	* src/stats.c:  Make data errors in stats command non-fatal,
	i.e. int_warn() rather than int_error().

	* src/internal.c:  Store return value from system("") in GPVAL_ERRNO.

2016-01-04  Ethan A Merritt  

	* src/wxterminal/wxt_gui.cpp:  Several components of the gtk2 API have
	been deprecated, which prevents compiling the wxt terminal using wxt3
	or indeed recent versions of gtk2.
	1) Replace handle->window with gtk_widget_get_window(handle).
	2) gdk_window_foreign_new() (used only by --enable-raise-console) no
	longer exists. Make this code conditional on (GTK_MAJOR_VERSION == 2).

2015-12-31  Ethan A Merritt  

	* term/post.trm (PS_dashtype): Prevent overflow of the custom
	dash pattern array, leading to possible corruption of the output
	postscipt file.

	* src/set.c src/show.c src/term.c:
	New command "set mono linetype cycle N" acts analogously to
	"set linetype cycle N".  If a monochrome linetype N is requested
	where N is larger than any defined monochrome linetype, then
	substitute a corresponding linetype in the range [1:cycle].

2015-12-30  Ethan A Merritt  

	* src/term_api.h src/term.c src/set.c (init_monochrome):
	Move this routine from set.c to term.c

	* term/lua.trm: Treat "set term tikz monochrome" as
	"set term tikz; set monochrome".

	* term/lua/gnuplot-tikz.lua:  Add \SetUnicodeOption{mathletters}
	to document produced by "set term tikz standalone".  This handles
	utf-8 encoded greek letters in gnuplot labels and titles.

2015-12-29  Ethan A Merritt  

	* term/wxt.trm (wxt_options): If a terminal setting option is not
	recognized, issue a warning rather than exiting early from terminal
	initialization. Incomplete initialization can cause segfaults later.

	* src/show.c: Show current state of "set monochrome" option.

	* src/unset.c (unset_monochrome): Clear monochrome flag in current term.

	* src/misc.c (parse_dashtype lp_parse) docs/psdoc/ps_symbols.gpi:
	Allow "dashtype 0", which is treated as LT_AXIS.
	Modify ps_symbols demo script to select dashed lines using version 5
	syntax ("dashtype N") rather than version 4 syntax ("linetype N").
	Bug #1724

2015-12-27  Ethan A Merritt  

	* src/qtterminal/qt_term.cpp (qt_waitforinput):  This routine is called
	to receive both external (e.g. mouse) events and input from stdin.
	In cases where we only care about events we must not perturb the state
	of stdin.  One such case was missed, leading to a character being
	dropped from the stdin stream depending on event timing.
	Bug #1559

2015-12-24  Jun Takimoto  

	* src/qtterminal/QtGnuplotScene.cpp: On Mac OS X, the Qt::KeypadModifier
	bit of event->modifiers() is *always* set when an arrow key is pressed.

2015-12-21  Ethan A Merritt  

	* src/plot2d.h src/plot2d.c (parse_plot_title) src/plot3d.c
	src/gadgets.c src/gadgets.h docs/gnuplot.doc:
	Consolidate 2D and 3D code for "[s]plot ... title " into a
	single routine parse_plot_title.

2015-12-19  Ethan A Merritt  

	* src/axis.h src/axis.c (get_position_default)
	src/setshow.h src/show.c (show_position) src/set.c (parse_label_options)
	src/save.h src/save.c (save_position)
	src/jitter.c src/plot2d.c src/plot3d.c:

	Distinguish internally between 1D positions (single coordinate),
	2D positions (only x,y) and 3D positions (x,y,z).
	This removes the ambiguity from commands like
	    plot foo with labels point offset 1,1,  func(x)
	Is func(x) a z offset (probably not) or is it a 2nd plot?
	Previously the get_position() code ate it as a z offset, but now the
	parsing is unambigously a 2D offset followed by a separate plot element.

2015-12-18  Ethan A Merritt  

	* src/save.c (save_variables__sub):  Do not write ARGn variables to
	save file.

2015-12-16  Ethan A Merritt  

	* src/axis.c (copy_or_invent_formatstring): Too many fixed precision
	decimal places, all zero, could be generated by a plot sequence like
	    set log y; plot [1:100] exp(-x)
	limit the number of decimal places to 10.
	related to bugs #1496 $1518

2015-12-10  Hans-Bernhard Broeker  

	* src/qtterminal/qt_conversion.cpp (qt_imageToQImage): Do not call
	C++ isnan() without a namespace specifier.

	EAM:  Reverting this change.  We may need a fix, but this isn't it.
	qtterminal/qt_conversion.cpp:
	In function 'QImage qt_imageToQImage(int, int, coordval*, t_imagecolor)':
	qtterminal/qt_conversion.cpp:129:14:
	error: expected unqualified-id before '(' token if (std::isnan(*image))

2015-11-29  Allin Cottrell  

	* term/metapost.trm: Set terminal flag TERM_IS_LATEX unless the
	"notex" option is active.  This causes axis tic labels to use the
	same default format "$%h$" as other TeX terminal types.

2015-11-12  Douglas Mason  
	    Lukas Jirkovsky  
	    Ethan  A Merritt  

	* src/pm3d.c (apply_lighting_model) src/pm3d.h src/save.c src/set.c
	src/show.c src/stdfn.h src/tables.c src/tables.h docs/gnuplot.doc:

	Add a simple lighting model to pm3d rendering.
	Syntax:
	    set pm3d nolighting    # default state
	    set pm3d lighting {primary } {specular }

	The command `set pm3d lighting` selects a simple lighting model in which
	a single fixed light contributes 50% of the overall illumination.
	The strength of this light relative to the ambient illumination can be
	adjusted by `set pm3d lighting primary `.  Specular highlights
	are calculated using a Phong model with fixed exponent.  The fractional
	contribution of specular highlighting can be adjusted.  Model parameters
	controlling the illumination angle and Phong exponent are not exported
	to the user in this version, but easily could be if requested.

	Original patch by Douglas Mason. See Feature Request #323 (Mar 2012).
	Revised for gnuplot version 4.6 by Lukas Jirkovsky.  Revised by EAM for
	version 5.1 and modified to coexist with pm3d settings for depthorder,
	interpolation, and projection to the bottom or top of the view box.

	* demo/pm3d_lighting.dem:  New demo

2015-11-09  Ethan A Merritt  

	* src/axis.c src/axis.h src/graphics.c src/save.c src/set.c src/show.c
	src/unset.c:  The documentation says that "set tics `front` or `back`
	controls whether the tics are placed behind or in front of the plot
	elements".  This was sort of true but it did this by moving the entire
	grid along with the tics, so you could not entirely place the tics
	and tic labels in front of the grid lines.
	Decouple these two operations so that `set tics {front|back}` does only
	what it is documented to do.
	Bug #1704

	* src/axis.c (gen_tics):  "set {*}tics rangelimit" applies to minor
	tics as well as major tics.
	Bug #1705

2015-11-06  Ethan A Merritt  

	* src/qtterminal/qt_term.cpp: Improved vertical alignment of Qt text
	fragments (analogous to Jun's cairo patch).

2015-11-06  Jun Takimoto  

	* src/wxterminal/gp_cairo.c: Fix longstanding bug in vertical alignment
	of text fragments in cairo terminals (including wxt).  Text containing
	superscripts was placed too low; text with subscripts too high.
	This is corrected by a query to pango_layout_get_baseline().
	Bugs #1319 #1586, probably others

2015-11-06  Ethan A Merritt  

	* src/internal.c (f_word f_words):  The implementation of word(string,N)
	returned the total number of words for any Nh_char using math.floor().
	This prevents text placement errors on OSX 10.10.2 with lua5.3.
	Bug #1682

2015-10-16  Ethan A Merritt  

	* term/lua/gnuplot-tikz.lua:  lua5.2 deprecates loadstring() in favor of
	load(). One of my test systems gives runtime errors without this change.
	Bug #1682

2015-10-13  Hans-Bernhard Broeker  

	* src/makefile.awc (COREOBJS): Add jitter.c module.

	* src/jitter.c (jitter): Repair initializer --- completely empty
	is not allowed.

2015-10-09  Ethan A Merritt  

	* src/set.c (parse_label_options): Only the full word "boxed" is
	acceptable as a label option.  Allowing the shorthand "box" causes
	confusion in other commands with a "box" option.  Bug #1681

	* src/interpol.c (cp_implode): Fix bug in "smooth cnorm" that has been
	there since the option was first introduced.

2015-10-08  Ethan A Merritt  

	* src/plot2d.h src/plot2d.c docs/gnuplot.doc:  Until now,
	"plot foo using N smooth freq" and "plot foo using N smooth kdensity"
	were interpreted as if the using clause was "using 0:N".  This is
	almost certainly not what the user expected.  Change it so that the
	interpretation is "using N:(1.0)", i.e. unit weight for each data point.
	This was always the recommended use in the docs; now it is the default
	interpretation as well.

2015-10-06  Ethan A Merritt  

	* src/set.c (set_obj):  "set obj N polygon ..." failed to consume all
	possible options and keywords.
	Bug #1680

	* src/plot2d.c (get_data):  "plot $foo using N smooth kdensity" is now
	interpreted as "using N:(1)".  Before it was interpreted as "using 0:N"
	which makes little sense.

2015-10-02  Ethan A Merritt  

	* src/boundary.c src/graphics.c src/save.c src/set.c src/term_api.h
	src/unset.c demo/varcolor.dem:
	Clean up implementation of "set errorbars ".
	Apply errorbars line properties also to candlesticks and boxplots.

	Add explicit handling for two line property settings that to the best
	of my knowledge were not used intentionally by other code paths.

	* src/term.c (term_apply_lp_properties): Treat LT_DEFAULT as "do not
	change current setting" rather than pass it to term->linetype(), which
	could produce unpredictable behaviour (not all terminals act the same).

	* src/gadgets.c (apply_pm3dcolor): Treat TC_VARIABLE as "do not change
	current setting".  Previously it would have resulted in setting the
	color to black, but that was unintentional.

2015-10-01  Ethan A Merritt  

	* src/datafile.c (df_readascii): The test intended to check whether the
	user requested more than 7 columns of formatted input has always been
	incorrect for 'splot'.  It tested against MAXDATACOLS rather than the
	actual number of requested columns.  The test worked but was redundant
	for 'plot' since requesting more than 7 columns will trigger another
	error message "too many columns for requested style".  Remove the test.
	Bug #1675

	* src/axis.c src/axis.h src/boundary.c src/gadgets.c src/gadgets.h
	src/graph3d.c src/graphics.c src/hidden3d.c src/misc.c src/save.c
	src/set.c src/term_api.h src/term.c:
	#define and use DEFAULT_P_CHAR for all initializers.
	Change lp_style_type.p_char from an unsigned long to char [8].
	This suffices to hold the UTF-8 encoding of all unicode code points.
	Bug #1676

2015-09-25  Ethan A Merritt  

	* src/boundary.c (do_key_sample):  Use the same arrowhead style in the
	key sample as used by the plot itself.

2015-09-18  Ethan A Merritt  

	* src/graphics.c (plot_boxplot):  Fix overrun if no valid points are
	found for some boxplot category (a.k.a. "level").  Fix clipping of
	outliers in zoomed boxplot.

2015-09-15  Mojca Miklavec  

	* term/lua.trm:  lua 5.3 deprecates luaL_checkint()
	Bug #1672

2015-09-13  Ethan A Merritt  

	* src/graphics.c src/jitter.c src/jitter.h src/makefile.all
	src/Makefile.am src/save.c src/save.h src/set.c src/show.c
	src/tables.c src/tables.h src/unset.c:  New plot capability.

	Syntax:
	    set jitter {overlap } {spread } {wrap }
	               {swarm|square}
	When the x coordinates of a data set are restricted to discrete values
	then many points may lie exactly on top of each other.  Jittering
	introduces an offset to the coordinates of these superimposed points
	that spreads them into a cluster.  This type of plot is called a
	"bee swarm" plot in R and other packages.

	* demo/all.dem demo/html/index.canvas demo/html/index.save
	demo/html/index.svg demo/html/Makefile demo/html/Makefile.canvas
	demo/html/Makefile.svg demo/jitter.dem docs/gnuplot.doc
	docs/plotstyles.gnu:  Documentation and demos for jitter settings and
	bee swarm plots.

2015-09-12  Ethan A Merritt  

	* docs/gnuplot.doc:  Reorganize the section containing plot style
	examples so that styles not generated by "with " are listed
	separately at the end.  E.g. polar plots are generated by the same
	"plot ... with " commands as non-polar plots.

2015-09-11  Akira Kakuto  

	* src/help.c term/lua.trm:  #ifdef _WIN32
	'\r' is accepted as a terminator after a prompt.

2015-09-04  Ethan A Merritt  

	* src/plot2d.c: For 2-column data plots with filledcurves, treat
	y= as if it were provided in the 3rd data column.
	Bug #1568

	* src/graphics.c (plot_boxes): Prevent array overrun if there are
	undefined points are at the end of a data set, as in the first plot
	of smooth.dem.

2015-08-31  Jun Takimoto  

	* src/wxterminal/wxt_gui.cpp:  Reset "yield" interlock on ctrl-C.
	Prevents endless futile loop with single-threaded wxt terminal.

2015-08-30  Ethan A Merritt  

	* src/wxterminal/wxt_gui.cpp:  Remove FPRINTF statements referring
	to a stopwatch timer that no longer exists.

2015-08-28  Ethan A Merritt  

	* src/wxterminal/wxt_gui.cpp (wxt_waitforinput):
	The single-threaded code path used by OSX and Windows (and optionally
	linux) was not honoring "pause mouse ..." commands, including "pause
	mouse close".

	* src/wxterminal/wxt_gui.cpp (wxt_exec_event):
	The single-threaded code path could lose an input character that arrived
	during a "pause mouse" interval.  Use ungetc to push a character back
	onto the input queue in this case.  (Not applied for Windows but maybe
	it should be?)

2015-08-25  Ethan A Merritt  

	* src/datafile.c (plot_option_index):  Sanity check that index >= 0.

	* src/datafile.c (df_determine_matrix_info):  "skip" option applies to
	records at the start of ascii matrix data as it does for normal ascii
	files.

	* src/datafile.c (initialize_plot_style):
	Some binary file options need to know what style of plot is involved.
	This lookup was being done as part of adjust_binary_use_spec(), but
	not all plots need to call that routine for anything else.
	Move the plot style lookup into a separate routine.

	* src/datafile.c (df_add_binary_records):
	Remove dead code (error checks that can never be reached).
	Make some internal bookkeeping variables df_* static.

	* src/datafile.c: whitespace cleanup

2015-08-24  Ethan A Merritt  

	* src/datafile.c (df_readascii):  The code supporting an input format
	assumed that the data being interpreted came from a file rather than
	using whatever string was returned by df_gets().
	E.g. this failed
		plot $datablock using 1:2 "format-string"
	Bug #1666

2015-08-24  Dima Kogan  

	* src/datafile.c (df_open):
	Syntax  "

Web Proxy Viewer  |  New URL  |  Original Page