2016-02-22  Release 5.0.3

2016-02-13  Bastian Maerkisch  <bmaerkisch@web.de>

	* config/mingw/Makefile:  Use gnuplot's default settings to generate
	plots for the documentation.  Use MinGW's own implementations of
	printf etc. which are C99 compliant.

	* src/qtterminal/qt_term.h src/qtterminal/qt_conversion.cpp:  isnan()
	is in namespace std.  -- Reverted since not all relevant compilers
	follow the C++11 standard just yet.

	* 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 <takimoto-j@kba.biglobe.ne.jp>

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

2016-02-11  Anton Gladky <gladk@debian.org>

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

2016-02-11  Bastian Maerkisch  <bmaerkisch@web.de>

	* 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

2016-02-10  Ethan A Merritt  <merritt@u.washington.edu>

	* 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-04  Ethan A Merritt  <merritt@u.washington.edu>

	* src/version.c PATCHLEVEL configure.in docs/titlepag.tex:
	Update patchlevel to 5.0.3

2016-02-04  <gbmiquel@users.sf.net>

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

2016-02-04  Joachim Wuttke  <jwuttke@users.sourceforge.net>

	* term/tkcanvas.trm:  Replace old (pre-1999) tkcanvas.trm with a 
	rewrite from Joachim Wuttke  <jwuttke@users.sourceforge.net>
	and Bastian Maerkisch  <bmaerkisch@web.de>

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

2016-02-03  Ethan A Merritt  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

	* src/graphics.c (plot_filledcurves):  Reevaluate variable fill color
	for every polygon in the input stream to "with filledcurves".
	This change was noted in the ChangeLog for 15-Jan-2015 but apparently
	was not actually applied to the code.
	Bug/Feature Request #411

2016-01-26  Jun Takimoto <takimoto-j@kba.biglobe.ne.jp>

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

2016-01-25  Ethan A Merritt  <merritt@u.washington.edu>

	* 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-18  Ethan A Merritt  <merritt@u.washington.edu>

	* src/term_api.h src/gadgets.h:  Move definition of struct t_image
	from term_api.h (no terminals use it) to gadgets.h (2D and 3D plots).

	* src/datafile.c src/graphics.c (plot_image_or_update_axes):
	Remove old code that tried to empirically determine the grid size of
	an image based on 3D coords.  Backport v5.1 bookkeeping that stores
	dimensions in plot->image_properties.{ncols,nrows} when image data is
	read in.

	* 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 Bug #1709.

	These changes are back-ported from version 5.1 to address
	Bugs #1607 #1703 #1709 #1718

2016-01-17  Ethan A Merritt  <merritt@u.washington.edu>

	* 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-12  Jun Takimoto <takimoto-j@kba.biglobe.ne.jp>

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

2016-01-09  Ethan A Merritt  <merritt@u.washington.edu>

	* src/parse.c src/parse.h src/plot2d.c src/plot3d.c src/set.c
	src/unset.c demo/iterate.dem docs/gnuplot.doc:
	New special case of iteration in a plot command:
		plot for [i=<start> : *] datafile ...
	This will iterate over all available data without generating an error
	message when the data is exhausted and without generating empty plots.
	It can be used to iterate over an unknown number of columns (e.g. for
	histograms), an unknown number of datafiles where the file name is
	generated from the iteration variable, or an unknown number of data
	blocks (e.g. plot for [i=0:*] datafile index i).

2016-01-09  Ethan A Merritt  <merritt@u.washington.edu>

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

2016-01-06  Release 5.0.2

2015-12-31  Ethan A Merritt  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

	* 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".

2015-12-29  Ethan A Merritt  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

	* 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 <takimoto-j@kba.biglobe.ne.jp>

	* 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-23  Ethan A Merritt  <merritt@u.washington.edu>

	Bump PATCHLEVEL 2 in preparation for incremental release 5.0.2

2015-12-18  Ethan A Merritt  <merritt@u.washington.edu>

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

2015-12-01  Ethan A Merritt  <merritt@u.washington.edu>

	* src/plot2d.c:  Allow "noautoscale" keyword for 2D function plots.

2015-11-09  Ethan A Merritt  <merritt@u.washington.edu>

	* 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 to major tics.
	Bug #1705

2015-11-06  Jun Takimoto <takimoto-j@kba.biglobe.ne.jp>

	* 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-10-31  Ethan A Merritt  <merritt@u.washington.edu>

	* src/util3d.c src/util3d.h (edge3d_intersect two_edge3d_intersect):
	Change parameters to (coordinate *) rather than (array, index) so that
	the same routines can handle clipping 3D vectors that are not stored as
	successive entries an array.

	* src/graph3d.c src/plot3d.c:  Support "set clip {one|two}" for 3D
	vector plots.

	* src/datafile.c (df_set_key_title):  Use of columnheader(N) could 
	sometimes leave an extraneous character '@' in the plot title.
	This was introduced in 5.0.1 as a sideeffect to the fix for Bug #1596.

2015-10-28  Ethan A Merritt  <merritt@u.washington.edu>

	* src/interpol.c (mcs_interp): Handle log-scaled y axis when using
	monotonic cubic splines ('smooth mcs'). 

	* src/plot2d.c (boxplot_range_fiddling):  Fix autoscaling of x axis if
	there are multiple boxplots with factors.
	Bug #1696

	* src/graphics.c (plot_points plot_boxplot): Declare and initialize
	p_height and p_width locally (no code was updating the global copy).
	This fixes nonfunctional "set clip points" command in version 5.

	* src/boundary.c (do_key_layout) src/graph3d.c (boundary3d):
	Remove reference to p_height, p_width.

2015-10-22  Ethan A Merritt  <merritt@u.washington.edu>

	* src/time.c (gstrptime): Fixes a bug in processing time input using
	format "%s".  Because time input can cross whitespace between fields,
	the string being parsed for one field may continue on into the next
	field.  The "%s" code looked for the first decimal point in the string,
	but would read beyond the current field to find it, causing an erroneous
	fractional second to be added to the input time value.

	* src/term_api.h term/post.trm src/graphics.c (plot_border)
	term/PostScript/prologue.ps term/PostScript/prologues.h:

	This change addresses a backward-compatibility issue with the postscript
	terminal in version 5.  The long ago original postscript terminal used a
	double-width line for the plot border. This was what you got when you
	specified "lt -1" in a gnuplot command.  All terminals agree that lt -1
	is black and solid, but postscript is anomalous in thinking that it has
	double width.  Furthermore postscript is anomalous in applying the
	current line width to draw dots (pointtype 0).  This meant that dots
	drawn with lt -1 were twice as big as dots drawn with other linetypes.
	We could just get rid of the double-width anomaly, but then new plots
	would have a thinner border than old plots produced with the same
	script.  This patch instead adds a layer flag TERM_LAYER_BEGIN_BORDER
	so that the postscript terminal can temporarily use new style LTB
	rather than LTb.  All other terminals will ignore it.
	Bug #1689 and others

2015-10-16  Abhijin Adiga  <abhijin@users.sf.net>

	* term/lua/gnuplot-tikz.lua:  Truncate term->h_char using math.floor().
	This prevents text placement errors on OSX 10.10.2 with lua5.3.
	Bug #1682

2015-10-09  Ethan A Merritt  <merritt@u.washington.edu>

	* 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-06  Ethan A Merritt  <merritt@u.washington.edu>

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

2015-10-01  Ethan A Merritt  <merritt@u.washington.edu>

	* 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

2015-09-25  Ethan A Merritt  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

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

2015-09-15  Mojca Miklavec  <mojca.miklavec.lists@gmail.com>

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

2015-09-11 Akira Kakuto <kakuto@fuk.kindai.ac.jp>

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

2015-09-04  Ethan A Merritt  <merritt@u.washington.edu>

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

2015-08-31  Jun Takimoto <takimoto-j@kba.biglobe.ne.jp>

	* 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  <merritt@u.washington.edu>

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

2015-08-28  Ethan A Merritt  <merritt@u.washington.edu>

	* 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  <merritt@u.washington.edu>

	* 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.

2015-08-24  Ethan A Merritt  <merritt@u.washington.edu>
	
	* 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  <dima@secretsauce.net>

	* src/datafile.c (df_open): 
	Syntax  "<&N"  plots data read from an arbitrary file descriptor, but
	that descriptor may be a pipe (non-seekable) rather than a true file
	(seekable). If the fd is not seekable, mark it a "volatile" so that
	gnuplot doesn't try to reread it on "replot".

2015-08-21  Ethan A Merritt  <merritt@u.washington.edu>

	* src/graphics.c (map_position_r):  There is no way to indicate
	"no offset" as opposed to "offset 0", which was causing problems
	if "offset 0" was applied as axis coordinates on a log-scaled axis.
	Now in 2D "offset 0" is interpreted as no offset even for log-scaled
	axes.  3D offsets are still a sore point.
	Bug #1662

2015-08-18  Ethan A Merritt  <merritt@u.washington.edu>

	* src/qtterminal/QtGnuplotEvent.cpp src/qtterminal/qt_term.cpp:
	Make the error messages from a broken connection to gnuplot_qt less
	alarming.  No change in functionality.  See Bug #1554

	* src/qtterminal/qt_term.cpp:  Use fprintf(stderr, ...) instead of
	qDebug() << ... for the inboard driver.  This allows allows Windows
	to catch error messages by the redefinition of fprintf in wtext.h.
	See Bug #1554

2015-08-14  Ethan A Merritt  <merritt@u.washington.edu>

	* term/dumb.trm src/stdfn.h:  Handle UTF-8 encoding so long as each
	printed glyph occupies only one character cell.  The code is specific
	to UTF-8; i.e. it does not handle other multi-byte encodings.
	Bug #1477

2015-08-12  Ethan A Merritt  <merritt@u.washington.edu>

	* src/datafile.c (df_generate_pseudodata):  The sampling coordinates 
	generated by pseudofiles '+' and '++' were passed as an ascii string,
	which truncated precision to 6 digits (default for format %g).  Now pass
	in parallel the original (double) value so that no precision is lost.
	Bug #1650

2015-08-07  "Jun T." <takimoto-j@kba.biglobe.ne.jp>

	* term/aquaterm.trm: Failure to save+restore original color was causing
	successive fill areas to become more and more transparent.
	Alsi, make background color pure white.

2015-08-05  Ethan A Merritt  <merritt@u.washington.edu>

	* src/parse.c (string_or_express): Prevent an empty string variable or
	expression from being interpreted as the magic names '' or "".
	E.g.
	    file1 = 'real-file'
	    file2 = "abc"[3:0]  # any expression that evaluates to ''
	    plot file1,file2    # plots file1 twice, no error message
	Bug #1660

2015-08-03  Ethan A Merritt  <merritt@u.washington.edu>

	* src/util.c (streq): Avoid buffer underrun on empty string.
	
	* src/axis.c (load_range):  "set [xyz]range" per se does not care if the
	range limits are extremely large, e.g.  xrange [ -inf.0 : inf.0 ]
	but other places in the code do not handle this cleanly.
	Limit the range to +/- VERYLARGE

2015-08-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp>

	* src/qtterminal/qt_term.cpp: Fix #ifdef block syntax, modify
	string concatenation to make it acceptable in VS2010.

2015-08-02  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/Makefile.am (GNUPLOT_QT) [BUILD_QT]: New variable to
	communicate optionally transformed name of gnuplot_qt into main to
	main executable.
	(AM_CPPFLAGS) [BUILD_QT]: Pass GNUPLOT_QT to the preprocessor.
	(clean-demo) [BUILD_QT]: Fix copy-paste-edit oversight.

	* src/qtterminal/qt_term.cpp (GNUPLOT_QT): If not defined from
	outside, provide fall-back definition equal to previously
	hardcoded value.
	(execGnuplotQt): Untangle the conditionals a bit. Use new macro
	GNUPLOT_QT for the name of the outboard driver executable (fixes
	SF bug #1652)

	* term/pslatex.trm [!EAM_BOXED_TEXT]: Remove empty fallback
	definition for new entry function.  Remove extraneous optional
	terminal API entry.

2015-08-01  <pudh4418@users.sf.net>

	* configure.in:  latest Qt5 requires compilation with -fPIC rather
	than -fPIE.
	Bug #1616

2015-08-01  Ethan A Merritt  <merritt@u.washington.edu>

	* src/stats.c src/set.c src/eval.c:
	Protect against 'free(foo); foo = try_to_get_string()' returning via
	int_error() and hence never resetting the value of foo. If executed
	again this leads to a double-free error.

	* src/parse.c (next_iteration): protect against user corrupting
	iteration variable.  E.g. either of these used to segfault
		plot for [n=1:2] x lw n='foo'
		do for [n=1:2] { n="foo" }

	* src/plot2d.c src/plot3d.c src/set.c:  Do not allow function plots
	to specifc an image style (with image/rgbimage/rgbalpha).

	* src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots):
	Example of bug:     plot for [i=1:3] T=sprintf("%d",i),i title T
	previous code evaluated the definition three times and only then
	make [one] plot.   After this fix the code executes define+plot
	three separate times.

	* src/command.c (plot_command splot_command):  Fuzz-testing found
	cases where 'refresh' triggered program failure if there was not an
	active refreshable plot.

2015-07-14  Ethan A Merritt  <merritt@u.washington.edu>

	Handle various cases of unexpected input commands or data that caused
	crashes in fuzz-testing.

	* src/datafile.c (df_open):  Filename of the form "+file.dat" must not
	be mistaken for special file '+'.

	* src/wxterminal/wxt_gui.cpp term/cairo.trm term/wxt.trm:
	Change fixed-length fontname storage to dynamic (cairo + wxt terminals).

	* src/datablock.c:  The storage in a zero-length datablock was not
	initialized.

	* src/set.c (set_style) src/save.c (save_data_func_style):
	Do not allow "set style func parallelaxes"

2015-07-12  Ethan A Merritt  <merritt@u.washington.edu>

	* src/command.c (bind_command) src/mouse.c (bind_fmt):
	Very old bug (pre v4.0) in parsing the bind command, such that
		bind X" some longish command"
	would corrupt memory.

2015-07-11  Christoph Bersch <usenet@bersch.net>

	* term/epslatex.trm:  enable dashtype processing

2015-07-11  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* demo/imageNaN.dem: Fix broken command in demo.

2015-07-11  Ethan A Merritt  <merritt@u.washington.edu>

	* src/set.c (load_tic_series): Incorrect nesting of brackets caused
	"set xtics 0" to be accepted rather than rejected.  This could lead
	to various bad outcomes (as found by fuzz-testing).

2015-07-08  Ethan A Merritt  <merritt@u.washington.edu>

	* term/estimate.trm:  Initialization of enhanced text string buffer.
	Bug #1648

	* src/set.c src/fit.c src/term.c src/parse.c term/cgm.trm term/gd.trm
	term/x11.trm:  Fuzz-testing found a recurring pattern of fragile code:
	if (isstringvalue(c_token))
	     foo = try_to_get_string();	/* cannot fail */
	Unfortunately it _can_ fail if an expression begins with a quoted string
	but is coerced into returning a numerical value. All of these sites
	require a specific check for (foo != NULL).
	Bug #1649

2015-07-05  Ethan A Merritt  <merritt@u.washington.edu>

	* src/wxterminal/gp_cairo.c (gp_cairo_set_dashtype):  If the dashtype
	is changed then the current path must be stroked and reopened.

2015-07-02  Ethan A Merritt  <merritt@u.washington.edu>

	* src/graph3d.c:  An incorrect test for variable color was used for
	splots with impulses or points.  Replace it with a shared correct test
	in check3d_for_variable_color.  Note: Binary plots can still set an
	incorrect flag plot->pm3d_color_from_column but this flag is no longer
	sufficient to cause the observed problem.
	Bug #1644

	* demo/html/webify.pl:  Default to pngcairo terminal rather than png.

2015-06-28  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/Makefile.am (gnuplot_x11_SOURCES): Add getcolor.c/.h to
	regular source list.
	(gnuplot_x11_CPPFLAGS): New, to communicate compiler flag into
	getcolor.c.
	(gnuplot_x11_LDADD): Remove manually created getcolor_x11.o file.
	(getcolor_x11.o): Rule Removed.

	* docs/Makefile.am (noinst_PROGRAMS): Add doc2wxhtml.
	(MOSTLYCLEANFILES, CLEANFILES): Split up into two lists, updated.
	(GNUPLOT_EXE, SRC_VERSION_O): New variables, point to freshly
	built files in main src directory.
	($(GNUPLOT_EXE), $(SRC_VERSION_O)): Build , if not already present.
	(grotxt, grodvi, grops): Turn into proper phony targets: depend on
	the file actually built, do nothing themselves.
	(troff, gnuplot.nroff, gnuplot.txt, gnuplot-groff.dvi)
	(gnuplot-groff.ps): Must depend on titlepag.ms in srcdir, not
	builddir.  Use automatic make variables to simplify. Changed build
	of gnuplot.ms allows to remove complications for out-of-tree
	builds.
	(gnuplot.ms): Call doc2ms with new argument to ease out-of-tree
	builds.
	(alldoc): Target 'ms' no longer exists.  Test actual outputs made
	from gnuplot.ms instead.
	(gnuplot.tex, pdffigures, figures, nofigures, pdffigures.tex):
	Rules removed. Having different rules produce files of the same
	name, but with different content depending on the order of make
	targets built, cannot possibly work.
	(figures.tex, nofigures.tex): Keep two different versions of
	gnuplot.tex in different-named files.
	(pdf_figures, wxhelp_figures): New targets to handle generation of
	figures for use.
	(gnuplot.tex): Now just a link to (or copy of) nofigures.tex.
	(gnuplot.pdf, nofigures.pdf): Create pdffigures.tex on-the-fly,
	because its content cannot be assumed correct any other way.
	(dvi): Re-enabled.
	(gnuplot.dvi, gnuplot.pdf, nofigures.pdf, gpcard.dvi): Must depend
	on titlepag.tex and toc_entry.sty in srcdir, not builddir.
	(gnuplot.htb): Add necessary dependencies, some of them in srcdir.
	(htmldocs/gnuplot.html): Do not try to build if latex2html was not
	found.

	* configure.in: Check for existence of latex2html.

	* docs/doc2ms.c (main, init): Add optional argument giving the
	location of titlepag.ms to be put into the file.  This way the
	file can be processed by roff tools as-is, without having to patch
	it on-the-fly.

2015-06-26  Ethan A Merritt  <merritt@u.washington.edu>

	* src/qtterminal/QtGnuplotItems.dpp (drawPoint):
	The "dots" style was inadvertantly made a no-op by change on 2015-02-15.

2015-06-23  Ethan A Merritt  <merritt@u.washington.edu>

	* src/mouse.c (do_event) src/command.c (replotrequest):
	An attempt to zoom or scroll the output from a "test" command could 
	produce useless error messages on the console.  Now it will revert to
	the previous plot command, if any.
	Bug #1627

2015-06-20  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/util.c (gprintf): 'L' had broken if-else since 2010; 'B' was
	missing handling for power zero; 'B' had problem with excess
	precision.

2015-06-15  Daniel J Sebald <daniel.sebald@ieee.org>

	* src/term.c (test_term):  Use of unsigned terminal coordinates could
	cause overflow and jam up display of very small plots in x11 terminal.
	Bug #1626

2015-06-15  Ethan A Merritt  <merritt@u.washington.edu>

	* src/graphics.c (plot_boxes):  Autocalculation of box widths was bad
	whenever a NaN data value was encountered.  Now such data points are
	ignored, as they were in version 4.
	Bug #1623

2015-06-14  Daniel J Sebald <daniel.sebald@ieee.org>

	* src/term.c (test_term):  Dashtype sample labels displayed by `test`
	were off by one.

2015-06-07  Release 5.0.1

2015-06-05  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/fit.c (fit_command): If there's exactly one more range in a
	'fit' command than there are independent variables, that last
	range has to be applied to the dependent variable
	(a.k.a. "function").

2015-06-03  Ethan A Merritt  <merritt@u.washington.edu>

	* src/util3d.c (draw3d_line_unconditional polyline3d_next):
	Do not reset line properties for each component line segment in a 
	contour line.  This improves the dash-pattern rendering for contours.
	Bug #1612

2015-05-31  Jun-ichi Takimoto  <jtakimoto@users.sf.net>

	* src/qtterminal/qt_term.cpp:  Mouse coordinates must be passed to the
	clipboard as a QString.
	Bug #1602 (and earlier bugs)

	* src/qtterminal/QtGnuplotScene.cpp (mouseReleaseEvent): With the above
	fix in place, it is not necessary to lock out events during the 
	doubleclick interval.

2015-05-30  Ethan A Merritt  <merritt@u.washington.edu>

	* src/qtterminal/QtGnuplotEvent.cpp src/qtterminal/QtGnuplotScene.cpp:
	Always respond to mouse button release event, even if the graph widget
	is busy or the mouse has left the window area. This prevents the event
	from being lost, causing the rotate-on-mouse-motion mode to get stuck.
	Bug #1602

2015-05-22  Ethan A Merritt  <merritt@u.washington.edu>

	* src/command.c src/command.h src/tables.c docs/gnuplot.doc:
	New command `printerr` works exactly as `print` except that output is
	always to stderr even if normal print output has been redirected using
	`set print`.

2015-05-14  Ethan A Merritt  <merritt@u.washington.edu>

	* term/tek.trm (SIXEL_fillbox): Handle FS_DEFAULT

	* term/tek.trm (SIXEL_make_palette): A second call to make_palette()
	failed to reset the state, leading to loss of all palette info.
	Now it overwrites any previous palette.
	Bugfix (e.g. heatmaps demo)

2015-05-13  Shigeharu Takeno  <shige@iee.niit.ac.jp>

	* src/command.c (pause_command): The windows "pause" command is
	sensitive to the locale encoding. Keep a translation table to convert
	between gnuplot's idea of the encoding and WIN32 encoding states so that
	strings output by "pause" are not corrupted.
	Bug #1580, Feature Request #415

2015-05-08  Ethan A Merritt  <merritt@u.washington.edu>

	* PATCHLEVEL RELEASE_NOTES configure.in src/version.c:
	Update in preparation for June(?) release of patchlevel 5.0.1

2015-05-05  Ethan A Merritt  <merritt@u.washington.edu>

	* src/hidden3d.c (build_networks):  In hidden3d mode do not draw
	the surface if the keyword 'nosurface' is present (set the linetype
	internally to LT_NODRAW).  Normally this keyword would mean "draw only
	the data lines, not the isosampled grid lines", but that makes little
	sense for a hidden3d surface.  This provides a way to draw only the
	contours of a hidden3d contour plot.
	See Bug #1603

2015-05-03  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* term/caca.trm: Insert missing include of <sys/select.h>.

	* src/wxterminal/wxt_gui.cpp: Insert missing include of
	<sys/select.h>.
	(wxt_waitforinput): Add note about missing check for HAVE_SELECT.

2015-05-02  Ethan A Merritt  <merritt@u.washington.edu>

	* Makefile.maint docs/pdffigures.tex docs/Makefile.am:
	Try to reduce churn during "make check" "make pdf" etc by suppressing 
	dvi as an auto-generated target and defaulting to documentation with
	figures.

2015-04-30  Ethan A Merritt  <merritt@u.washington.edu>

	* src/hidden3d.c:  If a hidden3d plot included a "with image" component,
	the hidden3d processing was tracking individual pixels as points.  This
	slowed everything down without accomplishing anything useful.  Now we
	ignore image plots altogether in the hidden3d code.

2015-04-27  Ethan A Merritt  <merritt@u.washington.edu>

	* src/graph3d.c (do_3dplot):  Turning on "hidden3d" caused an off by
	one error in assigning color to contours levels.
	Bug #1603

	* src/command.c (do_line):  If an input line starts with a shell escape
	(e.g. '!' for linux) bypass first stage processing (df_tokenise) of the
	remainder of the line.  NB: This means that text following a comment
	character is now passed to the shell rather than being stripped.
	Bug #1517

2015-04-24  Daniel J Sebald <daniel.sebald@ieee.org>

	* src/misc.c (parse_fillstyle):  Additional sanity checks when parsing
	fillstyle options.
	Bug #1597

2015-04-22  Ethan A Merritt  <merritt@u.washington.edu>

	* src/datafile.c (f_stringcolumn f_columnhead df_set_key_title):
	columnhead(FOO) could return strange results for FOO > 999 or
	undefined or otherwise invalid.  Now we extend the range of valid
	column number to 9999 and return 0 for invalid or out of range FOO.
	Bug #1596

2015-04-20  Karl Ratzsch  <ratzsch@uni-freiburg.de>

	* src/term.c (test_term):  Show terminal's native dashtype support in
	the `test` command output.

2015-04-16  Ethan A Merritt  <merritt@u.washington.edu>

	* src/color.c (set_color):  Some terminals (pdfcairo, post) produced 
	invalid output if given NaN as a gray value in term->set_color().
	Others variously ignored it, replaced it with black, or gray=0.
	Now we trap NaN in the core code and substitute a request for background
	color.  Note:  I'd substitute with a fully transparent color,
	but not all terminals handle transparency.
	Bug #1595

2015-04-10  Daniel J Sebald <daniel.sebald@ieee.org>

	* term/tkcanvas.trm:  Fix problems handling an empty font family name
	in a requested font string, as in   set term tkcanvas font ",15"
	Bug #1591

2015-04-08  Ethan A Merritt  <merritt@u.washington.edu>

	* src/fit.c (setvarcovar):  Allocated size of string for FIT_COV_*_*
	variables was too small, corrupting the allocation heap.

	* src/fit.c (regress_finalize):  Show results in log file even if the
	"quiet" flag suppresses screen output.

2015-04-07  Ethan A Merritt  <merritt@u.washington.edu>

	* src/term.c (termp_apply_lp_properties):  Fix incorrect assumption
	that dashtype 1 is always solid and is already set by default.
	Bug #1588

	* term/emf.trm (EMF_linetype):  Two linetypes (LT_SOLID LT_AXIS) have
	an intrinsic dash pattern.
	Bug #1588

	* src/term.c (test_term):  Use same sequence of setting line properties
	linewidth/linetype/dashtype in the "test" command as in the core code.

	* src/set.c src/term.c:  Adjust the new "set mono" option so that 
	"set term xxx mono" is not persistent. I.e., it doesn't leave "set mono"
	in effect after the next terminal change.  This makes it more like the
	version 4 mono terminal option.  "set mono" itself is still persistent.

2015-04-04  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/term_api.h (DEFAULT_MONO_LINETYPES): Empty initializer is
	not allowed.

2015-04-03  Ethan A Merritt  <merritt@u.washington.edu>

	* src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE):
	If the value being stored to a log-scaled axis is negative, the stored
	value should be NaN rather than the un-logged original value.

	* src/plot2d.c (get_data): But even that doesn't help if UNDEF_ACTION
	re-stores the orginal value, so don't do that.  Together these changes
	fix the problem that negative values mapped onto a log-scaled cbaxis
	produced a valid (but wrong) color rather than being treated as NaN.

2015-04-02  Karl Ratzsch  <ratzsch@uni-freiburg.de>

	* docs/gnuplot.doc:  Document the C library routines used to parse
	numerical constants in commands and expressions. Integer constants are
	read using strtoll(); floating point constants are read using atof().

2015-04-02  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* compile: Add script required by automake.

	* demo/plugin/Makefile.am (demo_plugin_so_SOURCES): Add
	gnuplot_plugin.h.
	(EXTRA_DIST): Add plugin.dem.

	* demo/Makefile.am.in (Makefile.am): Subdir 'plugin' has a
	Makefile.am, so it should not be in EXTRA_DIST.

2015-03-29  Ethan A Merritt  <merritt@u.washington.edu>

	* src/gadgets.c src/gadgets.h src/set.c src/setshow.h src/tables.c
	src/tables.h src/term_api.h src/term.c src/unset.c term/x11.trm
	src/show.c docs/gnuplot.doc:
	New commands
		{un}set monochrome {linetype N <line-properties>}
		set color     (same as "unset mono")
	Maintain a set of monochrome linetypes (all black with varying dot-
	dash pattern and/or width) in parallel with the default set of
	color linetypes.  Switch between the two sets using "set mono" or
	"set color".  Terminal types that used to provide a separate "mono"
	keyword now trigger "set mono" as appropriate.  For example,
	"set term pdf mono" is equivalent to "set term pdf; set mono".
	Six default monochrome linetypes are pre-defined. These do not exactly
	duplicate the idiosynchratic mono linetypes of various pre-version 5
	terminals (be cairo cgm emf fig pdf post ...).
	Some further adjustment for individual terminals may be needed.

2015-03-28  Ethan A Merritt  <merritt@u.washington.edu>

	* term/fig.trm: unused variable

2015-03-24  Erik Olofsen <olofsen@sourceforge.net>

	* term/tek.trm: RGB + palette support for sixel terminal.
	The vt100/vt340 sixel emulator is limited to 16 distinct colors per
	plot but other emulators may permit more.

2015-03-24  <dcb314@users.sourceforge.net>

	* src/mouse.c src/plot2d.c src/wxterminal/gp_cairo.c:
	Incorrect argument type to abs() or fabs().

	* src/stats.c (analyze_sgl_column): Incorrect truncation of double to
	int while calculating absolute deviation.
	Bug #1584

2015-03-24  Tatsuro MATSUOKA  <tmacchant3@yahoo.co.jp>

	* src/command.c (pause_command): Work around a bug seen for 
	mingw + SJIS encoding.

2015-03-23  Ethan A Merritt  <merritt@u.washington.edu>

	* term/fig.trm:  Preload user-defined linetype colors and gnuplot's
	set of named colors so that they are available in fig plots.

2015-03-22  Ethan A Merritt  <merritt@u.washington.edu>

	* term/cairo.trm:  The cairolatex terminal should not set the flag
	TERM_ENHANCED_TEXT since latex markup is not the same as gnuplot's
	enhanced text mode.  This does not hurt plotting per se, but it 
	causes the "test" command to emit a non-latex string.

2015-03-19  Ethan A Merritt  <merritt@u.washington.edu>

	* src/boundary.c (do_key_sample) src/graph3d.c src/graphics.c
	src/graphics.h (check_for_variable_color):  The key sample for plots
	with filled objects (boxes, circles, ellipses, etc) and "lc variable"
	was drawn in some non-obvious color not necessarily present in the plot.
	Now we guarantee that the key sample is drawn using the color of the
	first point in the plot.

2015-03-13  Ethan A Merritt  <merritt@u.washington.edu>

	* src/unset.c: Fix memory leak (linked axis function) on reset

2015-03-08  Ethan A Merritt  <merritt@u.washington.edu>

	* src/datafile.c: The code tracking matrix column/row headers tried
	to extract the relevant string from the wrong internal array.
	Bug #1575

2015-03-06 Allin Cottrell  <cottrell@wfu.edu>

	* src/wxterminal/gp_cairo.c:  Prevent free() of a string constant.

2015-03-05  Ethan A Merritt  <merritt@u.washington.edu>

	* src/term_api.h src/term.c src/graphics.c term/estimate.trm:
	New routine estimate_plaintext(char *enhancedtext) returns a string
	stripped of all enhanced text markup.  Use this to provide plain
	text titles in output files even though the plot title itself contains
	markup characters.
	Bug #1573

2015-03-04  Christoph Bersch <usenet@bersch.net>

        * src/multiplot.c demo/heatmaps.dem demo/layout.dem docs/gnuplot.doc:
        Fix inconsistencies in the margin and spacing options for
        "set multiplot layout".  Allow using character or screen units.
        Make the character/screen keyword sticky; i.e. it applies to all four
        values in the command `set multiplot margins screen 0.1,0.9,0.9,0.1`
        Issue appropriate errors or warnings if margins and spacing aren't set
        together.  Update and expand the documentation.

2015-03-04  Ethan A Merritt  <merritt@u.washington.edu>

	* src/util.c (gprintf):  The "%h" format want a proper multiplication
	sign rather than 'x' when possible.  We already do this for UTF8 and
	CP1252, now add support for iso_8859_* encodings.

        * docs/gnuplot.doc src/set.c src/show.c:
        In 5.0.0 the set margin command interpreted 4 values in the order
          set margin <left>, <right>, <top>, <bottom>
        but this order in non-intuitive and conflicts with the order in
        other commands (e.g. set multiplot layout).  CHANGE this to
          set margin <left>, <right>, <bottom>, <top>
        Note that the code now sanity checks that (top > bottom), so this change
        will not be noticed for margins given in screen coordinates.

2015-03-02  Ethan A Merritt  <merritt@u.washington.edu>

	* src/tables.c src/graphics.c (plot_filledcurves) docs/gnuplot.doc:
	The "y1=foo" and "y2=foo" options to the filledcurves style are 
	confusing, as both operate on the current plot's y axis regardless
	of whether it is y1 or y2.  Rename the option as "y=foo" and remove
	mention of the older y1= and y2=.  All three are accepted on input.
