2020-09-05  Ben Pfaff  <blp@cs.stanford.edu>

	Makefiles: Use $(PHONY) instead of .PHONY.
	Avoids a warning from Automake in Smake:

	src/ui/gui/automake.mk:463: warning: .PHONY was already defined in condition TRUE, which includes condition HAVE_GUI ...
	Makefile.am:91:   'src/automake.mk' included from here
	src/automake.mk:55:   'src/ui/automake.mk' included from here
	src/ui/automake.mk:21:   'src/ui/gui/automake.mk' included from here
	po/automake.mk:128: ... '.PHONY' previously defined here
	Makefile.am:87:   'po/automake.mk' included from here

2020-09-05  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	added appstream as a build requirement
	appstream provides the metainfo.its file which is required for
	xgettext to extract the translation strings of the
	src/ui/gui/org.fsf.pspp.metainfo.xml.in file

	The metainfo.its file is located in /usr/share/gettext/its on
	debian and on opensuse. It is provided by the packages

	debian:     appstream
	opensuse:   AppStream-devel

2020-09-05  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	po/automake.mk: changed xgettext glade language to Glade

	Revert "po/metainfo.its: New file."
	This reverts commit e94442a3b00c1f22952586cc26b7be60617b93e1.

	Revert "Work around bug in xgettext 0.19.8.1"
	This reverts commit df9ada336f1373c1144b7133a78c97ef5e7afdc3.

2020-09-05  John Darrington  <john@darrington.wattle.id.au>

	Work around bug in xgettext 0.19.8.1
	This version crashes on exit when passed a .its file.  So ignore the
	exit status.

2020-09-04  John Darrington  <john@darrington.wattle.id.au>

	Use g_ascii_strtoll instead of strtol.
	The former is locale sensitive.

	po-update rule: use wget rather than rsync
	Rsync is considered insecure these days

	Remove the --enable-debug configure option.
	In practice, it is faster and simpler to make local modifications
	to the respective files which debugging rather than reconfiguring
	with --enable-debug.   Furthermore this is just another configure
	option which confuses users and serves little purpose.

	Check that merged po files are well formed.

	src/ui/*/automake.mk: Conditionally include the gui automake file

2020-09-04  John Darrington  <john@darrington.wattle.id.au>

	po/automake.mk: Fixed typo in variable names.
	This resulted in po/pspp.pot not getting updated when it should have been.
	This is a very good demonstration of the reason why carefully desigined
	languages should insist on a variable being declared before it is used.

	Also make the file depend on Makefile, so that it gets rebuilt when the
	PACKAGE VERSION changes.

2020-09-04  John Darrington  <john@darrington.wattle.id.au>

	Deal properly with EOF in the REPL, when built without readline

	utitilites/pspp-output.c: Deal properly with plural forms

2020-09-03  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	updated german translation de.po

2020-09-01  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Describe running the "rc" file at pspp startup.
	Bug #54376.
	Thanks to Harry Thijssen for reporting this bug.

	doc/manual: Remove gitignore file in otherwise empty directory.
	I added this by mistake some time ago.  It's not useful.

	tests: Add missing host.at tests.
	Thanks to Friedrich Beckmann for reporting the problem.

	encoding-guesser: Explain UTF-16, UTF-16BE, UTF-16LE distinctions.

	u8-istream: Add some more tests for byte-order marks.

2020-09-01  Ben Pfaff  <blp@cs.stanford.edu>

	make-file: Pass O_BINARY or O_TEXT to open() call in replace_file_start().
	It's hard to imagine why this would make a difference on a real system,
	because the file descriptor obtained from open() is passed to fdopen(),
	which is documented to determine whether the stream is text or binary
	based on the mode string.  However, bug #40223 implies that it makes a
	difference.  I hope that this commit fixes the problem (if any!).

	Thanks to the anonymous submitter of bug #40223.

2020-09-01  Ben Pfaff  <blp@cs.stanford.edu>

	csv-file-writer: Fix typo in user message.

	HOST: Reimplement and add support for TIMELIMIT subcommand.
	Fixes bug #25816.
	Thanks to John Darrington for reporting this bug.

2020-08-31  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add 'slow' tag to more tests.
	This reduces the runtime of "make check TESTSUITEFLAGS='-k \!slow -j128'"
	from 4.4 to 3.5 seconds on my computer.

	spv-light-decoder: Avoid GCC 10.x warning in decode_spvlb_valign().
	It seems to be wrong, but GCC can't tell and it's hard to blame it.

	value: Suppress uninitialized tmp.s warning in value_resize().
	This warning is wrong, but it should not cause a performance problem to
	avoid it.  Encountered with GCC 10.x.

	Makefile.am: Suppress GCC 10.x warning in gl/careadlinkat.c.
	This suppresses an error in gl/careadlinkat.c that otherwise can't be
	avoided in GCC 10.x:
	  ../../gl/careadlinkat.c: In function ‘careadlinkat’:
	  cc1: error: function may return address of local variable

2020-08-30  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	GFUNC_COMPAT_CAST also for dialog-common.c
	I missed that one - Thanks!

2020-08-30  John Darrington  <john@darrington.wattle.id.au>

	Work around bug in Automake 1.16.1

2020-08-30  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	moved GFunc cast to macro GFUNC_COMPAT_CAST
	I moved the GFunc cast for g_list_foreach to a macro with
	some explaining comment. The macro is in helper.h

	psppire-spread-sheetmodel.c: modified userdata increment using GPOINTER_TO_INT

	po/pl.po - replaced strange character in comment
	This results in sed on MacOS to report an error.

2020-08-30  John Darrington  <john@darrington.wattle.id.au>

	dummy.c: Conform to exact prototypes
	Apparently certain toolchains complain if the symbols in dummy.c do not
	exactly match their declarations.  This should not be a problem unless
	the compiler has enabled a lot of warnings, and is treating those warnings
	as errors, (which is inadvisable except under very special circumstances).
	However, it appears that some people are doing that.

	This change ensures that they are identical.

2020-08-29  John Darrington  <john@darrington.wattle.id.au>

	Prefer GTK+ style casts rather than C-style casts.

	Replace '(GObjectClass*) class' with 'G_OBJECT_CLASS(class)'

	Remove _base_init functions from custom widget definitions.
	These served no purpose, and are in Gtk+ only for reasons of
	legacy so far as I can make out.   Also use G_TYPE_DEFINE macros
	instead of explicit *_get_type function definitions.

	INSTALL: Remove reference to --with-gui-tools which no longer exists

2020-08-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	switched off unused-paramter warning for lib-essential gui files
	I disabled the unused-parameter warning as for the other
	gui files. Same as before the introduction of the essential
	library.

2020-08-29  John Darrington  <john@darrington.wattle.id.au>

	src/ui/gui/automake.mk: Add missing AM_CFLAGS parameter

2020-08-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Warnings: correct cast for psppire-spread-sheet model
	This fixes the compiler warning:
	warning: wrong type argument to increment [-Wpointer-arith]

2020-08-29  John Darrington  <john@darrington.wattle.id.au>

	Remove src/ui/gui/memorandum.txt
	Almost all of the information in this file is out of date.

	Add convenience library libwidgets-essential
	This avoids having to compile large numbers of modules twice.

2020-08-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	xml-parser-generator - iterate over sorted dict - #58975
	I sort the dict before iteration because the normal
	iterator over a dict is not reproducible and will generate
	different code in each run. This will work but the
	build is not reproducible.

	Closes: https://savannah.gnu.org/bugs/index.php?58975

2020-08-28  John Darrington  <john@darrington.wattle.id.au>

	src/ui/gui/psppire-conf.c: Use GError instead of strerror.
	Apparently the use of strerror was causing problems on certain
	platforms.  In this case, since the function being checked provides
	a GError argument it makes sense to use that instead.

	Closes bug #59034

2020-08-25  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	replace finite with isfinite
	finite function is deprecated on MacOS.

	Warning: added missing initializer for closure_callback in GSourceFuncs

	Warning: "static const" instead of "const static"
	Remove warning:
	 ‘static’ is not at beginning of declaration

	Warning: avoid warning that weekday may be used uninitialized

	Warning: adhere to const qualifier for initializations and assignments
	This commit avoids the warnings:
	warning: initialization discards ‘const’ qualifier from pointer target type
	warning: assignment discards ‘const’ qualifier from pointer target type

2020-08-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Warnings: fix missing function prototypes
	In most cases I added the static qualifier which was
	missing. Some functions are never called so I either
	removed them or I put them in #if DEBUG

	Warnings: removed fallthrough in case statements
	I guess the fallthroughs in the case statements were not intentional.
	This avoids the warning:
	warning: this statement may fall through

	Warnings: added cast for enumaration types
	This avoids the warning:
	warning: implicit conversion from ‘enum <anonymous>’ to ...

2020-08-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Added tooltip for statistics in dialogs
	This removed the warning:

	warning: missing initializer for field ‘tooltip’

2020-08-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Warnings: function type cast for g_list_foreach
	I added a cast for the functions used in g_list_foreach. Without
	the cast, the warning
	warning: cast between incompatible function types
	is reported.

	Warnings: missing initializer for value_tables and function type cast (GObject)
	I fixed the warnings:
	warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’
	warning: cast between incompatible function types
	by replacing the handwritten type info code with G_DEFINE_TYPE...
	macros (preferred). When this was not possible due to usage of
	base init functions I added casts and the initializer.

2020-08-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Warnings: add AM_CFLAGS also for the psppire build
	With the new setup the psppire and glade build honours the
	AM_CFLAGS setup. This includes the Wextra warnings which
	show some more warnings. The two checks which are disabled are

	-Wno-sign-compare     : disabled also for core pspp
	-Wno-unused-parameter : many callbacks result in unused parameters

2020-08-23  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug which caused a crash when using the Find feature

2020-08-22  John Darrington  <john@darrington.wattle.id.au>

	src/ui/gui/dummy.c: Eliminate warnings when building with gcc-10.2.0

	Updated translations from translationproject.org

2020-08-16  John Darrington  <john@darrington.wattle.id.au>

	src/ui/gui/automake.mk: Remove yelp-check rule

	psppire-marshaller.c: Include the header file

	html.c: Reimplement as HTML5

2020-08-18  John Darrington  <john@darrington.wattle.id.au>

	get_language: New function

	Issue error message if failing to change directory

	barchart.c: Sort the categories before displaying them.
	Partial fix for bug #58968

2020-08-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	limit the number of variables in barchart from crosstabs #58968
	The barchart was created with more than two variables from
	the crosstabs subcommand. I added an assertion and limit
	the number of variables to two. This bug resulted in a
	regression failure (crash) for test

	493: CROSSTABS barchart

	on i386 architecture.

	see: https://savannah.gnu.org/bugs/?58968

2020-08-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed range check in parse_record_placement (32Bit/64Bit issue) #58968
	The regression failed for test "lexer crash due to overflow" (403)
	on i386 architecture. The reason is that long is 64Bit on amd64 while
	it is 32Bit on i386. The code used long as type that can hold larger
	values than int which does not work on 32Bit systems.

	The change keeps the value as double as long as the range checks are done.

	see: https://savannah.gnu.org/bugs/?58968

2020-08-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed git distribution check for .gitattributes added in previous commit

	added .gitattributes file such that lexer.at shows diff

2020-08-16  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	factor.c: added translation hint

2020-08-16  John Darrington  <john@darrington.wattle.id.au>

	Removed stray newline in acinclude.m4
	Reported-by: Michel Boaventura

	Fixed error running 'make distcheck'

	Fixed some errors in format and orthography of printed strings.
	Reported-by: Anonymous https://lists.gnu.org/archive/html/bug-gnu-pspp/2020-08/msg00004.html

2020-08-16  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	pspp-convert.1 - fixed a syntax typo
	The debian build checks reported a bug in the man page:

	troff: <standard input>:129: '\-' is not allowed in an escape name

	The man page can be checked with:

	LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 \
	man --warnings -E UTF-8 -l -Tutf8 -Z ./pspp-convert.1 >/dev/null

2020-08-16  John Darrington  <john@darrington.wattle.id.au>

	Revive psppire's glade compatibility

	PsppireSelector: Don't attempt to unref a null pointer

	Update GtkBuilder files to mention gtk+ version 3.22

2020-08-16  jdarrington  <john@darrington.wattle.id.au>

	src/language/stats/chart-category.h: Add #include directive

	PsppireVarView: Use g_realloc instead of xrealloc

	src/ui/gui/automake.mk: Sort the manifest

	Rename PsppireButtonbox to PsppireButtonBox
	This is more consistent with other names.

2020-08-16  John Darrington  <john@darrington.wattle.id.au>

	src/ui/gui/psppire-conf.c: On error, give a reason for failure to create file

	Avoid warnings about ! being passed a non-boolean

	PsppireImportAssistant: Proceed to next page when a file is double clicked

	Remove/Replace some obsolete gnulib modules

	Smake: create build-aux/config.rpath

2020-08-16  jdarrington  <john@darrington.wattle.id.au>

	Update to more recent GNULIB

2020-08-15  John Darrington  <john@darrington.wattle.id.au>

	Bump version to 1.5.0

2020-08-15  Ben Pfaff  <blp@cs.stanford.edu>

	Release PSPP version 1.4.0.

2020-08-13  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	sys-file-reader: get_text_token did not set delimiter - bug #58943
	parse_mrsets used loop local variables which were not initialized.
	The regression worked with low compiler optimization levels because
	the value for "delimiter" was kept over the loop iterations.
	get_text_token did not set the delimiter value when only delimiters
	are left in the string. I set the delimiter value to the last value
	in the string in that case. I initialized the variables to see the
	bug also in -O0.

	Closes: https://savannah.gnu.org/bugs/?58943

2020-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	render-test: Initialize i18n to make tests pass on mingw.
	On mingw, filename recoding requires i18n to be initialized.

	tests: Tolerate 3-digit exponents in output for chart tick format.
	This makes the test pass on mingw.

	tests: Ignore Pango warnings when generating charts.
	On mingw, Pango complains about font names.  It's harmless.  I don't know
	a way to suppress the warning.

	placement-parser: Properly handle LONG_MAX != INT_MAX.
	Also, delete spurious null bytes from the related test.  The null
	bytes spurred a test failure on mingw although I am not sure why.

2020-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: More character encoding issues on command line.
	Unix-like systems don't have a command-line encoding, so we can pass
	whatever bytes we want.  mingw uses some particular encoding for
	command line arguments, so this screws up trying to pass UTF-8 in.  This
	commit side-steps the problem by passing only ASCII characters on the
	command line and making the test program decode the bytes.

	This fixes several test failures under mingw.

2020-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Use AUTOTEST_PATH to find chart test programs.
	Otherwise the test wrappers feature can't help to find it on mingw, so
	the chart geometry tests fail.

	zip-test: Open files in binary mode.
	Fixes a test failure on mingw.

2020-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid dealing with character encoding issues on command line.
	Unix-like systems don't have a command-line encoding, so we can pass
	whatever bytes we want.  mingw uses some particular encoding for
	command line arguments, so this screws up trying to pass UTF-8 in.  This
	commit side-steps the problem by passing only ASCII characters on the
	command line and making the test program decode the bytes.

	This fixes several test failures under mingw.

2020-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Tolerate carriage-returns in output for SAMPLE test.
	This fixes a test failure with mingw.

	tests: Always set a paper size.
	Normally PSPP can find a default paper size but this isn't necessarily true
	inside, e.g., a build container, so set a default to avoid test failures.

	tests: Don't output to PDF without a good reason.
	PDF output can cause spurious error messages from Pango to appear in the
	output (which would be nice to fix but I'm not sure how) and it's not
	always configured in, so omit it in MRSETS where it's not really needed.

	tests: Fix synthetic system file reader tests on Windows.
	The system files were being written as text files, so any \n character was
	getting translated into \r\n, corrupting the output.

2020-07-31  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Smake: added 16x16, 32x32 and 256x256 pspp.png icons

2020-07-26  John Darrington  <john@darrington.wattle.id.au>

	Recent spread-sheet-widget to version 0.6

2020-07-19  John Darrington  <john@darrington.wattle.id.au>

	Fix typo in po/automake.mk

2020-07-17  John Darrington  <john@darrington.wattle.id.au>

	Recent spread-sheet-widget to 0.5 or later

2020-07-12  John Darrington  <john@darrington.wattle.id.au>

	Import Assistant Sheet Page: Set the sheet selector sentitivity

2020-07-12  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: normalize clipboard cut selection rectangle (#58756)
	With this patch the selection rectangle for the clipboard cut
	operation is normalize, i.e. it does not matter in which corner
	you start the selection.

	Closes: https://savannah.gnu.org/bugs/index.php?58756

2020-07-12  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: clipboard CUT and COPY store same data with/without label
	clipboard store data with or without value labels depending on
	the setting in the data view. clipboard cut was always storing
	the raw data.
	With this patch copy and cut both store raw data or labels
	depending on the view setting.

	Closes: https://savannah.gnu.org/bugs/?58757

2020-07-12  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: Pasting also considers labels as valid data
	With this patch pasting from clipboard also interprets labels as
	valid data. First it is checked if the pasted data is a label for
	the destination variable. Then the corresponding data is stored.

2020-07-11  John Darrington  <john@darrington.wattle.id.au>

	psppire-import-assistant (struct _PsppireImportAssistant): Remove unused member.

	Fix memory leak in the value labels dialog

	src/ui/gui/org.fsf.pspp.desktop.in: Add translator hint
	Add an instruction to not translate the Icon name.   Recent versions of
	xgettext (correctly) ignore this entry.  But earlier versions erroneously
	include it in the list of strings to translate.

	psppire-data-window.c: Remove ssw api protection

	SpreadLevel Plot: Don't try to take the logarithm of a negative

2020-07-11  John Darrington  <john@darrington.wattle.id.au>

	src/output/cairo-chart.h (xrchart_write_scale): Check the range and deal with the consequences.
	If a chart was requested where either scale had an range of zero
	(the minimum value and the maximum value were equal), then all
	sorts of memory errors could occur later in the chart's rendering.

	This change checks for this condition early and refuses to draw the
	chart in this case.

2020-07-10  John Darrington  <john@darrington.wattle.id.au>

	psppire-data-window.c (on_cut): Do not append trailing whitespace to clip.

	psppire-data-window.c (on_cut): Deal properly with string variables.

	Do not attempt to use the output driver while it's being destroyed.

	src/ui/gui/automake.mk: Remove OBSOLETE
	This definition is indeed obsolete.

	#undef close which was causing problems on w32

	Revert "Conditional Compilation per GCS 3.5"
	This reverts commit 002a30f274ced97769ebc3373c493a8e5329c2bc.

	Revert "Keep systems happy which do not have sys/resource.h"
	This reverts commit f4ba0d4b24301f389dfb76a66094b093125fac9b.

	Histogram Dialog: Allow only numeric variables to be selected

	Reduce the length of the icon names.
	This was causing problems for the autobuilder.

	po/metainfo.its: New file.
	Add a ITS file for metainfo.xml format, and use it when extracting strings for
	for translation.

2020-07-08  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: cut from editable to clipboard when cell is focused
	When a cell is focused, then the cut operation
	must operate on the selection in the cell editable
	and not on the complete cell, i.e. the store content.

	gui: trim displayed string for string variables (spaces)
	The current gui always renders strings in the datasheet view
	with the full width by adding spaces to the end of a string.
	This patch renders the strings in the same way as they are rendered
	in the status edit box above the cells array, i.e. trailing whitespace
	is removed. Editing strings is straightforward.

	gui: render empty string for numeric system missing value
	Numeric cells which contain the system missing value are currently rendered
	as a number of spaces, a dot and a number of spaces depending on the
	current variable width and decimal places settings. When the cell is
	edited, then this string is pretty confusing.
	With the patch system missing values for numeric variables are rendered
	as empty strings. Editing the cell is then straightforward and starts
	with an empty cell.

2020-07-05  John Darrington  <john@darrington.wattle.id.au>

	Keep systems happy which do not have sys/resource.h

2020-07-06  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Select ustar format for distribution.
	This format allows for longer filenames, which is needed for some of the
	long icon names used by PSPPIRE.

	Document /*...*/ style comments.

2020-07-05  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	icons: added psppire- prefix to action items #58708, #50026
	The edit-find action icon is already available in the default
	gnome and kde icon themes. Therefore the default icon is always found
	first. I added the psppire- prefix to the action icon names such that
	the icons are unique.

	Closes: https://savannah.gnu.org/bugs/?58708
	Closes: https://savannah.gnu.org/bugs/?50026

2020-07-05  John Darrington  <john@darrington.wattle.id.au>

	Remove pspp-mode.el
	This is now distributed at elpa.gnu.org/packages/pspp-mode.html

2020-07-04  John Darrington  <john@darrington.wattle.id.au>

	HTML output driver: Correct typo
	VALIGN was incorrectly typed as ALIGN

	Autorecode Dialog: Use correct dictionary pointer

	psppire_box_pack_start_defaults: Change to static inline
	This is a simple, one line wrapper around another function.
	So having it inline makes sense.

	src/ui/gui/helper.c: Remove unused functions

	Remove the default help function.
	This function is no longer reachable.

	Audit and cleanup dispose methods of classes which have them.
	Ensure that all non-trivial dispose methods use the dispose_has_run
	flag and that only unreffing takes place within dispose.

	Mitigate bug #48050
	This bug caused an assertion failure in src/data/datasheet.c  The change here
	traps the faulty condition earlier and raises a G_CRITICAL rather than an
	assertion.

	Fix memory leak displaying string values in the data sheet

	Value variant: Don't over allocate string values

	pspp-mode.el: Make all keywords case insensitive

	pspp-mode.el: Make indentation closer to what lisp people like.

	Add finalize methods to some classes which don't have them.
	These may not be strictly necessary, but can make tracking
	for leaks easier by placing a diagnostic in the method.

2020-07-03  John Darrington  <john@darrington.wattle.id.au>

	Unref variables after fetching from treeview model.
	Commit e511c5a34a8dd5863c5f71c820609c3c0e363cc9 added a reference
	to boxed variable pointers.   This means they have to be unreffed
	after fetching one with gtk_tree_model_get.

	gtk.in.h: Remove redundant macro replacements.
	Today configure.ac insists upon Gtk+ 3.22 so working around older
	Gtk+ versions is no longer required.

	lib/ptukey.c: Use the standard macro INFINITY from the math library

	Change all instances of "help_page" to "help-page".
	Signal and property names are documented as treating
	'-' and '_' as equivalent.  However it helps when grepping
	files if we use just one orthography.

2020-07-03  John Darrington  <john@darrington.wattle.id.au>

	Conditional Compilation per GCS 3.5
	Deal with conditional compilation using the way recommended by
	the GNU Coding Standards Section 3.5

	https://www.gnu.org/prep/standards/html_node/Conditional-Compilation.html#Conditional-Compilation

2020-07-03  John Darrington  <john@darrington.wattle.id.au>

	Conform to GNU nomenclature.

	Fix memory leak introduced in commit e2039bc0694b89d26065899d9ed20f9bb42426f4

	Follow-up to bugfix #58664
	If the width of a variable changes, then implicitly so does its
	missing values --- even if the number of missing values is zero.
	This is because the variable's width is cached in the missing_value
	struct itself.

	Fix bug #58664

2020-06-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	trim.c: avoid zero size xnrealloc memory allocation
	Without the patch the regression fails on test

	GET with /KEEP=ALL crashes -- uncompressed

	when I compile with -fsanitize=address on MacOS. The reason
	is that xnrealloc is called with a zero size allocation. I
	simply avoid this, although it might be perfectly o.k. to do so.

2020-06-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	desktop: open a file via xdg-open without additional output window
	Currently there is a difference between opening an additional data
	file via the Edit->Open menu or by opening a file via xdg-open (same
	for doubleclick on Filebrowser). In the latter case the on_open
	callback is called which runs an additional post_initialize. That
	results in an additional output window.

	I changed the behavior such that post_initialize is only called
	when there is no psppire window yet. That happens when psppire
	is started from a terminal with the file as argument on linux.
	Further I check if there is an empty datawindow and replace that
	in the same way as it is done via the Edit->Open menu.

2020-06-27  John Darrington  <john@darrington.wattle.id.au>

	Fix bug #54784 (again).
	Certain GUI entities hold pointers to variables.  To ensure that
	the variables survive the lifetime of the entity which holds the
	pointer, the entity must take a reference.

	This is particularly important where a transformation which involves
	TEMPORARY of a filter is involved.

2020-06-27  John Darrington  <john@darrington.wattle.id.au>

	Introduce reference counting for variables.
	Necessary for upcomming commit.

	psppire-output-view.c (psppire_output_view_destroy): Fix memory leak.

	dictionary.c: Don't emit callbacks when the dictionary is destroyed.
	Also reorder some functions in order of dependence.

	data_parser:  Keep a reference to the dictionary

	Revert "Fixed a use after free error when manipulating datasets."
	This reverts commit 1d06ba6d498b9446d5fb8c432d24efb2bee713a9
	which caused memory leaks.

2020-06-27  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	typo in title - Lable -> Label

	switched to portable control key <Primary> for accellerators
	gtk supports the "Primary" key which translates to the "CMD" key
	on MacOS and "Ctrl" on linux. So this is a portable way to
	say the "Copy" via key.

2020-06-27  John Darrington  <john@darrington.wattle.id.au>

	Revert "Fix crash in gui, when T-TEST or ONEWAY while a filter is set."
	This reverts commit d01a4986ffc8f5afa5ee7d29dd7233143b6de7ec
	which caused memory leaks.

	Improve behaviour when importing trivial csv files.
	This is a follow up to commit 5312cd16f3d7226d4e62a847d64849c57d4b4843
	Don't activate any check button, if there is no obvious candidate.

2020-06-26  John Darrington  <john@darrington.wattle.id.au>

	Add a test for bug #58598

	src/dictionary.c: Move dict_ref next to dict_unref
	This make it easier for me to hack when I'm tracking
	down memory (de)allocation errors.

	PsppireDataWindow: Fix use after free error

	PSPPIRE: Fix memory leaks in dialogs

	PSPPIRE: fix leaks of GtkAccelGroup

	Replace some calls to xcalloc with XCALLOC

	src/ui/gui/windows-menu.c (repopulate_windows_menu): Avoid memory leak

	Fix memory leak in src/output/table.c

	PSPPIRE: Fix memory leaks when creating windows

	PSPPIRE: Fix crash when cleaning after bad text import.
	The wrong pointer was being freed after cleaning up when
	attempting to import text files with very long lines.

	PSPPIRE: Avoid memory leaks from popup memnus

	GUI: Fix memory leak on startup

2020-06-26  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	psppire-import: fixed bug with short csv file import
	The import crashed with a short csv file.
	Closes: https://savannah.gnu.org/bugs/?58644

	pspp-mode.el: update elpa autoload comment
	The pspp-mode is not automagically active in the 1.2.0-5 debian
	release which install the emacs pspp mode. The reason was this
	wrong elpa autoload comment.

	de.po: Fixed wrong translation

	added title to variable sheet dialogs

	help: added help page info to variable sheet dialogs

2020-06-25  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	help: removed yelp support
	The yelp tool is broken for three years and cannot show uris with
	a tag. John wrote a bug report three years ago but it is not fixed
	yet.

	https://gitlab.gnome.org/GNOME/yelp/-/issues/116

	Once yelp works again, we can revert this commit.

2020-06-25  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	automake.mk - added 96x96 size

	artwork: categories icons moved according to new strategy

	artwork: actions icons according to new strategy

	artwork: apps - pspp.svg - removed all but scalable version from artwork

	icons: create scaled bitmaps from one svg source
	Using file-svg-load in gimp allows to scale an svg to
	an arbitrary size. The artwork directory only needs
	to contain svg files which differ in layout.

2020-06-21  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: added help in recode.ui subdialog

	metainfo.xml - modified after validation

	desktop: add mimetypes application/x-spss-sps and application/x-spss-spv
	I added an xml mime package which relates the files .sps and .spv
	to a mime type. Via that mime type the files can then be openend
	by clicking in the file browser.

	desktop: reversed mimetype to application/x-spss-sps
	If the mimetype is of type text, then the icons are not found
	or displayed in gnome Files. No application except apt seems
	to define text based mime types. And for apt it does not work
	either. So I reverse.

2020-06-21  John Darrington  <john@darrington.wattle.id.au>

	Fixed some calls to xcalloc where the quantity and size parameters had been transposed.

2020-06-21  John Darrington  <john@darrington.wattle.id.au>

	recode dialog: set "old and new values" sentivitity as appropriate.
	The "Old and New Values" button should only be clickable when a row
	is selected in the corresponding treeview.  This was not the
	case.

	Fixes bug: #58557

2020-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	matrix-reader: Fix possibly-zero second argument to xcalloc().
	xcalloc() is documented to disallow zero for its second argument:

	  /* Allocate zeroed memory for N elements of S bytes, with error
	     checking.  S must be nonzero.  */
	  void *
	  xcalloc (size_t n, size_t s)

	This code didn't always call it properly.

	Found with AFL++.
	Thanks to Andrea Fioraldi for reporting the problem.
	Bug #58600.

2020-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	build-aux: Ignore more files.
	These entries were added automatically by running Smake.

	sys-file-reader: Tolerate duplicate document records.

	sys-file-reader: Tolerate invalid variable names.
	This should make PSPP better at reading system files that have encoding
	issues.

2020-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Accept bad variable indexes, with warnings.
	The SPSS file writer software at
	https://packagist.org/packages/tiamo/spss sometimes generates malformed
	variable indexes for weighting variables or value label records.  PSPP
	until now has rejected these files entirely.  This commit should make
	it issue a warning instead.

	Thanks to István Ignácz for reporting this issue at
	https://lists.gnu.org/archive/html/pspp-users/2020-06/msg00012.html

2020-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix compatibility with older gettext.
	Older gettext does not recognize the metainfo.xml extension, only
	appdata.xml.  This commit allows msgfmt to work with such older setups.

	CC: Friedrich Beckmann <friedrich.beckmann@gmx.de>
	Fixes: 86c5d611b3f2 ("metainfo.xml: changed id to org.fsf.pspp, added more information")

2020-06-20  John Darrington  <john@darrington.wattle.id.au>

	Allow /RENAME target to use the TO keyword.
	Allow code such as
	 SAVE OUTFILE = "foo.sav" /RENAME= (A B C = v1 TO v2).

	Closes bug: #57752

2020-06-20  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	main.c: set "register-session" property for gtk_application
	To open an application by clicking an associated file like
	grid.sps in the Finder on Macos requires that the property
	"register-session" is set for gtk_application. I did not
	find a negative impact on Debian bullseye so I hope this
	works also on other platforms. The gtk support for this
	will be in the next gtk-3-24 release.

	See: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2098

2020-06-20  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	desktop file: added Keywords and removed Education category
	During debian packaging of 1.2.0-5 the missing Keywords entry
	was mentionend. I removed the Education category because this
	was mentioned also. Education and Science are both toplevel
	categories. I added also two more mimetypes for .sps and .spv
	files.

2020-06-20  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	metainfo.xml: changed id to org.fsf.pspp, added more information
	I read the documentation about the metainfo.xml content

	https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html

	and changed/added some information

	  - changed id from pspp.desktop to org.fsf.pspp
	  - added categories
	  - added releases
	  - added provides

2020-06-20  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	desktop: changed translations to msgfmt and xgettext
	During the build of the debian package 1.2.0-5 it turned out
	that the pspp.appdata.xml file has a wrong structure with
	respect to the translations. I did the following things

	  - renamed pspp.appdata.xml to org.fsf.pspp.metainfo.xml
	  - added gettext translation support for org.fsf.metainfo.xml
	  - renamed pspp.desktop to org.fsf.pspp.desktop
	  - replaced gen-det-desktop.sh based translation with gettext

	gettext has now support for translating .desktop and .metainfo.xml
	files. I took the naming conventions from the freedesktop and gnome
	documentation, i.e. metainfo instead of appdata and the use of
	an organization name.

2020-06-20  John Darrington  <john@darrington.wattle.id.au>

	Add a test for bug #58591

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	psppire-dict.c: Avoid compiler warning

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Avoid negative overflow when the text output driver tries to print random binary data.
	libpspp/u8-line.c (u8_line_find_pos): Deal properly with the case
	where the target is not found in the search string.

	libpspp/u8-line.c (u8_line_reserve): Add some assertions to prevent
	negative overflow into lower function calls.

	Reported by: Andrea Fioraldi

	Fixes bug: #58591

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	libpspp/str.c (ds_splice_uninit): Add assertion

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fixed a use after free error when manipulating datasets.
	Reported by: Andrea Fioraldi

	Fixes bug: #58598

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	spv.c: Avoid warnings about uninitialised variables

	find-dialog.c: Replace exp10 with our own integer version
	A previous commit introduced the use of exp10 from the standard
	math library.  However the use cases here don't need floating
	point operands, and it's smaller and faster to implement our
	own integer version.

	Revert "exp10 replaced with pow when exp10 is not available"
	This reverts commit 5f1ab307d380c4d60410b911a272b6870b65c2d8.
	See the following commit for explanation.

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fix buffer overflow in lex_ellipsize__
	Reported by: Andrea Fioraldi

	Fixes bug: #58586

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when parsing a badly formatted variable string.
	Reported by: Andrea Fioraldi

	Fixes bug: #58594

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fix buffer overflow in linear regression.
	When the dependent variable and the indepdendent variable
	are one and the same (a rather pointless situation), a buffer overflow
	would occur.  This change fixes that.

	Reported by: Andrea Fioraldi

	Fixes bug: #58599

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when cleaning up after parsing bad MODIFY VARIABLES.
	Reported by: Andrea Fioraldi

	Fixes Bug: #58590

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Don't crash when parsing bad MATRIX DATA commands.
	Reported by: Andrea Fioraldi

	Fixes bug: #58596

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Fix use after free error in vector command.
	Reported by: Andrea Fioraldi.

	Fixes bug: #58592

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Don't ref or unref the inline file handle.
	The special file handle 'inline_file' is a singleton.  It should not
	be reffed, or unreffed.   Doing so causes a crash.

	Reported by Andrea Fioraldi.

	Fixes bug #58601

2020-06-19  John Darrington  <john@darrington.wattle.id.au>

	Update spread-sheet-widget to version 0.4

2020-06-14  John Darrington  <john@darrington.wattle.id.au>

	file-handle-def.h (fh_ref): Add WARN_UNUSED_RESULT qualifier

	Fix broken build when ./configure --without-gui is used

	PSPPIRE: Add feature to search for text in the syntax window.

2020-06-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	exp10 replaced with pow when exp10 is not available
	The exp10 function that was introduced by commit aae1a8f067ddd9c09
	in the find-dialog is not available on MacOS. I added a check
	and replace it with pow if exp10 is not available.

2020-06-14  John Darrington  <john@darrington.wattle.id.au>

	Replace use of deprecated GTimeVal with GDateTime

	Remove trailing whitespace at end of lines

	src/libpspp/message.h (msg_error): Add printf_format attribute

2020-06-14  John Darrington  <john@darrington.wattle.id.au>

	GUI: Find dialog: Compare only to the decimal places of the print format.
	When using the find dialog of the data editor, previously a numeric value
	was compared exactly on it's underlying representation (a IEEE754 double
	precision float).   This is problematic, because most such floats cannot
	be precisely represented in a decimal format, and even if they can be, the
	precision required might well exceed that displayed in the data editor.

	This change rounds both the reference and the comparand to the number of
	decimal places indicated by the variable's print format.

2020-06-14  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	help: added help_page property at various ui files
	I added the help_page property in the
	 - k-independent.ui
	 - k-related.ui
	and at various sub dialogs where options are set. With the
	help_page property a more meaningful page in the documentation
	is called instead of the toplevel documentation.

	doc: fixed references for DESCRIPTIVES, T-TEST, RELIABILITY and REGRESSION
	The example for the descriptives command and the command
	description had the same reference. Same for T-TEST, RELIABILITY
	and REGRESSION.

2020-06-14  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	doc: added prepdoc.sh script for simple working on documentation
	I added the prepdoc.sh script to allow to work on the documentation
	without having the full build environment. You can just checkout
	from git and then run

	  cd pspp/doc
	  ./prepdoc.sh
	  makeinfo --html pspp.texi
	  open ./pspp/index.html

	Maybe it is then easier for contributors to work on the documentation
	without having to run Smake and configure with all the required
	packages. prepdoc.sh will generate some dummy required texi files
	which are normally generated during the build process.

2020-06-10  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix misspelling in test name.

2020-06-07  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only.
	Remove whitespace following opening parentheses and preceding closing
	parentheses.

	Update recommended gnulib commit

	Fix crash when using the find function.
	It looks as if some experimental code had escaped the lab here.

2020-06-07  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed wrong goto case after opening .sav file
	When a .sav file was openend, then a wrong "goto case" option
	is visible in the variable view. With this fix you can
	open a new dataset via the file browser and the correct menu
	is shown.

	fixed goto case dialog
	The goto case dialog did not work. The GtkTreeModel cast of the datasheet
	does not work because datasheet is not derived from treemodel. Changed
	types from casenumber to gint because the gtktreemodel function returns gint.
	casenumber is long which my be bigger than int but the treemodel cant handle
	this anyway.

2020-06-06  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed variable type change during text import bug #58298
	Changing the variable type during the import dialog resulted
	in a crash. The reason is that the import data is stored as
	strings in a treeview and converted to union value depending
	on the variable type. When the variable type is changed, there
	is a discrepancy between then caseproto in the reader and the
	variable. This results in an assertion.

	As a fix I store the dictionary at the time of creation of the
	casereader. When a variable is changed i reinitialize the
	casereader.

2020-05-31  John Darrington  <john@darrington.wattle.id.au>

	Remove #include "gl/dosname.h"
	This file is no longer part of gnublib

2020-06-05  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	avoid crash by drag-n-drop in variable dialog #58457
	The drag-n-drop was enabled in the variable dialog but
	actually doing it results in a crash. See:

	https://savannah.gnu.org/bugs/index.php?58475

2020-06-04  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	improve deletion of consecutive variables #55357
	Deleting many variables (like 300) via the gui
	in a dataset with many variables (like 500) results
	in long gui response times because each variable is
	deleted individually by iteration. This results in many
	items-changed callbacks which will result in long
	gui waiting times. This patch reduces the number of
	callbacks and the gui response is much faster.

2020-05-31  John Darrington  <john@darrington.wattle.id.au>

	psppire: Deal properly with inverted variable selections.
	When deleting variables, if the start of a selected range is greater
	than the end of the range, then swap the start and end.

2020-05-31  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	insert variables in var view (#55357)
	The variable insert procedure inserted new variables
	via the datasheet window even if the variable
	window was visible. Directly after startup the
	dataview is not realized and that prevents a correct
	update of the variable view. I changed the procedure
	such that the ssw items_changed_cb is called for
	the widgets in the variable view and the window
	is correctly updated.

2020-05-02  John Darrington  <john@darrington.wattle.id.au>

	Correct syntax when generating code for autorecode with blanks as missing

2020-05-07  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Makefile.am - added check for debian package directory
	The debian package is now also maintained via git

	https://salsa.debian.org/science-team/pspp

	but that repository contains the distribution package. Due to the
	.git directory the make process assumes that we are building
	a distribution file and adds a check for some missing files. That
	check fails if the distribution is under git control. I checked
	for the existance of the debian directory as an indicator that
	we are building the debian package and disable the check.

2020-04-26  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when bad autorecode /blank is encountered.
	Closes bug #58255.

2020-04-14  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	MacOS: added a setup section to avoid script in application bundle
	MacOS Catalina has added security features which do not allow to
	start an application via a script in an application bundle. See:

	https://savannah.gnu.org/bugs/?58128

	With this change the application does not need to set environment
	variables before start for the relocation.

2020-04-14  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	svg2png: Adapted syntax to gimp 2.10.18
	The svg2png syntax for gimp does not work for gimp 2.10.18
	on MacOS. I replaced the list command with the alternative
	syntax.

	Smake: added more files to remove for clean target
	Some file locations are moved and there are some new files which
	are generated. I added some files to the clean target.

2020-02-22  Ben Pfaff  <blp@cs.stanford.edu>

	documentation: Fix build with some versions of makeinfo.
	Reported by Jeremy Lavergne.

2020-02-09  John Darrington  <john@darrington.wattle.id.au>

	Fix order of arguments in error message

	Fix bug #57731.

2020-02-02  John Darrington  <john@darrington.wattle.id.au>

	Fix bug #57722.
	The McNemar binomial probability should use the minimum of the two dissimilar
	group counts.

2020-01-09  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-window: Avoid calling gdk_window_begin_draw_frame twice.
	gdk_window_begin_draw_frame() and gdk_window_end_draw_frame() have to
	be paired and not recursive, but this code didn't honor that.

	Thanks to Harry Thijssen and John Darrington for pointing out the
	issue.

2020-01-09  Ben Pfaff  <blp@cs.stanford.edu>

	LIST: Fix case numbering.
	Case numbering was wrong when a starting case or a step was specified.

	Bug #57534.

2020-01-08  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Correct multiple bugs regarding output width.
	The SET WIDTH setting was ignored.  This makes the code honor it for
	output to a file.  For output to a terminal, the terminal's width is
	used instead.

	Honor changes to SET WIDTH as well.

	The code to detect terminal size changes wasn't properly signal safe,
	and it was scattered across multiple files.  This centralizes it and
	makes it signal safe.

	There were bugs in updates to min_hbreak in corner cases.  This fixes
	them.

	Thanks to Frans Houweling and John Darrington for reporting these
	bugs.

2020-01-08  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Fix parsing of -O width=<n> option.

2020-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Avoid ctime_r() for portability reasons.
	ctime_r() isn't in mingw or Gnulib and it's best to avoid it in any
	case because POSIX says it is obsolescent and it has buffer overflow
	issues.

	Reported by Harry Thijssen.

2019-12-30  Ben Pfaff  <blp@cs.stanford.edu>

	spv: Make parser generators compatible with python3.

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	doc: PRINT on DO REPEAT is not yet implemented.
	Reported by Nolan Void.

	spv: Run Python at build time via $PYTHON variable.
	This was accidentally being run as literal "python" rather than through
	a variable, so it failed on systems where there is no "python" binary
	but only python2 or python3.

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-import-assistant: Implement quotation checkbox and combo box.
	This seems to have been overlooked.

	Bug #57457.

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add options for selecting variables and controlling output.

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Fix font scaling.
	It's really a mystery why a 9-point font doesn't appear 9 points tall
	in PDF (etc.) output, but it doesn't.  I guess we're doing something
	wrong somewhere.  But until we figure out the underlying issue, we need
	to scale down font sizes for PDF and not for on-screen use.

	This is a slightly better fix for font sizes than the previous commit
	3c15b41c036 (pivot-table: Kluge dropping default 9-point font to make
	output readable.)

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Kluge dropping default 9-point font to make output readable.
	The default font size for SPV output is normally 9 points, but that
	makes the output window hard to read.  This drops that default entirely,
	which seems to make the output use a system or Pango default.  This is
	probably not the right thing to do--probably we need a way to magnify
	the fonts for on-screen display.

	This reverts part of commit e3c3fbe8b, which wasn't intended to have a
	visible effect but did because it inadvertently introduced a 9-point
	default.

	Reported by John Darrington.

2019-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add --labels, --recode to usage message.

2019-12-28  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add --labels and --recode options.
	Requested by Dave Trollope <dave@knowledgehound.com>.

	pspp-output: Correct manpage.
	This was a cut-and-paste error made without thinking.

	Add support for reading and writing SPV files.

	pivot-table: Add support for hiding footnotes.
	This will get its first real user in an upcoming commit.

	pivot-table: Add support for hiding the caption.
	This will receive its first real user in an upcoming commit that adds
	support for SPV files.

	output: Refine support for footnotes, subscripts, and superscripts.
	The code for all this wasn't fully plumbed through from the pivot table
	code down to the drivers.  This commit fixes all that up.

	table: Factor out common code and improve comments.

	table: Replace table_joined_cell by table_cell.
	This eliminates some special cases.

	render: Fix up layer violation in add_footnote_page().
	The layering violation came from having to look up the default style
	for a footer, so we fix it by forbidding footnotes from using the
	default style.

	table: Get rid of TAL_* constants.
	These were the same as TABLE_STROKE_* so get rid of the extras.

	table: Get rid of TAB_* for horizontal and vertical alignment.
	Until now, either TAB_LEFT, TAB_RIGHT, etc. could be used or the
	area_style mechanism could be used.  The latter has a superset of the
	former's features, so this commit eliminates the former.

	pivot-table: Make pivot_area_get_default_style() return a static copy.
	The existing callers all want to make their own copy, but an upcoming
	new caller wants an existing one, so refactor the interface a bit.

	table: Add pool parameter to area_style_copy(), font_style_copy().
	This was inconsistent since the clone functions took them but the
	copy functions didn't.

	table: Move tab.h into table.h and rename tab_*() to table_*().

	table: Merge tab.c into table.c.

	tab: Merge struct tab_table into struct table.

	table: Require headers to be set at table creation.
	It used to be important for these to be adjustable, but no longer.

	table: Get rid of table_class.
	There is only one provider now, so we can slowly get rid of the extra
	layer.

	table: Simplify interface for number of rows and columns.
	Nothing ever changes the number of rows or columns in a table after
	initializing it anymore, so the more complicated interface is not needed.

	tab: Fix overlap between table enumerations.
	These enumerations overlapped with TAB_STYLE_MASK.

	table: Get rid of table_cell destructors, which were unused.

	pivot-table: Initialize subtype, command_id for pivot tables.

	pivot-table: Make template pivot_values localized.
	This will be used in an upcoming commit.

	pivot-table: Also dump sizing info in pivot_table_dump().

	pivot-table: Minor comment and style improvements.
	No behavioral changes.

	pivot-table: Make struct pivot_cell public.

	pivot-table: New public functions for default area and border styles.
	These will have additional users in upcoming commits.

	render: Change style for footnote blocks.
	This better matches the style output by SPSS.

	driver: Do not accumulate marked-up text.
	The output engine accumulates lines of text into blocks and outputs them
	all at once.  This doesn't currently work for text with markup, so this
	commit disables it.  It might be better to make it work, hence this
	commit also adds an XXX marker.

	table-item: Generalize support for layer info.
	This adds support for an arbitrary number of layer text items and allows
	the layer text items to have footnotes.

	bit-vector: Add new functions for working with bit vectors.
	These will receive their first users in an upcoming commit.

	zip-reader: New function zip_reader_contains_member().
	This function will have its first user in an upcoming commit.

	zip-reader: New function zip_member_read_all().
	This will have its first user in an upcoming commit.

	table: Make table_collect_footnotes() not return NULL footnotes.
	This simplifies the callers a bit.

	cairo: Make footnote markers smaller than normal text size.

	pivot-table: Add reference counts.
	This will be more useful in an upcoming commit.

	string-array: New function string_array_parse().
	This will acquire its first user in an upcoming commit.

	spv-file-format: Update.

2019-12-15  John Darrington  <john@darrington.wattle.id.au>

	Ensure that PRAGMA_COLUMNS etc can be overridden

	Remove unused #include directives

	Remove trailing whitespace from files

2019-12-14  Ben Pfaff  <blp@cs.stanford.edu>

	spv-file-format: Improve documentation.

	ascii: Open output file immediately instead of deferring it.
	I do not know of a good reason to defer it, and it can be surprising to
	the user if there is no output file at all if there is no output.

2019-12-08  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Add unicase/u8-totitle module.
	Should fix link error caused by commit 80bafa137 (i18n: New function
	utf8_to_title().)

	Reported by John Darrington.

2019-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	command: Put command_ids in output into title case.
	This is closer to compatibility.

	i18n: New function utf8_to_title().

	doc: Correct documentation for pspp-convert.

2019-12-01  Ben Pfaff  <blp@cs.stanford.edu>

	string-array: Drop unused parameter from STRING_ARRAY_INITIALIZER.
	This macro had no users.

	spv-file-format.texi: Updates.

	doc: Remove useless local variables from top-level texi files.

2019-12-01  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Support decrypting SPV files.
	Also, now properly understands and documents the PKCS #7 padding used
	for all encrypted files.

	Special thanks to Alan Mead for assistance.

2019-11-30  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Correct some inappropriate uses of @xref

	Update copyright notice for doc/pspp.texi

2019-11-28  John Darrington  <john@darrington.wattle.id.au>

	remove stray spaces from po/automake.mk

	Remove #include <assert.h> from files which don't need it

2019-11-27  John Darrington  <john@darrington.wattle.id.au>

	Delete trailing whitespace at line endings.

2019-11-25  John Darrington  <john@darrington.wattle.id.au>

	Fix typos in comments
		* src/ui/gui/memorandum.txt: Fix typo.
		* tests/language/command.at: Remove doubled word.

	Documentation: Fix various typos
		* doc/statistics.texi: Fix typos.
		* doc/utilities.texi: filesystem -> file system

	Remove stray semicolon
		* src/ui/gui/psppire-dialog-action-select.c: Remove extra ;

	acinclude.m4: Quote arguments to AC_DEFINE

	Update perl-module to GPLv3+
		* perl-module/PSPP.xs:
		* perl-module/README:

2019-11-10  Ben Pfaff  <blp@cs.stanford.edu>

	LOOP: Limit number of iterations when IF clauses present.
	The LOOP command is limited by the MXLOOPS setting in some cirumstances.
	Until now, if an IF clause was present, MXLOOPS was disregarded.
	However, this behavior does not match SPSS behavior.  This commit makes
	LOOP honor MXLOOPS even when IF is present, for compatibility.

	With this commit, only the presence of an index clause makes LOOP
	disregard MXLOOPS.

	Thanks to Frans Houweling for reporting this bug.

2019-11-05  John Darrington  <john@darrington.wattle.id.au>

	Fixed incorrect syntax generated by the Select Random Cases dialog.
	Reported by: Eric E Graig

2019-10-30  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Use ctime_r() instead of ctime(), for thread safety.

	ascii: Avoid buffer overread outputting page longer than allocated lines.
	This does seem like an odd case but I triggered it at one point and it
	costs little to check for it.

	pivot-table: Fix memory leaks in pivot_table_dump().
	# Conflicts:
	#	src/output/pivot-table.c

	pivot-table: Fix memory leak in pivot_value_destroy().

	driver: Fix memory leak in output_submit().

2019-10-22  John Darrington  <John.Darrington@mixed-mode.de>

	perl-module/automake.mk (perl_module_tarball): Make build dir writable.
	It seems that recent perl tries to write them.

2019-10-14  John Darrington  <john@darrington.wattle.id.au>

	po/Makevars: Add copyright and licence notices

2019-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	zip-writer: New functions for adding members.
	These will have additional users in an upcoming commit.

	zip-reader: Improve error messages.
	With this change, the zip-reader's error messages always include the zip
	file name and, when relevant, the member name.  Otherwise it wasn't always
	clear what a message liek "No such file or directory" was talking about.

	zip-reader: New function zip_reader_get_member_name().
	This allows the caller to obtain a list of .zip members.

	zip-reader: Don't keep .zip file open for lifetime of zip_reader.
	The zip_reader no longer uses the .zip file after it opens it, so close it
	when it's no longer needed.

2019-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	zip-reader: Read the whole central directory at .zip open time.
	By reading the whole central directory when we open the .zip file, rather
	than one entry at a time, we make it easier to get a list of entries and
	make it available to the client.  (This will be implemented in an upcoming
	commit.)

	This commit also fixes memory leaks in the error case in zip_member_open().

	This commit also changes the usage model.  Previously, if the caller opened
	a single member more than once, all the members shared a single copy of
	the member and read each other's data.  Now, each caller that opens a
	member gets a separate copy and a separate file pointer.  Callers now need
	to call zip_member_finish() when they're done with a member.

	With this commit, the code only keeps an open FILE for a member if the
	caller opened that member.  Previously, it kept an open FILE for any
	member that had been encountered.

2019-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	zip-reader: Fix memory leak on error path in zip_reader_create().

	zip-reader: Better hide implementation details from clients.
	By integrating the "inflate" code with the zip reader code, it is no
	longer necessary to expose the zip_member or decompressor details.

	output: Move text_item and group_item usage closer to the SPV model.

	output: Reimplement table_from_string in terms of tab.
	With this change, there is only a single table_class in the tree.

	output: Remove table_unshare.
	It was unused.

	output: Remove table_select and table_paste.
	table_select() was unused, and it was in turn the last user of
	table_paste().

	render: Drop use of table_select().
	This is the last use of table_select() in the tree.

	render: Modernize coding style.

	Update gitignore.

	doc: Update SPV file format documentation.

2019-10-04  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Improve comments.

	AUTORECODE: Implement PRINT subcommand.

2019-09-01  Ben Pfaff  <blp@cs.stanford.edu>

	AUTORECODE: Use minimum width output format for new variables.
	The target variables don't need any decimals, since they are always
	integers, and only need to be as wide as their largest value, which is
	known in advance.

	AUTORECODE: Style update.

	AUTORECODE: Properly handle variable labels.

	AUTORECODE: Properly handle value labels.
	Value labels are supposed to be copied from source variables, where they
	are present.  Also, it's better to format the source values using the
	print format rather than just assuming that %g is the right format.

	variable: New function var_append_value_name__().
	This variation on var_append_value_name() allows the caller to pass in the
	parameter specifying how to show the value, which will be useful in an
	upcoming commit.

	variable: Make var_append_value_name() omit trailing white space.
	This seems to be desirable in the cases where it's actually used.  It only
	affects one test case in the current testsuite, but it's an improvement for
	an upcoming change too.

	AUTORECODE: Fix whitespace.
	A previous commit introduced tab indentation.  Oops.

	AUTORECODE: Fix treatment of missing values.
	User-missing values are supposed to be recoded to a separate range above
	the non-missing values.  The system-missing value is supposed to not be
	recoded at all.  This fixes and documents that behavior.

	INSTALL: Mention that Python 3 is supported.
	It worked fine but the INSTALL doc claimed that it didn't.

	AUTORECODE: Do not create value labels when they would be empty.

	AUTORECODE: Code style update.

2019-08-18  Ben Pfaff  <blp@cs.stanford.edu>

	AUTORECODE: Make GROUP option work properly with multi-length strings.
	When GROUP is used, all of the variables are supposed to be put into a
	single table.  The implementation assumed in practice that, for string
	variables, all of the strings were the same width, which caused problems.
	This commit fixes the problem and updates the test to match.

2019-08-18  John Darrington  <john@darrington.wattle.id.au>

	/RENAME subcommand: Allow quoted strings in destination variables.
	Allow syntax like /RENAME = old = "new var" old2 = "another new var".

	Fixes bug #56771

2019-08-17  John Darrington  <john@darrington.wattle.id.au>

	perl-module: Add copyright and licence notices to all files

2019-07-26  John Darrington  <john@darrington.wattle.id.au>

	Descriptives: Constness

2019-07-22  John Darrington  <john@darrington.wattle.id.au>

	Pivot Table: Fix compiler warning.
	Revert part of commit 9bd8bde378997bf189e6aceffe3da5d321d0a837 .
	This was ill construed, because the footnote is owned by the pivot table.

	pivot_table: Constness

	perl-module: Add copyright and licence notices

	doc/dev/*.texi: Add copyright and licence notices

	doc/automake.mk: Add copyright and licence notice

	Add copyright and licence notice to Makefile.am

2019-07-21  Ben Pfaff  <blp@cs.stanford.edu>

	value: Get rid of value_str(), value_str_rw(), value_num().
	These can now all be replaced now by plain ->s or ->f, which is
	shorter and clearer anyway.

	value: Drop distinction between long and short string values.
	The time has passed when this is a super valuable distinction.  There is
	basically no distinction in the language itself anymore, the efficiency
	gains sound pretty marginal, and the differences lead to bugs, both
	correctness- and memory leak-wise, that are hard to test for (because the
	developer must make sure to test both short and long strings everywhere).
	This commit changes the code so that both short and long strings are
	represented the way that long strings were previously.

2019-07-21  Ben Pfaff  <blp@cs.stanford.edu>

	t-test-parser: Re-fix memory leak.
	I managed to screw this up in untabification.

	Fixes: 759791b6dee8 ("t-test-parser: Untabify.")

2019-07-21  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Init and destroy for long strings in set_missing_values().
	Otherwise long strings segfault.

	t-test-parser: Untabify.
	This file was inconsistent on tabs versus spaces.  Usually we use spaces
	in PSPP.

	t-test-parser: Force values to be specified with a string vars on GROUPS.

	t-test-parser: Fix memory leak with GROUPS and long strings.

	categoricals: Fix memory leak allocating long string categoricals.

2019-07-20  Ben Pfaff  <blp@cs.stanford.edu>

	shapiro-wilk: Fix memory leak.
	CC: John Darrington <john@darrington.wattle.id.au>
	Fixes: 0b7e8882ce9b ("EXAMINE: Implement the Shapiro-Wilk Test.")

	EXAMINE: Fix leak in Shapiro-Wilk test.
	CC: John Darrington <john@darrington.wattle.id.au>
	Fixes: 0b7e8882ce9b ("EXAMINE: Implement the Shapiro-Wilk Test.")

	AUTORECODE: Declare index variables inside 'for' loops.
	Just a style update.

2019-07-12  John Darrington  <john@darrington.wattle.id.au>

	ABOUT-NLS: Update to most recent version from gettext-0.20

2019-07-07  Ben Pfaff  <blp@cs.stanford.edu>

	AUTORECODE: Always report parse errors.
	The code didn't always report syntax errors that it found.

	lexer: Make lex_error_expecting() easier to use.
	With this change, the caller doesn't have to explicitly supply the null
	sentinel since the macro does it automatically.

2019-07-06  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Properly allocate pivot_table's current_layer.
	The default current_layer should be all-zeros, but the code wasn't
	allocating current_layer at all.  This didn't cause much of a problem
	because nothing in the current tree allocates layers, but it will as
	layers are added.

	Thanks to John Darrington for reporting the bug.

2019-07-06  Ben Pfaff  <blp@cs.stanford.edu>

	system-file-format.texi: Correct typo.
	Bug #56547.

2019-07-04  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Advance to Gnulib commit 9ce9be2ef0cb ("autoupdate").
	A recent commit to PSPP depended on a more recent version of Gnulib that
	includes Gnulib commit 3cd207e1d0fd ("fatal-signal: Pass the signal number
	to the action.") but the PSPP commit did not actually advance the Gnulib
	dependency to that commit.  This commit does that (actually it advances to
	Gnulib tip of master).

	Fixes: 21d2449f801c ("unlink_replace_files: Change signature to avoid compiler warning.")

2019-07-03  John Darrington  <john@darrington.wattle.id.au>

	Remove UNUSED attributes where they were inappropriate.
	These parameters were marked UNUSED, when they were in fact,
	used.

2019-07-02  John Darrington  <john@darrington.wattle.id.au>

	Recent to GTK+3.22

	means-calc.c: Add comments where needed.

2019-06-30  John Darrington  <john@darrington.wattle.id.au>

	Apply Dictionary: Fix memory leak.

	Added test for the APPLY DICTIONARY command.
	There appeared to be no existing test for this command.

2019-06-29  John Darrington  <john@darrington.wattle.id.au>

	PsppireOutputView.c: Fix memory leak.

	Constness

	PSPP.xs: Remove unused variables.

	terminal-reader.c: Remove unused variable.

	PsppireOutputViewer.c: Remove non-functional debug feature.

	Use non-deprecated gtk things

2019-06-28  John Darrington  <john@darrington.wattle.id.au>

	unlink_replace_files: Change signature to avoid compiler warning.

	MEANS: Don't compile debugging functions

	PsppireDict: Constness

	Descriptives: Constness

2019-06-24  John Darrington  <john@darrington.wattle.id.au>

	TEST Examine unrepresentable graphs: Ignore stderr

2019-06-23  John Darrington  <john@darrington.wattle.id.au>

	MEANS: Fix output with unusual formats

	MEANS: Change the statistic formats to follow their respective variables

2019-06-22  John Darrington  <john@darrington.wattle.id.au>

	Don't crash when inserting variables into an empty sheet.
	Fixes bug #56392.

	Add a comment

	MEANS: Fix behaviour when splits is active.

2019-06-20  John Darrington  <john@darrington.wattle.id.au>

	MEANS: Fix memory leak

	Re-implement MEANS.
	Fixes bug #44264.

2019-06-13  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Better document how to hide empty rows and columns.
	Suggested by John Darrington.

2019-06-13  John Darrington  <john@darrington.wattle.id.au>

	quick-cluster.c Fix uninitialised variables.
	Gcc 7.4 issued a warning about this.

2019-06-06  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Better describe the effect of OUTFILE on PRINT.
	Reported by Nolan Void <nolvoa@hanakami.com>.

2019-06-06  John Darrington  <john@darrington.wattle.id.au>

	Revert "Restart of new means implementation"
	This reverts commit ad7ae8bb105c925b951e241fd6a3d1cb93d614a0.
	I inadvertently pushed this!

	Revert "Remove bad tests"
	This reverts commit b9a1a1c32d5589e208ea751911d35177b7751720.
	I inadvertently pushed this!

	Remove bad tests

	Restart of new means implementation

2019-05-23  John Darrington  <john@darrington.wattle.id.au>

	Matrix reader: Remove reliance on hash functions.
	This code made inappropriate use of hash functions to identify
	uniqueness in sets of values.  This code removes that code, and
	compares them explicitly.

	Partial fix for bug #56363

2019-05-22  John Darrington  <john@darrington.wattle.id.au>

	Matrix Data: Identify splits explicitly instead of with hashes.
	The MATRIX DATA command was using hashes to identify splits in the
	input.  This works most of the time, but it is not guaranteed that
	every combination of split values will produce a unique hash.

	This change explicitly compares the values instead.

	Partial fix for bug #56363

2019-05-22  John Darrington  <john@darrington.wattle.id.au>

	src/libpspp/hash-functions.c: Add a preprocessor switch to help test hash table implementation.

	src/libpspp/copyleft.c: Add copyright and licence notice and an explanitory comment.

	examine.c: Add note to translators.

	Use msgmerge --previous when merging po files.

2019-05-21  John Darrington  <john@darrington.wattle.id.au>

	NEWS: fix typo.

	src/math/levene.c: Fix crash resolving hmap collisions.
	Partial fix for bug #56363

	Remove diagnostic printf

	Add the WARN_UNUSED_RESULT attribute to all hash functions.
	A hash function has no purpose if the result is unused, and
	tests will typically not pick up a mistake where the
	programmer forgets to assign the result - the hash table will
	merely degenerate to a linear searched array.

2019-05-20  John Darrington  <john@darrington.wattle.id.au>

	roc.at: Remove comma terminating test keywords.
	This was confusing me when trying to run all the ROC tests.

2019-05-10  John Darrington  <john@darrington.wattle.id.au>

	src/language/stats/examine.c: Whitespace changes only.

	src/data/data-in.c: Whitespace change only.

	QUICK CLUSTER: Move the parser into its own function.

2019-05-08  John Darrington  <john@darrington.wattle.id.au>

	QUICK CLUSTER (documentation): Clarify behaviour of the SAVE subcommand.

2019-05-07  John Darrington  <john@darrington.wattle.id.au>

	Fix cut and paste error

	QUICK CLUSTER: Implement the /SAVE sub-command.

	quick-cluster.c: whitespace changes only.

2019-05-06  John Darrington  <john@darrington.wattle.id.au>

	Adjust test to fix previous change

	Spelling: nonnegative -> non-negative

	Spelling: criterium -> criterion

	Remove en_GB.po
	This file was very out of date, and today there are no strings
	which need to be translated anyway.

2019-05-05  John Darrington  <john@darrington.wattle.id.au>

	GRAPH (barchart): Percentages display subcategorial percentages.
	When calculating the values for a categorical barchart displaying
	percentages, use the sub-category totals as the denominator, rather
	than the primary totals.

	Fixes bug #56247

2019-05-05  John Darrington  <john@darrington.wattle.id.au>

	Dump barchart when in testing mode.
	This change adds a routine to barcharts to print the parameters of the
	chart to stdout when --testing is passed.

	Barchart.h: Add comment.

	graph.c (run_barchart): Add assertion.
	We don't support multidimensional barcharts.

	graph.c: "freqs" --> "cells".
	The name "cells" is more meaningful in this context.

2019-05-04  John Darrington  <john@darrington.wattle.id.au>

	EXAMINE: Implement the Shapiro-Wilk Test.
	Closes bug #42511

2019-05-03  John Darrington  <john@darrington.wattle.id.au>

	NEWS: spelling

	Update translations from translationproject.org

	Correct thinko in previous commit

	EXAMINE:  Don't crash when unrenderable graphs are requested.
	This change fixes a crash in the cleanup of the cairo driver when
	a graph which is not representable was attempted to be rendered.

	Update translatable strings relating to internal errors.

	EXAMINE: Correct bug where /PLOT=ALL would not include the spreadlevel plot

2019-05-01  John Darrington  <john@darrington.wattle.id.au>

	crosstabs.q: Replace 'Approx Sig.' with 'Approx. Sig.'
	Not only is this a orthographical improvement, but it is also consistent
	with other strings in this file and elsewhere, and avoids gratuitiously
	adding an extra string for translators to deal with.

2019-04-30  John Darrington  <john@darrington.wattle.id.au>

	graph.c: Whitespace changes only. Fold some very long lines.

2019-04-28  John Darrington  <john@darrington.wattle.id.au>

	GUI: Scroll to correct datasheet position after deleting/inserting variables.
		* src/ui/gui/psppire-data-sheet.h (psppire_data_sheet_delete_variables,
		  psppire_data_sheet_insert_new_variable_at_posn): New functions
		* src/ui/gui/psppire-data-sheet.c: insert_new_variable ->
		psppire_data_sheet_insert_new_variable_at_posn.
		* src/ui/gui/psppire-data-sheet.c: delete_variables ->
		psppire_data_sheet_delete_variables.
		* src/ui/gui/psppire-data-editor.c:
		(psppire_data_editor_data_delete_variables,
		psppire_data_editor_insert_new_variable_at_posn): Reimplement.

2019-04-28  John Darrington  <john@darrington.wattle.id.au>

	src/output/driver.c:  Change engine_stack from an array to a list.
	The structure called engine_stack was formerly implemented as a heap
	based array allocated with realloc.   However when realloc moves data
	it makes only shallow copies and does not copy referand of pointers.
	This was causing crashes under certain circumstances.

	Rather than trying to fix this, this change re-implements engine_stack
	using the linked list structure from ll.h

2019-04-27  John Darrington  <john@darrington.wattle.id.au>

	NEWS: correct misleading entry

	FREQUENCIES: Warn the user if any weight values are missing.

2019-04-20  John Darrington  <john@darrington.wattle.id.au>

	piechart-cairo.c: Remove erroneous duplicate line.

2019-04-16  Ayhan Yalçınsoy  <ayhanyalcinsoy@pisilinux.org>

	Oneway GUI: Add dialog box for the posthoc tests.

2019-04-14  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in lexer due to integer overflow.
	Fixes bug #54684

	lexer: Token testing functions now take a const argument.

2019-04-13  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in gui, when T-TEST or ONEWAY while a filter is set.
	Fixes bug #54784

2019-03-31  Ayhan Yalçınsoy  <ayhanyalcinsoy@pisilinux.org>

	Linear Regression GUI: Add checkbox for tolerance.

2019-03-27  John Darrington  <john@darrington.wattle.id.au>

	array.c: Add missing include directive

2019-03-13  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Fix bug when printing tolerance of multiple variables.

2019-03-12  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Rename COLLIN to TOL
	This is now consistent with other software.

2019-03-10  John Darrington  <john@darrington.wattle.id.au>

	Update version number, as there have  been a number of changes since the last release

2019-03-07  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Fix some memory leaks and tidy up.

2019-03-05  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: New option /STATISTICS=COLLIN

2019-03-02  John Darrington  <john@darrington.wattle.id.au>

	PSPPIRE: Avoid some segmentation faults when corrupt data is encountered.

2019-03-02  Ryan Schmidt  <git@ryandesign.com>

	perl-module: Use unquoted perl config ld value
	Fixes build failure when the perl config ld value contains multiple
	words, such as on PowerPC Mac OS X where it may be a value like
	'env MACOSX_DEPLOYMENT_TARGET=10.3 /usr/bin/gcc-4.2'.

2019-02-28  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Improve syntax description for COUNT.
	Thanks to Nolan Void for the report.

2019-02-27  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Remove assertions based on file position.
	These assertions can fail if the underlying file is not a regular file,
	e.g. if it is a device such as /dev/null.

	CVE-2019-9211.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1683499.
	See also https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9211.
	See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923417.

2019-02-26  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Fix syntax for NUMERIC.
	Reported by Nolan Void.

2019-02-25  Ben Pfaff  <blp@cs.stanford.edu>

	MODIFY VARS: Fix bugs in REORDER and DROP subcommands, add tests.
	Thanks to Nolan Void for reporting the bug.

	array: New function reverse_array().
	An upcoming commit will introduce the first user.

	array: Change SWAP macro into swap() function.

	MODIFY VARS: Style updates.
	No behavioral changes.

	doc: Time components may not actually be separated by ".".
	Reported by Matteo Ga.

2019-02-22  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Fix some errors in DOCUMENT description.
	Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the issues.

2019-02-22  Ben Pfaff  <blp@cs.stanford.edu>

	SYSFILE INFO: Display documents too.
	The documentation says that SYSFILE INFO displays the documents but it
	didn't actually do it.

	Reported by Nolan Void <nolvoa@hanakami.com>.

2019-02-22  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Fix memory leaks.
	Found by Address Sanitizer.

2019-02-22  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav; Fix write past end of buffer in corner case.
	If count == 0 and size > 0, then n_bytes is 0, buffer is a 1-byte
	allocation, and the assignment to buffer[size] would write to buffer[1]
	(or past it), which is past the end of the allocation.

	Found by Address Sanitizer.

2019-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Remove documentation for SET MORE subcommand.
	The subcommand itself was removed a long time ago.

	Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the problem.

2019-02-09  Ben Pfaff  <blp@cs.stanford.edu>

	format: Always output 2-digit hours for TIME format.
	This makes the code honor what the documentation says.

	Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the problem.

2019-02-09  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Be consistent about variable numbering.
	Dictionary indexes are 1-based but this printed them starting from zero,
	so that the value labels (and weight) variable didn't match up properly.

	Bug #55673.

2019-02-09  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-output: Improve variable naming.
	'pt' is better than 'st' as the name for a struct pivot_table.

2019-01-22  Ben Pfaff  <blp@cs.stanford.edu>

	line-reader-test: Fix memory leak.

	string-map: Avoid measuring the length of a string twice.

	table-transpose: Remove.
	This had only only user, which this commit also removes.

2019-01-20  John Darrington  <john@darrington.wattle.id.au>

	Fix broken psql tests.
	This test seemed to fail on recent Debian systems, due to a combination
	of perl,bash,postgresql and autoconf not playing nicely together.

2019-01-19  Dave Trollope  <dave@knowledgehound.com>

	Improve MDD writer support.
	Patch #9742.

2019-01-16  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Make Perl tests work with Address Sanitizer.

	tests: Add valgrind and Leak Sanitizer suppression files.
	Otherwise any of the tests that use Cairo for PDF output end up with a
	bunch of leaks due to libfontconfig weirdness.

2019-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add --password-list option.

2019-01-12  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add -a and -l options to search for a password.

	encrypted-file: Extend magic numbers in try_password().
	The three-byte magic numbers would match 1 in about every 16 million
	guessed passwords, which is too frequent for exhaustive testing.  The new
	7- and 10-byte magic numbers should not have the same problem.

	pivot-table: Fix use-after-free error.

	Fix numerous memory leaks.

2019-01-12  Ben Pfaff  <blp@cs.stanford.edu>

	str: Fix bugs in ds_put_c_vformat().
	This code used c_vasnprintf() as if it had the same interface as
	vsnprintf(), but it's quite different.  It is necessary to make note of its
	return value and possibly free it.  The code previously here didn't do
	that, which led to memory leaks and possibly worse problems.  (Fortunately
	this function isn't used much.)

	Memory leak found by Address Sanitizer.

2019-01-06  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Always use Unicode boxes by default if appropriate.
	This moves code from the command-line UI so that additional users
	can benefit.  Currently that's just the command-line UI anyway
	but others are coming.

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	matrix-data: Only use as many bytes as necessary to initialize string.
	Using strncpy() of a 9-character string to initialize an 8-byte field is
	odd and seems likely to have been a mistake, although a harmless one.
	This makes the situation seem less odd.

	Found by GCC 4.9.

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	t-test-paired: Fix format specifiers.
	Found by GCC.

	Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	regression: Make sure dep_subscript is really initialized.
	Found by GCC 4.9.

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	chisquare: Fix format specifier in chisquare_execute().
	Found by GCC.

	Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	tab: Fix implementation of "middle" vertical alignment in tab_get_cell().
	Found by GCC 4.9.

	Fixes: a7a300e7d996 ("output: Support decimal and mixed alignment,")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Fix format specifiers.
	Found by GCC.

	Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	driver: Fix format specifiers and avoid fixed-size buffer.
	The format specifier problem is real.  The fixed-size buffers should not
	be, but it is not worth arguing with GCC.

	Fixes: a1b7813a6993 ("output: New page-setup-item.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	por-file-writer: Use xasprintf() to avoid careful buffer sizing.
	GCC 4.9 thinks that this string can overflow the buffer and there's no
	reason not to use xasprintf() here.

	por-file-reader: Use xasprintf() to avoid need for careful buffer sizing.
	GCC 4.9 complained about this, saying that the output could exceed the
	buffer size.  It doesn't seem worth arguing with it.

	ods-reader: Use proper function type for xml read callback.
	The difference between size_t and int is not important on 32-bit, but it
	makes a bit difference on 64-bit.

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-table: Fix type mismatch in equal_indexes().
	This function was being called with an 'unsigned int *' but it took it
	as a 'size_t *', which worked fine on 32-bit systems but caused an
	enormous number of tests to fail on 64-bit systems.

	Thanks to Alan Mead and John Darrington for assistance.

	Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Get rid of temporary debugging fix.
	Fixes: c70c92497244 ("SYSFILE INFO: Get rid of nested tables.")

	table: Avoid initializer warnings with GCC 4.9.

	psppire-output-window: Avoid using options the ascii driver no longer has.
	Fixes: 1a4052ac93c4 ("ascii: Get rid of the idea of pages.")
	Fixes: 37a14e6b8ab9 ("output: Add support for fonts.")

2019-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Entirely avoid broken Texinfo.
	Texinfo 4.13 was still causing problems on SuSE despite the implemented
	workarounds, so this commit removes the workaround in favor of just using
	the distributed pspp.xml if makeinfo is broken.

	Requested by opensuse.lietuviu.kalba <opensuse.lietuviu.kalba@gmail.com>.

2019-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-view: Only rerender for real changes.
	Rerendering is expensive and slow, so only do it when there's a real change
	like font size, not just when the cursor moves to a different window.

	psppire-output-view: Add a little extra space to GtkLayout.
	It can be difficult to see the bottom and right sides of the GtkLayout
	because of the scroll bars that, on newer versions of GTK+ 3, seem to
	actually overlap part of the content.  Add a little extra space around
	the output items to make it clearer.

	cairo: Make xr_rendering_measure() tolerate NULL arguments.

	output-item: Add 'name' member to class structure.
	This occasionally makes debugging easier.

	string-map: New function string_map_equals().

	output: Fix XML parsing in output_get_text_from_markup().
	The XML parser requires the entire input to be enclosed in an element.

	pspp-dump-sav: Issue error message for too-large extension records.
	CVE-2018-20230.

2018-12-31  Ben Pfaff  <blp@cs.stanford.edu>

	pivot-output: Fix argument order that made lots of weird rotated headings.
	Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")

	output: Introduce pivot tables.

	cairo: Minor cleanup by factoring out new function set_source_rgba().

	output: Support decimal and mixed alignment,

	output: Rename a few struct members for consistency.

	output: Support rotation.

	table: Make table cells have exactly one piece of content again.

	output: New page-setup-item.

	output: Add support for Pango markup of fonts and styles.

	psppire-output-view: Render only the visible parts of tables.
	This greatly improves scrolling performance for large tables.

	output: Cache the script ltr versus rtl direction.
	A profiling run showed that about 10% of the rendering time was occupied
	with repeated calls to render_direction_rtl().  This caches the result.

	psppire-output-viewer: Make sure that initial items are rendered at show.
	When output items were shown in the output window, the first item
	was not shown until the user moused over it and thereby triggered the
	on_style_updated callback.  This fixes the problem.

	psppire-output-view: Fix background color for output viewer.

	psppire-output-view: Add titles for groups.

	cairo: Render group_open_items.

2018-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	tutorial: Fix duplicate definition of node name "examine".
	Emacs, at least, confused this "examine" with the "EXAMINE" node for the
	EXAMINE command, and prevented me from visiting the latter documentation.

2018-12-26  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Tag all the tests that take more than about 1s as "slow".
	This makes it possible to run a quicker set of tests, which still have
	pretty good coverage, with something like this:
	    make -j10 check TESTSUITEFLAGS='-j10 -k !slow'

2018-12-25  Ben Pfaff  <blp@cs.stanford.edu>

	table-stomp: Remove dead code.
	Nothing used this code anymore.

	cairo: Improve comment.

	cairo: Fix word-wrapping of ".000" and similar.
	The Unicode line-breaking algorithm (or perhaps Pango's implementation of
	it) is willing to break after the period in ".000".  This looks odd.  This
	commit works around the problem.

	output: Introduce group_item in place of TEXT_ITEM_COMMAND_OPEN and CLOSE.
	This allows groups to be nested.

	text-item: Merge "title" and "subtitle" items into a new "page title".
	This better matches SPSS behavior.

	cairo: New macros XR_LINE_WIDTH and XR_LINE_SPACE.
	This makes the code a little easier to read in places.

	driver: New function output_driver_parse_option().
	This moves this function out of terminal-opts.c so that other code can use
	it too.

	output: Add support for alternating row colors.

	output: Add support for layer info in table output.

	output: Implement styling for titles and captions.

	output: Implement styling for footnotes.

	cairo: Remove debug print.

	tab: Support cell-specific styles.

	output: Add support for colors for rules.

	output: Support styles for text items.

	output: Add support for fonts.

	output: Add support for cell margins.
	Until now, space between cells was implemented by adding some space on the
	sides of rules.  That worked fine before cells could have colored
	backgrounds, but now it means that the backgrounds don't reach all the way
	to the rules.  Thus, this commit adds configurable margins to the cells
	themselves.

	output: Add support for colors in cells.
	Background colors aren't painted very well until the following commit adds
	support for cell margins.

	output: Add support for dashed, thick, and thin rules.

	output: Add support for vertical alignment of cells.
	It makes sense to bottom-align top headings but to top-align data cells,
	for example.

	tab: Expand space for table options from 8 to 16 bits each.
	Upcoming commits will need the extra bits.

	testsuite: Enable color output for tests.

	render: Update style of footnote rendering.

	output: Expand footnote support.
	This adds support for multiple footnotes per table cell and the ability
	to add footnotes to titles and captions.

	format: New function fmt_from_u32().
	This functionality will be useful for reading SPV files as well as SAV
	files.

	string-map: New functions for searching by non-null terminated keys.
	The first user will be added in an upcoming commit.

	str: New functions ss_starts_with() and ss_find_substring().
	These will have their first users in an upcoming commit.

	integer-format: Add some useful helper functions.
	These functions already existed in float-format.c, but they are more
	generally useful, so this commit moves them into integer-format.h.

	CROSSTABS: Make treatment of crosstab variables and values more uniform.

	CROSSTABS: Rename pivot_table to crosstabulation.
	This will make things easier later when real pivot tables are introduced at
	a higher level.

	output: Factor common code for command name tracking out of all drivers.
	This reduces redundancy.

	message: Refactor initializations for struct msg throughout the tree.
	A new member will be added in an upcoming commit, and the new style of
	initialization ensures that the member will always be initialized

	variable: Make property function return untranslated versions.
	This makes it possible for the callers to do the translation at the time
	it is needed.  It will be particularly useful in an upcoming commit.

	missing-values: New function mv_to_string().
	This seems like something that should be handled by the missing value code,
	not by SYSFILE INFO.

	bt, abt: Add initialization and iteration macros.

2018-12-24  Ben Pfaff  <blp@cs.stanford.edu>

	dictionary: New function dict_get_weight_format().
	Just a convenience.

	ascii: Get rid of the idea of pages.
	In the era when I started writing this code, people still printed output on
	dot-matrix printers and fanfold paper.  That's no longer a realistic use
	case: today, no one prints plain text output.  It's just for viewing on a
	screen, and on a screen there is no need or desire to break tables up
	vertically into virtual "pages".

	table: Get rid of TAL_GAP.
	This is only necessary in pathological cases.  Those cases don't really
	come up in normal usage and as PSPP shifts toward pivot tables they won't
	come up at all.

	cairo: Get rid of useless parameter 'y' to xr_layout_cell_text().

2018-12-23  Ben Pfaff  <blp@cs.stanford.edu>

	categoricals: Convert tabs to spaces.

	categoricals: Update style and modernize.

	categoricals: Get rid of 'df_prod' array.
	It brought minimal value in that everything it did could be recalculated
	on the fly without increasing the big-O cost.

	categoricals: Drop 'n_vals' member from struct variable_node.
	It was redundant with counting the elements in valmap, which wasn't
	used many places anyway.

	categoricals: Add array of variable_nodes to reduce hash lookups.

	categoricals: Avoid setting value_node indexes multiple times.
	A given variable_node can be in more than one interaction, but it's only
	necessary to set the variable_node's value_node indexes once each.

	categoricals: Give "reverse" members more descriptive, shorter names.

	categoricals: Remove unused function categoricals_get_n_variables().
	This function output debugging info on stdout, so clearly it wasn't
	important.

	categoricals: Don't warn on hash collisions.
	Hash collisions are not errors.

	categoricals: Improve comments.

	categoricals: Remove 'dep_excl' parameter.
	It was not used for anything.

	tests: Add "categorical" keyword to tests that use categoricals.
	This makes it easier to run tests just for these.

	interaction: Better document and update code to modern style.

2018-12-02  Ben Pfaff  <blp@cs.stanford.edu>

	output: Remove support for nested tables.
	They are no longer used.

	SYSFILE INFO: Get rid of nested tables.
	Nested tables aren't really necessary and make a number of things harder in
	the output subsystem.  SYSFILE INFO and DISPLAY, which share code, were the
	only code that used them, so this removes them from that code.

	get-data-psql.at: Make test work with Debian pg_wrapper arrangement.
	It had been years since I tested Postgres, but I was making a change that
	would affect the Postgres test, and I found out that the test didn't work.
	This fixes it.

2018-11-26  Ben Pfaff  <blp@cs.stanford.edu>

	segment: Fix behavior when #! line is not new-line terminated.
	The code here is supposed to maintain a invariant that, when it returns a
	nonnegative value, it initializes *type, but it failed to do that when a
	#! line did not end in a new-line.  This fixes the problem.

	Bug #55101.
	Thanks for Friedrich Beckmann for narrowing down the problem.
	Found by the Debian buildd: https://buildd.debian.org/status/fetch.php?pkg=pspp&arch=arm64&ver=1.2.0-1&stamp=1543183214&raw=0

2018-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Fix assertion in ascii_output_table_item().
	The previous assertion did not actually detect the bug it was intended to
	cover.

	ascii: Update min_breaks along with width and length.
	min_breaks has to be no larger than the page width (or length), otherwise
	the rendering algorithm fails, but the automatic update for TTYs didn't
	take that into account.

2018-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	render: Use "long long" instead of "double" for arithmetic.
	When I wrote this code in 2010, it seemed reasonable to me to use
	floating-point arithmetic to do large integer calculations, because 64-bit
	machines were not yet pervasive.  Over 8 years later, 32-bit machines are
	now a rarity.  This commit switches types and modernizes the coding style.

	This fixed an assertion failure that I was getting mysteriously while
	rendering a particular table.  I didn't investigate further because using
	integers seemed like a much better idea anyway.

2018-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Disable Address Sanitizer SIGSEGV handler for intentional SIGSEGV.

	FREQUENCIES: Avoid buffer overrun when there is no valid data.
	Reported by Address Sanitizer.

2018-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	ONEWAY: Fix use of stack-allocated variable outside its scope.
	The 'payload' object is a kind of class and should be allocated statically.

	Found by Address Sanitizer.

2018-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix pathological case where column minimum width exceeds maximum.

	data-out: Clarify the meaning of the 'encoding' parameter.

	psppire: Fix multiple definitions of align_enum_type and two others.
	These were defined in both psppire-dict.c and widgets.c, which causes a
	problem building with -fno-common (which is desirable because it allows
	Address Sanitizer to work better).

2018-11-19  Ben Pfaff  <blp@cs.stanford.edu>

	Check for python interpreter at configure time and document the requirement.

	test-date-input.py: Make compatible with Python 3.

2018-11-16  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed setting the font size via css syntax - Closes Bug #55006
	The pspp 1.2.0 release showed a problem with setting the font via
	the font selection dialog. The root cause is that the style
	setting should be done via css syntax and not pango syntax. I
	changed the code to do the style setting via css syntax.

	See: https://savannah.gnu.org/bugs/?55006

	The minimum width setting in the comment dialog does not work how
	it is implemented. I removed that code part as it does not seem
	to be crucial. At least on MacOS the default
	width is large enough to hold 80 characters. Even without that
	the user can increase the size of the dialog.

2018-11-12  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	changed install directory for pspp.appdata.xml to metainfo
	The default directory for the appdata xml file changed
	from appdata to metainfo. During debian package development
	lintian complained about the wrong location.

	changed emacs mode description to comply with elpa
	During the debian package development lintian proposed
	to install emacs mode via the elpa system. I changed
	the pspp emacs mode description to comply to elpa.

2018-11-11  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2018-11-08  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2018-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

	Release version 1.2.0.

	Add support for MTIME and YMDHMS.

	tests: Refactor data-out tests for dates and times.

	README.Git: Upgrade recommended version of Gnulib.
	Thanks to Frans Houweling <fhouweling@email.it> and Bruno Haible for
	identifying a problem with the previous version.

2018-10-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed strange character in polish translation email
	The strange character results in a build failure on MacOS

2018-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	hash-functions: Avoid signed integer overflow.
	cppcheck reported that 0xdeadbeef + 8 yielded signed integer overflow.
	This is probably harmless, as long as the compiler doesn't do something
	really strange, but it's even better if we just ensure that this
	arithmetic is done as unsigned.

	Reported by John Darrington.

2018-10-14  John Darrington  <john@darrington.wattle.id.au>

	Fix possible null pointer dereference in linreg_predict.
	Found by cppcheck.

	PsppireSpreadSheetModel: Remove useless check and substitute a useful one.
	Found by cppcheck.

	configure.ac: Recent ssw to 0.3+

	PspppireImportAssistant: New function textfile_create_reader.
	* src/ui/gui/psppire-import-assistant.c (textfile_create_reader): New function.

2018-10-06  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Fix details of journaling.
	This fixes test 1075: ASCII driver syntax printback.

	Reported by John Darrington and Jeremy Lavergne.
	Fixes: b4f585e70eca ("lexer: Fix buffer overread in journaling when source does not end in \n.")
	Fixes: e0f9210e814d ("lexer: Add support for embedded \0 bytes and missing trailing new-line.")

2018-10-01  John Darrington  <john@darrington.wattle.id.au>

	Reference count struct dictionary.
	This change:

	* Adds a ref count to struct dictionary.
	* Wraps dict_destroy in a ref-counted wrapper dict_unref.
	* Replaces most calls to dict_destroy with dict_unref.
	* Adds a new function dict_ref.
	* Changes PsppireDict so take a reference to the struct dict it contains.
	* Fixes some leaked dictionaries in PsppireImportAssistant.

2018-09-29  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Fix buffer overread in journaling when source does not end in \n.
	An earlier commit removed the requirement that a source file ends in \n,
	but the lexer still made that assumption.  This is intended to fix the
	problem.  (Probably, some new tests should be added.)

	Thanks to John Darrington for reporting the problem.

	Fixes: e0f9210e814d ("lexer: Add support for embedded \0 bytes and missing trailing new-line.")

2018-09-29  John Darrington  <john@darrington.wattle.id.au>

	psppire-import-assistant.c (psppire_import_assistant_generate_syntax): Append newline at end of syntax.

	src/data/mdd-writer.c: Avoid compiler warning

	value-variant.c: Avoid read from beyond end of buffer in string values.

2018-09-26  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Tolerate missing MRSETS label source value.
	Bug #54724.
	Thanks to Peter Lemenkov <lemenkov@gmail.com> for reporting this bug.

	pspp-dump-sav: Better handle unreasonable variable label lengths.
	Bug #54725.
	Thanks to Peter Lemenkov for reporting this bug.

2018-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	variable-parser: Fix null deref on error path in parse_DATA_LIST_vars().
	Bug #54685.
	Thanks to Tianxiao Gu for reporting this bug.

2018-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Add support for embedded \0 bytes and missing trailing new-line.
	The lexer, at a low level, has not supported \0 bytes in the input stream
	because it used such a byte as the end-of-input indicator.  This caused
	some awkwardness for the higher-level lexer, which had to remove and flag
	\0 bytes as it read them.  This caused a bug in the higher-level lexer,
	which raised an error for each \0 byte it removed but did so when the
	lexer was in an intermediate state, which could read uninitialized data.

	This commit fixes the problem by adding support for \0 bytes to the
	low-level lexer (segmenter).  At the same time, it adds support for input
	that doesn't end in a new-line character.

	Bug #54664.
	Thanks to Tianxiao Gu for reporting this bug.

2018-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	DO REPEAT: Avoid relying on null terminators.
	find_dummy_var() currently relies on the string passed in to have a null
	terminator (even though it accepts a length).  This is safe in the current
	tree but an upcoming commit will not ensure that it is null-terminated, so
	this commit removes the dependency.

	command-name: Avoid read past end of input buffer in find_word().
	When the input substring S is not null-terminated, find_word() could read
	past its end looking for a non-digit.  This fixes the problem.

2018-09-23  John Darrington  <john@darrington.wattle.id.au>

	MATRIX DATA: Fix memory leaks

2018-09-22  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix null deref on bad $@Role attribute.
	When a variable had a bad $@Role attribute, this was effectively read as
	an attribute without any values.  This is the only way to produce such an
	attribute.  The system file reader assumed that every attribute had at
	least one value and segfaulted if $@Role did not.

	This commit fixes both the ultimate cause of the segfault, by dropping
	attributes with no values, and the proximate cause, by ignoring $@Role
	attributes with no values.  Either fix by itself would be sufficient to
	avoid the segfault.

	Thanks to Tianxiao Gu for reporting the problem.
	Bug #54687.

2018-07-06  John Darrington  <john@darrington.wattle.id.au>

	Increase the required Gtk+ version to 3.18.0
	Since ssw requires this version it is not sensible for
	pspp have different requirements.

	* configure.ac: Update Gtk+ version number.
	* INSTALL: Update Gtk+ version number.

2018-07-06  John Darrington  <john@darrington.wattle.id.au>

	Recommend Gtk+ version 3.22 or later.
	Adresses concern in bug #52500

	* INSTALL: Add a comment about GTK+ version

2018-07-06  John Darrington  <john@darrington.wattle.id.au>

	ODS reader: Deal with case where /READNAMES vs. non-unity column spans.
	* src/data/ods-reader.c (ods_make_reader): Populate var_specs for the entire
	  column span.
	* tests/language/data-io/readnames.ods: New file
	* tests/automake.mk:  Add it.
	* tests/language/data-io/get-data-spreadsheet.at:  New test.

2018-07-05  John Darrington  <john@darrington.wattle.id.au>

	Change signature of sheet syntax generator function.
	* src/ui/gui/psppire-import-assistant.c (sheet_spec_gen_syntax): Pass mutable string
	instead of returning char *.

	Import Assistant: Disallow editing of the data sheet previewer.
	* src/ui/gui/psppire-import-assistant.c (formats_page_create): Set the editable
	property on the data sheet.

	Gui Import Assistant: Populate the assistant when importing spreadsheets.
	* src/ui/gui/psppire-import-assistant.c

2018-07-04  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Update comments.
	* src/data/spreadsheet-reader.h (struct spreadsheet_read_options): Elaborate
	  comments.

	Import Assistant: Fix minor memory leak.
	* src/ui/gui/psppire-import-assistant.c (prepare_formats_page): Reduce scope and
	  introduce dereference variable when no longer needed.

2018-07-04  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when attempting to add a new variable in the middle of the dictionary.
	Fixes bug #52551.

	* src/ui/gui/psppire-variable-sheet.c (change_var_property): Don't attempt to
	  alter a variable property if it's index is more than one below the last index.

2018-07-03  John Darrington  <john@darrington.wattle.id.au>

	Updated translations from translationproject.org
	* po/uk.po: Update Ukranian translation.

2018-06-03  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: fixed crash when entering data for user defined currency variable
	psppire crashed when data is entered for a variable of type
	user defined currency. The bug description is:

	https://savannah.gnu.org/bugs/index.php?54036

	which was first reported by Larissa Setzer. The reason was
	that currency format was not handled as number. This patch
	fixes this bug.

2018-04-30  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add missing file.
	Fixes: 59e520005100 ("New command SAVE DATA COLLECTION.")

2018-04-29  Ben Pfaff  <blp@cs.stanford.edu>

	New command SAVE DATA COLLECTION.
	Requested by Dave Trollope.

	Make libxml2 a required build dependency.
	This makes the logic for what is required versus optional much simpler.  An
	upcoming commit will introduce a new libxml2 user.

2018-02-21  Ben Pfaff  <blp@cs.stanford.edu>

	SAVE TRANSLATE: Allow variable names with space, etc. in output.
	The SPSS manuals actually document this to work and I've never noticed
	before.  This fixes the feature omission.

	Reported by Elio Spinello <elio@drspinello.com>.

2018-02-21  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Fix implementation of lex_force_string_or_id().
	Change a test to make sure that it works.

	Found by inspection.

2017-12-24  John Darrington  <john@darrington.wattle.id.au>

	Updated hungarian translation from translationproject.org

2017-11-27  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	k-means dialog - number of clusters gtkentry field not visible
	The gtkentry field for the number of clusters in the k-means dialog
	has a width of zero.
	Number entries in this field are not visible with this width, although
	the edit is done. I changed the width_chars to 5. Then the field is
	visible in the dialog.

2017-11-24  John Darrington  <john@darrington.wattle.id.au>

	psppire_data_window: Don't crash when trying to delete cases when none are selected

	psppire_data_editor: Don't crash when trying to insert when no variable or case is selected

2017-11-14  John Darrington  <john@darrington.wattle.id.au>

	Frequencies Piecharts (gui): Emit 'NOMISSING' when appropriate.
	Fixes bug #52394.

2017-10-10  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning

	Avoid compiler warnings when building without readline

2017-10-05  John Darrington  <john@darrington.wattle.id.au>

	Recent spread-sheet-widget to version 0.2

	Provide wrapper for gtk_menu_popup_at_pointer.
	This should keep older versions of Gtk+ happy.  Tested on Gtk+-3.18

2017-09-29  John Darrington  <john@darrington.wattle.id.au>

	Rename myreversefunc -> psppire_data_store_string_to_value

2017-09-27  John Darrington  <john@darrington.wattle.id.au>

	PsppireVariableSheet: Do not immediately display dialogs of cell renderers

	Fix inappropriate comments in headers

2017-09-24  John Darrington  <john@darrington.wattle.id.au>

	marshaller-list: Remove unused marshallers

	Set the variable display width instead of adding an override.
	When the column width is dragged in the datasheet, instead of adding
	a size override, change the variable's display width accordingly.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-window: Avoid writing null pointer constant as '\0'.
	Found by GCC 7.2.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-delimited-text: Clear entire 'cache_starts' buffer.
	The buffer is an array of 512 elements, not 512 bytes.

	Found by GCC 7.2.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	Avoid unfounded warnings from GCC 7.2.
	GCC thinks that these printf formats can produce output longer than the
	buffer that is available for them.  I think that it is wrong, but it is
	easy enough to use larger (or variable-length) buffers, so this commit
	does that.

	data-in: Fix parsing time delimiters in parse_date().
	Found by GCC 7.1.
	Reported by John Darrington.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	SORT VARIABLES: Improve stability of sort.
	The sort was being made "stable" by comparing variables' addresses in
	memory.  There's nothing particularly predictable about that, especially
	from one malloc implementation to another.  This commit fixes the stability
	by comparing the variables' dictionary indexes instead.

	Bug #52072.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	scan: Add cast to silence Clang warning about converting enum types.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-view: Use correct enumeration type in call.
	gtk_widget_override_background_color() takes GtkStateFlags, not
	GtkStateType.

	Found by Clang.

2017-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	cairo-chart: Make it clear that fabs() of integer values is intended.
	Reported by Clang.

	PRINT: Remove unused function.
	Reported by Clang.

	pc+-file-reader, sys-file-reader: Fix misuses of zero as null pointer.
	Found by Clang.
	Reported by Friedrich Beckmann.
	Bug #52045.

	float-format: Remove unused functions.
	Reported by Clang.

	compiler: Fix test for "optimize" attribute.
	This was introduced with GCC 4.4.  This fixes build warnings compiling with
	Clang, which pretends to be GCC 4.3 and does not support the "optimize"
	attribute.

2017-09-22  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2017-09-22  John Darrington  <john@darrington.wattle.id.au>

	PsppireDataStore (myreversefunc): Insert variables if attempting to access variable beyond the last

2017-09-18  John Darrington  <john@darrington.wattle.id.au>

	uint -> guint

2017-09-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	changed abs to labs function to avoid warning
	During compilation on MacOS with clang I saw a warning about
	a type mismatch for the abs function. I adapted the function
	from abs to labs.

2017-09-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	removed duplicate const declaration
	During clang compilation the following warning

	  duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
	  extern const char const examples_dir[];
	                  ^
	is shown. I removed the duplicate const declaration to avoid the
	warning.

2017-09-16  John Darrington  <john@darrington.wattle.id.au>

	Disable drag and drop on sheet axes for which there is no connected signal

2017-09-13  John Darrington  <john@darrington.wattle.id.au>

	Set the "editable" properties of the sheets to TRUE

	Fix some compiler warnings

	PsppireImportAssistant.c: Remove unused function

2017-09-11  John Darrington  <john@darrington.wattle.id.au>

	PsppireDataSheet.c: Indicate filtered out cases in the row headers

2017-09-10  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/sheet'

	src/output/cairo.c (xr_chart_renderer): Set the chart size to 0.8 of the smallest page dimension

	src/output/cairo.c (xr_chart_render): New variable chart_height

2017-09-10  Ben Pfaff  <blp@cs.stanford.edu>

	pspp.appdata.xml: Update and upgrade.
	I added a number of elements suggested by Richard Hughes way back in
	August 2016, plus some automatically added by "appstream-util upgrade".
	It looks like the whole file changed because appstream-util reindented it,
	but if you view ignoring white space changes you can see that the actual
	changes are much smaller.

2017-09-10  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Revert "Revert "Revert "added a description how to update linux distributions"""
	This reverts commit d7e52c8488b7cc4b7352f2057922c779b6ee25b1.

	Revert "GNU/Linux installation/update - Use GNU/Linux wording - Remove Ubuntu"
	This reverts commit 3d183ce2adfc32a104c91baa3ab5909d6f7afaa1.

2017-09-07  Ben Pfaff  <blp@cs.stanford.edu>

	Update translations from translationproject.org.

2017-09-07  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	GNU/Linux installation/update - Use GNU/Linux wording - Remove Ubuntu
	I changed the wording to GNU/Linux throughout the text and removed
	the reference to Ubuntu.

	Revert "Revert "added a description how to update linux distributions""
	This reverts commit ad4f9604cc877272fe504234e8b9078a7ce76e17.

2017-09-06  John Darrington  <john@darrington.wattle.id.au>

	Focus the sheet when the user hits enter in the datum entry

	PsppireValueEntry: New signal - edit-done

	Whitespace changes

2017-09-05  John Darrington  <john@darrington.wattle.id.au>

	PsppireDataEditor: focus the datum entry widget when F2 is pressed

2017-09-04  John Darrington  <john@darrington.wattle.id.au>

	Emit the "items-changed" signal upon data_store_set_value

	Fix memory leak

2017-09-04  Ben Pfaff  <blp@cs.stanford.edu>

	Correct URL in documentation.

	Improve bug reporting documentation, and mention pspp-security list.

2017-09-04  John Darrington  <john@darrington.wattle.id.au>

	Set the cell value when the reference entry changes

2017-09-03  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Make the default view the variable view instead of the data view

	examples/physiology.sav: Set the display width of the 'sex' variable.

	Revert "added a description how to update linux distributions"
	This reverts commit 0ec7c606844768cfc501d6213ffa17ebdfda1bab.

	PsppireDict: Add a quarter of a unit to the displayed width.
	This avoids the text appearing cramped.

	Whitespace changes only

2017-09-02  John Darrington  <john@darrington.wattle.id.au>

	Recent the dependency on spread-sheet-widget

	Honour the display width variable property

	Cope with changes to ssw_axis_model (upstream)

2017-09-02  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	added a description how to update linux distributions
	The usual way to obtain pspp in linux distributions is to
	use the pspp version which is part of the distribution. I
	described ways to update the pspp version by using backports,
	a ppa or creating a new binary package from a source package.

2017-08-30  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

2017-08-28  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add pspp-convert.at to Git.
	This was accidentally omitted from the repository.

2017-08-27  Ben Pfaff  <blp@cs.stanford.edu>

	Release version 1.0.1.

	po: Update translations from translationproject.org.

	sys-file-reader: Avoid assert-fail for duplicate attribute names.
	CVE-2017-12961.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1482436.
	See also http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-12961.
	See also http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12961.
	Found by team OWL337, using the collAFL fuzzer.

2017-08-27  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Better handle duplicate names without long names.
	The reader did not properly handle the case where variable short names
	had duplicates and the system file did not include long names.  In this
	case, the reader still tried to use the (duplicate) short names as the
	long names, which could in some cases cause a secondary name collision in
	the no-long-names case in parse_long_var_names(), and assert-failed.

	This commit first fixes the handling of duplicate short names: it sets
	the long name to the unique chosen short name, instead of the original
	duplicate short name.  Then as an additional measure it refactors the code
	a little to always handle duplicates in rename_var_and_save_short_names().
	I am not sure that that is necessary but it's a little bit of a code
	cleanup anyhow.

	CVE-2017-12960.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1482433.
	See also http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-12960.
	See also http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12960.
	Found by team OWL337, using the collAFL fuzzer.

2017-08-27  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fully verify multiple response set names.
	Until now, the code only checked the first character of the name, which
	made it possible to assert-fail when the mrset was actually added.

	CVE-2017-12959.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1482432.
	See also http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-12959.
	See also http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12959.
	Found by team OWL337, using the collAFL fuzzer.

2017-08-27  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Pass correct width to value_str() in output_AHEX().
	AHEX16 is short enough to work as a short string, but output_AHEX() was
	treating it as a long string, which caused string data to be dereferenced
	as a pointer.

	CVE-2017-12958.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1482429.
	See also http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-12958.
	See also http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12958.
	Found by team OWL337, using the collAFL fuzzer.

2017-08-26  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Fix crash when the output file cannot be created.

2017-08-20  Stefan Weil  <sw@weilnetz.de>

	Fix some typos (found by codespell)
	Most of them were in documentation and comments.

2017-08-20  John Darrington  <john@darrington.wattle.id.au>

	Remove PSEAL macro.  It is no longer useful.

2017-08-20  Ben Pfaff  <blp@cs.stanford.edu>

	Increase version number to 1.0.0.
	It's time.

	Update translations from translationproject.org.

	po: Use "rsync" instead of "wget" for po-update target.
	This is much faster.

2017-08-12  Ben Pfaff  <blp@cs.stanford.edu>

	Release PSPP version 0.11.0.

	Ignore all files under src/ui/gui/icons except a few actual source files.

	doc: Ignore generated documentation files.

2017-08-11  John Darrington  <john@darrington.wattle.id.au>

	Update German and Dutch translations from translationproject.org

2017-08-05  John Darrington  <john@darrington.wattle.id.au>

	NEWS: Move the mention of the new sheet to the next release

2017-08-03  John Darrington  <john@darrington.wattle.id.au>

	Update translations from translationproject.org

2017-08-02  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

2017-07-31  Ben Pfaff  <blp@cs.stanford.edu>

	system-file-format: More string fields with null bytes spotted.
	Manoharan <s.manoharan@auckland.ac.nz> reported that he has also seen
	system files that contain string fields with compressed null bytes, so
	reword the description to make this sound less exotic.

2017-07-30  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.10.5-pre3.
	This pre-release is primarily to get the CVE-2017-10791 and CVE-2017-10792
	fixes into a tarball for folks who find tarballs easier to work with.

2017-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	linreg: Comment out unused function to avoid compiler warning.

	sys-file-reader: Ignore duplicate value labels written by ReadStat.
	The ReadStat software writes duplicate value labels due to a
	misunderstanding of string widths.  This change make PSPP ignore these
	duplicates.

	sys-file-reader: Tolerate nominal case size of 0 without warning.
	The software at https://github.com/WizardMac/ReadStat seems to always write
	0, so there's not much value in warning.

2017-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Accept document records with no document lines.
	This allows PSPP to accept system files that appear to be produced by the
	ReadStat software at https://github.com/WizardMac/ReadStat.

	Thanks to ftr for reporting this bug via pspp-users at:
	http://lists.gnu.org/archive/html/pspp-users/2017-07/msg00002.html

2017-07-28  John Darrington  <john@darrington.wattle.id.au>

	Linreg.c: Remove QR decomposition optimisation.
	Fixes bug #51373.

	linreg.c: Fix typo

2017-07-26  John Darrington  <john@darrington.wattle.id.au>

	doc/expressions.texi: Correct documentation of MISSING and SYSMIS functions.

2017-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	spv-file-format: Improve description of file format.

2017-07-16  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Mark SPSS Viewer format chapter properly as an appendix.
	Otherwise some of the output looked a little confused when it went through
	TeX.

	doc: Keep copyright and license comments from showing up in TeX output.
	The "\input texinfo" line is what changes the comment syntax from TeX
	syntax to Texinfo syntax, so it has to go before the @c comments or else
	those comments show up in output produced by TeX.

	spv-file-format: Improve description of structure member format.

2017-07-15  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Use path search for zip-test instead of full path.
	This allows "check-valgrind" to work properly since it relies on putting
	wrappers early in $PATH.

	Update to newest Gnulib.
	Harry Thijssen reported an issue with the previous version on Windows.
	John Darrington suggested an update, since the Gnulib developers have been
	working through related problems.

2017-07-14  John Darrington  <john@darrington.wattle.id.au>

	doc/statistics.texi: Add comma after @xref.
	Apparently older versions of makeinfo insist on this.

	Reported-by: Harry Thijssen
	Fix-by: Ben Pfaff

2017-07-12  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid failure based on encoding name differences.
	glibc and Mac OS X call the ASCII encoding by different names, which caused
	differing output and a test failure.  This fixes the problem.

	Reported by Jeremy Lavergne.

2017-07-12  Ben Pfaff  <blp@cs.stanford.edu>

	spv-file-format: Add much more detail.

2017-07-10  Ben Pfaff  <blp@cs.stanford.edu>

	zip-reader: Use xstrdup() instead of strdup().

2017-07-08  John Darrington  <john@darrington.wattle.id.au>

	Move XML declarations to the start of .ui files.
	Apparently xgettext complains if comments start the file.

2017-07-07  John Darrington  <john@darrington.wattle.id.au>

	Fix erroneous subsitute by previous commit.
	Commit 691a034d7f2139076fa012739dffd40ef5db4a9b  inadvertenntly
	commented out the first line of every .at file.  This commit
	fixes that.

2017-07-05  John Darrington  <john@darrington.wattle.id.au>

	Add copyright and licence notices to files which lack them.
	The savannah hackers have been recently complaining about lack of copyright/licence notices.

2017-07-04  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add tests against regression for two previously fixed bugs.

2017-07-04  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix integer overflows in parse_long_string_missing_values().
	Crafted system files caused integer overflow errors that in turn caused
	aborts.  This fixes the problem.

	CVE-2017-10791.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1467004.
	See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866890.
	See also https://security-tracker.debian.org/tracker/CVE-2017-10791.
	Found by team OWL337, using the collAFL fuzzer.

2017-07-04  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Avoid null dereference skipping bad extension record 18.
	read_record() assumed that read_extension_record() never set its output
	argument to NULL when it returned true, but this is possible in an error
	case.

	CVE-2017-10792.
	See also https://bugzilla.redhat.com/show_bug.cgi?id=1467005.
	See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866890.
	See also https://security-tracker.debian.org/tracker/CVE-2017-10792.
	Reported by team OWL337, with fuzzer collAFL.

2017-06-27  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.10.5-pre2.
	This prerelease is to update the Gnulib version, to fix the GCC 7 problems.

2017-06-27  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Recommend newer Gnulib, to avoid GCC 7 segfaults.
	Reported by Matthias Klose <doko@debian.org>
	at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853623.

	Bug #51318.

2017-06-27  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Avoid VERSION redefinition warning from compiler.
	If the PSPP version includes a suffix like "-pre1", then Perl will strip
	that suffix from the version it passes to the compiler using -DVERSION=...,
	and <config.h> will re-define it with the full version string.  This causes
	a warning.

	This change avoids the warning.  I am not yet aware of a new problem that
	it causes.

2017-06-23  John Darrington  <john@darrington.wattle.id.au>

	Enable the show value labels feature

2017-06-19  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Improve calculation of Kaiser-Meyer-Olkin and add a test

2017-06-18  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Add Anti-image matrix output

2017-06-16  John Darrington  <john@darrington.wattle.id.au>

	Updated German translation from translationproject.org

	Add documentation for MATRIX DATA /N

	MATRIX DATA: Add /N subcommand

2017-06-15  John Darrington  <john@darrington.wattle.id.au>

	Allow dialog boxes to be cancelled by hitting the Escape key.
	Closes bug #51225

2017-06-11  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Fixed perl regression problem due to Version name - Fixes Bug #51218
	The regression failed in some perl tests due to an incompatible
	pspp version number. I changed to a version number that includes
	a "-". The problem is described in acinclude.m4. See

	  The PSPP autobuilder appends a build number to the PSPP version number,
	  e.g. "0.7.2-build40".  But Perl won't parse version numbers that contain
	  anything other than digits and periods, so "-build" causes an error.  So we
	  define $(VERSION_FOR_PERL) that drops everything from the hyphen onward.
	  VERSION_FOR_PERL=`echo "$VERSION" | sed 's/-.*//'`
	  AC_SUBST([VERSION_FOR_PERL])

	The version name was 0.10.5pre1 without a "-". Therefore the version name
	for perl results in a problem.

2017-06-07  John Darrington  <john@darrington.wattle.id.au>

	Change the return type of psppire_delimited_text_new.
	... and deal with the consequences.

	Import assistant: Disable the search function of treeviews

	Whitespace changes only

	PsppireDelimitedText (count_delims): Make the iteration multibyte character safe

	PsppireDelimitedText (count_delims): Reverse sense of test condition

	PsppireDelimitedText: Extend the functionality such that it copes with quotes.
	Currently the set of characters it considers quotes is hard coded.

	PsppireImportAssistant: Avoid possible null pointer dereferences

2017-06-05  John Darrington  <john@darrington.wattle.id.au>

	PsppireImportAssistant: Use a more reliable way of setting the number of cases.

	PsppireDelimitedText: Remove g_print statements

	PsppireDelimitedText: use the maximum_lines property of the child as the number of items in the model

	Import Assistant: Mark lines beyond the declared maximum as insensitive

	Import Assistant: Don't try to parse non-existant files

	Import assistant: Simplify the construction of the introductory page

2017-06-04  John Darrington  <john@darrington.wattle.id.au>

	Add SPREAD_SHEET_WIDGET_CFLAGS to the flags used for building the GUI

2017-06-02  John Darrington  <john@darrington.wattle.id.au>

	Mention the changes to the sheet in NEWS

	Merge remote-tracking branch 'origin/master' into sheet

	Use a more reliable way of setting the initial state of PsppireDialogAction objects.

2017-06-01  John Darrington  <john@darrington.wattle.id.au>

	Fix bug where the Examine subdialogs appeared multiple times.

2017-05-31  John Darrington  <john@darrington.wattle.id.au>

	Update translations from translationproject.org

2017-05-30  John Darrington  <john@darrington.wattle.id.au>

	Mention a version number for the spread sheet widget dependency

2017-05-27  John Darrington  <john@darrington.wattle.id.au>

	INSTALL: Mention the spread-sheet-widget dependency

	Removed GtkXPaned which is currently not used

2017-05-25  John Darrington  <john@darrington.wattle.id.au>

	Deal with formal release of upstream library

2017-05-24  John Darrington  <john@darrington.wattle.id.au>

	Update identifiers to reflect new identity of upstream package

2017-05-23  John Darrington  <john@darrington.wattle.id.au>

	PsppireImportAssistant: New function psppire_import_assistant_run

	Remove duplicate accelerator from the one-way anova menuitem.
	Reported-by: Yuri Chornoivan

2017-05-22  John Darrington  <john@darrington.wattle.id.au>

	case.c: variable_matches_case -> assert_variable_matches_case
	This function was only used in assertions.   Having the function itself assert, rather
	than returning a boolean makes debugging easier, because one need not guess which
	term of the assertion has failed.

2017-05-21  John Darrington  <john@darrington.wattle.id.au>

	PsppireImportAssistant: Remove some unnecessary #include directives

	Import Assistant: Remove unused prototypes

	Import Assistant: Allow separators to be unicode characters

	Import Assistant: Fix generation of variable names

	Remove psppire-empty-list-store which is now unused

	Import Assistant: Remove struct column which is now unused

2017-05-20  John Darrington  <john@darrington.wattle.id.au>

	Remove some unused code

2017-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.10.5pre1, for translations.

2017-05-20  John Darrington  <john@darrington.wattle.id.au>

	K Independent Samples Dialog: Fix compiler warnings.

	Import assistant: Re-enable automatic inference of the separators

	Import Assistant: Fix generation of /DELIMITERS subcommand

	Remove some unused code

	Import Assistant: Re-add the format guesser feature

2017-05-19  John Darrington  <john@darrington.wattle.id.au>

	ImportAssistant: Set the GtkPaned slider to half way

	ImportAssistant: make division between var and data sheets clearer

	constness

	Remove some unused variables

2017-05-18  John Darrington  <john@darrington.wattle.id.au>

	PsppireImportAssistant: Remove the "transient-for" property.

	Add a callback when variables change

	Populate the data sheet in the import assistant

	Merge remote-tracking branch 'origin/master' into sheet

	Updated the Dutch translation from translationproject.org

2017-05-16  John Darrington  <john@darrington.wattle.id.au>

	Remove commented out code

	Fix potential crash if matrix file variables are of unexpected types

	Fix buffer overflow which could occur if the matrix reader encounters a badly formed file.

	Remove unreachable code

2017-05-15  Ben Pfaff  <blp@cs.stanford.edu>

	matrix-reader: Use strcpy() on char arrays, in next_matrix_from_reader().
	Fixes GCC warning "pointer targets in passing argument 1 of 'strcpy'
	differ in signedness".

2017-05-15  Ben Pfaff  <blp@cs.stanford.edu>

	factor: Fix return type of do_factor_by_matrix().
	This function had a "bool" return type but nothing used it.

	Fixes GCC warning "'return' with no value, in function returning non-void".

	Reported by Jeremy Lavergne.

2017-05-15  John Darrington  <john@darrington.wattle.id.au>

	New Dialog: Non Parametric | K Indepdendent Samples

	PsppireValueEntry: Use a more reliable way to override parent property.
	Setting the property in the _new function doesn't work if the object is constructed
	via GtkBuilder for example.

2017-05-13  John Darrington  <john@darrington.wattle.id.au>

	Zip Reader: initialise error string earlier.
	Fixed a bug which could have caused a crash if pspp were presented
	with a corrupt zip file.

2017-05-12  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug which caused a crash in GET DATA

	MEANS: Prevent parser from entering infinite loop.
	Fixes bug #51008
	.

	src/math/linreg.c: Don't calculate the intercept for regression through the origin

	src/math/linreg.c: Encapsulate this object better.

2017-05-11  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Implement /ORIGIN subcommand.

	DESCRIPTIVES: Fix a bug where the parser could enter an infinite loop

	FACTOR: Don't try to perform analysis if there are no variables.

	FACTOR: Do not try to run an analysis if no matrix is present

	FACTOR: Fix a crash when bad input was presented

	FACTOR: Make idata parameters const where they can be.

	DATA MATRIX: Avoid crash on invalid input

2017-05-10  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leaks in FACTOR/MATRIX

	Remove unused variable

	FACTOR: Use consistent indexing when displaying matrices.
	In any sane use case this will make no difference, since
	all covariance and correlation matrices are symetrical.
	However for correctness and ease of debugging this helps.

	matrix reader: Fix bug which incorrectly read in matrix material.

	MATRIX DATA: Allow non-symetric matrices if /FORMAT = FULL.

2017-05-09  John Darrington  <john@darrington.wattle.id.au>

	Matrix reader, fix comment to reflect reality.

	MATRIX DATA: Cope with long variable names

	FACTOR: Allow an option '=' after MATRIX

	REGRESSION: Allow independent variables to be specified on the ENTER subcommand.
	This is more typical of the syntax that third party software generates.

2017-05-08  John Darrington  <john@darrington.wattle.id.au>

	Cope with new location of upstream files

	Enable reordering of variables by drag and drop

2017-05-07  John Darrington  <john@darrington.wattle.id.au>

	(Re)enable the pasting of the importer syntax

	PsppireImportAssistant: Clear the dictionary before re-adding the variables

	PsppireDataEditor: Automatically set the dictionary as hmodel when the data store changes

	PsppireImportAssistant: Set the variables of the varsheet

	PsppireDelimitedText: Declare psppire_delimited_text_new to return a GtkTreeModel* instead of PsppireDelimitedText*

	PsppireDelimitedText: reset all cache starts

2017-05-06  John Darrington  <john@darrington.wattle.id.au>

	PsppireDelimitedText: Remove a useless member variable

2017-05-05  John Darrington  <john@darrington.wattle.id.au>

	Add an (empty) datasheet to the import assistant

	Add (empty) variable sheet for import assistant

	Initialise parent class in sheets

	New module: psppire_data_sheet.c

	New module: psppire_variable_sheet.c

2017-05-04  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Add printout of the covariance matrix and add a test

	FACTOR: New subcommand: MATRIX IN

	New function covariance_from_correlation

	New module matrix-reader
	Added a new module to help read the files created by MATRIX DATA

2017-05-01  John Darrington  <john@darrington.wattle.id.au>

	MATRIX DATA: Fix crash when duplicate variables are specified

	MATRIX DATA: Handle multiple splits properly

2017-04-30  John Darrington  <john@darrington.wattle.id.au>

	MATRIX DATA: Rewrite to canonical rowtype values

	Updated the French translation from translationproject.org

2017-04-26  John Darrington  <john@darrington.wattle.id.au>

	Added the MATRIX DATA procedure.

	parse_DATA_LIST_vars: Reduce scope of variable 'name2'

2017-04-23  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only.  Remove trailing whitespace.

	Import Assistant: Re-enable the setting of header titles

2017-04-22  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

	New objects PsppireTextFile and PsppireDelimitedText.
	These objects take care of the spliting of delimited text data
	and allow the Import assistant to just do the job of presenting
	dialog boxes.

	Whitespace changes only: Remove trailing whitespace

2017-04-19  John Darrington  <john@darrington.wattle.id.au>

	Do not allow value labels dialog to enter a label for an invalid value.
	Fixes bug #45429

	Don't crash when attempting to enter data in a column without a variable

	Make warning message a little more severe.
	This warning should not happen any more.

	Update the datum entry when the selection changes

	PsppireDataEditor: unref objects on dispose

	Enable setting of variable type from var sheet

	Var type dialog: Add a return value

	Pass the top level window to dialog creation functions

	Enable changing of missing values from the variable sheet

	Make missing-value-dialog return a status

2017-04-18  John Darrington  <john@darrington.wattle.id.au>

	Remove inappropriate single selection-mode properties from dialog actions.
	Closes bug #50029

2017-04-17  John Darrington  <john@darrington.wattle.id.au>

	Remove unused variable

	Enable the value_labels popup dialog

2017-04-16  John Darrington  <john@darrington.wattle.id.au>

	Don't try to use TIOCGWINSZ if termios.h is not available.

2017-04-15  John Darrington  <john@darrington.wattle.id.au>

	Enable changing of width and decimals from var sheet

	Fix grammatical error in NEWS

2017-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Do not delete testsuite on distclean.
	The testsuite is distributed, so distclean must not delete it.

	Thanks to Harry Thijssen <pspp4windows@gmail.com> for reporting the problem.

2017-04-14  John Darrington  <john@darrington.wattle.id.au>

	Remove diagnostic message

2017-04-08  John Darrington  <john@darrington.wattle.id.au>

	Make the split window menuitem apply to the var sheet as well as the data sheet

	Variable Sheet: Display 'None' for value labels if the count is zero

2017-04-07  John Darrington  <john@darrington.wattle.id.au>

	change_var_property: Make parameter const

	Remove reduntant #include

	Change the signature of myreversefunc to return bool

	Move paste related code from PsppireDataWindow to PsppireDataEditor

	Don't update the cell entry ref if there is no active cell

2017-04-06  John Darrington  <john@darrington.wattle.id.au>

	Use g_object_set rather than obsolete setter function

	Fix some compiler warnings

2017-04-05  John Darrington  <john@darrington.wattle.id.au>

	Remove call to property which no longer exists

	Enable Edit Menuitems

	Remove obsolete file psppire.gtkrc

	Rename myconvfunc --> psppire_data_store_value_to_string

	Fix pasting from data sheet

	Add comments to value-variant implementation

2017-04-04  John Darrington  <john@darrington.wattle.id.au>

	Make the combo boxes in the variable sheet work properly

	Make the split window feature work again

	Make the goto variable feature work again

	Display data in the var sheet properly

2017-04-03  John Darrington  <john@darrington.wattle.id.au>

	Remove some variables from global scope

2017-03-31  John Darrington  <john@darrington.wattle.id.au>

	Allow adding new variables in the var sheet

	Fix typo in comment

	Enable deletion of variables from var sheet

	Add popup menu on var sheet row header

	Enable sorting of cases

	Enable the deletion of variables from the data sheet

2017-03-30  John Darrington  <john@darrington.wattle.id.au>

	Add popup menu to insert a variable

	Add popup menu for variables in data sheet

	Use the "items-changed" signal instead of "changed"

	New popup menu for cases

	remove case-inserted signal

2017-03-28  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

2017-03-27  John Darrington  <john@darrington.wattle.id.au>

	Edit|Options: Add fields to change behaviour of output window.

	New menu: Edit|Options
	Add a new menu to set global options.  Currently it only affects the display
	of variables in Dictionary Views.

2017-03-24  John Darrington  <john@darrington.wattle.id.au>

	Html Driver: Fix bug when rendering small cells.
	This fix avoids a bug where the driver would enter a tight loop when rendering cells
	with zero height or width.

	Updated NEWS file.

	Terminal interface: Remove support for the ncurses library.
	This library was supported for trivial reasons.  It always gave rise
	to portability issues and was a pain to support.  Furthermore there
	is a simpler way to do what we used it for.  So now we use that way
	instead.

2017-03-15  John Darrington  <john@darrington.wattle.id.au>

	Mann Whitney: Remove unused variable

2017-03-06  John Darrington  <john@darrington.wattle.id.au>

	Fixed a bug in the Mann-Whitney test vs. missing=analysis.
	When missing values were deleted from the dataset, they were deleted after the
	ranks for the U value had been inserted, - thus the wrong rank sum would be
	calculated.  This change deletes missing values *before* the ranks are inserted.

	The issue this fixes is described at
	http://lists.gnu.org/archive/html/pspp-users/2017-03/msg00009.html

2017-02-21  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	FREQUENCIES: fixed VARIANCE output - fixes bug #50366
	The FREQUENCIES command output the mean instead of variance result when
	variance was requested. The bug and a patch was reported on savannah.
	I added a test to identify the problem and the proposed patch.

	fixes bug #50366

2017-01-14  John Darrington  <john@darrington.wattle.id.au>

	tests: Avoid infinite loop in test.

	tests: Ensure that the testsuite is of non-zero size

2017-01-13  John Darrington  <john@darrington.wattle.id.au>

	psppire-import-assistant: Use maximised window instead of full_screen.
	A number of users had complained about the full screen window.
	Fixes bug #48230

	po: Add new variable LOCALPOFILES to hold locally managed .po files
	This variable holds .po files not managed by translationproject.org

	Ensure that help page manifest is not empty.
	For some reason I have found that sometimes doc/help-pages-list
	is zero bytes long.   I don't know how this happens, but this
	change should catch it and allow us to find out why.

2016-12-23  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2016-12-04  Ben Pfaff  <blp@cs.stanford.edu>

	Update all translations using "make po-update".
	This only adds an "X-Bugs:" line to the translations, which were otherwise
	up-to-date except that cs.po and en_GB.po aren't actually in
	translationproject.  I'll have to ask John Darrington about that.

	po: Add po-update rule for updating all translations.

	po: Update translations from translationproject.org.

2016-12-02  Ben Pfaff  <blp@cs.stanford.edu>

	Fix misleadingly indented statements.
	GCC 6.2.1 reported {}-braced blocks that looked like they were guarded by
	preceding "if" statements but really weren't.  This fixes the misleading
	indentation.

	gui: Remove unused static variables.
	Reported by GCC 6.2.1.

	gui: Fix #includes for gtksourceview.
	Newer versions of gtksourceview only allow gtksource.h to be included
	directly, so this commit changes PSPPIRE to only include that header.

2016-11-22  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update German translation from translationproject.org.

2016-11-07  pspp.freepost@ordinaryamerican.net  <pspp.freepost@ordinaryamerican.net>

	typo in XEXPORT documentation
	This typo was reported in the mailing list in message:
	http://lists.gnu.org/archive/html/bug-gnu-pspp/2016-11/msg00001.html
	Thank you for reporting the typo!

2016-11-07  pspp.freepost@ordinaryamerican.net  <pspp.freepost@ordinaryamerican.net>

	fixed func macro in documentation - closes bug #49549
	The func macro did not handle the argument correctly. All arguments were literally
	replaced with NAME. I tested this on MacOS with the generated pdf.

	Closes bug #49549

2016-11-07  pspp.freepost@ordinaryamerican.net  <pspp.freepost@ordinaryamerican.net>

	compile without gnumeric and odf read support
	This patch fixes the problem described in bug #49550. When libxml2 is
	not installed, the gnumeric and odf read support is disabled. This was
	not handled correctly. I changed the compilation requirements and the
	error message handling if somebody tries to open a file.

	Closes bug #49550.

2016-10-10  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	reversed CFLAGS, CPPFLAGS and LDFLAGS addition for q2c.c build
	Ben mentioned that this will break the cross compile build. So
	I reverted this change.

	added CFLAGS, CPPFLAGS and LDFLAGS for PSPP.C and q2c.c compilation
	The hardening check during the debian build process showed that the
	hardening compile flags are not issued to the compilation process of
	PSPP.c (the perl module) and q2c.c (the lexer). Although q2c.c is only
	relevant during the build process hardening this will not hurt.

2016-10-10  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	perl - added current directory path to calls
	The perl INC path in debian does not include the current directory
	anymore. Therefore I added the current directory path at the places
	where a module is called and it is assumed that . is part of INC.

	See: https://lwn.net/Articles/698853/

2016-09-20  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Spanish translation from translationproject.org.

2016-09-16  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	help: added t-test reference to help page
	The help button for the t-test dialogs ended on the main page. I added
	a reference such that it lands on the t-test page in the documentation.

2016-09-15  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	examples: t-test.sps fixed make process to include in distribution
	I forgot to add the t-test.sps example in the automake.mk file to
	include it in the distribution.

	t-test example: Change some wrong comments
	I had some wrong comments describing the code.

	Examples: Added t-Test example code
	I added a simple t-Test example code with some plots as a
	kind of beginners tutorial.

2016-09-06  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add Greek translation and update Catalan and Spanish translations.
	From translationproject.org.

2016-09-01  John Darrington  <john@darrington.wattle.id.au>

	Fix missing buttonbox in frequencies dialog

2016-08-31  John Darrington  <john@darrington.wattle.id.au>

	psppire-output-view: Avoid GtkWarnings

2016-08-23  John Darrington  <john@darrington.wattle.id.au>

	PSQL READER: Use the REPEATABLE READ isolation level.
	Apparently SERIALIZABLE doesn't work if the server is in
	"hot standby" mode.

2016-08-20  John Darrington  <john@darrington.wattle.id.au>

	Fix bugs in frequencies dialog.
	This seems to have crept in, in commit dc6d0e08956c6ad42cc943b7496a192c71bdbe02

	Thanks to Harry for reporting it.

2016-08-20  John Darrington  <john@darrington.wattle.id.au>

	Added autoconf check for msgfmt

2016-08-18  John Darrington  <john@darrington.wattle.id.au>

	Re-enable the relocation feature.
	Problem reported by Harry

2016-08-15  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning

	Merge remote-tracking branch 'origin/master' into sheet

	Disable deprecation warnings for all sheet related code

	Remove call to gtk_style_context_add_provider_for_screen
	Contrary to advice I was previously given, this is neither necessary nor
	desireable.

	Font Selection: Use a local css_provider instead of the default one

2016-08-14  John Darrington  <john@darrington.wattle.id.au>

	Prevent the font selection of comment dialog affecting other widgets.
	I had not properly understood how gtk_css_provider worked.  Hopefully my
	understanding is now more accurate.

2016-08-14  Ben Pfaff  <blp@cs.stanford.edu>

	VECTOR: Support creating string variables also.
	Bug #48763.

2016-08-14  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak

	Use modern method of setting font, instead of deprecated method

	Added "translate" url to pspp.appdata.xml

	Fix typos in comments

	Populate the datum entry on cell change

2016-08-13  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet
	Conflicts:
		src/ui/gui/psppire-data-window.c

	Fix compiler warning

	Fix bug where the gui was unresponsive after starting with a file as command line argument

	Improve the conversion to and from cell values

	New module value-variant

	Fix bug inadvertently introduced by previous commit

2016-08-12  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

	New option --no-unique

	AUTORECODE now optionally accepts / before INTO
	Fixes Bug #48762

	Add markup to the option description strings

	Merge remote-tracking branch 'origin/master' into sheet

	Fix GtkCriticals when --no-splash is given

2016-08-11  John Darrington  <john@darrington.wattle.id.au>

	Fix potential null pointer dereference
	Found by cppcheck

	Merge remote-tracking branch 'origin/master' into sheet

	Fix possible null pointer dereference

	Fix possible null pointer dereference.
	Found by cppcheck

	Avoid unnecessary test

	Fix possible buffer overrun
	Found by cppcheck

	Remove redundant "break"

2016-08-10  John Darrington  <john@darrington.wattle.id.au>

	Remove unused code

	Re-enable the goto-case dialog

	Avoid compiler warning

2016-08-09  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

	Fix compiler warning whilst building perl module

	Initialise iter stamp and fix compiler warning

	Merge remote-tracking branch 'origin/master' into sheet

	Remove call to deprecated gtk_style_context_get_font

2016-08-08  John Darrington  <john@darrington.wattle.id.au>

	Fail more gracefully when selecting cells out of range

	Enable the Cut menuitem

	Fix compiler warning

2016-08-07  John Darrington  <john@darrington.wattle.id.au>

	Enable the Edit Copy functionality

	Merge branch 'master' into sheet

2016-08-06  John Darrington  <john@darrington.wattle.id.au>

	Remove obsolete file

	Re-enable the gridlines toggle and mark some other commented code with SHEET_MERGE

	Fix compiler warning

	Fix compiler warning

	Fix compiler warning

	Merge remote-tracking branch 'origin/master' into sheet
	Conflicts:
		src/ui/gui/automake.mk
		src/ui/gui/psppire-data-editor.c
		src/ui/gui/psppire-data-sheet.c
		src/ui/gui/psppire-var-sheet.c

	Remove deprecated objects GtkAction and GtkUIManager
	Instead use GAction and GMenuModel.  A lot of other code needed to be adjusted too.

2016-08-05  John Darrington  <john@darrington.wattle.id.au>

	Fix buffer overrun in sys-file-reader.c(text_match)
	Found by valgrind

2016-07-31  John Darrington  <john@darrington.wattle.id.au>

	Add hu.po and update translations from translationproject.org

	Fix memory leak when T-TEST failed to parse

	Fix memory leak in test program

2016-07-30  John Darrington  <john@darrington.wattle.id.au>

	Fix possible crash if no buttons are active (should never be the case)
	Found by cppcheck

	Remove unused variable.
	Found by cppcheck.

2016-07-29  John Darrington  <john@darrington.wattle.id.au>

	Remove PsppireVButtonBox and PsppireHButtonBox
	Instead, use the orientable property of the ancester GtkButtonBox

2016-07-26  Ben Pfaff  <blp@cs.stanford.edu>

	range-set-test: Remove special case for llvm-gcc on Mac OS.
	According to Jeremy Lavergne, recent llvm-gcc doesn't have the same bug.

2016-07-25  Ben Pfaff  <blp@cs.stanford.edu>

	Increment version number to 0.10.3.

2016-07-23  John Darrington  <john@darrington.wattle.id.au>

	Allow the variable info dialog to paste more than one variables.
	Fixes bug #48596

2016-07-14  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning on gcc 5.4

2016-07-11  John Darrington  <john@darrington.wattle.id.au>

	Replace gtk_widget_get_style in favour of gtk_widget_get_style_context

2016-07-11  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression syntax generator: replace ds_data with ds_cstr
	ds_data does not produce a terminating null.  So garbage could be appended at the end of the command.

	Fixes bug #48467

2016-07-09  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

2016-07-06  John Darrington  <john@darrington.wattle.id.au>

	Update NEWS

2016-06-23  John Darrington  <john@darrington.wattle.id.au>

	Fixed GLM vs. missing values in the dependent variable

	Fixed typo in comment

2016-06-21  John Darrington  <john@darrington.wattle.id.au>

	Avoid link error when compiling without libxml2 installed

2016-06-19  John Darrington  <john@darrington.wattle.id.au>

	Update the Gnulib version
	The primary motive for doing this is to update gl/version_etc which changes
	the copyright year to 2016.  This is the value which gets displayed by --version
	I do not think it is ideal that we must update gnulib to get the current year
	in our version string, but I did not design this aspect of the code.

2016-06-12  John Darrington  <john@darrington.wattle.id.au>

	Fixed a small bug in te variable info dialog.

2016-06-08  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	added FREQUENCIES regression test for bug#48128
	FREQUENCIES command crashed in a combination of /histogram /percentiles
	and /statistics option. This was fixed in commit 86642e. Here a crash
	test is added exactly for this situation.

2016-06-07  John Darrington  <john@darrington.wattle.id.au>

	src/output.tab.c: Format according to Gnu Coding Standards

2016-06-04  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	tab.c: Compile error in debug mode
	tab.c could not be compile with --enable-debug configuration because
	the return value did not fit with the function. In addition a typo in
	a "bad cell" check was fixed.

2016-06-04  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	frequencies: fixed bug #48128 in percentiles
	The frequencies command crashed with a certain combination of
	percentiles and histogram options. The bug was reported by
	Cubyrk Zyrvay in
	http://lists.gnu.org/archive/html/bug-gnu-pspp/2016-06/msg00000.html

	Closes bug #48128

2016-05-30  John Darrington  <john@darrington.wattle.id.au>

	Recode Dialog Action: Split into RecodeDialogAction, RecodeDialogActionSame and RecodeDialogActionDifferent

2016-05-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	NEWS: added online help feature and T-Test gui bug for 0.10.2 version

2016-05-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	help-menu.c: start the default html browser via wscript instead of cmd
	Harry mentioned that starting help via cmd shows the command window for
	a short time on windows. With this patch the default html browser is
	started via wscript instead of cmd /C <uri>.

	Unfortunatly the nice function  g_app_info_launch_default_for_uri does
	not work, at least on osx and windows.

2016-05-27  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Independent Samples Gui: Make the on_grp_var function and associated code less naive.
	Addresses bug #48015

2016-05-26  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	help-menu.c: fix default html browser start on windows - correct uri
	commit #6c9aaa introduced calling the default html browser in case the
	yelp system is not available on the system. This patch fixes a
	problem on WINDOWS, where the browser did not open. The problem is
	that on windows the "start" command is not a regular executable but
	a part of the cmd shell. So the executable that has to be called is
	"cmd" with start as a parameter to execute. There is an additional
	problem on windows that the "Program Files" directory contains a
	space in the path name. For a proper uri, this has to be
	translated to Program%20Files. This is done via the
	g_filename_to_uri function.

2016-05-23  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	scatterplot: changed colorscheme - first color is black - fixes bug#47806
	The default data colour palette choses light colors (yellow). This patch
	selects black if no BY variable is selected for the scatterplot. Having
	a special colour palette for scatterplot will interfere with the legend
	coloring scheme. That would need more changes to have data points and
	legend having the same color palette.

	added help function via html if yelp is not installed
	The current help system requires yelp to be installed. This patch
	will fallback to local html help and then internet html help via
	http://www.gnu.org/software/pspp if no html is installed. The browser
	is invoked via open (MAC), start (windows) and xdg-open (linux)

2016-05-22  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Revert "adding osx application bundler scripts"
	This reverts commit c2c8832630ad1619cd8e1769da3a294a1d35d1ed.

	This interferes with distribution check...

2016-05-22  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	adding osx application bundler scripts
	This adds a utility script which produces a mac application bundle
	based on the macports installation of pspp. The application bundle
	can then be distributed as a single file and can be installed exactly
	like a usual mac application. This is easier for mac users as they
	do not need to install XCode, macports, XQuartz but just this package.

2016-04-21  John Darrington  <john@darrington.wattle.id.au>

	Fix bug in syntax parser of GET DATA /TYPE=TXT
	Fixed a bug which manifested itself when GET DATA /TYPE=TXT was
	passed a variable name which happened also to be a token identifier.
	The actual bug might also have caused other ill effects, but seems
	to have been masked.

	Reported-by: Rob L

2016-04-11  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning

2016-04-10  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Implement COUNT subcommand to round case or cell weights.
	Bug #47547.
	Requested by Harry Thijssen.

	tests: Fix error message when using a wrapper for the first time.

	FILE HANDLE: Get rid of use of q2c preprocessor.

2016-04-09  John Darrington  <john@darrington.wattle.id.au>

	Change warning about test versions.
	The consensus was that this warning was too strong.  These change makes
	it somewhat weaker.

2016-04-07  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into sheet

2016-04-06  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash on FLIP vs. invalid variable names.
	FLIP would crash if the designated new names were not
	valid names.  For example "TO", "BY", "" etc.

	Found by zzuf.

2016-04-05  John Darrington  <john@darrington.wattle.id.au>

	Fixed a crash when data for correlations was empty.
	Found by zzuf.

	Add test for PERMISSIONS with bad syntax

2016-04-04  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in T-Test after parsing a null terminated string.
	Found by zzuf.

2016-04-03  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix a deeper bug in null byte check in testsuite.
	Thanks to Jeremy Lavergne for reporting the problem.

	tests: Fix bug in null byte check in testsuite.
	Thanks to Jeremy Lavergne for reporting the problem.

2016-04-02  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.10.2.

	Release PSPP 0.10.1.

2016-04-02  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Treat null characters in input as spaces.
	In some circumstances nulls could confuse the lexer and cause crashes.

	Thanks to John Darrington for reporting the problem.

	Bug #47602.

2016-04-02  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Add comments and update style in lex_source_get__().

2016-04-02  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Fix corner case in integer mode.
	I'm not really sure what I was thinking when I wrote this code, but the
	off-by-one errors could cause a crash.

	Thanks to John Darrington for reporting the problem.

	Bug #47600.

2016-04-02  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Update copyright notice to reflect recent changes

2016-04-01  John Darrington  <john@darrington.wattle.id.au>

	Fix date format tests when running under wine

2016-04-01  Ben Pfaff  <blp@cs.stanford.edu>

	Replace valgrind-wrapper with a generic wrapper.
	One potential use is to run tests under an emulator such as wine.

2016-04-01  John Darrington  <john@darrington.wattle.id.au>

	lexer.h: Add WARN_UNUSED_RESULT to lex_force functions.
	There does not seem to be any sensible and safe use of these
	functions unless the return value is used somehow.

	Check the return value of various calls to lex_force_match.

	output.c: cmd_output: Check return values of lex_force_match

	variable-display.c (cmd_variable_level): Check return value of lex_force_match

	value-parser.c (parse_number): Simplified logic and removed redundant lines.

2016-03-31  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in NPAR when no variables were parsed.
	Found by zzuf.

	Fix typo in NEWS

	Fixed a bug where frequencies/histogram would crash when all data had missing wieghts.
	Found by zzuf.

2016-03-31  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation.

2016-03-31  John Darrington  <john@darrington.wattle.id.au>

	Updated NEWS to mention bugs fixed in command parser

	Fix crash when ROC was passed a non-number where a number was expected.
	Found by zzuf.

	Fixed by where pspp would crash if ELSE appeared without a DO IF.
	Found by zzuf.

	Fixed a bug where INSERT would crash when an unterminated string was given.
	Found by zzuf.

2016-03-31  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update German translation from translationproject.org.

2016-03-31  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when ONEWAY/CONTRASTS contained an empty list.
	Found by zzuf.

	PsppireSelector: Do not add a default selector func, if an explicit one already exists
	Fixes bug #47573.

2016-03-30  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash when processing malformed NPAR TESTS BINOMIAL command.
	Found by zzuf.

2016-03-30  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Lithuanian translation.

2016-03-30  John Darrington  <john@darrington.wattle.id.au>

	Avoid possible memory allocation error on erroneous input.
	Valgrind showed a possible problem here.

2016-03-29  John Darrington  <john@darrington.wattle.id.au>

	Cleanup the RENAME VARIABLES command.
	Also fix some crashes which occured on invalid syntax.

2016-03-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	use fixed format string to avoid -Wformat-security warning
	The debian build fails due to the -Wformat-security check. This
	change replaces a variable format string with a fixed format
	string.

2016-03-28  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2016-03-27  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug in EXAMINE where the parametric calculation would crash if the weight variable contained a missing value.
	Found by zzuf.

	Fix bug in EXAMINE when an invalid dependent variable was specified.
	Found by zzuf.

2016-03-26  John Darrington  <john@darrington.wattle.id.au>

	Update NEWS to keep make dist happy

	Update version number to 0.10.1

2016-03-26  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.10.0.

2016-03-26  John Darrington  <john@darrington.wattle.id.au>

	Fix bug in GRAPH when a bad dependent variable was specified.
	Found by zzuf.

	Fix crash in FLIP with no variables.
	Found by zzuf.

	Fix double heap deallocation when erroneous SET was specified.
	Found by zzuf.

	Fixed crash in MODIFY OUTPUT when no valid FORMAT clause was specified.
	Found by zzuf.

	Fix crash in oneway when an invalid dependent variable was specified.
	Found by zzuf

	Fix crash in recode when the INTO variable was invalid.
	Found by zzuf.

	Fix assertion failure when using PRINT with an empty argument.
	Found by zzuf.

2016-03-25  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in ROC command when no valid state variable is given.
	Found by zzuf.

	Fix crash when no indepdendent variable in NPAR is given.
	Found by zzuf.

	Fix crash in DATA LIST when RECORDS and/or SKIP is negative
	Found by zzuf

	Fix crash in LIST when no valid variables exist.
	Found by zzuf.

2016-03-24  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in histogram when all values are missing.
	Found by zzuf.

	Fix crash when running GET DATA with incomplete command.
	Found by zzuf.

	Fixed crash in T-TEST when a non-number was passed where a number was expected.
	Found by zzuf.

	Fix crash in correlations with empty dataset.
	Found by zzuf.

2016-03-20  John Darrington  <john@darrington.wattle.id.au>

	Provide an environment where cross-compiled tests can run in an emulator
	This change allows some of the tests to run successfully under wine when
	cross-compiled with mingw

	Prevent link error when cross compiling with mingw

	spreadsheet-reader.c: Do not export local symbols

2016-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	SORT VARIABLES: Add test.
	This should have been in the initial commit; sorry.

2016-03-19  John Darrington  <john@darrington.wattle.id.au>

	README.Git:  Update required Texinfo version
	It seems that older makeinfo does not correctly generate the docbook format.  Thanks to
	Harry for finding this.

2016-03-19  Ben Pfaff  <blp@cs.stanford.edu>

	Implement new command SORT VARIABLES.

2016-03-19  John Darrington  <john@darrington.wattle.id.au>

	Fix error in dist-hook-git.
	The previous commit introduced a new "meta" file.  But it provoked our test for
	missing distribution files.  This change fixes that.

	Change the align, role and measure columns on the appropriate signal

	New transform function for converting enums to strings

	Added naive callbacks for the "value-changed" signal

2016-03-18  John Darrington  <john@darrington.wattle.id.au>

	Added transform function for string to int

	PsppireDict: Added GType values for missing columns

	Extend the build to include new sheet files

	Added a "meta" file, explaining administrative procedures for bug handling

2016-03-17  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warnings

	Localise values of comboboxes in var sheet

	Set individual cell renderers for variable sheet columns

2016-03-16  John Darrington  <john@darrington.wattle.id.au>

	Update build to reflect new file in sheet implementation

2016-03-14  John Darrington  <john@darrington.wattle.id.au>

	Complete definition of PsppireDict get_value and get_type methods

	Register enums and transform functions

	Define the measurement, alignment and role enums in a way compatible with Gtk

	PsppireDataStore: Return GValues of G_TYPE_STRING if variable type is alphanumeric
	This is a naive change.  The proper change must consider pspp variable types of date, custom currency etc.

2016-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Add support for mult and fuzzbits arguments to TRUNC function.

	expressions: Implement the STRUNC function.

	expressions: Implement the MEDIAN function.

2016-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Document that value labels are case sensitive.
	This was not documented and a user found it surprising.

	Also, long string variables can now be labeled.

	Reported by Robert Pittman.

2016-03-13  John Darrington  <john@darrington.wattle.id.au>

	Re-enable display of cell reference label

	Enable case insensitivity test.
	The operative part of this test seemed to have been inadvertently omitted.

2016-03-12  John Darrington  <john@darrington.wattle.id.au>

	PsppireVarSheetHeader: Add the "changed" signal.
	This signal is never emitted, but critical runtime warnings
	appear if it doesn't exist.

	Remove unused symbol

	Change view and scroll to position on header double click

2016-03-07  John Darrington  <john@darrington.wattle.id.au>

	PsppireKeypad: Remove gdkkeysyms-compat.h

2016-03-04  John Darrington  <john@darrington.wattle.id.au>

	Pipe read test: Replace "echo" with "printf"
	This test was failing on GuixSD

2016-03-01  John Darrington  <john@darrington.wattle.id.au>

	DATA LIST: Do not treat the comma as a field separator if DECIMAL=COMMA
	Closes bug #47253

2016-02-29  John Darrington  <john@darrington.wattle.id.au>

	Speed up rendering of columns in sheet.
	This change causes _pspp_sheet_view_install_mark_rows_col_dirty to be called once
	per sheet, instead of once per column when adding/deleting columns.  Hence there
	is a significant speed improvement when dealing with a data sheet with a large
	number of variables.

	Fixes bug #47090

2016-02-28  John Darrington  <john@darrington.wattle.id.au>

	PsppireDataStore: Implemenet get_flags function

	Change signal name and signature from "backend-changed" to "items-changed"

	PsppireDict: New signal "changed"

	Added makefile to build the efficient-sheet

2016-02-27  Ben Pfaff  <blp@cs.stanford.edu>

	psppire: Remove unused function.

	gui: Add some generated files to .gitignore files.
	Reported by Friedrich Beckmann.
	Bug #47265.

2016-02-26  John Darrington  <john@darrington.wattle.id.au>

	Remove attempts do destroy windows before quit.
	This change deletes an attempt to remove all existing
	windows from a list (and thereby unreffing and deleting them).
	The attempt fails, because lists may not be altered whilst
	iterating them.  This resulted only in a Critical Warning.

	It is also pointless to attempt to destroy windows immediately
	priot to quit.

2016-02-26  John Darrington  <john@darrington.wattle.id.au>

	Updated de.po from translationproject.org

2016-02-24  John Darrington  <john@darrington.wattle.id.au>

	psppire-selector.c: Remove unused preprocessor macro

	deleted obsolete file

2016-02-22  John Darrington  <john@darrington.wattle.id.au>

	Use new sheet in var-sheet

	Fix things

	Adapt to new sheet

2016-02-21  Ben Pfaff  <blp@cs.stanford.edu>

	Fix several cases where lex_integer() or lex_number() could assert-fail.
	The caller always needs to make sure in advance that the token is in fact
	an integer or a number.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	EXAMINE: Fix memory leak in box-whisker plots.
	Found by valgrind.
	Reported by John Darrington.
	Bug #47074.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix memory leaks in rendering.
	References were being taken that should not have been.

	Found by valgrind.
	Reported by John Darrington.
	Bug #47074.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Fix memory leak of pango_layout_iter.
	Found by valgrind.
	Reported by John Darrington.
	Bug #47074.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	table: Fix memory leak.
	table_create_nested_item() was documented to take ownership of its
	argument but in fact it took a reference on it, creating a leak.

	Found by valgrind.
	Reported by John Darrington.
	Bug #47074.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	pc+-file-reader: Fix memory leak.
	Found by valgrind.

	expressions: Implement the REPLACE string function.
	Requested by Frans Houweling.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Merge all the little generator programs into generate.pl.
	The little generator programs had a bizarre flaw: they silently produced
	no output if there was an error parsing their input.  This was due to the
	use of the Perl "do" construct for executing generate.pl, which just
	returns the message if the nested code exits with "die".  I know that the
	generators actually worked better at one point...

	Anyway, the simplest solution seems to be to just merge all the little
	output generator programs into generate.pl.  It doesn't make the code any
	harder to understand, so that's what this commit does.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	Makefiles: Fix use of $(AM_V_at) in makefile rules.
	These are only for use at the beginning of a rule and cause weirdness in
	the middle since they expand to directives that begin with @, which "make"
	understands but the shell does not.

	pspp-convert: Fix use of uninitialized data in error case.
	Found by GCC.

2016-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Read system files with multiple subtype-18 extensions.
	These are written by "Stata 14.1/-savespss- 1.77 by S.Radyakin".  I think
	it's really a bug in that writer, but if SPSS accepts these files then I
	guess PSPP should too.

	Reported by news <news.ftr@free.fr>.
	Bug #47089.

2016-02-20  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES BARCHART: Honour then PERCENT option
	Fixes bug: #47180

2016-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	MISSING VALUES: Report an error when too many missing values are specified.
	Reported by news <news.ftr@free.fr>.

2016-02-17  John Darrington  <john@darrington.wattle.id.au>

	Barchart.c: Change type of flag from int to bool

2016-02-17  John Darrington  <john@darrington.wattle.id.au>

	Do not attempt to draw whiskers on boxplots if they are NaN.
	Reported by: Friedrich Beckmann

	Closes Bug: #47140

2016-02-17  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug where an empty chart (one with no data) would crash.
	Reported by: Friedrich Beckmann
	Fixes bug: #47181

2016-02-16  John Darrington  <john@darrington.wattle.id.au>

	Boxplot: Do not attempt to draw whiskers if they are not defined

2016-02-16  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	histogram - added another upper bin to include cases which have max values
	This fixes the problem that cases which have values exactly at the upper
	bin limit of the upper bin are not included in the binning. The fix
	is based on the idea from John to just add another bin when the bin
	limit is just equal to the maximum case value.

	Revert "histogram - fixed missing cases which have the maximum value"
	This reverts commit ca4012bcf0f8790ceb8539b55bbc296d0802d5d7.

2016-02-15  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	histogram - changed bin range computation
	The bin range computation for the histogram showed bin limits at 4.999999
	when 5.0 was expected. Added values with value 5.0 were therefore added
	to the following bin. With this change the bin limits do not show the
	rounding error. At least I could not reproduce the error that showed
	up when using the routing from gsl_histogram_set_ranges_uniform.

2016-02-15  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	histogram - fixed missing cases which have the maximum value
	The histogram uses gsl_histogram routines which exclude values from
	the last bin when the value is exactly the maximum value, i.e. the upper
	value of the last bin. This results in excluded cases in the histogram.

	This fixes bug #47139: https://savannah.gnu.org/bugs/?47139

2016-02-14  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	MacOS build - fixed src/libpspp/automake.c version.c generation
	The build on MacOS failed because echo introduces newlines which
	produces syntax errors in the generated version.c file. I replaced the
	echo with printf.

	Fixes bug #47143: http://savannah.gnu.org/bugs/?47143

2016-02-08  John Darrington  <john@darrington.wattle.id.au>

	Update fr.po from translationproject.org

2016-02-05  John Darrington  <john@darrington.wattle.id.au>

	Correct error in Mann-Whitney test
	Fixes bug #47041

2016-02-03  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in pspp-convert

	Fix memory leak when writing compressed sav files

	Fix memory leak pspp-convert

	Fix memory leak in SYSFILE command

2016-02-02  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak which occured when iconv failed

	Fix memory leak in render-test.c

	Remove some g_param_spec_ strings from the translation domain

	Save File test: Restore permissions after test
	This avoids annoyance when debugging.

2016-02-01  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in barcharts

	Frequencies: Fix some memory leaks

2016-01-31  Ben Pfaff  <blp@cs.stanford.edu>

	spreadsheet: Avoid sharing a dictionary between spreadsheet and client.
	Spreadsheet implementations keep a copy of the dictionary that they build
	to simplify reading cases.  Until now, they shared that dictionary, in a
	modifiable way, with their client.  This meant, however, that if the client
	modified the dictionary, it could screw up reading further cases from the
	spreadsheet.

	This commit fixes the problem by forcing clients to make their own copy of
	the dictionary if they want to modify it.

	Bug #44158.

2016-01-31  John Darrington  <john@darrington.wattle.id.au>

	Univariate Dialog: Fix help-page

	Univariate Dialog: Set margins

	Set visibility on univariate dialog

2016-01-30  John Darrington  <john@darrington.wattle.id.au>

	Correct the  use of signals vs. events.
	Commit f8fdc760d4ee04801a2da8af0700b2a87f724ae4 used a button-press-event
	where a toggled signal was appropriate.  The signal might come from a
	number of sources, not necesarily a button event.

	Use win32 functions for accessing filename

	Remove commented out code

	Reimplement the Windows menu.
	Fixes bug #45253

2016-01-27  John Darrington  <john@darrington.wattle.id.au>

	Remove g_mem_set_vtable
	This function is deprecated.

2016-01-26  John Darrington  <john@darrington.wattle.id.au>

	GLM: remove warning

	GLM: Do not print the intercept if the model is unbalanced
	I cannot find any reliable explanation of how to calculate this
	figure for unbalanced models not what it actually means.  So
	let's not even bother with it until an expert comes along.

	Add documentation for GLM

2016-01-22  John Darrington  <john@darrington.wattle.id.au>

	PsppireDialogAction (generate_syntax): Change signature.
	This function now takes a const parameter

	Fix compiler warning

	Smake: ensure that the "all" target is the first

2016-01-21  John Darrington  <john@darrington.wattle.id.au>

	Include a dissuader for odd numbered minor releases

	Append a warning to the window title bar for odd versions.

	Place a warning on the splash screen for odd numbered releases

2016-01-19  John Darrington  <john@darrington.wattle.id.au>

	Recode Dialog: Convert to PsppireDialogAction

2016-01-18  John Darrington  <john@darrington.wattle.id.au>

	Help menu now uses "version" instead of "bare version".

	Convert THANKS file to utf8

2016-01-17  Ben Pfaff  <blp@cs.stanford.edu>

	spv-file-format: Fix typo.

	spv-file-format: Fix names of pmml, stats, and model members.

	Add documentation for SPV file format.

2016-01-16  John Darrington  <john@darrington.wattle.id.au>

	Set import dialog to fullscreen mode.
	Fixed bug #46906

	Sample Dialog: Ensure that controls stay at self consistent values

	Populate select dialog's dialog_is_valid function
	Closes bug #46901

2016-01-15  John Darrington  <john@darrington.wattle.id.au>

	Update appdata.xml
	Closes bug #46441

2016-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	measure: Improve wording of error message.
	Suggested by Elias Estatistics <estatisticseu@gmail.com>.

2016-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-button-editable: Don't mark spec parameter text as translatable.
	The P_ prefix seems to be used by other GTK+ code, so use it here too.

	Reported by Elias Estatistics <estatisticseu@gmail.com>.

2016-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	SAVE TRANSLATE: Improve error message.
	Before this commit, "SAVE TRANSLATE OUTFILE='...'" gave a confusing error
	message.  After this commit, it clearly reports the missing slash before
	OUTFILE.

	LIST: Improve wording of error messages.
	Suggested by Elias Estatistics <estatisticseu@gmail.com>.

2016-01-13  John Darrington  <john@darrington.wattle.id.au>

	EXAMINE: Extend test for empty dataset and fix bug.
	Closes bug #46866

2016-01-12  John Darrington  <john@darrington.wattle.id.au>

	ONEWAY: fix crash in contrasts when dataset is empty

2016-01-11  John Darrington  <john@darrington.wattle.id.au>

	Fixed some bugs related to empty parentheses

	Add some tests for empty parens

2016-01-07  Ben Pfaff  <blp@cs.stanford.edu>

	FACTOR: Avoid assertion failures on syntax errors expecting numbers.
	Reported by Elias Estatistics.

2016-01-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-view: Fix constness error.

	Makefiles: Add $(AM_V_GEN) and $(AM_V_at) to a few more rules.
	This makes the abbreviated "make" output more effective.

	APPLY DICTIONARY: Fix segmentation fault when setting value labels.
	Reported by Frans Houweling.

	segment: Fix buffer overrun error in segmenter_detect_command_name__().
	Found by valgrind.

2016-01-05  John Darrington  <john@darrington.wattle.id.au>

	Scatter plot dialog: Correct order of variables in syntax generator

	.ui files: Bump version of required Gtk to 3.4.2
	This is the same version currently required in configure.ac

2016-01-04  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression Dialog: Add missing property

	Fix bad syntax generation introduced by previous commit.
	Commit cdfb21de2cbbf921b4e1fe0662439da1c460eabc replaced syntax_gen_pspp
	with g_string_append_printf which was wrong, because the latter is
	sensitive to the user's locale, which is not desired for syntax generation.

2016-01-04  John Darrington  <john@darrington.wattle.id.au>

	Logistical Regression Dialog: Automatically mark appropriate variables as categorical
	In the syntax generator ordinal, nominal or string variables are now marked as /CATEGORICAL

	Closes bug #46749

2016-01-04  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression Dialog: Reimplement syntax generator using GString

	"margin-left" -> "margin-start" && "margin-right" -> "margin-end"
	These are the preferred property names on recent Gtk releases.

2016-01-03  Ben Pfaff  <blp@cs.stanford.edu>

	REGRESSION: Correctly handle data in temporary file for SAVE subcommand.
	The format of the data in the temporary file used by the SAVE subcommand is
	basically unrelated to the format of the data in the active file, but the
	code that created and wrote cases to it created them as clones of cases
	in the active file.  This is simply incorrect behavior and causes nasty
	failures when the active file has an inconvenient number of variables or
	contains long string variables.

	This commit fixes the problem by correctly creating the cases for the
	temporary file using that file's own caseproto.

	In addition, the assignment of caseproto indexes to variables in the
	temporary file was broken for /SAVE=PRED, because it would skip index 0.
	This commit also fixes that problem.

	Bug #44877.
	Reported by Scott.

2016-01-03  John Darrington  <john@darrington.wattle.id.au>

	Syntax menu definition: Rename "menuitem7" to "edit-menu"

2016-01-03  Ben Pfaff  <blp@cs.stanford.edu>

	GET DATA /TYPE=TXT: Remove obsolete IMPORTCASES subcommand.
	For compatibility.

	Reported by Charles Johnson.

2016-01-03  John Darrington  <john@darrington.wattle.id.au>

	Rename Dataset dialog: Add spacing and help button

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	REGRESSION: Warn when REGRESSION with SAVE runs with a filter configured.
	Reported by elias tsolis.
	Bug #46727.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	val-labs-dialog: Improve keyboard interface.
	Before, hitting Enter in the value label dialog did nothing.  With this
	commit, Enter in the value entry moves to the label entry, and Enter in
	the label entry adds or changes the value label and jumps back to the
	value entry.

	Requested by dr soumalya ray.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	QUICK CLUSTER: Correct typo in documentation of PRINT subcommand.
	The PRINT subcommand has a setting CLUSTER (not CLUSTERS).

	Reported by Andy King.
	Fix from Alan Mead.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Disallow system and scratch long variable names too.
	Before this commit, the system file reader disallowed system and
	scratch short variable names (e.g. names beginning with $ or #)
	but not as long variable names.  This fixes the problem.

	Bug #46783.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Issue syntax error in case where it was omitted before.
	Bug #46783.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	LIST: Allow a subset of the CASES settings to be specified.
	The LIST documentation said that any subset of the FROM, TO, and BY
	settings could be used on the CASES subcommand, but until now the command
	as implemented required all of them to be present.  This commit fixes
	the implementation.

	Also updates the documentation to reflect the current implementation.

2016-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog-action: Fix compilation error.

2015-12-31  John Darrington  <john@darrington.wattle.id.au>

	Select Cases Dialog: Convert to PsppireDialogAction

2015-12-29  John Darrington  <john@darrington.wattle.id.au>

	Select Cases Dialog: minor refactor.
	Encapsulate pointers to widgets in the dialog structure instead of retreiving
	them from the GtkBuilder on each usage.

	Rearange widget registration into a table.
	I think this will make things easier with Gtk3

	Split File Dialog: Convert to PsppireDialogAction

	Add an appropriate help page for the Variable Info dialog box

	examples/physiology.sav:  Add a DOCUMENT comment to explain that the file contains "deliberate" data entry errors.
	Occasionally this is the subject of bug reports.

	Comments dialog: convert to PsppireDialogAction

	Weight cases dialog: Convert from add hoc to PsppireDialogAction

2015-12-28  John Darrington  <john@darrington.wattle.id.au>

	PsppireKeypad: Correct the  attachment of buttons to the grid.
	This buglet appears to have crept in during the GtkTable -> GtkGrid transition.

2015-12-27  John Darrington  <john@darrington.wattle.id.au>

	Change some instances of GtkAction to PsppireDialogAction

2015-12-26  John Darrington  <john@darrington.wattle.id.au>

	Rewrite Import Dialog.
	This is a major rewrite of the text/spreadsheet import assistant.
	Hopefully there are less bugs and it will be easier to maintain.

2015-12-22  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Remove deprecated widgets

	Remove stray quotation marks and angle brackets

	Improved the autoconf test for xmllint

2015-12-17  John Darrington  <john@darrington.wattle.id.au>

	Remove string stat_version
	This string contained a timestamp indicating when ./configure had
	been run.  This makes for reproducibility issues and possibly
	privacy issues too.

2015-12-16  John Darrington  <john@darrington.wattle.id.au>

	Autorecode Dialog: Convert from add hoc to PsppireDialogAction

2015-12-15  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	GRAPH scatterplot - fixed missing BY variable rendering
	scatterplot with GRAPH /SCATTERPLOT x WITH y BY z did not use the by z
	grouping of the cases. This patch fixes this.

2015-12-15  John Darrington  <john@darrington.wattle.id.au>

	PsppSheetViewColumn: Replace some deprecated functions

	PsppSheetViewColumn: Replace GtkAlignment with a GtkBin
	GtkAlignment is deprecated

	PsppSheetViewColumn: Remove GtkArrow
	This widget is deprecated and we don't use this feature anyway.

	Recode Dialog: Remove deprecated widgets

	Fix crash calling RINDEX with a zero needle length
	Also add a test and correct the documentation.

2015-12-14  John Darrington  <john@darrington.wattle.id.au>

	Kolmogorov Smironov Dialog: Add help_page property

2015-12-13  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warnings

	Select Cases Dialog: Replace obsolete widgets

	PsppireSheetView: Remove code marked with GTK3_TRANSITION

2015-12-12  John Darrington  <john@darrington.wattle.id.au>

	Documentation add subsections for each GRAPH type

	Aggregate Dialog: Convert from old fashioned method to PsppireDialogAction paradigm

2015-12-11  John Darrington  <john@darrington.wattle.id.au>

	Rename psppire_dialog_action_get_pointer -> psppire_dialog_action_get_hash_table
	Also add a comment explaining what it is for.

2015-12-11  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	changed a character in po/pl.po that was reported as illegal in sed on MacOS
	build failed on MacOS because sed complained about an illegal character
	in the po file. The build failed after the introduction of the sed script
	that removes the build time stamp.

2015-12-10  John Darrington  <john@darrington.wattle.id.au>

	Replace "sed" with "$(SED)" in Makefiles

	Make rule for src/libpspp/version.c atomic
	This rule could have resulted in a half constructed target if it failed
	half way through for any reason.  Now it is all or nothing.

2015-12-09  John Darrington  <john@darrington.wattle.id.au>

	Compute dialog: Avoid double population

2015-12-09  John Darrington  <john@darrington.wattle.id.au>

	Fix generate-changelog rule when building from outside of the source repository
	The "make dist" target depends upon a phony target "generate-changelog" which
	generates the ChangeLog file.  Unfortunately, this was failing if the current
	directory was not the source directory.  Worse, this failure was not detected,
	but would erroneously generate an empty ChangeLog.

	This change fixes both these problems.

2015-12-08  John Darrington  <john@darrington.wattle.id.au>

	Aggregate Dialog: Replace deprecated widgets

	Compute Dialog: Replace deprecated widgets

	Fix generation of help-pages-list file

2015-12-08  John Darrington  <john@darrington.wattle.id.au>

	Update selector widgets on dialog activation.
	When a dialog is activated, call update_subjects on
	any PsppireSelector widgets that the dialog contains.

	This ensures that the subjects (typically lists of
	variables) are in a consistent state if the dialog
	is reactivated after having changed a list.

2015-12-07  John Darrington  <john@darrington.wattle.id.au>

	Fix minor grammatical error in documentation

	Remove POT-Creation-Date from pspp.pot and from .po files
	The modern trend is in favour of byte-for-byte reproducible
	builds.  The use of timestamps in generated files breaks this.

	T-Test Dialog: remove deprecated widgets

	Weight Dialog: Cosmetic improvements

	Barchart Dialog: Cosmetic improvements

	Paired Samples Dialog: Fix broken logic

	Chi Square Dialog: Cosmetic improvements

	Transpose Dialog: Add margin

	Crosstabs Dialog: Avoid populating dialog more than once

	Factor Dialog: Avoid populating dialog more than once

	K Means Dialog: Correct order of widgets

	Barchart Dialog: Avoid initialising multiple times

	Frequencies Dialog: Avoid initialising things more than once per dialog

	Fix bug rendering margin in output viewer.
	commit 7b1373b8bded55eedc2328c1afd3eece6d259c34 tried to add an
	offset to the output viewer rendering.  However the implementation
	was somewhat naive.  The result was that the desired rendering was
	not observed until an expose or resize event occured.  This change
	improves the implementation.

	Descriptives Dialog: Avoid multiple appendages to the statistics list box

	Remove destroy signal handler for dialogs.
	Now (since the dialog persistance feature) dialog boxes survive their associated datasets,
	it is no longer necessary or desireable for the destroy callback to remove the notification
	callback.

2015-12-06  John Darrington  <john@darrington.wattle.id.au>

	Autorecode Dialog: replace deprecated widgets

	Missing Values Dialog: replace deprecated widgets

	examples/repairs.sav: Update sav file version
	The repairs.sav example provoked a warning when loaded.  This change replaces it with a version
	which does not.

	Kolmogorov Smirnof One Sample Dialog: replace deprecated widgets

	Chi Square Dialog: Replace deprecated widgets

	Variable Type Dialog: Replace deprecated widgets

	Means Dialog: Replace deprecated widgets

	Univariate Dialog: replace deprecated widgets

	Count Dialog: Replace deprecated widgets

	Rank Dialog: Replace deprecated widgets

	Runs Dialog: Replace deprecated widgets

	Split File Dialog: Remove deprecated widgets

	Independent Samples Dialog: Remove GtkAlignment widgets

	Paired Samples Dialog: Replace deprecated widgets

	Reliability Dialog: Replace deprecated widgets

	K Related Dialog: Replace deprecated widgets

	QUICK CLUSTER Dialog: Replace deprecated widgets

	Factor Analysis Dialog: Replace deprecated widgets

	Linear Regression Dialog: Replace deprecated widgets

	Logistic Regression Dialog: Replace deprecated widgets

	Roc Dialog: Replace deprecated widgets

2015-12-05  John Darrington  <john@darrington.wattle.id.au>

	Add a silent zone "gutter" to the output viewer.
	This makes things somewhat easier to read.

	Closes bug #46612

2015-12-05  John Darrington  <john@darrington.wattle.id.au>

	Examine Dialog: Replace deprecated widgets

	Correlation Dialog: Replace deprecated widgets

	Independent Samples Dialog: Replace GtkTable with GtkGrid

	Descriptives Dialog: Remove deprecated widgets

	Frequencies Dialog: Remove final GtkAlignment widgets

	Find Dialog: Replace deprecated widgets

	Frequencies Dialog: Replace deprecated widgets

	Bar Chart Dialog: Remove deprecated widgets

	Crosstabs Dialog: Remove final deprecated widgets

	Scatterplot Dialog: Remove the last of the deprecated widgets

	Scatterplot Dialog: Remove GtkAlignment widgets

	Scatterplot Dialog: fix spacing

	Scatterplot Dialog: Replace GtkTable with GtkGrid

	Scatterplot Dialog: Remove GtkVBox and GtkHBox widgets

	Crosstabs Dialog: Remove deprecated widgets

	Crosstabs Dialog: Remove GtkAlignment widgets

	Crosstabs Dialog: Remove some deprecated widgets

	Value Labels Dialog: Remove deprecated widgets

	Histogram Dialog: Remove deprecated widgets

	Comments Dialog: Remove deprecated widgets

	Entry Dialog: Remove deprecated widgets

	Transpose Dialog: Remove deprecated widgets

	Variable Info Dialog: Remove deprecated widgets

	Goto Case Dialog: Remove deprecated widgets

	Weight Dialog: Remove deprecated widgets

	Binomial Dialog: Remove deprecated widgets

2015-12-04  John Darrington  <john@darrington.wattle.id.au>

	Oneway Dialog: Remove obsolete widgets

	Binomial dialog: Remove GtkAlignment

	Autorecode Dialog: Replace deprecated widgets

	Missing Value Dialog: Remove GtkAlignment

	Variable Type Dialog: Remove GtkAlignment

	Value Labels Dialog: Remove GtkAlignment

	Quick Cluster Dialog: Remove GtkAlignment

	Comment Dialog: Remove GtkAlignment

	Fix compiler warning

2015-12-04  John Darrington  <john@darrington.wattle.id.au>

	Fix bug in two sample non-parametric dialog.
	Commit fc6620099bbc53762095569d5356b67a81a85402 changed all dialog
	boxes such that the previous (existing) dialog widget and all
	children are re-used each time the dialog is summoned, instead of
	creating a new one each time.

	The two sample non-parametric test, however has some special code
	on activation to populate the dialog, and this had not been moved
	to the conditional case - hence the pertinent widgets were getting
	added each time.  This resulted in the dialog being overpopulated.

	This change fixes these things.

2015-12-04  John Darrington  <john@darrington.wattle.id.au>

	Sort Dialog: Remove deprecated widgets and make some cosmetic improvements

	Split psppire.ui into three separate files
	This is more consistent with the rest of the system, where each dialog
	has its own .ui file.

2015-12-03  John Darrington  <john@darrington.wattle.id.au>

	NEWS: fix typo

2015-12-02  John Darrington  <john@darrington.wattle.id.au>

	Ensure that the leftmost vertical gridline gets rendered in RTL mode.
	When in an RTL locale, the last (ie leftmost) vertical gridline was omitted.
	This change corrects that.

	Reported by: Mohammad Haghighat <hosseinhg@hotmail.com>

2015-12-02  John Darrington  <john@darrington.wattle.id.au>

	Sheet Grid Lines: Correct positioning.
	The calculations for the x and y positions have been corrected to fit the Gtk3
	cairo implementation.

2015-12-02  John Darrington  <john@darrington.wattle.id.au>

	Vertically reflect the table borders for RTL locales
	When rendering in a right to left locale, the terminals where a horizontal table
	border line meets a vertical border needs to be a mirror image of what is normal
	in a left to right locale.  This change does that.

	Reported by: Mohammad Haghighat <hosseinhg@hotmail.com>

2015-12-02  John Darrington  <john@darrington.wattle.id.au>

	Output renderer:  Reverse the order of table columns when in RTL locale
	When operating in a RTL locale, the last column of a table should be rendered
	"first" (ie. leftmost).  This change achieves that.  In order to determine if
	the locale is a RTL locale, a new translatable string is introduced.  This
	string must be localised by the translator of the .po file for RTL locales. LTR
	locales can leave it untranslated.

	Reported by: Mohammad Haghighat <hosseinhg@hotmail.com>

2015-12-02  John Darrington  <john@cellform.com>

	Output viewer:  Right justify output items if an RTL locale is in effect
	The GtkDrawingArea widgets which contain the rendered tables, must be shifted
	to the right hand side of the parent widget for RTL locales.

	Reported by: Mohammad Haghighat <hosseinhg@hotmail.com>

2015-12-02  John Darrington  <john@darrington.wattle.id.au>

	Output viewer: Add diagnostic feature

2015-11-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	osx: Test 605 (QUICK CLUSTER with pairwise missing) failed on Mac OS
	The uses head -n -3 to check the top number of lines of two files. On osx
	negative line numbers are not allowed with head. I changed this to the
	respective number of positive line numbers.

	osx: Test 172 (decrypt an encrypted syntax file) failed in regression
	Test 172 decrypts a file which produces some problematic CRLF characters.
	The characters are removed with sed to check vs. reference data, but the sed
	does not work the same way on osx as on linux. I changed this to tr which
	works on both systems.

2015-11-29  John Darrington  <john@darrington.wattle.id.au>

	Fix build issue on Gnewsense mips64

2015-11-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Smake clean target removed po/ChangeLog and po/Makefile.in (both are in git)
	make -f Smake clean

	removed po/ChangeLog and po/Makefile.in which are under git control. This
	fix leaves those two files untouched. Without the fix, the make -f Smake
	step after a clean ends with an error because po/Makefile.in is missing.

2015-11-29  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning

2015-11-28  John Darrington  <john@darrington.wattle.id.au>

	Correct the rendering of the data and variable sheets in RTL locales

	Fix change inadvertently added by previous commit

	Persist dialog box widget settings.
	Arrange for the status of widgets within dialog boxes to persist
	between calls when called for the same dataset.   Some users
	have requested this to make repeated operations easier.

2015-11-21  John Darrington  <john@darrington.wattle.id.au>

	Make fn_open and fn_close take a struct file_handle instead of char *
	This change alters the signature of the fn_open and fn_close functions,
	and changes all callers appropriately.  The purpose of such a change is
	so that the encoding of the filename is passed to fn_open from wherever
	it was created.

	It also changes the implementation of fn_open on windows systems to call
	_wfopen instead of fopen.  This should fix the problem of windows builds
	not being able to open files whose pathnames included non-ascii characters.

	As a bonus, we no longer require the rather contrived function
	local_to_filename_encoding.

	Some related issues (what about the pspprc file?) remain.

2015-11-21  John Darrington  <john@darrington.wattle.id.au>

	Remove diagnostic code from quick-cluster.c

2015-11-20  John Darrington  <john@darrington.wattle.id.au>

	Remove unnecessary #include directives

2015-11-14  John Darrington  <john@darrington.wattle.id.au>

	fh_get_identity: Move to static scope

2015-11-13  John Darrington  <john@darrington.wattle.id.au>

	QUICK CLUSTER: Remove sqrt from Euclidean distance calculations
	The Euclidean distance is used only for comparison with other Euclidean
	distances.  Since it is invariant that (sqrt(x) < sqrt(y))  === (x < y)
	for all non-negative x,y  it is a waste of effort calculating the sqrt.

	fh_get_identity: Remove incorrect statement from comment.

2015-11-11  John Darrington  <john@darrington.wattle.id.au>

	Move fn_identity from file-name.c to file-handle-def.c

	New top level menu for Graphs.
	Added a new top level menu to assist with the generation of graphics.
	Currently it has only scatterplot, histogram and barchart.

2015-11-10  John Darrington  <john@darrington.wattle.id.au>

	Quick Cluster:  Reimplement clustering algorithm
	This change replaces the algorithm to be closer to that described by
	SPSS Statistical Algorithms.  It results in better classification of
	"real" data, and better seperated cluster centers.

	It also provides a few subcommands which were previously not
	implemented.

2015-11-09  John Darrington  <john@darrington.wattle.id.au>

	Quick Cluster: Print an error instead of failing silently when bad syntax is given

2015-11-07  John Darrington  <john@darrington.wattle.id.au>

	Quick Cluster: Add horizontal rule in cluster membership table.
	This is consistent with other tables, and I think it looks better.

2015-11-06  John Darrington  <john@darrington.wattle.id.au>

	Avoid possible overflow in fn_identity.

2015-11-03  John Darrington  <john@darrington.wattle.id.au>

	Fix crash on w32

2015-11-02  John Darrington  <john@darrington.wattle.id.au>

	Fix typo in NEWS file

2015-10-31  John Darrington  <john@darrington.wattle.id.au>

	Updated version number to 0.9.0 ( 9 indicating unstable version )
	We should have done this as soon as gtk3 was merged but we didn't

	get_default_paper_size: Use access instead of fn_exists
	The latter has portability problems.  Also access checks that the file is readable not only
	that it exists.

2015-10-29  John Darrington  <john@darrington.wattle.id.au>

	Fixed problem building documentation in absence of xmllint
	This change fixes two problems:

	1. XMLLINT was only checked in configure if --without-cairo was not given.   However,
	the documentation (may) require it.

	2. The file doc/help-pages-list needed to be shipped.  Otherwise the docs need to be rebuilt which
	is not desired for users

2015-10-28  John Darrington  <john@darrington.wattle.id.au>

	Use a better method of identifying files on w32

2015-10-27  John Darrington  <john@darrington.wattle.id.au>

	Remove unused functions fn_dir_name fn_getenv and fn_getenv_default

2015-10-24  John Darrington  <john@darrington.wattle.id.au>

	dfm_writer_error: Correct comment

	Remove unused function fn_is_special

	Add test to check that reading from a pipe works ok

2015-10-23  John Darrington  <john@darrington.wattle.id.au>

	Remove obsolete prototype

	Remove unused function

	Avoid "definition without prototype" warnings

2015-10-22  John Darrington  <john@darrington.wattle.id.au>

	Avoid "definition without prototype" warnings

	caseproto_ref: Append compiler directive WARN_UNUSED_RESULT

2015-10-21  John Darrington  <john@darrington.wattle.id.au>

	make-file.c: Behave better under windows operating systems
	Under w32 it is necessary to convert all file names to UTF-16 and prefix all
	the file related system calls with "_w".  Otherwise, calls involving filenames
	which contain non-ascii characters will not work properly.

2015-10-21  Ben Pfaff  <blp@cs.stanford.edu>

	QUICK CLUSTER: Avoid "unused parameter" warning.

2015-10-21  Alan Mead  <amead2@alanmead.org>

	QUICK CLUSTER: New subcommand: /PRINT
	This subcommand can be used to show the initial cluster centres and
	the final cluster membership.

	Closes bug #41019

2015-10-20  John Darrington  <john@darrington.wattle.id.au>

	Skip fifo test for w32 hosted builds

	Append the correct number of null bytes to the end of recoded strings
	Previously the recode_string et al functions assumed that the correct way to
	terminate a string was to append a single \0.  With encodings such as UTF-16
	however, two \0 bytes are necessary and four with UTF-32.  This change fixes
	the problem.

	Change pattern of tmpfiles from <name>.tmpXXXXXX to <name>tmpXXXXXX
	Under wine, and presumably certain windows systems, filenames with more than one dot are not allowed.

2015-10-19  John Darrington  <john@darrington.wattle.id.au>

	Move definition of handler inside the #ifdef HAVE_READLINE

2015-10-18  John Darrington  <john@darrington.wattle.id.au>

	Provide stubs for spreadsheet functions when no spreadsheet support is built
	This prevents link errors when compiling with full optimisation.

	Gnumeric Reader: Fix memory leak

2015-10-17  John Darrington  <john@darrington.wattle.id.au>

	Add tests for cases exercising the atomic replacement mechanism
	Add a test case when writing to a fifo.
	Add some test cases for situations where file creation fails.  Failure
	to create a file should be reported gracefully.

	Remove unnecessary #include directive

2015-10-09  John Darrington  <john@darrington.wattle.id.au>

	struct file_handle: Add new member file_name_encoding and an accessor function

	Ensure all lex_readers have the encoding parameter

2015-10-08  John Darrington  <john@darrington.wattle.id.au>

	replace_file_start: remove parameter TMP_FILE
	This parameter was never used (all callers passed NULL) and I cannot
	imagine why anyone would be interested in it.

	replace_file_start: Now takes a file handle instead of a file name

	lexer.c: Remove file_name member from lex_reader_file
	The parent class already has such a member so this is
	redundant and complicates things.

2015-10-07  John Darrington  <john@darrington.wattle.id.au>

	Fix the INCLUDE /ENCODING subcommand and add a test for it.
	It seems that INCLUDE /ENCODING had never worked nor had been
	tested.

2015-10-04  John Darrington  <john@darrington.wattle.id.au>

	Zip Reader: Avoid undefined behaviour when reading short files
	The zip reader makes many calls to fread.  However the return value was not checked.  This could
	have had undefined consequences when reading short files.  This change checks all calls to fread.

2015-10-02  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Distribute tests/data/test-encrypted.sps also.
	Reported by John Darrington.

	po: Update translations from translationproject.org.

2015-09-26  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Support decrypting encrypted SPSS syntax files.
	Thanks to charlesjohnsont@outlook.com for providing an example.
	Bug #45974.

2015-09-19  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in initialization

2015-09-19  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Add missing file to doc_pspp_dev_TEXINFOS.
	Reported by John Darrington.

2015-09-19  John Darrington  <john@darrington.wattle.id.au>

	PsppireSpreadsheetModel: Take reference to underlying model

2015-09-15  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Document encrypted syntax file format.
	Thanks to charlesjohnsont@outlook.com for providing an example.
	Bug #45974.

2015-09-15  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in PsppireVarSheet

	Fix memory leak in ODS reader

	Text file importer: Initialise the total_is_exact variable.
	The text file importer was supposed to have a feature where the total number of lines
	in the file was measured if the file was short, or estimated if it was long.  However
	the variable which was supposed to hold this information was never initialised. This
	change fixes that.

	Ref count struct spreadsheet
	struct spreadsheet is a base class for which all current derivations
	are ref counted.  It makes sense then to have the base class refcounted
	instead of the more derived ones

2015-09-12  Ben Pfaff  <blp@cs.stanford.edu>

	any-reader: Add some comments on interface and implementation.
	Also, adjust pfm_detect() and sfm_detect() code to be consistent with
	pcp_detect().  This should not cause a change in behavior.

2015-09-12  Ben Pfaff  <blp@cs.stanford.edu>

	pc+-file-reader: Fix handling of short files.
	The code failed to return an error properly when fread() read past end of
	file.

	The function comment didn't properly reflect what the function actually
	returned, so this commit also updates the comment.

	Reported by John Darrington.

2015-09-12  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Mark print_startup_time() unused to avoid warning.

2015-09-12  John Darrington  <john@darrington.wattle.id.au>

	Fix dereference to reallocated pointer in data-parser.c (parse_delimited_no_span, parse_delimited_span)
	The parse_delimited_span and parse_delimited_no_span functions were
	accessing a pointer from within a loop, but the pointer had been
	initialised outside the loop.  However the loop itself was deallocating
	the memory referenced by that pointer.

	This change initialises the pointer within the loop so as to avoid
	a potential crash here.

2015-09-06  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2015-09-06  John Darrington  <john@darrington.wattle.id.au>

	Remove some unnecessary #include directives

	Have "make distcheck" run without errors

2015-09-04  John Darrington  <john@darrington.wattle.id.au>

	Splash screen: Flush display after drawing.
	This avoids a few milliseconds of black which some users have reported.

2015-08-30  John Darrington  <john@darrington.wattle.id.au>

	Encoding selector: fix memory leak

	PsppireEncodingSelector: Add comment

2015-08-29  John Darrington  <john@darrington.wattle.id.au>

	Don't bother freeing import dialog memory. Thus avoid crashes.
	A number of users have complained that the import dialog assistant
	crashes on exit.  This seems to be because some callback is accessing
	the data after it has been freed.

	This change "fixes" that by simply not ever freeing the data.  This
	will cause a memory leak.  However during my investigations, I have
	found that this dialog leaks so much anyway that these few bytes are
	hardly significant.

	A proper fix will hopefully be forthcoming.

	Affects bug #45805

2015-08-24  John Darrington  <john@darrington.wattle.id.au>

	TextImportDialog: Gtk[VH]Box  --> GtkBox

	TextImportDialog: Remove unused struct definition

	TextImportDialog: GtkVPaned --> GtkPaned

	TextImportDialog: GtkTable --> GtkGrid

2015-08-21  Ben Pfaff  <blp@cs.stanford.edu>

	Pulled the latest translations from translation-project.org

2015-08-18  John Darrington  <john@darrington.wattle.id.au>

	Restore the splash screen.
	Re-implementat the splash screen, using functinos which are not
	deprecated under Gtk3.  Note:  This implementation does not
	use the gtk functions which the Gtk devs recommend for splash screens.
	What they forget, is that a primary purpose of a splash screen is
	that it should appear with the minimum of delay.  gtk_init can
	have significant delay - hence the recommended way of doing splash
	screens in Gtk is self defeating.

2015-08-11  John Darrington  <john@darrington.wattle.id.au>

	Pulled the latest translations from translation-project.org

2015-08-09  John Darrington  <john@darrington.wattle.id.au>

	Remove deprecation: gtk_misc_set_alignment -> gtk_widget_set_valign

2015-08-02  John Darrington  <john@darrington.wattle.id.au>

	Removed superfluous #include directive

2015-08-02  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Add PSPP version to messages that ask for files.
	This may make it easier to advise users.

	Suggested by Harry Thijssen <pspp4windows@gmail.com>.

2015-07-31  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Relaxed the syntax parser slightly and include /METHO=ENTER in generated syntax.
	This improves comparibility between PSPP and other software.

	Addresses bug #45667

2015-07-31  Ben Pfaff  <blp@cs.stanford.edu>

	T-TEST: Allow comma to be omitted in GROUPS subcommand.
	Reported by Douglas Bonett and Friedrich Beckmann.

2015-07-31  Ben Pfaff  <blp@cs.stanford.edu>

	T-TEST: Allow both CIN and CI on CRITERIA.
	Upon reading the bug report further, I see that it says that SPSS also
	allows both forms.

	Bug #45664.

2015-07-31  Ben Pfaff  <blp@cs.stanford.edu>

	T-TEST: Use correct keyword CI (instead of CIN) on CRITERIA subcommand.
	Reported by Douglas Bonett <dgbonett@ucsc.edu>.

2015-07-27  John Darrington  <john@darrington.wattle.id.au>

	psppire_cell_renderer_button_render: Avoid deprecation warning

	PsppireDataWindow (on_switch_page): Add comment and reformat

	PsppireDataWindow: reduce scope of incidental variables. Add comments.

2015-07-26  John Darrington  <john@darrington.wattle.id.au>

	Replace deprecated GtkHBox with GtkBox

	Data Editor: Remove the GtkHandleBox
	This widget is deprecated, and I never saw the point of it anyway.

2015-07-26  John Darrington  <john@darrington.wattle.id.au>

	PsppireDialogAction and subclasses - use function to set class activate and thus minimise deprecation warnings
	All subclasses of PsppireDialogAction needed to use GtkActionClass.  This widget however
	is deprecated in recent Gtk versions.  Meaning that all instances of PsppireDialogAction
	implementations would provoke a deprecation warning at compile time.

	This change avoids that by providing a common function to set GtkActionClass->activate.
	Thus, there is now only a single warning instead of many.

2015-07-25  Ben Pfaff  <blp@cs.stanford.edu>

	system-file-format; Add a little more information gleaned from examples.

2015-07-25  John Darrington  <john@darrington.wattle.id.au>

	Added notes about glade versions to src/ui/gui/memorandum.txt

2015-07-25  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Change some errors to warnings.
	I encountered some system files with corrupt data in the long string
	missing value record.  Until now, this entirely prevented the file from
	being read.  This commit changes that to just a warning, enabling the file
	to be read.

	Also revises system file format documentation to better explain that
	unknown or corrupted extension records should be ignored.

2015-07-25  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Avoid hanging forever if a system file has no variables.

2015-07-25  Ben Pfaff  <blp@cs.stanford.edu>

	dictionary: Make dict_delete_var() much faster in common case.
	When a system file is opened, dict_delete_consecutive_vars() deletes lots
	of variables if the system file has long string variables.  This was very
	slow because of the O(n**2) behavior in dict_delete_var().  The biggest
	cost of that O(n**2) behavior was in calling var_clone() on every variable
	several times.  Fortunately, the var_clone() call is not necessary in this
	case, because the cloned variable is only needed for callbacks, which
	aren't set when a dictionary is being read.

	This reduced the time to read the dictionary in a particular sample system
	file from seconds to milliseconds.

2015-07-22  John Darrington  <john@darrington.wattle.id.au>

	Fix behaviour of the REGRESSION /STATISTICS subcommand.

2015-07-20  Ben Pfaff  <blp@cs.stanford.edu>

	GET DATA/TYPE=TXT: Remove ESCAPE subcommand and make its behavior default.
	Frans Houweling reported that this is the default and only behavior for
	GET DATA/TYPE=TXT in SPSS 14, at:
	http://lists.gnu.org/archive/html/pspp-users/2015-07/msg00027.html

	Therefore, this commit makes this behavior the default and only behavior
	in PSPP as well.  (In my opinion it's the only sensible behavior, but SPSS
	didn't document it so I assumed that it didn't do it that way.)

2015-07-19  John Darrington  <john@darrington.wattle.id.au>

	PsppireValueEntry: Enable can_focus in realize callback

	PsppireDialogActionIndepSamples: Replace GtkTable with GtkGrid

	Independent Samples T-Test dialog: Replace deprected GtkVBox and GtkHBox

2015-07-18  John Darrington  <john@darrington.wattle.id.au>

	GET DATA TXT: change syntax generation from /IMPORTCASES to IMPORTCASE
	Apparently, spss only accepts IMPORTCASE (contrary to its documentation).

	Reported by: Frans Houweling

2015-07-10  John Darrington  <john@darrington.wattle.id.au>

	Linreg: Reduce scope of variables

2015-07-04  John Darrington  <john@darrington.wattle.id.au>

	Avoid gtk_widget_reparent which is deprecated

	Avoid GtkArrow which is deprecated

2015-07-02  John Darrington  <john@darrington.wattle.id.au>

	PsppireWindowRegister: Remove unused function

2015-06-29  John Darrington  <john@darrington.wattle.id.au>

	Fix bug when searching through an empty dataset.
	Closes bug #45430

	Correct bad button label

2015-06-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	missing-val-dialog.c: fixed bug #45419 - added value type checks
	This patch fixes bug #45419:
	psppire crashes when entering missing data in new string variable.

	The missing value width is now derived from the variable type. I noticed that
	there are currently no type checks and no detailed warnings. I added the type
	checks which were already provided by data_in and forward them to the existing
	error dialog box. If an error is detected, the focus of the dialog box is
	set to the field which produces the error.

2015-06-28  John Darrington  <john@darrington.wattle.id.au>

	Fix non-working accelerator key

2015-06-27  John Darrington  <john@darrington.wattle.id.au>

	PsppireMeansLayer: Remove useless widget
	Not only did this GtkAlignment not do anything, but it is also deprecated in Gtk3

	PsppireValChooser: remove deprecated functions

	GtkTable -> GtkGrid

	Remove deprecations from help-menu.c

	OutputWindow: Convert deprecated widgets to non-deprecated ones

	Removed unreachable code section

	gtk_widget_size_request --> gtk_widget_get_preferred_size

	Replace two instances of gdk_pointer_grab with gdk_device_grab

	Revert "Replaced a few instances of gdk_window_get_pointer by gdk_device_get_position"
	This reverts commit 70702237d6765a3cc276e952919211387eeee87c.
	It seems to cause problems selecting areas on the sheet.

	Replaced a few instances of gdk_window_get_pointer by gdk_device_get_position

2015-06-27  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	psppire-output-view.c: added check for view->xr - fixes bug #45421
	The output windows crashed when an empty syntax window is executed. The
	rerender function got called without a valid view->xr (=NULL). I added a
	check for this condition and create a new view->xr as it is done in the
	psppire_output_view_put function.

	This fixes bug #45421: Crash when trying to run empty syntax

2015-06-26  John Darrington  <john@darrington.wattle.id.au>

	Replace deprecated GTK_STOCK_ symbols with translatable strings

	Paired samples T-TEST: fix bug calculating correlation coefficient.
	The value did not properly consider the weights of the data.
	Thanks to Douglas Bonett <dgbonett@ucsc.edu> for reporting this.

2015-06-26  John Darrington  <john@darrington.wattle.id.au>

	CROSSTABS: Fixed the reporting of the standard error of Cohen's Kappa
	The Standard error assuming the null hypothesis was being reported
	when the standard error NOT assuming the null hypothesis ought to
	have been.

	Thanks to Joanne Ingram <joanne.ingram@ed.ac.uk> for reporting this
	problem, and to Douglas Bonett <dgbonett@ucsc.edu> for explaining
	how to fix it.

2015-06-25  John Darrington  <john@darrington.wattle.id.au>

	gdk_cursor_unref -> g_object_unref

2015-06-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	    fix s390x build failure on debian due to wrong type casting
	    The problem showed up on s390x for the 0.8.5 debian version
	    where four graph tests using pdf export failed with the same assertion. The
	    problem is due to wrong casting. intptr_t is long int (64 Bit) on s390x
	    but nl_langinfo returns 0xd200000000 on s390x where 0 is the integer result.
	    This results in wrong but positive height and width values for the paper size.

	    fix crash when exporting pdf via gui - fixes bug #45272
	    The problem https://savannah.gnu.org/bugs/?45272 occurs when the pdf
	    export is done via the gui. The problem is that tables containing only
	    carriage returns are considered to have no vertical space consumption.

2015-06-24  John Darrington  <john@darrington.wattle.id.au>

	Select cases dialog: Change GtkTable to GtkGrid

	Replace some obsolete Gtk2 functions

	Fix typo in value chooser

	gdk_cursor_unref -> g_object_unref

2015-06-23  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Reimplement FORMAT=LIMIT feature.
	When the FREQUENCIES input parser was rewritten, this feature was
	mistakenly omitted.  This commit fixes the problem.

	Reported by Douglas Ferguson.

2015-06-22  John Darrington  <john@darrington.wattle.id.au>

	NEWS: add note to mention the transition to Gtk+3

	Data import dialog: GtkTable -> GtkGrid

	PsppireKeypad: replace GtkTable with GtkGrid

	Remove deprecated functions gtk_threads_enter and gdk_threads_leave

	Replace GtkFontSelectionDialog with GtkFontChooserDialog

2015-06-21  John Darrington  <john@darrington.wattle.id.au>

	Replace GtkStock, GtkVBox and GtkHBox with their non-deprecated equivalents

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

	po: Update translations from translationproject.org.

2015-06-21  John Darrington  <john@darrington.wattle.id.au>

	PsppireScanf and PsppireAcr: Avoid deprected API features

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	configure: With -Werror, add -Wno-error=deprecated-declarations.
	The PSPP code for GTK+3 still uses several deprecated interfaces, so
	using -Werror without -Wno-error=deprecated-declarations prevents the tree
	from compiling.

	I hope that this is a temporary measure.

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Removed unused variable.
	Commit 9682fa965a7d (fixed scrolling of edited cell - fixes bug #45113)
	removed all uses of local variable 'requisition' from
	pspp_sheet_view_real_start_editing(), but did not remove the declaration.
	This commit removes the declaration.

	Fixes a warning reported by GCC 4.9.1.

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Remove write-only variable from pspp_sheet_view_draw_bin().
	Commit 9682fa965 (fixed scrolling of edited cell - fixes bug #45113)
	removed the only code that uses the variable of 'has_special_cell' from
	pspp_sheet_view_draw_bin(), but retained the code that set its value.
	This commit removes the variable entirely.

	This fixes a warning reported by GCC 4.9.1.

2015-06-21  Ben Pfaff  <blp@cs.stanford.edu>

	Merge "gtk3" branch into "master".

2015-06-21  John Darrington  <john@darrington.wattle.id.au>

	Missing value dialog: Simplify error dialog.
	This also avoids the use of deprecated API features.

	GRAPH: Correct spacing and punctuation of error message

2015-06-20  John Darrington  <john@darrington.wattle.id.au>

	PsppireOutputView redefined parameter y to be of type long.
	The variable y was defined as int, but being cast to long when set in the tree store.  This seems like it
	could give rise to integer overflow.  This change redefines y to be of type long.

	Possibly related to bug #45272

2015-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2015-06-20  John Darrington  <john@darrington.wattle.id.au>

	Replace deprecated functions

	Merge remote-tracking branch 'origin/master' into gtk3
	Conflicts:
		src/math/chart-geometry.c
		src/output/cairo-chart.c
		src/output/charts/plot-hist-cairo.c
		tests/math/chart-geometry.at

2015-06-20  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.8.5.

2015-06-19  John Darrington  <john@darrington.wattle.id.au>

	Gtk3: Fix font selection of variable and dataview.
	Closes bug #45337

2015-06-18  John Darrington  <john@darrington.wattle.id.au>

	gtk_widget_modify_font -> gtk_widget_override_font

	Move version dependent constructs to gtk.in.h

	Chart Geometry: Fix Chart Ticks Format test
	A previous commit changed the expected output, but neglected to change a
	test accordingly.  This change fixes that.

2015-06-17  John Darrington  <john@darrington.wattle.id.au>

	Charts: internationalise representation of scientific format.
	It seems that when representing real numbers in scientific
	notation, there are several cultural conventions. This change
	allows the translators to choose the convention best suited
	to their locale.

2015-06-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	charts: switched from bullet operator to multiplication sign for numbers
	The previous switch to pango used the bullet operator for the display
	of scientific numbers in charts. Now the numbers are displayed in the
	form: 1.5x10^5 instead as 1.5.10^5.

	charts: switched from bullet operator to multiplication sign for numbers
	The previous switch to pango used the bullet operator for the display
	of scientific numbers in charts. Now the numbers are displayed in the
	form: 1.5x10^5 instead as 1.5.10^5.

2015-06-16  John Darrington  <john@darrington.wattle.id.au>

	Correct and expand comment to barchart_create

	Remove redundant prototype from src/data/variable.h: var_get_value_name.
	There was no definition corresponding to this declaration.

2015-06-15  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Unset $TERM to avoid error if $TERM is set to an unknown terminal.
	Reported by Friedrich Beckmann <friedrich.beckmann@gmx.de>.
	See failed tests here:
	https://launchpadlibrarian.net/209052134/buildlog_ubuntu-wily-i386.pspp_0.8.4-1_BUILDING.txt.gz

2015-06-14  Ben Pfaff  <blp@cs.stanford.edu>

	plot-hist-cairo: Clip normal curve.
	Otherwise a tall normal curve can go way above the intended data
	rectangle to spill out even beyond the page boundary, as shown in
	the PDF examples in bug #45192.

	po: Update translations from translationproject.org.

2015-06-12  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gtk3 - output window: migrated to style context, less rerendering
	I replaced the deprecated gtk_style_get with the style_context
	constructs. The rerendering is now only called after size-allocation or
	style updates. The xr fonts are only updated after a style-updated
	signal. The style is now derived from the view class for the GtkLayout
	widget.

2015-06-11  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	output window: click on overview item adjusts output view (jump)
	On MacOS clicking on the overview item did not result in a correct
	adjustment of the output window. The reason is that view->y is of type
	integer but type long is stored in the treestore. This requires correct
	type casting.

2015-06-11  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	replaced decimal module, xrchart_scale with autoformat, histogram x-axis ticks changed.
	During gtk3 osx debugging the decimal unit crashed. I replaced the decimal computations
	with traditional tick interval computation plus a printf format string generation which is
	adapted to the chosen tick style.

	The xrchart scales writing are adapted to use this mechanism. If the tick text is too long
	to fit in the interval, then the tick label uses the existing rotation by 45 degrees. I added
	some space below the x-axis to make the tick labels visible. Maybe the tick label placement
	could also be done in two rows for the even and odd ticks.

	The histogram x-axis tick generation is changed from a tick per bin to the usual
	normal x-axis tick generation. This allows easier visual bin border identification.
	The bin width is adapted to the chosen x-axis tick scale. Any number of bins can now
	be visualized. This is according to the spss examples I found for the histograms.

	Conflicts:
		src/output/cairo-chart.c

2015-06-11  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	charts: changed scientifc number display from e+6 type to pango markup

2015-06-10  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	output window: click on overview item adjusts output view (jump)
	On MacOS clicking on the overview item did not result in a correct
	adjustment of the output window. The reason is that view->y is of type
	integer but type long is stored in the treestore. This requires correct
	type casting.

	output window: added allocation setting for drawing areas. fixes bug #45229.
	I added allocation setting to the drawing areas in the output window. The
	problem occured in osx gtk3 branch and is described in bug #45229. The
	content of the output window was not rendered correctly in the initial
	window but only after a resize. Setting the size request for the drawing
	areas is not enough because the current allocation is not immediatly changed.
	The clipping is based on the current allocation, while the drawing is based
	on the results from the rerender function. This problem is related to
	the problem described in bug #43362.

2015-06-07  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	replaced decimal module, xrchart_scale with autoformat, histogram x-axis ticks changed.
	During gtk3 osx debugging the decimal unit crashed. I replaced the decimal computations
	with traditional tick interval computation plus a printf format string generation which is
	adapted to the chosen tick style.

	The xrchart scales writing are adapted to use this mechanism. If the tick text is too long
	to fit in the interval, then the tick label uses the existing rotation by 45 degrees. I added
	some space below the x-axis to make the tick labels visible. Maybe the tick label placement
	could also be done in two rows for the even and odd ticks.

	The histogram x-axis tick generation is changed from a tick per bin to the usual
	normal x-axis tick generation. This allows easier visual bin border identification.
	The bin width is adapted to the chosen x-axis tick scale. Any number of bins can now
	be visualized. This is according to the spss examples I found for the histograms.

2015-06-04  Ben Pfaff  <blp@cs.stanford.edu>

	cairo-chart: Use "Sans" instead of "sans serif" as font.
	This fixes a bug on Windows, where Pango doesn't have a font
	named "sans serif" but does have one named "Sans".

	Reported and tested by Harry Thijssen.

2015-06-03  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	charts: changed scientifc number display from e+6 type to pango markup

2015-06-02  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug GRAPH /HISTOGRAM vs. null data.
	Fixed a crash which occured when GRAPH /HISTOGRAM was called
	on a dataset with less than 2 data.'

	Exercise the GRAPH command in the split-file test

2015-05-31  John Darrington  <john@darrington.wattle.id.au>

	Added src/ui/gui/memorandum.txt to EXTRA_DIST

2015-05-31  Friedrich Beckmann  <friedrich.beckmann@hs-augsburg.de>

	histogram tick drawing - added format generation for optimum tick drawing
	Fixes bug #45192 which showed up in the gtk3 branch on MacOS.

	It replaces the decimal_xxx computations with a routine that computes a
	formatting string and a scale factor for a given axis range and number of
	bins. The formatting will switch between normal and scientific depending on
	the length of the displayed label text. The formatting is such that no
	rounded numbers like 3.9999999 when in fact 4 is expected is shown.
	Differences between bins remain visible in the tick labels.

	In addition the width of the rendered labels is compared with the width
	of the bins in the display such that the labels will automatically
	switch between horizontal and 45 degree display.

2015-05-31  Friedrich Beckmann  <friedrich.beckmann@hs-augsburg.de>

	histogram tick drawing - added format generation for optimum tick drawing
	Fixes bug #45192 which showed up in the gtk3 branch on MacOS.

	It replaces the decimal_xxx computations with a routine that computes a
	formatting string and a scale factor for a given axis range and number of
	bins. The formatting will switch between normal and scientific depending on
	the length of the displayed label text. The formatting is such that no
	rounded numbers like 3.9999999 when in fact 4 is expected is shown.
	Differences between bins remain visible in the tick labels.

	In addition the width of the rendered labels is compared with the width
	of the bins in the display such that the labels will automatically
	switch between horizontal and 45 degree display.

2015-05-31  John Darrington  <john@darrington.wattle.id.au>

	Value Label Dialog: Do not attempt to read selection if there is none.
	Fixes bug #45215.

	Value Label Dialog: Do not attempt to read selection if there is none.
	Fixes bug #45215.

	New file for developers: memorandum.txt
	This short text very briefly describes the steps to add a new GUI dialog to Psppire.

2015-05-30  Ben Pfaff  <blp@cs.stanford.edu>

	QUICK CLUSTER: Fix infinite loop on bad command name.
	Reported by Alan Mead.

2015-05-29  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Smake: build from git on Mac OSX

2015-05-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	removed references to psppire-dialog orientation property

	fixed scrolling of edited cell - fixes bug #45113

2015-05-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	scatterplot: fixed compiler warnings

	fixed the scroll-to-bottom; removed the size-request signal warning

	repair glade; switched to gladeui-2.0; removed the internal-child in psppire-dialog.

2015-05-22  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	scatterplot: fixed compiler warnings

2015-05-21  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gtk3: replaced gtk_widget_register_window with older code depending on gtk version (pre 3.8)

	gtk3 - fix to show selected cells with adwaita theme

	gtk3 - adapted draw routine to gtk_cairo_should_draw_window. gtk-criticals with undefined drag window disappeared. The gtk-criticals showed up in debian 8.

2015-05-20  John Darrington  <john@darrington.wattle.id.au>

	gtk3: Replace gdk_window_get_pointer with gdk_window_get_device_position

2015-05-19  John Darrington  <john@darrington.wattle.id.au>

	Gtk+3: Replace deprecated gtk_layout_get_vadjustment with gtk_scrollable_get_vadjustment

	Gtk+3: Replace deprecated gtk_widget_size_request with gtk_widget_get_preferred_size

	Gtk+3: Replace deprecated gtk_cell_renderer_get_size with gtk_cell_renderer_get_preferred_width

2015-05-17  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gtk3 - added NULL check to tt_test_options_dialog_destroy - psppire crashed during exit on debian 8

	gtk3 - added NULL check to tt_test_options_dialog_destroy - psppire crashed during exit on debian 8

2015-05-16  John Darrington  <john@darrington.wattle.id.au>

	Fix GtkCritical whilst displaying last line of variable view.
	Closes bug #45112

	Fix GtkCritical whilst displaying last line of variable view.
	Closes bug #45112

	Fix crash when cancelling variable type dialog.
	Fixes bug #45114

	Fix crash when cancelling variable type dialog.
	Fixes bug #45114

2015-05-14  John Darrington  <john@darrington.wattle.id.au>

	Sheet View optimisation: Do not attempt to draw sheet cells which lie outside of the exposed area.

2015-05-03  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	fixed initial show of names in header window. Variable names only showed up after switching between variable and data window. The reason is that the buttons of the columns are not created. This is due to interdependency between the size allocation and the button creation. I removed the need_button mechanism.

	Fixed horizontal scrolling for header window (variable names)

2015-05-01  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	merge master->gtk3, fixed psppire-output-view.c refactoring; this compiles and runs but the window update is only working partly

2015-04-24  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Switch the order in which scatterplot axes appear in the graphic's caption.
	Hulliger Beat <beat.hulliger@fhnw.ch> Reported that scatterplots were titled 'x vs. y'
	where x and y were opposite to what is conventional.  This change fixes that.

	Allow data used by GRAPH /SCATTERPLOT to persist after the procedure has ended.
	Fixes bug #44877

	Whitespace changes only.

2015-04-22  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2015-04-08  John Darrington  <john@darrington.wattle.id.au>

	Update glib requirements to version 2.32 or later

2015-03-25  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2015-03-14  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add Chinese (simplified) translation.

2015-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	help-pages-list: Distribute.
	Otherwise "make distcheck" will have to regenerate it, which means
	that it will have to regenerate doc/pspp.xml (because it depends on
	help-pages-list) but that's not possible under "make distcheck"
	because it makes the source directory read-only.

	Found by PSPP autobuilder.

2015-03-08  Ben Pfaff  <blp@cs.stanford.edu>

	RELIABILITY: Ignore STATISTICS subcommand.
	Statistics aren't yet implemented but it's more friendly to produce
	everything we can than to fail the whole command.

	Thanks to Tom Smekens for reporting the problem.

2015-03-08  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Create "doc" directory in build directory.
	Otherwise we get build failures from the autobuilder when the rule
	in gui/automake.mk tries to create doc/help-pages-list.  Problem
	introduced in commit 531de52e961c (PsppireDialog: New property:
	help-page).

	Developers probably didn't notice this problem because they probably
	already had doc/ directories in their build directories due to
	building PDF versions of the documentation at one time or another, or
	because they do builds in the source directory.

	Found by examining autobuilder failures.

2015-03-08  Ben Pfaff  <blp@cs.stanford.edu>

	FACTOR: Support ANALYSIS subcommand.
	This appears in syntax generated by SPSS.

	Thanks to Tom Smekens for reporting the omission.

2015-03-07  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Add support for 2- and 3-operand RND function.
	Requested by Tom Smekens.

2015-03-06  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Accept (but ignore) ORDER subcommand.
	Allows syntax generated by SPSS to work.

	Reported by Tom Smekens.

2015-03-05  Ben Pfaff  <blp@cs.stanford.edu>

	RENAME VARIABLES: Make parentheses optional for single variables.
	This matches SPSS documented behavior.

	Reported by Tom Smekens.

2015-03-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog: Fix incompatible pointer type.

	doc: Fix use of $(AM_V_at).
	It has to come at the beginning of the command since it expands to
	@ and only "make" (not the shell) understands that.

2015-02-24  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Document decryption support in pspp-convert.
	Reported by tylar <murray.tylar@gmail.com>.

2015-02-21  John Darrington  <john@darrington.wattle.id.au>

	Frequencies Dialog: Add the ability to specify a bar chart

2015-02-16  John Darrington  <john@darrington.wattle.id.au>

	PsppireDialog: New property: help-page
	New property to indicate the manual page which should be opened
	when the Help button is clicked.

2015-02-16  Ben Pfaff  <blp@cs.stanford.edu>

	doc: MATCH FILES/ADD FILES/UPDATE can combine any number of files.
	Suggested by Daniel Schlieper.

2015-02-16  John Darrington  <john@darrington.wattle.id.au>

	tests/math/decimal-test.c (canonicalise-string): Fix uninitialised return value

2015-02-15  Ben Pfaff  <blp@cs.stanford.edu>

	COUNT: Correct treatment of missing values.
	COUNT didn't properly handle user-missing values or the MISSING
	keyword.  This corrects the problem.

	Thanks to ftr <news.ftr@free.fr> for reporting this bug.
	Bug #44157.

2015-02-15  John Darrington  <john@darrington.wattle.id.au>

	Smake: Made the configure target slightly more fail safe

	Makefile rule pspp.xml: Simplify slightly

2015-02-14  John Darrington  <john@darrington.wattle.id.au>

	Examine Dialog: Fix widget focus order

	Dialog boxes:  Grab focus of the source widget on reset

2015-02-12  John Darrington  <john@darrington.wattle.id.au>

	Minor update to documentation for FREQUENCIES

2015-02-08  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Tidy up notes about histogram bin widths

2015-02-07  John Darrington  <john@darrington.wattle.id.au>

	Added the /BARCHART option to CROSSTABS

	tests/chart.at: -O format=csv changed to -o pspp.txt
	If no output file is specified, no charts get generated.  Since these
	tests are "no crash only" tests, we want to exercise as much code as
	possible

2015-02-01  John Darrington  <john@darrington.wattle.id.au>

	Corrected typo in syntax generation for value chooser.
	Closes bug #43623

2015-01-23  John Darrington  <john@darrington.wattle.id.au>

	Remove untrue statement from comment

	Ensure that example_dir is relocatable.
	commit be1157c5591142920a95d587acf97f5eaf3d04fe added a reference to the
	installed data directory.  Unfortunately I forgot to allow for relocatable
	installations.  This change fixes that.

2015-01-22  John Darrington  <john@darrington.wattle.id.au>

	Add examples directory "shortcut" to file_open dialog

2015-01-21  John Darrington  <john@darrington.wattle.id.au>

	Frequencies: Added the /BARCHART subcommand.

2015-01-19  John Darrington  <john@darrington.wattle.id.au>

	Piecharts:  Avoid the segment fill obscuring the labels

	Piecharts: Remove trailing whitespace from slice labels

2015-01-17  John Darrington  <john@darrington.wattle.id.au>

	Fix logic error in previous commit

2015-01-16  John Darrington  <john@darrington.wattle.id.au>

	replace_file_start: On error, ensure that the appropriate errno value is held

2015-01-16  John Darrington  <john@darrington.wattle.id.au>

	New module to perform decimal floating point arithmetic for charts.
	This change adds a small module to perform floating point arithmetic
	with a decimal base, and uses it to calculate the graticule marks for
	charts.

	Rationale:  Graticule marks want to be displayed in decimal.  However
	not all decimal values can be represented in a double precision
	floating point binary.  This approach pushes the precision loss from
	the value of the mark, to the position on the chart - we don't
	particularly care if a tick mark is a fraction of a pixel out of place,
	but we do care if 4.0 is displayed as 3.9999999999

	Reviewed-by: Ben Pfaff

2015-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	build-aux/icon-list: Make executable.
	Somehow I checked in this script as non-executable.  This fixes the
	problem.

	Reported by Harry Thijssen.

2015-01-11  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Factor output repetitive code into new script in build-aux.
	I planned to add another kind of icon but even without that change
	this makes the code more readable.

2015-01-09  John Darrington  <john@darrington.wattle.id.au>

	Fix minor typos in documentation

2015-01-07  John Darrington  <john@darrington.wattle.id.au>

	Syntax Window: Simplify the Edit|Paste callback.
	Apparently pasting into the Syntax Window under Windoze didn't work.
	This change makes the EditPaste callback simpler and apparently it
	fixes the problem.

	Thanks to Alan Mead for reporting the problem and to Harry Thissen
	for testing the fix.

2015-01-04  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warnings on 64 bit machines

2015-01-04  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Remove claim that a null 'cairo' can work.
	We found out in bug #43816 that it doesn't really work and isn't
	worth maintaining anyhow.

2015-01-04  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-view: Fix segfault during printing.
	psppire-output-view tried to make use of a special feature in the
	cairo output driver that allowed the cairo_t to be omitted to avoid
	actually rendering anything, for pagination purposes, but the cairo
	code had changed and this feature had not been carefully maintained,
	resulting in a segfault.  This commit stops trying to use that
	feature, since it seems like it could easily get broken again in the
	future and doesn't have much benefit anyhow.

	Bug #43816.
	Reported by John Darrington.

2015-01-03  John Darrington  <john@darrington.wattle.id.au>

	Correct documentation example and add a corresponding test.
	The tutorial section of the manual contained an example which
	did not correspond to real results.  This change corrects the
	example and adds a test for it.

	Reported-by: Robin Reeves <robin.r@hotmail.co.uk>

2015-01-02  John Darrington  <john@darrington.wattle.id.au>

	Examine: Change the positioning of the whiskers on boxplots.
	The positioning of the whiskers on boxplots was unconventional.
	This change places the whiskers on the highest/lowest datum which
	is not an outlier.

	Thanks to Alan Mead for reporting this.

2014-12-29  John Darrington  <john@darrington.wattle.id.au>

	Factor: fix memory leaks relating to PROMAX and update NEWS

2014-12-28  Ben Pfaff  <blp@cs.stanford.edu>

	factor: Comment out unused functions.

	configure: Drop -Wdeclaration-after-statement.
	We keep getting new instances of this warning in the tree, and it's
	not really necessary these days since even MSVC supports mid-block
	declarations now.

	doc: Document pspp-dump-sav.
	Requested by Harry Thijssen.
	Bug #43857.

2014-12-21  John Darrington  <john@darrington.wattle.id.au>

	Add some entries to .gitignore

	FACTOR: Added PROMAX rotation.

2014-12-13  John Darrington  <john@darrington.wattle.id.au>

	File Export: Added a "plain text" option.
	In the File|Export menu of the output window, enabled unicode box characters for
	the "Text" output, and added a "Text (plain)" menuitem without this feature.

2014-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Add section on how to exit PSPP to the tutorial.
	Daniel Schlieper reported that he had trouble figuring out how to
	exit.  The FINISH command was already documented, but it wasn't
	mentioned in the tutorial, so perhaps this will help.

	Bug #43766.

2014-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	command: Fix delayed execution of FINISH.
	PSPP delayed the execution of FINISH until it read the first token
	of the next command.  This commit changes it to execute immediately,
	as one would expect..

	Reported by Daniel Schlieper.
	Bug #43766.

2014-12-07  Daniel Schlieper  <daniel@tuxomania.net>

	command: Add STEMLEAF to list of unimplemented commands.

2014-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Upgrade recommended Gnulib version.
	Harry Thijssen reported that the older version of Gnulib failed to
	build (in msvc-inval.c) on Windows, but that the newer version built
	fine with the exception of the error that should have been fixed by
	the previous commit.

	Discussion at:
	http://lists.gnu.org/archive/html/pspp-dev/2014-12/msg00014.html

2014-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Include <unistd.h> to ensure 'read' is consistently replaced.
	On some platforms, Gnulib #defines read to rpl_read.  The lexer uses
	an unreleated function pointer member named 'read' in struct
	lex_reader_class.  It doesn't really matter whether this name gets
	replaced with rpl_read as long as it always happens consistently.
	Adding "#include <unistd.h>" to lexer.h should ensure that.

	Reported by Harry Thijssen.

2014-12-07  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix unintended platform dependency in portable file test.
	Reported by Jeremy Lavergne.

2014-12-07  Daniel Schlieper  <daniel@tuxomania.net>

	doc: Describe how bin sizes are chosen for histograms.

2014-12-05  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES: Fix bug when combining HISTOGRAM with PERCENTILES.
	This bug was reported only on windows, but had the potential to
	affect any system.

	Thanks to "Dr. Yaron Ghilay" <gy21@inter.net.il> for reporting
	the bug, and to Kai.Borgolte@gmx.de for diagnosing it.

2014-11-30  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Allow percentiles to be comma-separated.
	Reported by Dr. Yaron Ghilay.

2014-11-29  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add Polish translation.

	Add support for weighting variables in SPSS/PC+ system files.
	Based on a file provided by Alan Mead.

2014-11-28  Ben Pfaff  <blp@cs.stanford.edu>

	Add support for reading SPSS/PC+ system files.
	Thanks to Alan Mead for supplying most of the files in the corpus used to
	determine the SPSS/PC+ system file format.

2014-11-15  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-11-08  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Add some comments to the bugs chapter

2014-11-04  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add Galician translation.

2014-10-28  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES: Fixed crash when there was no valid data

	GRAPH: Use complete strings instead of constructing them
	This makes life easier for the translators.

2014-10-25  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-10-18  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Add .5pt gutter around table rules.
	Commit d3fef25674baf4f4 (output: Add footnote support.) removed the 3-pt
	gutter around table rules, instead putting a margin around cell contents.
	This usually worked out fine, but for some tables in the GUI it caused the
	rightmost rule in the table to disappear.  This is probably some kind of
	off-by-one error in table size computation or clipping.  We may have to
	eventually resolve that.  However, this commit seems like an adequate
	temporary fix: instead of fixing the off-by-one error, add a thin gutter
	around the rules, so that the actual content of the rule doesn't get
	clipped off.

	pspp-dev.texi: Add authors as @author arguments.
	With a blank @author, makeinfo complains.
	Without @author at all, the title page in TeX output looks funny.
	So this commit simply names the authors, as determined by "git log" on
	the doc/dev directory.

2014-10-18  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-view: Properly render the first few items of output.
	Commit 18f9e37c8bc5 (psppire-output-view: Only render output items once the
	window is realized.) fixed a crashing bug, but when I tested it I didn't
	carefully look at the output.  In fact, any output items that were rendered
	before the window was realized were not displayed, because the widgets
	created for them were never shown or properly initialized.  This commit
	fixes the problem.

	Reported by Adam Zammit.
	Bug #43362.

2014-10-18  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES: Fix the default /STATISTICS.
	The subcommand /STATISTICS (with nothing following) should be the same as /STATISTICS = DEFAULT.

	Frequencies.c: Use BIT_INDEX (FRQ_ST_MEDIAN) instead of FRQ_ST_MEDIAN.
	Closes bug #43427

2014-10-12  Ben Pfaff  <blp@cs.stanford.edu>

	DISPLAY: Fix crash bugs in DISPLAY INDEX and DISPLAY NAMES.
	Bug #43365.
	Thanks to Mindaugus for reporting this bug.

2014-10-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-view: Only render output items once the window is realized.
	Otherwise, in environments where the output view is not rendered
	immediately upon the call to gtk_widget_show_all() from
	psppire_output_submit(), psppire_output_view_put() called later in that
	function would dereference a null pointer trying to create a rendering
	from a null GTK_WIDGET (view->output)->window.

	Bug #43362.

2014-10-07  Ben Pfaff  <blp@cs.stanford.edu>

	Updated localisations from translation-project.org.

2014-10-05  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	gui: Set StartupNotify=false because Startup Notification does not work.

2014-10-04  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-10-04  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	doc: Add PSPPIRE manpage, add example to manpages, install manpages.

2014-09-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	render-test: Fix invocation of tab_footnote().
	Fixes this GCC warning:

	    tests/output/render-test.c: In function ‘read_table’:
	    tests/output/render-test.c:491:19: error: format not a string literal and
	    no format arguments [-Werror=format-security]

2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-09-27  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	Add GRAPH command initially with just scatterplots and histograms.

2014-09-27  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Add --enable-silent-rules support to more targets.

	Update to version 0.8.4.

	Update to newer texinfo.tex.

	configure: Change the way we work around missing $(AM_V_P).
	The existing approach didn't work because AM_V_P was introduced after
	AM_SILENT_RULES.

2014-09-26  Ben Pfaff  <blp@cs.stanford.edu>

	Makefiles: Support --enable-silent-rules for one more target.

	Makefiles: Make most of the handwritten rules support --enable-silent-rules.

	gui: Suppress compiler warning for call to deprecated g_thread_init().

	doc: Rename .texinfo files to use .texi extension.
	Newer versions of Automake complained that the .texinfo extension was
	deprecated.

	configure: Allow --enable-silent-rules when Automake supports it.
	I personally find this makes the build easier to follow.

2014-09-20  John Darrington  <john@darrington.wattle.id.au>

	Added Turkish localisation

2014-09-15  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Fix treatment of string variables.
	Reported by Richard Lee Rogers on pspp-users:
	http://lists.gnu.org/archive/html/pspp-users/2014-09/msg00003.html

	output: Add support for captions.
	This brings the output format a small step closer to the SPSS output model,
	which has separate title and caption for tables.

2014-09-14  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix bug in render_pager_draw_region().
	This bug, introduced in commit f1db96caae4 (ender: Fold caption drawing
	into rendering engine.), could cause the title and body of a table to be
	drawn overlapping.

2014-09-13  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Update documentation to match renaming of captions to titles.

	output: Rename caption to title.
	This brings PSPP a small step closer to the table model that SPSS uses,
	which allows for a brief title above the table and a more verbose caption
	below it.

2014-09-13  Ben Pfaff  <blp@cs.stanford.edu>

	output: Add footnote support.
	The initials support for footnotes does not allow the client to specify
	the markers and does not merge footnotes with the same text so that they
	have the same markers.  It might be necessary to implement one or both of
	those features.

	The footnote feature doesn't have any users yet, outside of the tests.

2014-09-13  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fold caption drawing into rendering engine.
	This factors code out of the individual drivers.

	render: Render table_items instead of tables.
	A table_item includes the caption, which future commits will want to have
	render_pager render, so the table_item is a more natural target.

	render: Push all rendering, not just pagination, into render_pager.
	In future commits this will allow adding support for rendering captions and
	(to be introduced) footnotes in render_pager.

	render: Introduce render_pager to factor out code from drivers.
	The render_break abstraction requires quite a bit of assistance from
	drivers.  By introducing a high-level render_pager abstraction we factor
	out a bit of common code.  Future refinements will allow putting more and
	more functional in the common "render" interface.

	str: Make str_format_26adic() able to use lowercase.
	The output engine will use lowercase for footnote markers.

	RUNS: Correct calculation of significance.
	Reported by Douglas Bonett <dgbonett@ucsc.edu>.

2014-09-09  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: Fix handling of partial reads.
	The u8-istream code did not retry upon a partial read, assuming that that
	was the end of the file.  When the partial read was shorter than
	ENCODING_GUESS_MIN, this could cause the encoding guesser, in turn, to
	guess the wrong encoding (especially if the encoding was really UTF-16 and
	the partial read was an odd number of bytes).

	Reported at https://bugs.debian.org/760841.
	Reported by Friedrich Beckmann and Steven Chamberlain.

2014-09-04  Ben Pfaff  <blp@cs.stanford.edu>

	Updated translations from translationproject.org

2014-09-03  Ben Pfaff  <blp@cs.stanford.edu>

	html: Format new-lines as line breaks.
	Otherwise all the lines run together in SYSFILE INFO output in particular.

	html: Align table cells vertically at the top.
	This is what the ascii and cairo drivers do, and it looks best.

	zip-writer: Write size and CRC in local directory when possible.
	Google Drive rejects ODT files as corrupted unless their size and CRC are
	in local file headers, even though the zip file specification says that it
	is OK for them to follow the file data.  Thus, this commit changes the
	zip writer to satisfy Google unless the output file is not seekable.

2014-09-03  Ben Pfaff  <blp@cs.stanford.edu>

	odt: Use text:outline-level instead of text:level inside text:h.
	text:level is for numbered lists, text:outline-level is for headings.

	Found by validating sample output against ODT Relax-NG schema with "jing".

2014-08-31  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog-action-var-info: Only allow "Jump To" with one variable.
	Until now, when at least one variable was selected, the user could click
	on "Jump To", which would jump to the first selected variable.  This commit
	changes behavior so that "Jump To" is only enabled when exactly one
	variable is selected, which makes it a lot less confusing about which
	variable will be jumped to.

	Suggested by Bastián Díaz <diaz.bastian@ymail.com> .

2014-08-30  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog-action-varinfo: Make dialog use output engine.

	psppire-output-view: New features for use separate from output window.

	psppire-output-view: Adjust output formatting as widget is resized.

	psppire-output-view: Fix memory leaks.
	These memory leaks have been present for a long time, probably since
	Cairo-based GUI output was introduced.

	psppire-output-window: Factor out output view as psppire-output-view.
	This will allow it to be used in other places.

	gui: Consistently call PsppireOutputWindow a "window", not a "viewer".
	I intend to separate the windw from the view, which makes the existing
	terminology confusing.

	output: Make it possible to push and pop output engines.
	This makes it possible to temporarily push a different set of output
	drivers, which in turn makes it possible to do output as a pane within a
	dialog or other window.

2014-08-23  Friedrich Beckmann  <friedrich.beckmann@gmx.de>

	doc: Fix PDF manual build with updated texinfo.tex.
	Patch posted at https://savannah.gnu.org/patch/?8518.

2014-08-23  Ben Pfaff  <blp@cs.stanford.edu>

	SYSFILE INFO: Improve output formatting by using nested tables.

	output: Implement nested tables.
	This generalizes the output engine to handle cells with fairly flexible
	content, instead of just paragraphs of text.

	tests: Refactor rendering tests.
	This will make it easier to test nested tables when support for them is
	added in an upcoming commit, because it becomes possible to include
	multiple of the complicated test tables in one file easily.

	render-test: Add --no-txt and --no-stdout options.
	I have found these sometimes useful during debugging.

2014-08-09  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-08-09  John Darrington  <john@darrington.wattle.id.au>

	Pspp.t: Sort value labels before comparing them.
	This test failed on some platforms because it was iterating a hash.  The
	order of an iterated hash is undefined.  This change sorts before comparing
	thus avoiding the problem.

	Thanks to Friedrich Beckmann for this patch.

2014-07-21  Ben Pfaff  <blp@cs.stanford.edu>

	render: Rename 'cell' variables used for breaking to 'z'.
	Upcoming changes will add an instance of a struct table_cell in
	render_break_next(), whose name is naturally 'cell', so 'z' is a better
	name for a cell index along the current axis.

	table-paste: Add error-checking assertion to table_paste().

	table-paste: Fix comments and variable naming.

	render: Fix typo in comment.

2014-07-19  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix rendering corner cases when a cell is broken across pages.
	The rendering code ability to break individual cells across multiple pages
	has never received good test coverage because the criteria for doing that
	are strict enough that the testsuite hardly ever does it.  This commit adds
	a "--min-break=0" version to each test in the testsuite, which uncovers a
	number of bugs in the cell breaking code.  It also fixes those bugs.

	render-test: Add output file option.

	Make minimum breaks configurable.

2014-07-13  Ben Pfaff  <blp@cs.stanford.edu>

	render: Don't add overflows when header is contiguous with body.
	render_page_select() needs to calculate overflows when it cuts a header off
	from the body of a table.  Until now, it has considered headers and body to
	always be cut off from each other, but this isn't true when the selected
	body region is adjacent to one of the headers.  This commit takes that into
	consideration, producing better results in one of the tests in the
	testsuite.

	This commit is much smaller when viewed with whitespace changes ignored.

2014-07-13  Ben Pfaff  <blp@cs.stanford.edu>

	table-select: Only cut headers into two if needed in table_select_slice().
	Until now, when including headers in the table it returns,
	table_select_slice() has always either returned the entire original table
	or a set of chunks: left header, selected body, right header.  However, it
	is possible to do better when the selected body includes all the cells
	up to, say, the right header: then you only need a single chunk to include
	the body and the right header.  Besides saving memory, this also has the
	advantage that, if a joined cell crosses between the body and the header,
	it is not cut into two pieces by chunking.  It doesn't make too much sense
	to join a cell across body and header, but this still makes it easier to
	render better if someone does that.

	The testsuite includes a few tables that do join a cell across body and
	header.  This commit improves the output for one and changes some ugly
	output to different ugly output for another.  Additional changes in an
	upcoming commit fix the latter and some other tables too.

2014-07-11  Ben Pfaff  <blp@cs.stanford.edu>

	render: Add comments to tests.

	render: Fix typo in comment.

2014-07-09  John Darrington  <john@darrington.wattle.id.au>

	Add OUTPUT MODIFY command

	Fix typo in printed string

2014-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-07-01  John Darrington  <john@darrington.wattle.id.au>

	Remove file po/de.po,aux
	This is no longer needed, since the strings are now translated in the
	main po/de.po file

	Add psppire-window-base.c to list of glade auxilliary files

2014-06-29  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-06-23  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Use same scale factor as Pango, for precision and speed.
	By setting XR_POINT to PANGO_SCALE (1024), we can avoid the need for
	expensive conversions that lose accuracy.

2014-06-23  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Fix failures to scale between cairo and pango units.
	The difference between Cairo and Pango units, as currently defined by
	XR_POINT and PANGO_SCALE, is only 2.4% (1000 versus 1024).  This makes the
	difference rarely noticeable, and easy to miss when casually looking at
	output.  However, while continuing to develop the PSPP output drivers, I
	did notice.

	To make the difference obvious, I temporarily changed XR_POINT from 1000
	to 500.  This commit fixes the problems that this revealed.

2014-06-23  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Remove PangoWrapMode parameter that was always PANGO_WRAP_WORD.

2014-06-23  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash in REGRESSION when only one SAVE parameter present.
	The REGRESSION command crashed when /SAVE=resid or /SAVE=pred
	(but not both) was given.  This change fixes this.

	Reported by: Bob Earl <Bob.Earl@gmx.net>

2014-06-09  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-05-31  Ben Pfaff  <blp@cs.stanford.edu>

	html: Fix right border of cells that span columns at right edge of a table.
	Similarly for bottom border of cells that span rows at bottom of a table.

	Reported by John Darrington.
	Bug #42321.

2014-05-25  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Report only changes in width that actually change it.
	For me, this fixes the problem reported by Fran A. <pacodea2001@yahoo.es>
	when I resize the width of the second variable in a data file provided
	by John Darrington.

2014-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Correct name of binomial dsitribution functions.
	Reported by Bob Earl <Bob.Earl@gmx.net>.

2014-05-10  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Add test to verify treatment of ties.
	From an example provided privately by Douglas Bonett.

	CROSSTABS: Calculate significance for lambda and Somers' d.
	John Darrington pointed out that lambda just uses normal significance.
	Somers' d appears to do so also (based on only a few examples though).

2014-05-06  John Darrington  <john@darrington.wattle.id.au>

	NEWS: correct typo

2014-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Calculate ASE for asymmetric lambda (correctly).
	Calculation supplied by Douglas Bonett <dgbonett@ucsc.edu>:
	http://lists.gnu.org/archive/html/pspp-dev/2014-05/msg00007.html

	CROSSTABS: Don't calculate symmetric uncertainty coefficient approx T.
	It was calculated wrong.

2014-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Add additional test case.

2014-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Don't calculate ASE for symmetric Somers' d.
	I couldn't figure out how to get the formula to match the SPSS results.

	Also, add several tests for Somers' D and other ordinal tests.

2014-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Drop buggy ASE for asymmetric lambda; fix T for symmetric lambda.
	I really can't figure out how SPSS calculates the ASE for asymmetric
	lambda, despite hours of effort.

2014-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Fix T values for Spearman's R and Pearson's R.
	I verified that the values are correct using this online calculator:
	http://www.danielsoper.com/statcalc3/calc.aspx?id=61

	CROSSTABS: Add tests for Pearson's R, and update documentation.
	PSPP seems to calculate Pearson's R values correctly, despite the
	documentation that said otherwise.  I don't have any remaining notes for
	why the documentation said this, so I'm removing the claim that PSPP does
	not calculate Pearson's R correctly.

2014-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Reword error message upon use of unimplemented function.
	Some users found the previous wording confusing.  This wording suggested
	by John Darrington <john@darrington.wattle.id.au>.

	See discussion at:
	http://lists.gnu.org/archive/html/pspp-users/2014-05/msg00004.html

2014-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	syntax-gen: Include missing header file.

	doc: Comment out documentation for functions that are not implemented.
	Reported by John Darrington <john@darrington.wattle.id.au>.

2014-05-01  John Darrington  <john@darrington.wattle.id.au>

	Annotate some more results as p-values and update the tests accordingly

2014-04-29  John Darrington  <john@darrington.wattle.id.au>

	Added result_class parameter to tab_double and updated all callers. Removed tab_fixed

2014-04-27  John Darrington  <john@darrington.wattle.id.au>

	syntax-gen.c : Allow conversion specifiers of the form %.20f

2014-04-27  John Darrington  <john@darrington.wattle.id.au>

	Fixed a bug where contrasts with negative T where incorrectly processed.
	Planned contrasts in the ONEWAY procedure reported p-values > 1 when
	T was negative.  This change fixes this problem.

	Thanks to Douglas Bonett <dgbonett@ucsc.edu> for reporting this.

2014-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-info: Add IBM850 and DIN_66003 encodings.
	Requested by Andre Müller:
	https://lists.gnu.org/archive/html/bug-gnu-pspp/2014-02/msg00036.html

2014-04-25  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES: Fixed crash showing histograms of limited range.
	We had been using Freedman-Diaconis rule to select the bin width.
	According to the literature this is better than Sturges rule.
	However it cannot work when the interquartile range is zero, which
	will happen for datasets with small range.

	This change uses the Freedman-Diaconis rule and falls back to
	Sturges when the IQR is zero.

2014-04-25  John Darrington  <john@darrington.wattle.id.au>

	FREQUENCIES: Replaced frequencies.q with frequencies.c

	FREQUENCIES: Added new test for bug which causes a crash

	New test: test/ui/syntax-gen-test.c
	Added a test to provide some confidence that the syntax generation
	functions work.

	src/ui/syntax-gen.c: Correct misleading comment

2014-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.8.3.

	po: Update translations from translationproject.org.

2014-04-23  John Darrington  <john@darrington.wattle.id.au>

	Avoid crash in psppire-dialog-action-logistic.c
	Commit 14f4522a17db23e67a6fa17876633cc6260cb42b introduced some
	printf directives which syntax_gen_pspp did not support.  This
	resulted in an assertion failure.

	This change reverts the changes which caused the problem.

2014-04-05  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

	page-first-line: Make the Text column expand as the window is resized.
	Bug #41974.
	Reported by Mindaugus.

	Updated translations from translationproject.org

	configure: Increase version to 0.8.2.1 to enable translations.
	Requested by Harry Thijssen.

2014-04-04  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: Fix treatment of FILTER in presence of Z scores.
	Bug #42012.
	Reported by Mindaugus.

2014-04-03  Ben Pfaff  <blp@cs.stanford.edu>

	line-reader: Fix null derefe in line_reader_for_fd() with null encoding.
	This function is supposed to treat NULL and "Auto" the same way, but it
	tried to xstrdup NULL, which doesn't work.

	This is easy to reproduce by attempting to use File|Import Data to read
	a short file whose contents are all ASCII.

	Bug #41971.
	Reported by Mindaugus.

2014-04-03  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-syntax-window: Recode file from final encoding, not original one.
	When syntax_load() reads a syntax file, it can guess the correct encoding
	using encoding_guess_whole_file().  When it does that, it's supposed to
	use the guessed encoding to recode the file data into UTF-8.  In fact, it
	was using the original (NULL or "") encoding, which didn't work out well.
	This commit makes it use the guessed encoding.

	Bug #41975.
	Reported by Mindaugas.

2014-03-29  John Darrington  <john@darrington.wattle.id.au>

	Updated translations from translationproject.org

2014-03-29  John Darrington  <john@darrington.wattle.id.au>

	T-TEST: Fixed a bug in reporting the independent samples std err of the difference
	The standard error of the difference and the confidence interval
	for the unequal variances case was reported where the equal variances
	case should have been.  This change fixes that.

	Reported by: Michael Schneider <m-schneider.klh@uni-wuerzburg.de>

2014-03-24  John Darrington  <john@darrington.wattle.id.au>

	GET DATA - corrected documentation
	The manual incorrectly documented the /ASSUMEDSTRWIDTH subcommand as
	/ASSUMEDVARWIDTH  This change fixes it.

	Thanks to Ward Rommel for reporting this.

2014-03-23  John Darrington  <john@darrington.wattle.id.au>

	Cartesian Graphs: use circular marker instead of square one.
	Also slightly smaller.  This I think is a bit more aesthetically
	pleasing.

2014-03-18  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Dump labels longer than 255 bytes.

	sys-file-reader: Raise maximum number of bytes in variable label to 65536.
	Reported by Andre Müller.
	Bug #41863.

2014-03-18  John Darrington  <john@darrington.wattle.id.au>

	Added display sort feature to PsppireDictView
	Added a feature to the dialog boxes where the user can choose
	the sort order in which to display the variables.

2014-03-17  Ben Pfaff  <blp@cs.stanford.edu>

	odt: Format newlines in table cells as Open Document Format line breaks.
	Otherwise separate lines run together in the table cells, even though they
	are represented as new-lines in the XML.

2014-03-16  Ben Pfaff  <blp@cs.stanford.edu>

	csv-file-writer: Write all line breaks in system-specific format.
	Reported by Andre Müller.
	Bug #41852.

	Allow variable labels longer than 255 bytes.
	Reported by Andre Müller.
	Bug #41863.

2014-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	Fix warnings about casts between pointers and differently sized integers.
	Doesn't seem to fix any real problems, but GCC on x86-64 complained.

2014-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	line-reader: Fix bad math when size_t is bigger than off_t.
	When size_t is bigger than off_t, pos - r->length will end up very large,
	instead of negative, when r->length > pos, so the MAX didn't help to get
	rid of negative values.  I'm not sure that this should really happen in
	practice, but it's better to avoid it.

	Reported by GCC on x86-64.

2014-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix bad printf format specifiers.
	Found by GCC on x86-64.

2014-03-07  John Darrington  <john@darrington.wattle.id.au>

	Added some accelerator keys to the menu items.
	Thanks to Dr. Soumalya Ray for reporting this deficiency.

2014-02-26  John Darrington  <john@darrington.wattle.id.au>

	src/libpspp/zip-reader.c: Possible fix for windoze ODS reading issues.
	Problems unzipping ODS files have been reported on windows.  This change
	might fix them.

2014-02-22  John Darrington  <john@darrington.wattle.id.au>

	Fix issue reported on macos where the toolbar icons were not displayed.
	This was caused because we set a default icon size when some icons at
	that size did not exist.

	Replace syntactical keywords in error/warning messages by printf directives
	Continuing the effort started in commit eb06da6a334bc37108cdce9bfc7f26cfcb2003ee

2014-02-22  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug importing ODS files.
	There was a typo which caused the import of ODS files in the gui to
	not properly function.  This change fixes the typo, but also re-arranges
	the code such that similar errors are less likely to go unnoticed in the
	future.  It also brings the code more in concord with the GNU Coding
	Standards (which were written that way exactly to prevent these errors).

	Fixes bug #41657

2014-02-21  John Darrington  <john@darrington.wattle.id.au>

	Replace syntactical keywords in error/warning messages by printf directives.
	A number of translators are still making the mistake of translating syntax
	keywords in messages (such as "REPEAT") into thier literal equivalents in
	the target language.  This change avoids the posibility of that mistake,
	by removing the keywords from the translatable string.

2014-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Don't skip "too many value labels" test anymore.
	Previously the maximum number of value labels depended on the size of
	size_t, so that it was impossible to have too many on 64-bit systems, but
	a recent change made the maximum number of value labels depend on the
	size of unsigned int instead, so now 32- and 64-bit systems are the same.
	This commit reverts the code that skips the test.

2014-02-20  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Fix typo in test.
	UTF8 is written UTF-8 elsewhere.  It looks like Mac OS X only accepts the
	latter spelling.

	Reported by Jeremy Lavergne.

2014-02-19  John Darrington  <john@darrington.wattle.id.au>

	Means Dialog:  Fix issue where the wrong syntax was generated.
	Addresses Bug #41433

	psppire-var-view.c: Allow multiple selections

2014-02-18  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Avoid excessive spaces in data_out_stretchy() output.
	By formatting all numbers with width 40, the output almost always began
	with a long string of spaces.  That tended to stretch out table cells.
	This commit fixes the problem.

2014-02-17  Ben Pfaff  <blp@cs.stanford.edu>

	dialog: Avoid assumption that enum val_type can have negative value.
	Reported by Clang.

	psppire-var-sheet: Remove unneeded and useless check of unsigned for >= 0.
	Reported by Clang.

	pspp-widget-facade: Remove odd statement "xalign = xalign;".
	Reported by Clang.

	Fix printf() format specifiers.
	My main development machine is 32-bit, so I didn't see these.

	numeric: Avoid using invalid FMT_* as special value.
	Clang reported that "f.type != -1" is always true, so I guess it treats
	enum fmt_type as unsigned.  This commit fixes the problem.

	sys-file-reader: Fix confusion of types between size_t and unsigned int.
	Reported by Clang.

	message: Add prototype for vmsg() function.
	Reported by Clang.

2014-02-17  John Darrington  <john@darrington.wattle.id.au>

	Fix memory fault reading ODS file.
	Partial fix for bug #41620

2014-02-16  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Let xr_layout_cell() assume its parameters are nonnull.
	This slightly simplifies the logic and all the callers appear to satisfy
	this requirement.

	po: Update translations from translationproject.org.

	Make SYSFILE INFO able to analyze valid encodings for a system file.
	Also, warn when opening a system file that does not identify its encoding.

	sys-file-reader: Add character encoding record to all the tests.
	This will avoid a warning added in a later commit when reading a system
	file with no encoding record and no specific encoding specified.

	sack: Drop md5sum generation and checking.
	md5sums made it hard to update the tests, and I don't recall the md5sums
	every actually helping to make sure that the test input was correct.

2014-02-15  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Break multiple response set decoding into two stages.
	This allows the multiple response set names to be obtained before
	the encoding used for their names has been determined.

	sys-file-reader: Break reading a system file into two stages.
	This paves the way to add a way to obtain strings from the system file, to
	allow to more intelligently offer users a choice of encodings, by allowing
	a client to open a system file before deciding what encoding should be
	used to decode it.

	sys-file-reader: Get rid of longjmp().
	longjmp() makes code harder to understand, and I was finding its
	usage here was making it harder for me to make reasonable changes
	to the system file reader.

	pspp-dump-sav: Print variable sets.
	I'm thinking about implementing these, and it's easier to understand the
	format if pspp-dump-sav prints the contents.

	pspp-dump-sav: More gracefully handle empty multiple response sets.
	Some multiple response sets have no variables, although I don't know why,
	and pspp-dump-sav is more useful if it doesn't stop reading when it arrives
	at one.

	sys-file-reader: Handle multiple response sets with extra line feeds.
	Some system files have these, although I don't know why.

	sys-file-reader: Ignore string weighting variable instead of aborting.

2014-02-10  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Correctly recode windows-1258 and others with combining diacritics.
	Without this change, recoding a string from windows-1258 often drops the
	last character.

2014-02-08  Ben Pfaff  <blp@cs.stanford.edu>

	Remove old changelogs from tree.
	They tend to result in false positive "grep" hits and are too old to help
	most queries.  They are still available in the Git history, of course.

	doc: Add files generated by TeX to gitignore.

2014-02-08  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Successfully read files with duplicate names.
	This allows PSPP to read some files written by SPSS.

	Bug #41475.

2014-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Allow File|Open to select an encoding for system files.
	This should allow old files in unexpected encodings to be more easily read.

	Problem reported by Przemek Powalko <pp.alter.ego@gmail.com>.

2014-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	SYSFILE INFO: Add ENCODING subcommand.

2014-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	Change many %g format specifiers to %.*g with precision DBL_DIG + 1.
	The high precision should ensure that in most cases the value is formatted
	with enough digits to fully express the internal precision.  Without this
	change, %g by itself only expresses 6 digits of precision, so that an
	integer value like 99999999 is formatted as 1e8.  This fixes the problem.

	This commit adds a test to MISSING VALUES because this was in particular
	reported as a problem.

	Thanks to Andre Müller <Andre.Mueller@gesis.org> for reporting this issue.

2014-01-30  John Darrington  <john@darrington.wattle.id.au>

	Updated translations from TP

	Remove Gtk-2.22 bug workaround.
	Since we now depend on Gtk+2.24, this workaround is no longer relevant

2014-01-28  John Darrington  <john@darrington.wattle.id.au>

	Fix broken build with ./configure --without-cairo

2014-01-22  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-01-20  John Darrington  <john@darrington.wattle.id.au>

	Pass LIBREADLINE arguments to those autoconf tests which need it.
	This should hopefully resolve problems on some systems which incorrectly
	detected readline library attributes.

2014-01-19  John Darrington  <john@darrington.wattle.id.au>

	Pulled German translation from TP

	Pulled translations from TP

	REGRESSION: Show tooltips for Statistics items in sub-dialog.
	This should make it easier for GUI users who don't read user manuals.

2014-01-18  John Darrington  <john@darrington.wattle.id.au>

	Do not attempt to replace rl_echo_signal_char if no readline is in use

	Smake: add --copy flag to libtoolize

2014-01-16  John Darrington  <john@darrington.wattle.id.au>

	LOGISTIC REGRESSION: Allow fractional confidence interval

2014-01-15  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Add gui option for the confidence interval

2014-01-14  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Added calculation of the coefficients' confidence interval.

	REGRESSION: Add parser framework for confidence interval

2014-01-13  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Update version number to 0.8.2.

2014-01-09  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Fix Mac OS build by eliminating redundant linking.
	The Mach-O object format used on Mac OS handles redundant linking against
	a shared object badly, whereas ELF doesn't have a problem, so this commit
	fixes a crash on Mac OS.

	Reported by Jeremy Lavergne.

2014-01-08  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2014-01-08  John Darrington  <john@darrington.wattle.id.au>

	T-Test indendendent variable test: Add vertical line to seperate variable name from group values.
	Reported-By: Douglas Bonett <dgbonett@ucsc.edu>

	Change "Significance" to "Sig." in linear regression and one-way ANOVA output to be consistent with other PSPP analyses and with other software.
	Reported-By: Douglas Bonett <dgbonett@ucsc.edu>

	Paired T-Test: Label first pair as 'Pair 1' instead of 'Pair 0'.
	Reported-By: Douglas Bonett <dgbonett@ucsc.edu>

2014-01-02  John Darrington  <john@darrington.wattle.id.au>

	doc/tutorial.texi: Correct the text describing intepretation of the Levene test.
	The text which described the interpretation of the Levene test, in the
	independent samples T-TEST output erroneously inverted the sense of the conclusion.
	This change corrects the text.

	Reported-by: Jernej Pleteršek <jernej.pletersek@gmail.com>

2013-12-30  John Darrington  <john@darrington.wattle.id.au>

	Update and correct minor typographical errors in INSTALL

	QUICK CLUSTER: Fix crash on negative parameters

2013-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Make pspp-convert respect "make check-valgrind".

2013-12-26  John Darrington  <john@darrington.wattle.id.au>

	configure.ac: Update dependency from gsl 1.12 to 1.13
	Until version 1.13 gsl_matrix_free would crash when passed NULL.

	Reported-by: Frans Houweling <fhouweling@email.it>

2013-12-24  John Darrington  <john@darrington.wattle.id.au>

	src/data/sys-file-encryption.c (encrypted_sys_file_open): fn_open was used to open, so fn_close should be used to close

2013-12-24  Ben Pfaff  <blp@cs.stanford.edu>

	Makefile: Use C locale for checking files to distribute.
	Otherwise a bad report can result if the two targets are run in different
	locales (in different runs of "make").

	Reported by John Darrington.

2013-12-23  Ben Pfaff  <blp@cs.stanford.edu>

	cmac-aes256: Correct size of local rk[] array.
	This array was undersized, yielding undefined behavior.  It happened to
	work OK when compiled -O2 with GCC 4.7.x for x86, and fail with compiled
	-O0 in the same environment.  This fixes the problem.

	Reported by John Darrington.

2013-12-23  Ben Pfaff  <blp@cs.stanford.edu>

	Makefile.am: Add rule to make sure every file gets distributed.
	This helps to prevent adding files to the Git repository but forgetting to
	ensure that they get distributed.

	Distribute lots of files that had been missed.

	Makefile.am: Add rule to ensure that glade/OChangeLog is always distributed.
	Otherwise it only gets distributed if configured --with-gui-tools.

	po: Rename ChangeLog to its normal spelling.

	src/math/ts: Remove entire directory, which is unused.
	Nothing actually builds or uses anything in this directory.

2013-12-22  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-info: Avoid duplicate variable name in inner scope.
	No actual harm done in this case, I think, but still bad form.

	DISPLAY DICTIONARY: Add "Label: " prefix for variable labels in output.
	Bug #40864.

2013-12-21  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: Add support for decrypting encrypted system files.

	pspp-convert: Use null encoding rather than "Auto" by default.
	This avoids errors trying to create a converter to and from a nonexistent
	"Auto" encoding.

2013-12-18  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Change index entry to be consistent with that in the tutorial section.

2013-12-15  John Darrington  <john@darrington.wattle.id.au>

	src/data/any-reader.c (any_reader_may_open): Return tri-state value.
	Previously, any_reader_may_open returned bool.  This change makes it
	return a tri-state variable. YES, NO or ERROR.  This is useful to
	distinguish between a file which is not "readable" (ie not in a format
	which PSPP knows how to read) and a file which cannot be opened due
	to lack of permission or other lower level errors.

	Avoid crash when attempting to open files with invalid encoding

2013-12-14  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update translations from translationproject.org.

2013-11-23  John Darrington  <john@darrington.wattle.id.au>

	Fix incorrect table range selection in CORRELATIONS
	Fixed a problem were non-square correlations (those where the
	WITH keyword was used) displayed the wrong part of the correlation
	table.

	Fixes bug #40661

2013-11-17  John Darrington  <john@darrington.wattle.id.au>

	Updated translations from translationproject.org

2013-11-16  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'gtk3'.

	po: Update Ukrainian and Dutch translations, from translationproject.

	Smake: Break svg2png out as separate script.
	This makes the output of "make -f Smake" shorter and easier to read.

2013-11-15  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-window: Set default filter in File|Save As to show all files.
	The File|Save As dialog box showed "System Files" in two places: in the
	filter dropdown and in the format dropdown.  It was surprising to users
	that changing the filter dropdown had no effect on the format of the file
	actually saved.  This commit makes it more obvious which dropdown needs to
	be changed, by only showing "System Files" in the right place.

	Reported by Harry Thijssen.
	Bug #39648.

2013-11-14  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Show combo boxes only when value labels are displayed.
	A number of users chimed in that this made more sense.

	Requested by Bernhard Baermann.

2013-11-14  Ben Pfaff  <blp@cs.stanford.edu>

	render-test: Render to PDF only if --pdf specified on command line.
	Difference in font metrics on Guix lead to errors trying to render to PDF
	in some tests.  The tests don't actually check anything in the PDF output
	so we might as well just leave that for manual testing.  Adding an option
	accomplishes that well enough.

	Reported by Andreas Enge.
	Root caused discovered by John Darrington.
	Bug #40213.

2013-11-09  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.8.1.1 to send to translationproject.

	Update Ukrainian translation.

2013-11-07  John Darrington  <john@darrington.wattle.id.au>

	Smake: Added the -background transparent flag to the convert call

2013-11-07  John Darrington  <john@darrington.wattle.id.au>

	Added new map entries from Gtk stock items to pspp stock items
	This method allows us to use our own icons, but all other properties
	(labels, translations etc) from the Gtk library.

	These missing entries meant that labels were missing from the
	syntax editor.

	Reported-by: Bastian Diaz

2013-11-06  Bastián Díaz  <diaz.bastian@ymail.com>

	Support for images 24x24 and 32x32 canvas for some flat icons
	Added support for new images in arger sizes to be included in a future
	in the toolbar (data editor, syntax editor and output windows).

2013-11-03  John Darrington  <john@darrington.wattle.id.au>

	Added the pspp.appdata.xml file.
	Apparently upcoming Gnome versions require this file.
	Closes bug #40453

2013-11-02  John Darrington  <john@darrington.wattle.id.au>

	Corrected typo in description string

	Updated Ukrainian translation from tp

2013-11-01  John Darrington  <john@darrington.wattle.id.au>

	Corrected various typos in printed strings and documentation.
	Reported-by: anonymous

	Fixes bug 40447

2013-10-31  John Darrington  <john@darrington.wattle.id.au>

	Fix problem with non-reentrant journal driver

	journal.c: Made journal_file_name a member of the journal struct

2013-10-31  Bastián Díaz  <diaz.bastian@ymail.com>

	Correct error from previous commit "Reference is added to the image ZSAV files in Smake"
	The inclusion of new references of ZSAV files, is omitted one of the backslash "\". In this commit fix the problem.

2013-10-30  John Darrington  <john@darrington.wattle.id.au>

	Updated translations from translationproject.org

2013-10-28  Bastián Díaz  <diaz.bastian@ymail.com>

	Update on the design of some flat icons

	Reference is added to the image to ZSAV files in Smake

	New pictogram for "split-file"
	The new icon is more harmonious with the other icons.

	Tradicional style pictograms weight cases and tag
	Little improvement in using simple pictograms and more representative.

2013-10-26  Bastián Díaz  <diaz.bastian@ymail.com>

	New version of icons for mimetypes supported by PSPP
	→ Improved display for *.sav, *.por and *.sps
	→ New icon for *.zsav

2013-10-26  Ben Pfaff  <blp@cs.stanford.edu>

	Updated uk.po from TPO

	psppire-window: Display .zsav files in the File|Open dialog.
	Requested by Hugo Alejandro <haevalencia@gmail.com>.

2013-10-25  Ben Pfaff  <blp@cs.stanford.edu>

	Merge master into gtk3.

	gui: Add .zsav support in File|Open and File|Save As dialogs.
	Requested by Hugo Alejandro <haevalencia@gmail.com>.

	psppire-var-sheet: Correct typo that breaks the build.
	Commit fd308174a81 (Corrected logical errors in tests for error
	conditions.) introduced a typo in a function name.  This commit corrects
	it.

2013-10-25  John Darrington  <john@darrington.wattle.id.au>

	Corrected logical errors in tests for error conditions.
	Fixed several places where && had bee used where || was intended
	and vici-versa.

	Reported-By: David Binderman <dcb314@hotmail.com>

2013-10-24  Ben Pfaff  <blp@cs.stanford.edu>

	Updated uk.po from TPO

2013-10-23  Ben Pfaff  <blp@cs.stanford.edu>

	Updated uk.po from TPO

2013-10-23  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid using \b in sed regular expressions.
	\b is a GNU extension, but I had not realized it.

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

2013-10-23  John Darrington  <john@darrington.wattle.id.au>

	Avoid test failure due to indeterminate return values.
	The test "Perl read system file" has been observed to fail on some
	systems due to the order of the value labels being different from
	that expected.

	Perl does not guarantee the order in which keys returns its values.
	Therefore this change sorts the return value before using it.

2013-10-22  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-convert: New utility to convert among data formats.

	i18n: Make recode_substring_pool() always return a pool_malloc()'d string.
	recode_substring_pool() generally returned a string allocated by
	pool_malloc(), but when there was an error finding the converter it
	returned a string that was allocated by pool_alloc().  This was a problem
	for parse_value_labels() in the system file reader, because that function
	frees all the strings it recodes.  This commit fixes the problem by
	always using pool_malloc() in recode_substring_pool().

	csv-file-writer: Use comma as default delimiter.
	The previous default delimiter was a null byte, which isn't reasonable.
	(This didn't manifest anywhere because the only existing user of the
	CSV file writer always overrides the default.)

	Implement ZLIB compressed system file reader and writer.
	Thanks to Hugo Alejandro and Bastián Díaz for providing sample files in
	ZLIB compressed format to use as samples.

	integer-format: Support 8-byte values in integer_put().
	It looks to me that the assertion was just incorrect.

	sys-file-writer: Simplify use of put_cmp_number(), put_cmp_string().

	sys-file-writer: Simplify compressed data buffering.

	configure: Make zlib a required dependency (instead of optional).
	It would be nice to support zlib compression for system files everywhere,
	not just on some systems, so to do that we need to require zlib.

	por-file-writer: Rename 'fv' member to 'case_index'.
	'fv' used to be used throughout the tree to refer to the first of possibly
	several sequential indexes into a case, but it is now obsolescent.  The
	term 'case_index' is now widely used.

2013-10-20  John Darrington  <john@darrington.wattle.id.au>

	Updated uk.po from TPO

	Documented the new options affecting chart colours

2013-10-19  John Darrington  <john@darrington.wattle.id.au>

	Corrected warning message which made no logical sense.

2013-10-19  John Darrington  <john@darrington.wattle.id.au>

	Respect forground and background options when writing PNG charts.
	The default colours for charts in PNG format was black on black,
	which wasn't very useful.  This change makes the defaults black
	on white.

	Perhaps for png charts intended for embedding in HTML it should be
	black on transparent, but this hasn't been implemented in this change.

	Fixes bugs #40107 and #40208

2013-10-19  John Darrington  <john@darrington.wattle.id.au>

	New structure xr_color

2013-10-16  John Darrington  <john@darrington.wattle.id.au>

	Updated ca and es translations from translationproject.org

2013-10-15  John Darrington  <john@darrington.wattle.id.au>

	rl_echo_signal_char: Allow it to work on systems without termios

2013-10-14  John Darrington  <john@darrington.wattle.id.au>

	Persist font settings
	Allow the font size and family chosen for the data editor to
	persist between sessions

	Requested-by: Paul Wright <pmwrightmiller@yahoo.com>

2013-10-13  John Darrington  <john@darrington.wattle.id.au>

	Oneway anova dialog: Converted to PsppireDialogAction

2013-10-12  John Darrington  <john@darrington.wattle.id.au>

	NPar two samples dialog and T-Test paired dialogs: Converted to PsppireDialogAction

2013-10-11  John Darrington  <john@darrington.wattle.id.au>

	Convert count dialog to PsppireDialogAction

2013-10-10  John Darrington  <john@darrington.wattle.id.au>

	Compute Dialog: Convert to PsppireDialogAction

2013-10-09  John Darrington  <john@darrington.wattle.id.au>

	Remove remaining references to about-logo
	This file was deleted by change 56231bc7e8c2cda46a69d10362193556dd8cad41 but not all
	references were erased.

	K-Related Samples Test Dialog: Convert from old style to PsppireDialogAction

2013-10-08  John Darrington  <john@darrington.wattle.id.au>

	Remove old signal handlers when target widgets are destroyed

	Provide home grown rl_echo_signal_char if readline does not provide it

	Removed the about-logo image which is redundant

	Simplify psppire-var-view and its relationship to psppire-means-layer

2013-10-07  Ben Pfaff  <blp@cs.stanford.edu>

	comments-dialog: Avoid segfault in comments dialog pasting very long text.
	The code in wrap_line() used a GtkTextIter after an insertion invalidated
	it.  In some setups, with a sufficiently long pasted text, this caused a
	Gtk-WARNING and a subsequent segfault.  This commit fixes the problem by
	removing the offending code.  In my testing, this didn't cause a UI
	regression.

	Reported by Bastián Díaz in the thread starting at
	http://lists.gnu.org/archive/html/bug-gnu-pspp/2013-10/msg00005.html

2013-10-07  John Darrington  <john@darrington.wattle.id.au>

	Recent to Gtk+2.24

	Text import dialog: Display the thousands separator in the number of cases.
	This number can be very large, so it is easier to read if the thousands are separated.

	Install scalable application icon.
	Closes bug #40183

2013-10-06  Bastián Díaz  <diaz.bastian@ymail.com>

	Provisional new image is added for univariate analysis.
	Added a provisional icon to the univariate analysis (experimental).
	The image will be updated to a new icon in the next update of
	artwork (0.2.1 version).

	Changes:
	*analyze-univariate-analysis is added
	*Smake is edited
	*data-editor.ui is edited

2013-10-06  John Darrington  <john@darrington.wattle.id.au>

	Change toolbar style such that only icons are displayed and no labels.
	The labels occupy too much horizontal space.

	Fixed potentially incorrect dereference in autorecode dialog

	MEANS: Fix potential errors in gui syntax generation

	Remove unncessary property assignments

	T-Test One Sample Dialog: Convert to PsppireDialogAction

	One sample Kalmogorov-Smirnov Dialog: convert from old style to PsppireDialogAction

	Univariate Dialog: Convert from old style to PsppireDialogAction

	Chi-square dialog: Convert from old style to psppire-dialog-action

	Transpose dialog: convert from old style to PsppireDialogAction

	Runs dialog: convert from old style to PsppireDialogAction

2013-10-06  John Darrington  <john@darrington.wattle.id.au>

	Replace checkbox-treeview functions with a object PsppireCheckboxTreeview
	Prior to this change there existed a function which operated on
	a GtkTreeView which populated it with a model and renderers such
	that it would display a list of annotated checkboxes.

	This change subclasses GtkTreeView and moves the function to a
	method of that class.

	I anticipate this will ease implementation of upcoming functionality.

2013-10-05  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Fix odd quotes in text.
	Reported by Michel Boaventura.
	Bug #40189.

2013-10-05  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: pspp.png is the generated app icon, not pspp.png.
	Fixes "make -f Smake" error:
	make: *** No rule to make target `src/ui/gui/icons/apps/scalable/pspp.svg', needed by `icons'.  Stop.

	Bug introduced by commit (gui: Support for more flat icons and tag loss
	fixing in some menus.)

	Reported by Michel Boaventura.
	Bug #40183.

2013-10-05  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Fix usage of @itemx.
	These @itemx commands should have been @item commands.

	Reported by Michel Boaventura.
	Bug #40182.

2013-10-02  John Darrington  <john@darrington.wattle.id.au>

	Remove some #includes which were not necessary

2013-10-01  John Darrington  <john@darrington.wattle.id.au>

	Use the 32x32 icon set for the toolbar.
	A (partial) set of 32x32 icons has recently been added.  This change tells the icon factory to
	use those icons for the toolbar.

	Detect absence of rl_outstream and handle accordingly.
	Older versions of readline do not appear to have the variable rl_outstream.  This variable,
	almost certainly points to the same stream as stdout, so this change detects its absence
	and uses stdout in those cases.

2013-09-30  Bastián Díaz  <diaz.bastian@ymail.com>

	gui: Support for more flat icons and tag loss fixing in some menus.
	→ Icons for "new syntax", "new data", "Display information in working
	file and external file are added.
	→ Add the reference to the new icons to Smake an *.ui files
	→ Replacement of some icons (bug fixes)

	gui: Fix some problems after upgrading flat icons to version 0.2.
	→ Replacement icon "about flat icon"
	→ Replacement icon "measure string nominal"
	→ Added label to Menu|Save
	→ Addel label and icon to "sort-ascending" and "sort-descending"
	→ Add reference to "analyze descriptive statistics"

	gui: Improved application icon.
	It improves the esthetics and visual definition of application icon in different sizes of canvas, and adds a scalable version for desktop environments that use that value.

2013-09-30  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Complete renaming of ROLE_OUTPUT to ROLE_TARGET.
	Commit 47d59628a7d51a (psppire-var-sheet: Rename references to the icons
	for align, measure and role icons) renamed some but not all uses of
	ROLE_OUTPUT, breaking the build.  This commit completes the rename.

	According to Bastián Díaz, "target" is better than "output" because it
	is "a broader concept for function".

2013-09-30  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Fix recently introduced typos.
	This commit fixes typos were introduced in commit 3d543a3b6363 (Smake:
	Rename references of images and add new ones).

2013-09-29  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Add support for long string missing values.
	I assumed earlier that long string missing values used the same fields in
	the system file as other missing values, but I was wrong.  This commit
	updates the support to match what I've seen in actual system files.

	Reported by Przemek Powalko <pp.alter.ego@gmail.com>.

2013-09-29  Ben Pfaff  <blp@cs.stanford.edu>

	missing-values: Make mv_add_str() easier to use.
	Both existing callers of mv_add_str() were applying their own padding to
	the string value.  This commit moves the padding into mv_add_str() itself.

	This commit also fixes a minor to-do item in the MISSING VALUES command
	whereby truncation of too-long missing values was done bytewise rather than
	on the basis of full characters.

2013-09-29  Bastián Díaz  <diaz.bastian@ymail.com>

	psppire-var-sheet: Rename references to the icons for align, measure and role icons

	gui:Add new reference to the icons in *.ui files

	Smake: Rename references of images and add new ones

	gui: Update flat icon set to version 0.2

2013-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-store: Don't try to parse strings as custom currency formats.
	Custom currency formats are not usable for input, only for output, but this
	code tried to use them for input if the format was changed to a custom
	currency format in the GUI.  This commit fixes the problem by using a
	DOLLAR format, instead, for parsing.

	Reported by Bastián Díaz <diaz.bastian@ymail.com>.

2013-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Only notify variable width change if it really did change.
	This code was notifying a width change every time, even if the width did
	not really change, which is wasteful.  This had a side effect of revealing
	a bug in the GUI code which caused an assertion failure.  The bug still
	remains in the GUI code, though it is now slightly harder to trigger, and
	will be fixed separately in an upcoming commit.

2013-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	scan-test: Print nonintegers with limited precision to avoid test failures.
	Cygwin printed 0.1 as 0.10000000000000001, even with dtoastr().

	Reported by Przemek Powalko <pp.alter.ego@gmail.com>.

2013-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Skip recently added Gnumeric tests if Gnumeric reader was not built.
	The Gnumeric tests written earlier already did this.

	Reported by Przemek Powalko <pp.alter.ego@gmail.com>.

2013-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix bug measuring spanned cells.

	Ignore some files that are used for the build but not checked in.

2013-09-27  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Explain locale issues in the tutorial.
	Mention that explicitly setting the input format is necessary if the user wishes
	to ignore the system's LC_NUMERIC setting.   Otherwise,  following the tutorial
	strictly to the letter will result in confusing for users whose locale uses a
	comma as the decimal separator.

	Use correct argument order for pool_nmalloc.
	This function (and other calloc-like functions) are may not take zero as the size argument.  Hence
	the order is important.  Reported by Przemek Powalko <pp.alter.ego@gmail.com>

2013-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Avoid referencing freed data upon closing data window.
	Without this commit, the following procedure always yielded Glib/GTK+
	warnings or criticals for me:

	1. Invoke PSPPIRE with a .sav file specified on the command line.
	2. Choose Utilities|Variables...
	3. Select a variable in the dialog box, then click on Cancel.
	3. Close the output window using the window manager.
	4. Close the data window using the window manager.

	This commit fixes the problem.

2013-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Use correct arguments in call to msg_error().

2013-09-24  John Darrington  <john@darrington.wattle.id.au>

	Charts: Use colours from Tango palette instead of fully saturated primaries

2013-09-24  John Darrington  <john@darrington.wattle.id.au>

	Use the msg function to report errors wherever possible.
	Previously, some errors were reported using the GNU "error" function from error.h
	rather than the PSPP msg function.  This wasn't too bad for the terminal user interace,
	but gui users could miss important messages (since they never see stderr).

	The reason for not using msg in some instances, was twofold: 1) Some
	errors might occur before the messaging system had been initialised. 2) If an
	error occured whilst reporting an error, an infinite loop would occur.

	This change overcomes these problems by detecting re-entrancy, and uninitialised
	messaging system, and falling back to fwrite if either of these conditions occur.

2013-09-24  John Darrington  <john@darrington.wattle.id.au>

	Added some gtk-criticals when the datasheet is  null.
	In a single threaded, non-concurrent system, this should never happen.

2013-09-24  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add Ukrainian translation from translationproject.org.

2013-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.8.1.

2013-09-22  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog-action-var-info: Allow multiple variable selection.
	This allows the user to select, view, and paste more than one variable
	at a time in the Utilities|Variables dialog.

	Requested by Bastian Diaz.

2013-09-22  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dictview: New function psppire_dict_view_get_selected_variables().

	gui: Remove unused dictionary parameter from missing_values_to_string().

2013-09-20  John Darrington  <john@darrington.wattle.id.au>

	Updated lithuanian translation from TP

	Added a test which checks the Fisher Exact Test results

	Calculate Fisher Exact Test even if all cell counts >= 5
	Remove the condition that one of the cell counts must be < 5
	before calculating the fisher exact test.  This condition seems
	to be an anachronism, but still (erroneously) documented in Algorithms.

	Correct error calculating significance of fisher exact test.
	The two tailed significance is the sum of the one tailed signficance and those point significances which
	are greater than P(N = n1)

	Crosstabs: Use logarithms to calculate the product/quotients of factorials
	Avoid overflow of large numbers resulting from factorials, by using the logarithms as
	intermediate results

2013-09-19  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Add support for record 7, subtype 10.
	Reported by Christoph Ruip with .sav file attached here:
	http://lists.gnu.org/archive/html/bug-gnu-pspp/2013-09/msg00044.html

	sys-file-info: Make cmd_sysfile_info() more flexible internally.
	This change should not have any visible effect but does allow new rows to
	be inserted between existing rows.

2013-09-16  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Fix bug interpreting the /CRITERIA=ITERATE subcommand

2013-09-06  John Darrington  <john@darrington.wattle.id.au>

	NEWS: Mention the new icons

2013-09-06  John Darrington  <john@darrington.wattle.id.au>

	Make one of the icon sets a wildcard set.
	We currently have two icon sets: A 16x16 and a 24x24 set.  Previously,
	we had been using the 16x16 set for menuitems and the 24x24 set for the
	toolbar.  However it appeared that windows uses the symbol GTK_ICON_SIZE_SMALL_TOOLBAR
	instead of GTK_ICON_SIZE_LARGE_TOOLBAR, which meant no icons appeared in the
	toolbar.

	This change sets the 24x24 set as a "wildcard" set meaning it will be used for
	all purposes except menuitems.

2013-09-04  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Add icons for role column too.
	Some of the changes here reflect the way that all three combo box columns
	now include a pixbuf, allowing greater code reuse.

	Artwork contributed by Bastian Diaz.

2013-09-04  John Darrington  <john@darrington.wattle.id.au>

	Change instances of GNM_SUPPORT to GNM_READ_SUPPORT
	Commit 82c1097ab658e8c13ab3ad439970148defba6e19 used the preprocessor
	symbol GNM_READ_SUPPORT but GNM_SUPPORT was the one set in the autconf
	files.  Hence some code was erroneously omitted.

	This change uses GNM_READ_SUPPORT throughout which is consistent
	with ODF_READ_SUPPORT

2013-09-03  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Add icons to combo boxes for alignment and measurement.
	We can easily add them for roles, too, if we get icons for those.

	Suggested by Bastian Diaz.

2013-09-03  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Factor out code into new function path_string_to_var().
	An upcoming commit will add a second user.

	psppire-var-sheet: Generalize get_var_align_stock_id().
	This change allows finding a stock-id speculatively, without having a
	variable on hand.

	psppire-dictview: Generalize psppire_dict_view_get_var_measurement_stock_id().
	This change allows finding a stock-id speculatively, without having a
	variable on hand.

	spreadsheet-reader: Avoid 'unused variable' warnings.
	If ODS and GNM support are both unavailable then GCC warns here.

2013-09-03  John Darrington  <john@darrington.wattle.id.au>

	Dont try to build in gnumeric/odf reader if the libraries are not installed

2013-09-02  Ben Pfaff  <blp@cs.stanford.edu>

	data-parser: A hard delimiter at end of line is not an empty field.
	Until now, DATA LIST FREE(',') treated input like this:

	    1,2,
	    3,4,

	as describing six fields, two of which were blank at the end of a line.
	A bug report and subsequent experiments showed that in fact this is only
	four fields, none of which is blank.  This commit fixes the problem and
	adds a new test that should avoid regression against this issue.

	Reported by Samuel Afflerbach.

2013-08-26  Ben Pfaff  <blp@cs.stanford.edu>

	VARIABLE ROLE: Document the format and add a test.

	VARIABLE ROLE: Use correct system file representation.
	Thanks to Paul Vella, Alan Mead, and Bastián Díaz for helping with this.

2013-08-25  Ben Pfaff  <blp@cs.stanford.edu>

	VARIABLE ROLE: New command.
	Also adds GUI support.

	The system file representation for variable roles is really just an
	educated guess.  I am going to ask for assistance in confirming the
	representation.

2013-08-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Remove declarations of variables not defined anywhere.

2013-08-17  John Darrington  <john@darrington.wattle.id.au>

	Added url for ODS to the documentation

	Smake: Move the svg2png function to its own $call

2013-08-15  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Rename LEX_ERROR_INTERACTIVE to LEX_ERROR_TERMINAL, change default
	The LEX_ERROR_INTERACTIVE error handling mode really only makes sense for
	reading from a terminal, where we know we're getting one line at a time
	and not partial lines.  Unfortunately LEX_ERROR_INTERACTIVE was the default
	and it was getting used as such in the GUI for reading from syntax files.
	This meant that if there was an error in the GUI then the current buffer
	(which might be any arbitrary chunk of syntax) was being discarded, which
	caused terrible confusion.

	This commit changes the default to LEX_ERROR_CONTINUE, which works
	in a reasonable fashion regardless of the input source.  It also renames
	LEX_ERROR_INTERACTIVE to LEX_ERROR_TERMINAL to make it clear that that's
	the only reasonable use.

	Reported by Thambu David <thambu@cmcvellore.ac.in>, archived at:
	http://lists.gnu.org/archive/html/pspp-users/2013-08/msg00019.html

2013-08-12  John Darrington  <john@darrington.wattle.id.au>

	Deleted legacy icons

2013-08-11  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Hard-code size of pixbuf cells.
	Otherwise the icons disappear if the sheet is initially empty, because
	there's no icon for an empty row and thus nothing to make the pixbuf cells
	nonzero size.

	Reported by Bastian Diaz.

2013-08-11  Ben Pfaff  <blp@cs.stanford.edu>

	psppire: Relocate icon files also.
	Otherwise the icons can't be found with --enable-relocatable when the
	program is not installed in the normal system location.

	doc: Clarify that DO REPEAT only substitutes whole words.
	Based on this conversation:
	https://lists.gnu.org/archive/html/pspp-users/2013-08/msg00009.html

2013-08-11  Ben Pfaff  <blp@cs.stanford.edu>

	Makefiles: Use $(LTLIBREADLINE) instead of $(LIBREADLINE).
	Fixes a link failure with -Wl,--as-needed.

	Reported by Sebastien Fabbro.
	Bug #39707.

2013-08-11  John Darrington  <john@darrington.wattle.id.au>

	src/output/table.h: Rename class -> klass
	This makes it possible to include this file in C++ compiled programs.

2013-08-10  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug in command line parser

	Reduce the possibility of translator errors

2013-08-10  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Restore icons deleted in error.
	These icons were deleted by commit caa467c9a26a7 (gui: Update artwork.)
	even though they were still in use.  This commit restores them and allows
	"make -f Smake" to complete without error.

2013-08-09  John Darrington  <john@darrington.wattle.id.au>

	Deleted some files which do not seem to serve any purpose

2013-08-08  John Darrington  <john@darrington.wattle.id.au>

	Remove legacy icons

	Added the new "about-logo"

2013-08-07  John Darrington  <john@darrington.wattle.id.au>

	Smake: Add appropriate dependencies to manifest and icon-names targets

2013-08-07  Bastián Díaz  <diaz.bastian@ymail.com>

	gui: Update artwork.

2013-08-05  John Darrington  <john@darrington.wattle.id.au>

	Added new icons and made them stock items.
	Added the new artwork by Bastian Diaz, and created stock items for them.
	Used a few of these stock items where appropriate.

2013-08-04  Ben Pfaff  <blp@cs.stanford.edu>

	encoding-guesser: Fix bug in parsing fallback encodings.
	The encoding guesser originally used UTF-8 as a fallback in situations
	where it had already figured out that UTF-8 couldn't be right.  Commit
	d6c75296 (encoding-guesser: Fall back to windows-1252 when UTF-8 can't be
	right.) fixed this, by falling back to window-1252 when UTF-8 was known to
	be wrong, but it also introduced a bug where this change to the fallback
	encoding occurred even when UTF-8 had not be determined to be wrong.  This
	commit fixes that problem.

	Reported by John Darrington.

2013-08-03  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Accept measurement value of zero without complaint.
	SPSS 14 seemed to output a measurement value of 0 for string variables,
	but SPSS 21 does the same thing for numeric variables.  We might as well
	accept it.

	Reported by Mindaugus.
	Bug #39502

2013-08-03  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Ignore subtype 24 written by SPSS 21.
	Reported by Mindaugus.

	sys-file-reader: Handle SPSS 21 change in representation of LOWEST.
	Thanks to Mindaugus for reporting this issue.
	Bug #39502.

	sys-file-reader: Improve diagnostics for unexpected special values.
	SPSS 21 schanged the value that it reports for "lowest" in the machine
	float info record, but the existing diagnostics made it hard to tell
	exactly what changed.  Adding hexadecimal float output makes it obvious.

	pspp-dump-sav: Print a new-line following text record content.
	Text records don't necessarily end in a new-line so this ensures that the
	next line of output starts at the beginning of a line.

	psppire-var-sheet: Add alignment icons to variable sheet.

2013-08-03  John Darrington  <john@darrington.wattle.id.au>

	Avoid deprecation warnings by use of gtk2 -> gtk3 wrapper macros.
	Arguably this is somewhat kludgy.  But it will reduce the number
	of merge conflicts between master and gtk3 branches.  After the
	canonical branch has switched to gtk3, this commit can be reverted,
	and the proper fixes applied.

2013-08-02  John Darrington  <john@darrington.wattle.id.au>

	Removed deprecated function calls from spreadsheet-test.c

2013-08-01  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Adapt to GTK+3 scrolling infrastructure.
	Based on upstream GTK+3 changes to GtkTreeView.

	There is something wrong, though, because column titles seem to have
	disappeared, the display seems messed up on scrolling, and everything is
	very slow for large files (the latter doesn't seem caused by this commit).

2013-07-30  Ben Pfaff  <blp@cs.stanford.edu>

	gtkxpaned: Avoid deprecated gdk_pointer_grab(), gdk_display_pointer_ungrab().
	This removes the last use of deprecated functions from gtkxpaned.

	gtkxpaned: Fix bug introduced in earlier commit.
	Commit 7bf0c4d57ce (gtkxpaned: Avoid deprecated gtk_widget_get_pointer().)
	essentially replaced gtk_widget_get_pointer() by its implementation in
	GTK+3, but it left out a part of the implementation that I didn't think
	was needed.  Without that part, though, dragging most of the handles fails
	to properly track the mouse pointer.  This commit fixes the problem.

2013-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	gtkxpaned: Avoid deprecated gtk_widget_get_pointer().

	gtkxpaned: Use GTK+3 painting functions instead of deprecated ones.

	gtkxpaned: Remove style code from gtk_xpaned_realize().
	gtk_style_attach() is deprecated in GTK+3 and the migration guide says
	that it is no longer needed.  I guess it is possible that the
	gtk_widget_set_style() call is somehow still needed, but I don't
	understand the intent of that call and removing it seems to have no
	visible effect.

	gtkxpaned: Use g_object_unref() instead of gdk_cursor_unref().
	gdk_cursor_unref() is deprecated in GTK+3.

	gtkxpaned: Implement GTK+3 sizing.

	gtkxpaned: Remove write-only variables.

2013-07-28  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Remove processor-area from status bar to reduce minimum window width.
	Nothing ever puts anything in the processor-area widget, but it forces
	the data window to be 35 character widths wider, so by removing it we can
	allow the window to be resized much narrower when the status bar is shown.

	Reported by Bastián Díaz <diaz.bastian@ymail.com>.

2013-07-28  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Add measurement level icons to variable sheet.
	Suggested by Bastián Díaz <diaz.bastian@ymail.com>.

	pspp-sheet-view: Draw vertical grid lines at far right of grid.

	pspp-sheet-view: Fix bug that omitted bottom of cell grid lines.

2013-07-27  John Darrington  <john@darrington.wattle.id.au>

	Replaced the splash screen with a new one

	Replace legacy application icon by new one

	Make distcheck pass

2013-07-26  John Darrington  <john@darrington.wattle.id.au>

	Integrated the application icons

2013-07-25  John Darrington  <john@darrington.wattle.id.au>

	Added names of new artwork contributors to about dialog

	Added mimetype icons
	Added some icons to represent pspp file types in file managers etc.

2013-07-23  Ben Pfaff  <blp@cs.stanford.edu>

	Use "auto" mode for parsing syntax in the GUI (and elsewhere).
	This should be less surprising, I hope, than always parsing syntax in
	"interactive" mode.

	Reported by Ronald Crichton <Ronald.Crichton@cit.edu.au>.

2013-07-23  John Darrington  <john@darrington.wattle.id.au>

	Change "variable_changed" to "variable-changed" in signal name
	This makes it consistent with usage elsewhere.

2013-07-23  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation from translationproject.org.

2013-07-23  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when changing variable formats in data import dialog.
	Recent changes altered the CHANGE_VARIABLE signal handler signature,
	but this handler had not been updated.

	Reported-by: dr soumalya ray <drsoumalya-ray@yahoo.co.in>

2013-07-23  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.8.0.

2013-07-22  Ben Pfaff  <blp@cs.stanford.edu>

	Updated localisations from translation-project.org

2013-07-17  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Fix issues found by by review
	Ben reported following potential problems:

	I think that if the DEPENDENT subcommand is given twice (a user error), then
	the variables specified the first time will be silently leaked.

	cmd_regression() has two local variables named 'i'.

	I don't understand why "struct workspace" has a member 'psw' that is a
	dynamically allocated array, because it looks like each element of the array
	is used only during processing a single split file group.  That is, I think
	that 'psw' could be just a singleton, instead of an array.

	I think that fill_all_vars() is wrong: if an absent var follows a not-absent
	var, then vars[] will be filled with a gap and there will be a write into
	unallocated memory.

	Reported-by: Ben Pfaff

	Avoids shadowing variable in lower scope.  suggested by Ben Pfaff

2013-07-13  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Increase version number to 0.7.11.

	ONEWAY: Fix memory leak in run_oneway.
	Bug #39070.

	tower-test: Use memmove(), not memcpy(), for overlapping memory move.
	Found by valgrind.

2013-07-12  Ben Pfaff  <blp@cs.stanford.edu>

	sparse-xarray: Fix memory leak in dump_sparse_xarray_to_disk().
	Bug #39070.

	model-checker: Fix memory leak in finish_mc().
	This memory leak was visible only when the model checker was configured
	with a particular path to follow.

2013-07-08  John Darrington  <john@darrington.wattle.id.au>

	constness

2013-07-03  John Darrington  <john@darrington.wattle.id.au>

	Fixed incorrect behaviour of REGRESSION when multiple dependent variables are entered
	The REGRESSION command behaved badly when more than one dependent variable was entered.
	The cause was that the unnormalised covariance matrix returned from the covariance
	module was mutated for each variable.  Consequently, each variable after the first
	was wrong.  This change fixes that by changing the ownership semantics of the returned
	matrix (and thereby its constness).

	This change also adds some comments, attends to constness and fixes the remaining
	memory leaks associated with regression.

2013-07-03  John Darrington  <john@darrington.wattle.id.au>

	Fix problems associated with LINEAR REGRESSION and splits

	Added test to check that REGRESSION works with multiple dependent variables

	Added a test to ensure that SPLITS vs REGRESSION/SAVE works ok

	Rename tests from REGRESSION to LINEAR REGRESSION
	This way I can run just the linear regression tests without the
	logistic regression tests.

2013-06-29  John Darrington  <john@darrington.wattle.id.au>

	Avoid unexpected failures in check-valgrind due to XTERM_LOCALE

2013-06-28  John Darrington  <john@darrington.wattle.id.au>

	Partial fix for regression vs. splits issue
	Split the struct regression into information which is
	parsed from the command, and data which is calculated during
	execution of the command.

	Bug #39070

2013-06-28  John Darrington  <john@darrington.wattle.id.au>

	linreg.c: Remove superfluous cast

2013-06-28  Ben Pfaff  <blp@cs.stanford.edu>

	range-tower: Fix memory leaks.
	Bug #39070.

2013-06-27  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Fix memory leaks.
	Bug #39070.

2013-06-27  John Darrington  <john@darrington.wattle.id.au>

	linreg: Remove some unused features

2013-06-26  Ben Pfaff  <blp@cs.stanford.edu>

	session: Fix two memory leaks.
	Bug #39070.

2013-06-26  John Darrington  <john@darrington.wattle.id.au>

	LOGISTIC REGRESSION: Fix memory leak in error path

2013-06-24  Ben Pfaff  <blp@cs.stanford.edu>

	datasheet: Avoid reading a given row more than necessary in source_read().
	The datasheet casereader uses datasheet_get_row(), which calls rw_case(),
	which until this commit called source_read() for every column.  The latter
	was expensive if casereader_peek() actually copied data for a whole large
	row.  For a datasheet with N columns, all from a single backing source,
	the upshot was that datasheet_get_row() took O(N**2) time.

	This commit fixes the problem in the common case by reading as many columns
	as possible from a given source in a single call to source_read().

	Bug #33260.

2013-06-24  John Darrington  <john@darrington.wattle.id.au>

	Merge remote-tracking branch 'origin/master' into gtk3
	Conflicts:
		INSTALL

2013-06-24  John Darrington  <john@darrington.wattle.id.au>

	variable.c: New function var_set_width_and_formats
	Added a new function to set the width and formats of a variable as
	an atomic operation. This is necessary to allow values to re-interpreted
	without going through an intermediate format and thereby perhaps loosing
	information.

	Closes bug #39252

2013-06-23  John Darrington  <john@darrington.wattle.id.au>

	variable.c: (var_set_width)  traits other than width may also be set

	Split VAR_TRAIT_FORMAT into PRINT and WRITE variants

2013-06-22  John Darrington  <john@darrington.wattle.id.au>

	Fix and simplify the code for converting variables between types
	Before this commit, changing a variable from string to numeric or
	vici-versa would cause all values of that variable to become SYSMIS.
	This commit fixes this problem at least partially.

	Partial fix for bug #39252

2013-06-22  John Darrington  <john@darrington.wattle.id.au>

	Fix constness of datasheet_resize_column arguments
	The aux variable should not be changed, so make it const

	dictionary.c: Remove the var_resized and var_display_width_changed callbacks
	Remove the resized and display width changed callbacks, and
	transfer their actions to the variable_changed callback.

	Changed the signature of the VARIABLE_CHANGED signal to take the WHAT and OLDVAR parameters
	Re-implement signal handlers of the variable-changed signal to PsppireDict to take
	the new WHAT and OLDVAR parameters.

	Added the WHAT and OLDVAR parameters to the var_changed dictionary callback
	Propagate the newly implemented WHAT and OLDVAR parameters in the PsppireDict
	class.

	dictionary.c: Added a oldvar parameter to the var_changed callback
	The var_changed callback needs a copy of the old (unchanged) variable,
	so that implementations can compare and act accordingly.

2013-06-22  John Darrington  <john@darrington.wattle.id.au>

	dictionary.c: Added a WHAT argument to dict_var_changed callback
	Defined some bitwise constants to indicate which aspect of a variable has
	changed.  Added an argument to the dict_var_changed callback taking an
	argument which contains a combination of these types.

	This is used in later commits to avoid the callback implementation having
	to guess what exactly changed.

2013-06-22  John Darrington  <john@darrington.wattle.id.au>

	variable.c: Add _quiet versions of the var_set_ methods and use in var_clone
	var_clone doesn't need to provoke callbacks, since the new variable does not
	(yet) have a dictionary  hence the callbacks can do nothing.  Also the callbacks
	cause problems for later commits, since they themselves could call var_clone.

	This change therefore defines _quiet versions of all the var_set methods, which
	do not generate any callbacks, and uses those versions in the implementation
	of var_clone.

2013-06-16  John Darrington  <john@darrington.wattle.id.au>

	Minor additions and updates to the meta documentation

	Remove generation of GSignal marshallers which are  no longer required

2013-06-14  John Darrington  <john@darrington.wattle.id.au>

	psppire_var_type_dialog: Remove global functions which are not used

2013-06-13  Ben Pfaff  <blp@cs.stanford.edu>

	INPUT PROGRAM: Use a separate dataset for the input program.
	Without this change, INPUT PROGRAM uses the same dataset as the following
	syntax.  This usually is fine, but there's at least one case where it
	doesn't work: if the INPUT PROGRAM defines a vector, then a following
	proc_execute() without any intervening transformations causes
	proc_execute() to follow a "fast path" where it skips running the procedure
	but instead just does a few things, like clearing the set of vectors.
	Unfortunately, this means that later when the input program is really run,
	  it doesn't have the vectors and accesses freed memory.

	This commit switches to a different tactic.  INPUT PROGRAM creates a
	special session and dataset that are used only for the input program.  This
	keeps the dataset and the transformations used for the input program
	separate from those used after the input program.

	Bug #39097.
	Reported by John Darrington.

2013-06-13  Ben Pfaff  <blp@cs.stanford.edu>

	command.def: Disallow DATASET commands inside INPUT PROGRAM, FILE TYPE.
	It doesn't make sense to try to switch datasets within INPUT PROGRAM, and
	so we shouldn't allow it.

2013-06-06  John Darrington  <john@darrington.wattle.id.au>

	Correct typo in documentation of SAVE TRANSLATE

2013-05-31  John Darrington  <john@darrington.wattle.id.au>

	Fix broken expose callback in pspp-sheet-view

	Simplify the draw callback

	Syntax editor: Remove obsolete property "has-resize-grip"

2013-05-28  John Darrington  <john@darrington.wattle.id.au>

	PsppOutputWindow: Change "expose" callback to "draw" callback and update accordingly

	Correct problems with psppire-cell-renderer-button

	PsppSheetView: Convert expose callback to draw callback.
	This is somewhat kludgy, since we need to know which window is being
	drawn.  I can't see a very elegant way of figuring this out.

	Remove set_scroll_adjustment_signal

	pspp_sheet_view_class_init: Change size_request method to get_preferred_height/width

	pspp_sheet_view_bin_expose : remove GdkEventExpose parameter and replace with cairo_t

	Update remaining gtk_paint_focus calls to Gtk3 signature

	Avoid call to gdk_display_get_core_pointer which is gone in Gtk3

	Update several calls to gtk_paint_flat_box to new signature

	Remove unused expose_area parameters from pspp_sheet_view_column functions

	Pass the corrent arguments to pspp_sheet_view_column_cell_render  and to pspp_sheet_view_column_draw_focus

	Disable GDK3 deprecation warnings.
	At the moment I am not worried about deprecated constructs, so long as they are valid in Gtk+3.

	Change GTK_OBJECT -> G_OBJECT

	PsppSheetView (draw_empty_focus): Port to Gtk3

	PsppSheetView: Remove reference to colormap which is removed in Gtk3

	PsppSheetViewColumn (*_cell_draw_focus): Replace GdkWindow with cairo_t

	PsppSheetViewColumn (*_cell_render): Replace GdkWindow with cairo_t

	PsppSheetViewColumn: Remove colormap reference which is obsolete

	GtkXPaned: Convert size_request to get_preferred_height/width

	GtkXPaned: Convert expose-event signal to draw signal

	PsppWidgetFacade and PsppCellRender: Update to Gtk3 paint functions

	Psppire*ButtonBox: replace size_request with get_preferred_height/width

	PsppireDataEditor: Cope with another change to the GtkNotebook switch_page signature

	Update required GTK version from 2.x to 3.x

	PsppireOutputWindow: Draw the entire page instead of just the exposed area.
	Gtk3 doesn't require (or provide the necessary information for) the drawn
	widget to be cliped to the exposed area.  So this change removes the clip
	from the expose callback of the PsppireOutputWindow.  It also removes some
	functions which are now not necessary.

	PsppSheetView: Update the whole widget on expose not just the exposed bits.
	This makes things easier to port to Gtk3 (hopefully).

	Remove expose optimisation which is moot in Gtk3

	Use cairo_t instead of GdkEvent->Window

	Temporarily disable unused rubber banding feature
	So far as I can see, we don't use this feature and it is a pain to
	port.

	Temporarily remove optimisation in expose callback.
	I think this will be easier to manager after everything has been ported

	PsppSheetView: Remove calls to gdk_window_set_back_pixmap
	This function is gone in Gtk3 and so far as I can tell it is
	superfluous here.

	PsppSheetView: Avoid using GdkRegion

	Included gdkkeysyms-compat.h where necessary

	PsppSheetView: Temporarily avoid drag begin

	PsppSheetViewColumn: Avoid name conflict with Gtk3 standard headers

	GtkXPaned: Remove xor_gc member.
	This member was allocated and deallocated, but never used!

	PsppSheetView: Disable function pspp_sheet_view_create_row_drag_icon

	Missing Value Dialog: Remove GTK_DIALOG_NO_SEPARATOR flag which does not exist in Gtk3

	Replace some instances of GdkDrawable with GdkWindow
	GdkDrawable is gone in Gtk3

	PsppireButtonBox: Remove dependence on flags deprecated in Gtk3

	GtkXPaned: Replace GSEALed member access with the corresponding function calls

	GtkXPaned: Avoid direct inclusion of gtk library header

	gtk.h wrapper: Remove workarounds which are no longer required.

	Disable the remaining Gtk+2 features.
	These do not seem easy to work around.  But none of them are
	essential.  Postponing them till after the transition.

	PsppSheetViewColumn reparented to GObject
	Previously the parent was GtkObject which no longer exists in Gtk3

	More sealage

	Sealage old_width

	Rename allocation -> col_allocation

	More sealage

	Get window

	Use gtk_adjustment methods instead of direct access

	Yet more sealage

	Temporarily disable the splash screen

	Yet more Gseal stuff

	GtkSelectionData: only access using functions

	Avoid yet more sealed access

	PsppireDataWindow : Avoid direct access to sealed widget members

	Independent Samples dialog: Avoid direct access to sealed widget members

	Missing value dialog: Avoid access to sealed Gtk members

	Avoid direct access to sealed Gtk Widget members.

	Text import dialog : Avoid deprecated Gtk functions

	Replace GSEAL in widget headers by a different symbol
	We don't want our own data members to be sealed by Gtk

	Disable code which is not used and is Gtk3 unfriendly

	Remove grid_line_gc

	Avoid use of gdk_draw_line

2013-05-28  John Darrington  <john@darrington.wattle.id.au>

	Avoid use of deprecated GTK_SET_FLAGS
	Based upon a patch from the Gtk+ project:

	From: Emmanuele Bassi <ebassi@linux.intel.com>
	Date: Mon, 12 Apr 2010 14:54:41 +0100
	Subject: [PATCH] tree-view: Use gtk_widget_send_focus_change()

	Remove the second (and last) internal user of the GTK_HAS_FOCUS flag.

	https://bugzilla.gnome.org/show_bug.cgi?id=593671

2013-05-28  John Darrington  <john@darrington.wattle.id.au>

	Avoid use of deprecated gdk_drawable_get_size
	Use gdk_window_get_{width,height} instead.  Some calls were completely unnecessary, so those
	have simply been deleted.

	Avoid use of deprecated gdk_drawable_get_screen

	Avoid use of deprecated gdk_drawable_get_display

	Avoid gdk_drawable_get_size which is now deprecated

	Avoid problems with G_CONST_RETURN
	This is no longer used by us.  But may be used by other 3rd party libraries.

	Avoid use of deprecated GtkComboBoxEntry

	Recent GTK version to 2.24

	Text Import Dialog: Fix initialisation of pages which had got broken

2013-05-27  Ben Pfaff  <blp@cs.stanford.edu>

	manual: REGRESSION and DESCRIPTIVES make temp transformations permanent.
	Ideally, this should not be the behavior, but it is better than the crash
	we had before.

	Suggested by John Darrington.

	Bug #38787.
	Bug #38786.

2013-05-27  Ben Pfaff  <blp@cs.stanford.edu>

	INPUT PROGRAM: Avoid infinite loop for trivially empty input program.
	Bug #38782.
	Reported by John Darrington.

2013-05-26  Ben Pfaff  <blp@cs.stanford.edu>

	Avoid letting data fields overflow in output and GUI.
	When the output for data_out() is too big for the field width, it produces
	output that consists of just asterisks: ******.  This is OK when the
	output is really going into a fixed-width space, such as the output for
	PRINT and WRITE.  But it is obnoxious if the output is going into PSPP
	output or the GUI.  This commit introduces a new function that typically
	does not do this, and starts using it in output and the GUI.

	Bug #35829.
	Reported by John Darrington.
	Bug #30731.
	Reported by lavila <la@jump23.com>.

2013-05-25  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Fix memory leak in error path of RECODE

	Fix memory leak in error path of LOGISTIC REGRESSION

	Fix memory leak in LOGISTIC command

	Fixed memory leak in examine command

	Fix leak check in oneway command

	Remove "slash" property from psppire_button_editable, which is not used

2013-05-25  John Darrington  <john@darrington.wattle.id.au>

	Linear Regression Test: Provide more decimal places in test results.
	This test previously had only 2 decimal places displayed, which
	limited its ability to detect numerical errors.  This change increases
	the decimal places to 3.

	The results for this test were checked against a pattern provided
	by Olaf Nöhring.

2013-05-25  John Darrington  <john@darrington.wattle.id.au>

	Regression: Use alternative formula for adjusted R-square
	This is the formula given in SPSS Statistical Algorithms Ed 20.

	Corrected the Degrees of Freedom in the Regression Coefficient Significance
	Reported and Tested by: Olaf Nöhring.

2013-05-24  John Darrington  <john@darrington.wattle.id.au>

	Open imported files in new data window instead of overwriting the old

	Add hint paramater to Window Load method

2013-05-21  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Use glibtoolize instead of libtoolize, if it is available.
	Requested by Teppo Jussmäki <jussmaki@fastmail.fm>.
	Tested by Teppo Jussmäki <jussmaki@fastmail.fm>.

2013-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	DELETE VARIABLES: Fix crash with FILTER.
	FILTER has the surprising property that it introduces a temporary
	transformation, even if proc_make_temporary_transformations_permanent()
	was previously called.  This causes a crash if the procedure implementation
	really relies on there being no temporary transformations.

	This commit fixes the problem in the procedures I was able to identify as
	having it, adds a comment to proc_make_temporary_transformations_permanent()
	to make it a little less likely to happen again, and adds a test
	specifically to check for regression on DELETE VARIABLES.

	Reported by John Darrington.
	Bug #38843.

2013-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	REGRESSION: Avoid use-after-free error with TEMPORARY and SAVE.
	This should fix the use-after-free error, although I am not sure whether it
	makes REGRESSION do exactly what it should do.

	Bug #38787.

2013-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: Avoid use-after-free with TEMPORARY and Z scores.
	This is not an ideal fix, but it avoids the use-after-free error that we
	have had until now.

	Bug #38786.

2013-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	FLIP: Fix use-after-free and double frees with temporary transformations.
	I originally thought this was a bug in FLIP, but it turned out that in
	fact we just hadn't ever really tested
	proc_make_temporary_transformations_permanent() properly with actual
	transformations, and especially with adding a transformation after calling
	proc_make_temporary_transformations_permanent().

	The modified test should avoid regression for the bug.

	Bug #38832.

2013-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: Fix a pair of memory leaks.

2013-05-20  John Darrington  <john@darrington.wattle.id.au>

	Work around change in signature of the switch page callback in GtkNoteBook

2013-05-19  John Darrington  <john@darrington.wattle.id.au>

	Fix constness problem in spreadsheet reader dialog

	version.c: Make the build date/time independent of locale and timezone

2013-05-18  John Darrington  <john@darrington.wattle.id.au>

	Remove unused function

	Implement import dialog to import spreadsheet files.
	Reviewed-by: Ben Pfaff

2013-05-17  John Darrington  <john@darrington.wattle.id.au>

	Sort items in datasheets dropdown box.
	Before this change, the values in the data sheets dropdown
	box appeared in a non-deterministic order (the order in
	the underlying hash), which was inconvenient to users.
	This change produces the values in sorted order.

	Closes bug #38921

2013-05-17  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Explain more emphatically that UPDATE/MATCH/ADD do not mutate input files.
	Closes bug #38682.

	Cairo output: Add a bit of horizontal between table columns.
	Fixes bug #34798

2013-05-15  John Darrington  <john@darrington.wattle.id.au>

	Spreadsheet Import Dialog: Implement reset button

	Merge remote branch 'origin/master' into import-gui
	Conflicts:
		src/ui/gui/page-assistant.c

	Import Assistant: Fix broken reset buttons

	Import Assistant: Fix broken reset buttons

2013-05-14  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

	Avoid use of deprecated GtkNotebookPage

	PsppireButtonBox: Do not use the GtkBoxChild structure.
	Avoid using Gtk features which are (soon to be) deprecated.

2013-05-13  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

	PsppSheetViewColumn: Remove inappropriate #ifndef

	Replaced some obsolete GTK symbols with the recommended modern ones

	GtkXPaned: Whitespace changes only

	Avoid compiler warning

2013-05-12  John Darrington  <john@darrington.wattle.id.au>

	Update INSTALL file

2013-05-11  John Darrington  <john@darrington.wattle.id.au>

	Updated localisations from translation-project.org

	Merge branch 'master' into import-gui

	Made _xml_char_to_int less prone to crashing

	Gnumeric Reader: Use symbolic value instead of literal integer

	Made _xml_char_to_int less prone to crashing

	Gnumeric Reader: Use symbolic value instead of literal integer

2013-05-10  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

2013-05-10  John Darrington  <john@darrington.wattle.id.au>

	Fix corner case in calculation of trimmed mean.
	The calculation of the trimmed mean was not quite correct.  This
	change fixes it, and adds a test.

	Reported by: Olaf Nöhring.

2013-05-09  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into import-gui
	Conflicts:
		src/ui/gui/psppire-cell-renderer-button.c

	Revert "Work-around bug in GCC 4.4.5"
	This reverts commit c7711e39f523f206a74f5d0f52480ad10267e0ca.
	The claim of a bug in GCC proved to be unfounded.  The problem which
	this change tried to work-around has in fact been fixed in
	commit 19bf192a093527bf10b1de95fbe8798ba156f960

2013-05-09  John Darrington  <john@darrington.wattle.id.au>

	Fix stack corruption in ODS reader.
	zip_reader_create takes a pointer to a struct string, which
	is used to  store error messages during zip operations.  I had
	been passing the address of a string declared as local variable
	in ods_probe.  However since the zip reader survives ods_probe,
	this caused stack corruption in later read operations.

	This change makes the string a member of the reader created (if any).

2013-05-09  John Darrington  <john@darrington.wattle.id.au>

	Fix stack corruption in ODS reader.
	zip_reader_create takes a pointer to a struct string, which
	is used to  store error messages during zip operations.  I had
	been passing the address of a string declared as local variable
	in ods_probe.  However since the zip reader survives ods_probe,
	this caused stack corruption in later read operations.

	This change makes the string a member of the reader created (if any).

2013-05-09  John Darrington  <john@darrington.wattle.id.au>

	Update test to include new warning

	ods reader: Report cells which cannot be converted

	Gnumeric reader: Report cells which cannot be converted

2013-05-09  John Darrington  <john@darrington.wattle.id.au>

	Spreadsheetreader: new function create_cell_ref and rename existing function with that name.
	Rename convert_cell_ref to convert_cell_range which is a more accurate
	description of the function, and add a new function, with the original
	name of the function we've just renamed.

	The new function (create_cell_ref) does just that.

2013-05-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-cell-renderer-button: Don't use gdk_window_coords_to_parent().
	It was introduced in GDK 2.22, which is newer than we require.

	Reported by John Darrington.

2013-05-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-cell-renderer-button: Do not update 'event->window'.
	Commit 5b59146f8d0 (psppire-cell-renderer-button: Translate coords before
	propagating event.) caused GDK and GTK+ warnings and criticals and a crash
	if the scenario described in the bug report were repeated a number of
	times.  This change appears to fix the problem.

	Reported by John Darrington.
	Bug #38922.

2013-05-08  John Darrington  <john@darrington.wattle.id.au>

	Revert "psppire-cell-renderer-button: Translate coords before propagating event."
	This reverts commit 5b59146f8d060754b14eba415dcc9066d8bc7b02.

	Remove include directives for non-existant files

	Merge remote branch 'origin/master' into import-gui

2013-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-cell-renderer-button: Translate coords before propagating event.
	When propagating a right-click upward, the x and y coordinates in the
	event are those for the button, not for the parent window, but the parent
	window's signal handlers will expect that they are relative to the parent
	window.  This commit makes that so.

	Without this commit, the following scenario occurs:

	1. Open a dataset with at least two cases.
	2. Switch to the Data View
	3. Place the pointer over (say) the tenth row header button.
	4. Click the left mouse button.
	5. Click the right mouse button.
	6. The popup menu appears (as it should), but row 1 gets selected instead
	   of row 10.

	With this commit, in step 6 the correct row is selected.

	Bug #38922.
	Reported by John Darrington.

2013-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'psppsheet' into 'master'.
	This merge required considerable manual resolution in
	text-data-import-dialog.c because that file was split into multiple files
	on master.

2013-05-06  John Darrington  <john@darrington.wattle.id.au>

	Remove unused variable assigned in expression.
	Found by clang analayzer

2013-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-window: Disconnect signal handlers before unregistering.
	Otherwise, the call to psppire_window_register_remove() calls back into
	remove_menuitem() via the "remove" signal, but window->menu referenced in
	that callback has already been freed.

	Found by valgrind.

2013-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Disconnect clipboard owner-change signal on dispose.
	Otherwise, any clipboard change in ownership (e.g. clicking on some cells
	and typing Control+C), even after a given PsppireDataSheet closes, still
	calls into on_owner_change() and commits a use-after-free error.

	Reported by John Darrington.

2013-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Obtain data sheet targets via callback.
	Calling gtk_clipboard_wait_is_target_available() within on_owner_change()
	seems to cause Window|Split to act oddly (the right panes were empty),
	perhaps because gtk_clipboard_wait_is_target_available() has a nested main
	loop.  Switching to gtk_clipboard_request_targets() fixes the problem.

	Reported by John Darrington.

2013-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Remove stray debug printf.
	Reported by John Darrington.

2013-05-04  John Darrington  <john@darrington.wattle.id.au>

	Updated gnulib version

2013-04-29  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

	Add necessary initialisation to spreadsheet-test.c

	list.c Use "long" instead of "int" for command parameters.
	Commit 4e5a6cc044c6c82e6c4d842bf056579b6bc47d48 used int instead of long for the
	parameters of the LIST command.  This caused compiler warnings and problems on
	64 bit machines.  This change fixes that.

2013-04-28  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash in error path of MEANS command

	Add necessary initialisation to spreadsheet-test.c

	Merge remote branch 'origin/master' into import-gui

	ODS reader: Make the destroy method safer.
	It seems this was causing use after delete errors when there was an empty reader.

	Fix constness warnings

	Fix recently introduces bug in LIST /CASES
	Commit 4e5a6cc044c6c82e6c4d842bf056579b6bc47d48 contained a bug.  This change
	corrects the bug, and updates a test, such that the bug will be caught, should
	it ever reappear.

2013-04-27  John Darrington  <john@darrington.wattle.id.au>

	Fix invalid read in ROC vs. TEMP
	Partial fix for bug #38833

2013-04-26  John Darrington  <john@darrington.wattle.id.au>

	Correct error message from previous commit.
	Commit 49b3e593c078b40d7c72379b4f8622a1ea8d7ea1 produced a misleading
	and non-sensical error message.  This change fixes that.

	Fixed a crash when RECODE attempted to increase the length of a string beyond the width of the variable.
	Reported-by: Cristoph Amthor

	Added missing headers to terminal-reader.c

	Update ABOUT-NLS from gettext

2013-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	FLIP: Fix use-after-free error with temporary transformations.
	The FLIP procedure keeps a reference to the  dictionary from before running
	a procedure and then uses that reference after calling proc_commit().  When
	temporary transformations are present, this dictionary disappears.  The
	"SPLIT FILE  - vs procedures" test triggers this issue because it uses
	FILTER, which is implemented as a temporary transformation.

	This commit fixes the problem by avoiding a reference to the old
	dictionary after proc_commit().

	Reported by John Darrington.
	Bug #38820.

2013-04-25  John Darrington  <john@darrington.wattle.id.au>

	convert list.q to list.c
	Reviewed-by: Ben Pfaff

2013-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: Fix reading UTF-16 and UTF-32 files.
	Before this commit, u8_istream_for_fd() would obtain the correct encoding
	from encoding_guess_head_encoding() for UTF-16 and UTF-32 files, and then
	it would ignore it and use the default encoding returned by
	encoding_guess_parse_encoding().  This commit fixes the problem.

2013-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: Fix handling of UTF-8 byte order marks.
	The UTF-8 special case state didn't skip over an initial byte order mark.
	This fixes it.

	Reported by Dr. Holger Handstein <post@handundstein.de>.

2013-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	encoding-guesser: New function encoding_guess_bom_length().

	tests: Make "read ISO-8859-1 as Auto,ISO-8859-1" failures easier to read.
	By putting new-lines in the input and output, it becomes unnecessary to
	scroll thousands of columns to the right to spot the differences.

2013-04-24  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash with EXAMINE vs. SPLIT
	Partial fix for bug #38820

	Fixed crash with GLM and MEANS vs. SPLIT
	Partial fix for bug #38820

	Do not try to set box=unicode if the driver is not the text driver.

	Avoid test failures due to wrong terminal settings

	Added test for known split file problems

2013-04-23  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash in error path for GET DATA

	Added strcasestr to list of gnulib modules

2013-04-22  John Darrington  <john@darrington.wattle.id.au>

	Use the select and pipe2 modules from gnulib

2013-04-21  John Darrington  <john@darrington.wattle.id.au>

	Widen the criteria for assuming the terminal is utf capable.
	Assume the terminal is UTF-8 capable if the TERM and XTERM_LOCALE environment
	variables seem to suggest that.

2013-04-20  John Darrington  <john@darrington.wattle.id.au>

	Update documentation for the STRING command.
	The text wasn't entirely clear.  Hopefully this is an improvement.

	Reported by: Ronald Crichton

2013-04-18  John Darrington  <john@darrington.wattle.id.au>

	Changed "Text files" to "Text Files"
	Reported-By: Jack Tanner

2013-04-17  John Darrington  <john@darrington.wattle.id.au>

	terminal-reader.c: Added missing #include directive

2013-04-16  John Darrington  <john@darrington.wattle.id.au>

	Terminal reader: Interruptable command line interface
	This change alters the behaviour of the command line interface such that
	upon receiving SIGINT, instead of immediately aborting, the current command
	being read will be interrupted and a new PSPP> prompt appears.

	Reviewed-by: Ben Pfaff

2013-04-09  John Darrington  <john@darrington.wattle.id.au>

	Ascii driver: Default to box=unicode iff the charset is UTF8

2013-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	AUTORECODE: Avoid use-after-free error with TEMPORARY.
	When TEMPORARY is in effect, proc_commit() destroys the temporary
	dictionary.  This means that any procedure that does not somehow disable
	temporary transformations and refers to a variable following proc_commit()
	has a use-after-free error.

	Until now, AUTORECODE had this problem.  This commit fixes it and adds a
	test.

	Bug #32757.

2013-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	AUTORECODE: Trim trailing white space correctly.
	The existing code trimmed off everything starting at the first space.
	The new version trims off only trailing spaces.

	Found by inspection.

2013-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation from translationproject.org.

2013-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Omit whitespace at the end of a line.
	Long string variables tend not to be completely filled with data, which
	means that they end in a lot of spaces.  The ASCII output driver didn't
	handle these well.  Instead, it put a blank line in the cell for each
	trailing space.

	This fixes the problem and adds a test.

	Reported by Ronald Crichton.
	Bug #38672.

2013-04-07  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash when processing regression with bad syntax

	Rename some identifiers for consistency

2013-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	CORRELATIONS: Fix crash with separate sets of row and column variables.
	When WITH is specified, the column variables start at offset corr->n_vars1
	within corr->vars.  The calculation previously used here was incorrect and
	caused an access beyond the end of the corr->vars array.

	The code would be clearer if there were separate row_vars and col_vars
	arrays, but that would be a larger change.

	Bug #38661.
	Reported by William Rogers.

2013-04-05  John Darrington  <john@darrington.wattle.id.au>

	Update casereader.c from master

	Merge remote branch 'origin/master' into import-gui

2013-04-04  John Darrington  <john@darrington.wattle.id.au>

	ascii.c: Use symbol instead of constant literal

	Fixed bug displaying unicode box characters.
	Also added a test for this.  Closes bug #38647

2013-04-04  Ben Pfaff  <blp@cs.stanford.edu>

	RELIABILITY: Fix memory leaks and dereferences of uninitialized pointers.
	The 'total' struct and 'm' array in struct reliability were allocated once
	per case group, but freed exactly once.  If there were no case groups,
	this caused a null dereference.  If there was more than one case group,
	this caused a memory leak.  This commit fixes both problems.

	This commit also fixes a related crash on bad syntax due to dereferencing
	a null pointer in reliability_destroy().

	Bug #38660.
	Reported by William Rogers.

2013-03-31  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning in gnumeric-reader.c

	Merge remote branch 'origin/master' into import-gui
	Conflicts:
		src/data/casereader.c

2013-03-31  John Darrington  <john@darrington.wattle.id.au>

	Work-around bug in GCC 4.4.5
	Gcc 4.4.5 seems to be buggy.  For some reason it miscompiles the code in
	casereader_count_cases__ when compiled with -O2 by not allocating enough
	stack.  This commit works around that problem by putting a dummy variable
	on the stack.

	Reviewed-by Ben Pfaff.

2013-03-31  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

2013-03-31  Ben Pfaff  <blp@cs.stanford.edu>

	ods-reader: Fix GCC warning.
	ods-reader.c: In function 'ods_file_casereader_read':
	ods-reader.c:941:3: error: ISO C90 forbids mixed declarations and code

2013-03-31  John Darrington  <john@darrington.wattle.id.au>

	ONEWAY /POSTHOC: Annotate output with dependent variable
	The Multiple Comparisons table did not specify the variable to which it refered.  This could be confusing
	if more than one variable was specified.
	Fixes bug #38635

	Updated lt.po from translationproject.org

	Merge remote branch 'origin/master' into import-gui

	Fixed some memory allocation issues in the Gnumeric import code

	Fix bug reading empty sheets

	Commit remaining bits

	re-enable compiler bug workaroundä

	Fixed some memory leaks

2013-03-30  John Darrington  <john@darrington.wattle.id.au>

	Added a second lot of state data

	Make the gnumeric reader behave the same as the odsreader

	Merge remote branch 'origin/master' into import-gui

	Fix memory allocation issues in ods-reader

	Rename variable and add comment

	Fixed some memory leaks

	Merge remote branch 'origin/master' into import-gui

	Imported new lt.po file from translation-project.

2013-03-29  John Darrington  <john@darrington.wattle.id.au>

	Remove diagnostics

	Revert experiment�

	Merge remote branch 'origin/master' into import-gui
	Conflicts:
		src/ui/gui/text-data-import-dialog.c

	Fix order of text-import subdialogs.
	Commit 29c1450251805417aacb9cecc84b03c81137c137 inadvertently reversed the
	order of display of the the first-line and seperator subdialogs.  Amoung
	other problems, this meant that controls of the former were no longer
	respected.  This change restores the original order.

2013-03-27  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

2013-03-26  Ben Pfaff  <blp@cs.stanford.edu>

	MATCH FILES: Fix bugs along error path.
	Also add test to prevent later regression.

	Reported by Ronald Crichton <Ronald.Crichton@cit.edu.au>.

2013-03-26  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix GCC warning in page-file source file.
	src/ui/gui/page-file.c: In function 'init_file':
	src/ui/gui/page-file.c:84:35: warning: variable 'opts' set but not
	    used

2013-03-26  John Darrington  <john@darrington.wattle.id.au>

	Work around bug in compiler

	Updated NEWS to match the version number

2013-03-25  John Darrington  <john@darrington.wattle.id.au>

	Added a second lot of state data

	sheet meta data:  Move out of state data

	Separate the reader state data into its own struct

2013-03-23  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui
	Conflicts:
		src/ui/gui/automake.mk
		src/ui/gui/page-assistant.c
		src/ui/gui/page-file.c
		src/ui/gui/text-data-import-dialog.c

2013-03-22  John Darrington  <john@darrington.wattle.id.au>

	Reorganised the text-data import assistant into separate files for each page
	This will hopefully make it easier to add new functionality.
	Reviewed-by: Ben Pfaff

	Merge branch 'master' into import-gui
	Conflicts:
		src/ui/gui/automake.mk
		src/ui/gui/page-assistant.c
		src/ui/gui/page-file.c
		src/ui/gui/text-data-import-dialog.c

2013-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Increase version number to 0.7.10.
	Suggested by John Darrington.

2013-03-21  Ben Pfaff  <blp@cs.stanford.edu>

	FILE HANDLE: Use system native line ends by default.
	Requested by Ronald Crichton.

	FILE HANDLE: Add new ENDS subcommand to control new-lines in output.
	Requested by Ronald Crichton.

2013-03-20  John Darrington  <john@darrington.wattle.id.au>

	Reorganised the text-data import assistant into separate files for each page
	This will hopefully make it easier to add new functionality.
	Reviewed-by: Ben Pfaff

	Merge remote branch 'origin/master' into import-gui

2013-03-17  Ben Pfaff  <blp@cs.stanford.edu>

	SET: Fix format specifier in show_workspace().
	GCC reported that %ld is not the correct format specifier for a size_t.

2013-03-17  John Darrington  <john@darrington.wattle.id.au>

	Fix confusion over workspace units.

	Added the SHOW WORKSPACE command which was absent.
	Reported-by: Stefan Tzeggai

2013-03-16  John Darrington  <john@darrington.wattle.id.au>

	Documentation:  Mention the units of the WORKSPACE setting

2013-03-14  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

2013-03-12  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Implement primary selection.
	I didn't realize that this was important.

	Reported by John Darrington.

2013-03-12  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2013-03-11  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Fix crash ranking multiple variables without any rank specs.
	Incidentally fixes a small memory leak in the same situation.

	Bug #38482.
	Reported by John Darrington.

2013-03-11  Ben Pfaff  <blp@cs.stanford.edu>

	Fix warnings introduced by minor type errors in recently added code.

2013-03-09  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

	Added a (non-shipped) gui test-program to test spreadsheet readers.
	This program is usefull for testing the behaviour of the ods_reader and the gnumeric_reader.

	Merge remote branch 'origin/master' into import-gui

	Ref count the gnumeric reader

	Merge remote branch 'origin/master' into import-gui

	Re-enabled the reset buttons

	main.c: Replaced macro with a static const
	This is the GNU recommended way, and ensures that not-compiled code does not become out
	of date.

	Re-enabled Paste button

	Test program.  Make it crash less often

2013-03-08  John Darrington  <john@darrington.wattle.id.au>

	Made the test program a little more friendly

	Ref count the gnumeric reader

	Merge remote branch 'origin/master' into import-gui
	Conflicts:
		src/ui/gui/psppire-spreadsheet-model.c

	New module: psppire-spreadsheet-model.c
	 Provides an implementation of a GtkTreeModel which can be used to
	display the meta data of Gnumeric or Opendocument spreadsheet files.
	Potentially, other spreadsheet files could be added too.
	Used for upcomming gui features.

	Fix remaining leaks in Gnumeric reader

	Fix remaining leaks in Gnumeric reader

	Zip reader: remove unnecessary test

	Merge branch 'master' into import-gui

	Fixed some more errors in the spreadsheet readers

	Fix remaining leaks in ods-reader.c

2013-03-07  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/master' into import-gui

	zip-reader.c: Fix memory leak

	zip-reader.c: Fix memory leak

	Delete ods_file_casereader_clone function

	Let the test program open both kinds of spreadsheet

	Fewer memory leaks

	Make the spreadsheet reader responsible for destroying its opts

	Merge remote branch 'origin/master' into import-gui

	zip-test.c: Remove erroneous call to zip_member_unref

	zip-reader.c: Replace [cm]alloc by their x*alloc counterparts

2013-03-05  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into import-gui

	Fixed crash reading ODS spreadsheets and added a test case

2013-03-04  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into import-gui

	Added a feature to read the meta data from spreadsheet files.
	This is in preparation for upcoming features.

	Make GUI open either kind of spreadsheet

	Created wrappers for the ods/gnumeric functions

2013-03-03  John Darrington  <john@darrington.wattle.id.au>

	Fixed some memory leaks

	Renamed the spreadsheet test file and put it noinst

	Use our own explicit loop instead of main_loop_run

	Fixed some memory leaks

2013-03-02  John Darrington  <john@darrington.wattle.id.au>

	Test proglet: Display all members of a case

	Fixed bug where repeated values were not being handled correctly

2013-03-02  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Make Ctrl+Up and Ctrl+Down go to top and bottom.
	These keybindings match those implemented by Gnumeric.

	Suggested by John Darrington.

2013-03-02  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Get rid of ctrl_pressed and shift_pressed.
	Having these as member variables made it hard to keep key
	press status separate from whether we want to extend or
	toggle row selection.  Most of the time, these are the
	same, but there are some cases (e.g. Shift+Tab) where they
	don't coincide, and an upcoming commit will add another
	case.

	pspp-sheet-view: Rename GtkTreeSelectMode to PsppSheetSelectMode.
	This avoids invading GTK+ reserved namespace.

2013-03-02  John Darrington  <john@darrington.wattle.id.au>

	Fixed some memory allocation issues

	Test proglet work

	Display "(empty)" if a sheet has no data

	Made some code improvements.
	As a side effect, it no longer crashes

2013-03-01  John Darrington  <john@darrington.wattle.id.au>

	Fixed some more leaks

	Fix some memory leaks

	Avoid compiler warnings

2013-02-28  John Darrington  <john@darrington.wattle.id.au>

	Got the last test working

	Got another test working

2013-02-27  John Darrington  <john@darrington.wattle.id.au>

	ODS cellranges work again (sort of)

2013-02-25  John Darrington  <john@darrington.wattle.id.au>

	Make sure that ODS reading works even when not in C locale

	Issue error message if spreadsheet does not exist

	Avoid crash when importing non-existant spreadsheet file

2013-02-24  John Darrington  <john@darrington.wattle.id.au>

	Another test works

2013-02-23  John Darrington  <john@darrington.wattle.id.au>

	New function reading_target_sheet

	Rename variable

2013-02-19  John Darrington  <john@darrington.wattle.id.au>

	Renamed some variables and removed some

2013-02-18  John Darrington  <john@darrington.wattle.id.au>

	Change the label to be vendor neutral

	Got some of the tests working

	Made it crash a little less often

	Avoided a number of other problems

	Fix buffer overflow

	Fixed some incorrect range imputation

	Got the ODS reader model (sort of) working.

	Merge two option structs

	Added a warning if gnumeric files are not UTF8.  Then blidly assume that they are.

	Fixed some more warnings

	Make opts const
	and remove the feature where it was filled in by the reader

	Add prototypes for syntax generation functions

	Zip Reader: Take members from the index if they exist.
	This allows readers to be iterated more than once.

	Zip Reader: Take members from the index if they exist.
	This allows readers to be iterated more than once.

2013-02-16  John Darrington  <john@darrington.wattle.id.au>

	Got the text file import working again

	Show errors on reading badly formed gnumeric files

	Made the text import dialogs sort of work again

	Return NULL if not a gnumeric file

	Actually use the combobox setting

	Fixed many warnings

	Gnumeric reader cope with multiple passes, and empty cell elements

	Rename sheet_index to current sheet

	Rename sheets to n_sheets

	Enable the syntax generation

	Make the data visible

	Updated the test widget thing a bit

	Use the gnumeric_reopen function

	Added a reopen capability

	Dont show range if it is null

	Added a proper function to convert spreadsheet column refs

	Added a callback to set the range entry on change

	Make both work at the same time

	Fix memory leak

	Added the range column to the model

	Added a maxcol state

	Tidied up a bit more.  Eliminated some warnings

	Tidied up a bit

	sort of got the assistant working with the combo model

	Basically working model

	Added property for the backend

	Basic model

	Basic Framework for test program

	Added a test program for the spread interface

	Only one spreadsheet

	formats page: Construction is initialisation

	First line page construction is initialisation

	separators construction is initialisation

	Move column count from seperators into assist

	Make sheet spec page opaque

	Move all intro related stuff to the intro file

	Intro page: contruction is initialisation

	Move file_name member from sri to spreadsheet struct

	Put the pages as pointers

	Started polymorphism of ODS

	Started polymorphism of Gnumeric

	Made a start at canonicalising the interface

	Use convert cell range instead of doing it ourselves

	Enable specification of the cell range

	Replace _Import with I_mport in GtkBuilder file.
	This means that there is only one _I in the File menu.

	Added a bit more to the gui

	fix compile issues

	Fix syntax generation

	Try to load the correct sheet

	data import gui: update user interface

	Change label from "import text" to "import".
	Because it is not only used for text now.

	Spreadsheet readers: Seperate the mandatory from the optional arguments.

	Basic working spreadsheet import dialog (sort of)

	Added file chooser filters for spreadsheet file types

	Seperate test-data-import-dialog into different files

	Fixed a bug reading gnumeric files.
	Importing  gnumeric spreadsheets would assert-fail if there were empty columns at the start of the sheet.

2013-02-13  John Darrington  <john@darrington.wattle.id.au>

	Examine vs. Boxplots: Avoid labels overlapping one another
	One factored boxplots remove the name of the factor variables, since
	these can be inferred from the chart title.  Also trim off any
	leading whitespace from the values.  This reduces the chances of the
	labels clashing with one another when many boxplots appear on the
	same chart.

	Closes bug #38132

2013-02-12  John Darrington  <john@darrington.wattle.id.au>

	Output Viewer Export: Automatically append filename suffix
	When exporting the output viewer using the file chooser, automatically append
	a . and a three letter suffix indicating the format of the export.
	Closes bug #38133

2013-02-09  John Darrington  <john@darrington.wattle.id.au>

	REGRESSION: Added mention of the dependent variable to table titles.
	Closes #34732

2013-02-05  John Darrington  <john@darrington.wattle.id.au>

	Fixed compiler warning placement-parser.c

2013-02-04  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-window: Avoid doubled separator in Windows menu.
	John Darrington noticed that sometimes the separator was doubled in the
	Windows menu.  It seems that the code for detecting that we've already
	added the separator was unreliable, because it would re-add the separator
	if the number of windows increased from zero, dropped to zero, and then
	increased again.

	pspp-sheet-view: Make Control+Left, Control+Right go to ends of lines.
	John Darrington reported that, in Gnumeric, Control+Left goes to the first
	column and Control+Right goes to the last column.  This commit changes
	the data sheet to do the same

2013-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2013-02-02  Ben Pfaff  <blp@cs.stanford.edu>

	casereader: Remove casereader_split() function.
	It no longer has any users.

	Reported by John Darrington.

2013-01-31  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Add support for temporary transformations.
	Bug #37999.
	Reported by Zoltan Fabian.

2013-01-31  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Adopt a new ranking implementation.
	Before this commit, the implementation of RANK made multiple passes
	through the active file, opening and closing it (with proc_open()
	and proc_commit()) as many times as there were input variables.
	This worked in simple cases, but it could never work with
	TEMPORARY since the second proc_open() will see a different set
	of data from the first one.

	This commit rewrites RANK to open and read the active file only
	once.  It does not make RANK properly work with TEMPORARY, but
	it brings it much closer.  It may also be faster in some cases
	because, although it makes the same number of passes through
	the input data (necessarily), each pass discards all the input
	columns except the ones that are really need for that pass.

2013-01-31  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Create all variables together, in order.
	An upcoming commit will rewrite the RANK implementation so that the
	new variables are not created until after a pass through the data.
	(This makes sense because their values cannot actually be determined
	until that pass is complete, so there is no point in allocating space
	for them in cases.)  To do that, it is necessary to figure out the
	variable names (and that they will be valid variable names) in
	advance.  This commit switches to that approach in advance.

	This approach has another small advantage: the order of the variables
	added by RANK to the dictionary does not depend on whether the
	variables are named by the user or by generating a name.  (This
	is why the rank.at test case changes.)

2013-01-30  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Simplify rank_sorted_file() with new function sum_weights().
	This makes the code easier to read and possibly even faster.

	RANK: Simplify fraction_name() function.
	The caller only needs a constant string so we might as well just return
	one directly rather than through a static buffer.

	RANK: Put #include directives into typical order.

	RANK: Remove write-only struct member 'ascending'.

	RANK: Lowercase the name of "enum RANK_FUNC".
	It is fairly unusual to give a type an all-uppercase name.  The name looks
	more natural to me in lowercase.

	transformations: Relax the rules for transformation finalizing.
	The trns_chain data structure has a barely useful concept called
	"finalization".  In practice this is used to make sure that control
	structures (e.g. DO IF) that are opened get closed (e.g. END IF).  There
	are currently some restrictions on finalizing: namely, transformations
	can't be added after a chain is finalized.  Since finalizers are barely
	used, we can relax this restriction, which this commit does.  This will be
	used in an upcoming commit where the ability to add a transformation to a
	finalized change becomes useful for a corner case.

2013-01-28  Ben Pfaff  <blp@cs.stanford.edu>

	subcase: New function subcase_add_vars_always().
	This function will be used in an upcoming commit.

	casegrouper: Add comments.

2013-01-28  John Darrington  <john@darrington.wattle.id.au>

	Ensure that RELIABILITY is always fully constructed.
	Commit e94a39ff572a51907545497c26faccdf4b2c5ada added a 'no crash' test
	checking that RELIABILITY's destructor didn't cause any problems when
	the procedure was presented with invalid syntax.  Unfortunately the
	associated fix was only half done.  The scale_name variable was being
	destroyed when it hadn't been initialised.  This change fixes that.

	Reported-by: Jeremy Lavergne

2013-01-25  John Darrington  <john@darrington.wattle.id.au>

	Reliability: Fix crash on invalid syntax

2013-01-20  John Darrington  <john@darrington.wattle.id.au>

	Improve the printing size on Windows.
	There were reports that on Windoze the printed output was tiny.  I
	think this commit might improve things a little.

2013-01-20  John Darrington  <john@darrington.wattle.id.au>

	Fix xr to point unit conversion in cairo output driver.
	The conversion between points (1/72") and xr units was wrong.
	This meant that some things were slightly the wrong size.

	Reviewed-by: Ben Pfaff

2013-01-20  John Darrington  <john@darrington.wattle.id.au>

	Output window: properly handle the dispose/finalisation

2013-01-16  Ben Pfaff  <blp@cs.stanford.edu>

	Document and implement "precision record" in portable file format.

2013-01-15  John Darrington  <john@darrington.wattle.id.au>

	Remove configure flag --enable-anachronistic-dependencies
	This flag was a kludge and is not used anymore anyway.

2013-01-12  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Generalize lex_match_phrase() to handle any syntax.
	This makes lex_match_phrase() slightly more useful.  It also eliminates
	the ASCII-only requirement.

	scan: Introduce string_lexer for simple tokenizing of a string.
	The following commit will introduce a user outside of the tests.

	segment: Don't require the input to end in a new-line.

	segment: Separate SEG_N_TYPES from enum segment_type.
	With SEG_N_TYPES not actually a member of enum segment_type, GCC doesn't
	complain if it's missing from a switch statement on that type.

	identifier: Make lex_id_get_length() handle Unicode.
	This function's only caller is documented only to handle ASCII, so this
	commit does not fix any bug, but it seems better to generalize our code.

2013-01-12  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Include command name in error messages.
	Commit ddb7b52128d8 (output: Make errors, warnings, and notes into a new
	"message_item".) changed command name tracking to a responsibility of
	individual output drivers, and converted the output drivers to do it.
	However, the conversion of the cairo driver was incomplete.  This commit
	fixes that problem.

	Reported by John Darrington.

2013-01-12  John Darrington  <john@darrington.wattle.id.au>

	Gnumeric Reader: Set dictionary to NULL on error

2013-01-12  John Darrington  <john@darrington.wattle.id.au>

	Simplify creation of pango layout in xr driver.
	Create the layouts with pango_cairo_create_layout instead of
	pango_layout_new.  This seems simpler and avoids a kludge.

	Reviewed-By: Ben Pfaff

2013-01-09  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Better describe the meaning of THRU in the RECODE command.
	pohaku <pg@hawaii.edu> reported that the description was ambiguous.

	doc: Improve formatting of RECODE command description.

2013-01-06  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2013-01-06  John Darrington  <john@darrington.wattle.id.au>

	Fixed a bug reading gnumeric files.
	Some gnumeric files use <gnm:Name> tags for miscellaneous purposes.  Our code
	had always assumed that it represented the name of the Sheet.  Hence these files
	would read the wrong sheet of a workbook.  This change fixes it.  Closes 38028

	GET DATA: Produce explicit error on invalid sheet index.

	GET DATA: Add error message on incorrect syntax
	Previously, when an incorrect syntax reading a spreadsheet file was used, the procedure
	would silently fail.  Now it fails with an error message.

2013-01-05  John Darrington  <john@darrington.wattle.id.au>

	Gnumeric reader: Avoid potential crash reading invalid gnumeric files

2013-01-03  Ben Pfaff  <blp@cs.stanford.edu>

	identifier: Broaden the class of characters allowed in identifiers.
	It appears that SPSS allows almost any Unicode character in an identifier,
	and particular U+00B4 ACUTE ACCENT.  This commit adds more permitted
	characters to the identifier checks.

	Reported by Helen Barghan <kenny4president@web.de>.

2013-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Fix dependency on current year in tests.
	The tests for expressions broke on Jan 1, 2013 because the default epoch
	depends on the current year.  This commit fixes the tests by setting a
	fixed epoch for dates.

	Reported by John Darrington.

2013-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Remove 'aux' member from struct variable.

	perl-module: Drop use of variable aux data.
	The variable aux data interfaces are not very clean, and furthermore
	they have few users.  This commit eliminates the last user.

	perl-module: Put struct dictionary inside a wrapper "struct pspp_dict".
	In an upcoming commit this will allow an extra member to be associated
	with the Perl version of each dictionary.

	perl-module: Rename sysfile_info to syswriter_info.
	This module had sysfile_info and sysreader_info.  The former was a writer,
	the latter a reader.  I found the asymmetric names a little confusing, so
	this commit renames them more consistently.

	case-map: Drop use of variable aux data.
	The variable aux data interfaces are not very clean, and furthermore
	they have few users.  This commit eliminates one of the users.

	CROSSTABS: Drop use of variable aux data.
	The variable aux data interfaces are not very clean, and furthermore
	they have few users.  This commit eliminates one of the users.

	hmap: New interfaces for iterating a bucket without comparing hashes.

2013-01-01  John Darrington  <john@darrington.wattle.id.au>

	Update tests to reflect change in EXAMINE / EXTREME behaviour.
	Commit bd156adaff5b7c1bbe48b5c64006ead58d9a37d6 slightly changed the
	behaviour of the EXTREME subcommand of the EXAMINE procedure, but the
	tests did not reflect this.

	This change updates the tests accordingly.  Thanks to Zoltan Fabian
	for confirming which was the correct behaviour.

2013-01-01  John Darrington  <john@darrington.wattle.id.au>

	Fix bug #37984 - EXAMINE extremes vs. fractional weights.
	There was a bug where extreme values were not calculated properly when
	weights were fractional.  This change fixes this problem and adds a
	test.

2012-12-31  John Darrington  <john@darrington.wattle.id.au>

	Remove assertions which compare the sum of weights between passes.
	These asserted that the sum of case-weights of a dataset calculated
	in one pass, was the same as that calculated in a second pass.
	Algebraically this is correct.  However, for optimisation purposes,
	it is sometimes desireable that the second pass occurs after the
	data has been reordered.   If that happens, the sum of weights can
	be slightly different due to floating point rounding errors.  This
	happens particularly when the caseweights are fractional.

2012-12-29  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2012-12-27  Ben Pfaff  <blp@cs.stanford.edu>

	csv-file-writer: Fix implementation of decimal point option.
	Now that pspp sets LC_NUMERIC, dtoastr() might yield either '.' or ',' as
	the decimal point, so the CSV writer needs to check for either one and
	replace it by the decimal point requested by the caller.

	Reported by John Darrington.

2012-12-27  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: New functions for UTF-8 case conversion.
	Also, use the new functions in a few cases where we want a full UTF-8
	conversion.

2012-12-27  Ben Pfaff  <blp@cs.stanford.edu>

	Use UTF-8 case-insensitive hashes and comparisons for language identifiers.
	The PSPP language has case-insensitive identifiers (variable names, etc.)
	but until now it has only implemented case insensitivity for ASCII
	characters.  This commit properly implements case insensitivity for all
	Unicode characters, using libunistring.

	Bug #31072.

2012-12-27  Ben Pfaff  <blp@cs.stanford.edu>

	Use "C" locale comparisons for language constructs.
	These language constructs are ASCII so there's no need for a
	locale-independent comparison and it seems to me that one would not make
	sense in edge cases.

2012-12-26  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash parsing NPAR CHISQUARE

	Set the LC_NUMERIC locale category on startup.
	Previously, for rather unsatisfactory reasons, pspp and psppire set all locale
	categories except LC_NUMERIC.  The reasons for doing this have now been
	resolved.  So this change sets all locale categories including LC_NUMERIC.

2012-12-25  John Darrington  <john@darrington.wattle.id.au>

	select cases dialog: Fix syntax generation issues when in non C locales

	Aggregate dialog: Fix locale dependent syntax generation

	Oneway dialog: Fix locale dependent syntax generation issues

	T-TEST dialogs: Fixe locale dependent issues

	Chi-Square Dialog: Fix locale dependent issues

	Count Dialog and Recode Dialog: Make syntax generation locale independent

	Binomial Dialog: Make syntax generation locale independent

	Frequencies Dialog: Make the syntax generator locale independent

2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>

	PRINT: Support ENCODING subcommand.
	Bug #35825.

	placement-parser: New public function parse_column().
	This will acquire a new user in an upcoming commit.

	placement-parser: Don't allow "/" as a FORTRAN input format.
	DATA LIST allows / to appear inside FORTRAN format specifications but PRINT
	does not, so disallow it here.

	u8-line: Add new u8_line_set_length() function.
	The other functions in the u8-line library come directly from the ASCII
	output driver.  This function is new, so I broke it into this separate
	commit to emphasize that.

	u8-line: Factor out new library for composing lines of text in UTF-8.
	This code from the ASCII driver will also be useful for the PRINT command
	in an upcoming commit.

	AUTORECODE: Fix incorrect #include.

2012-12-24  John Darrington  <john@darrington.wattle.id.au>

	Replace dtoastr with c_dtoastr where appropriate

	New wrapper function c_dtoastr.
	This function wraps dtoastr (from gnulib) replacing the first occurance of
	, by .   Thanks to Ben Pfaff for this suggested implementation.

2012-12-23  John Darrington  <john@darrington.wattle.id.au>

	Factor dialog: use locale independent syntax generator

	Autorecode: use locale independent printf function

	Logistic Regression GUI: make locale independent.
	The syntax generator for the logistic regression dialog generated commas instead of dots
	under some locales.  This change fixes that.

	syntax-gen.c (syntax_gen_pspp_valist): Add new %g directive

	psppire-var-view.c: New function psppire_var_view_append_names_str

	str.c: New functions ds_put_c_vformat and ds_put_c_format
	Added a new printf-like functions which are locale independent.
	Added this new function, and changed syntax_gen_pspp_valist to use it.
	Rationale: syntax generation should never be locale dependent.

2012-12-22  Ben Pfaff  <blp@cs.stanford.edu>

	glade: Add #include <config.h>.
	I have found that this is necessary with the latest update to Gnulib to
	make the glade code compile without errors.

2012-12-22  Ben Pfaff  <blp@cs.stanford.edu>

	UPDATE: Do not update from missing values in transaction files.
	The documentation said that missing and all-spaces values in transaction
	files did not update the master file, but the implementation was wrong.

	Reported by Kees Varekamp <kees@mroffice.org>.

2012-12-22  Ben Pfaff  <blp@cs.stanford.edu>

	combine-files: Break apart apply_file_case_and_advance().
	An upcoming patch will sometimes need to do something different from
	apply_case() before advancing.

	value: New function value_is_spaces().

2012-12-19  John Darrington  <john@darrington.wattle.id.au>

	Update Gnulib hash

	PsppireOutputWindow (create_xr_print_driver) fix LC_NUMERIC issues.
	This function used *printf with a %f directive, which  under certain
	locales would have generated a string like "270,00x210,00mm" which the
	print driver would have rejected.
	This change uses the newly available c_xasprintf function from gnulib
	to alleviate this problem.

	Replaced sprintf with c_snprintf where appropriate

2012-12-18  John Darrington  <john@darrington.wattle.id.au>

	Updated the German translation from http://translationproject.org

2012-12-03  John Darrington  <john@darrington.wattle.id.au>

	Replaced strtod with c_strtod where appropriate
	Should LC_NUMERIC ever get set, this will become important.

2012-12-01  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2012-12-01  John Darrington  <john@darrington.wattle.id.au>

	Converted crosstabs-dialog to the new way of doing things

2012-11-30  John Darrington  <john@darrington.wattle.id.au>

	measure.c: Use c_strtod instead of strtod
	Since the input to these function come from hard coded strings, it is not appropriate
	to interpret them in a locale dependent manner.

	data-out.c: Added assertion to avoid out of bounds memory access
	This could (has!) happened if the locale is not correctly set

2012-11-26  Ben Pfaff  <blp@cs.stanford.edu>

	SHOW: Add JOURNAL subcommand.
	Bug #35665.
	Requested by Harry Thijssen.

	histogram: Add missing #include.
	Commit 02b9b37698eb "Disable asserts in histogram code except in
	--testing-mode" added a use of settings_get_testing_mode() but didn't
	include the proper header.  This fixes the problem.

2012-11-26  John Darrington  <john@darrington.wattle.id.au>

	Disable asserts in histogram code except in --testing-mode
	The assertions in histogram.c are algebraically correct,
	but due to floating point errors may not actually be true.
	This change disables them except when in testing mode.
	The tests in charts.at rely upon them being enabled.
	Closes bug #36395

2012-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: Make Z score calculation honor SPLIT FILE.
	Until now, DESCRIPTIVES has not supported SPLIT FILE in Z score
	calculations.  That is, Z scores have been calculated on the basis of a
	single group for the entire file, which doesn't make any sense.  This
	commit properly implements Z score calculation on a per-split group basis.

	Bug #16351.

2012-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add tests to cover corner cases in DATESUM, DATEDIFF.
	These corner cases weren't covered by previous tests.

	Bug #30708.
	Reported by Daniel E WILLIAMS <Daniel.E.Williams@state.or.us>.

2012-11-25  Ben Pfaff  <blp@cs.stanford.edu>

	Remove feature to automatically connect to GDB when debugging is enabled.
	This feature caused a few problems in "make check" on some distributions
	when debugging was enabled at compile time.  It is probably possible to
	find and fix those particular problems, but the feature itself is
	little-used, so this commit instead removes it.

	Bug #37444.
	Reported by Mindaugas.

2012-11-25  John Darrington  <john@darrington.wattle.id.au>

	file handle properties: Make encoding member const
	This member is never modified.  So declare it as const.  This way it
	can be initialised from a static string.

2012-11-24  John Darrington  <john@darrington.wattle.id.au>

	Aggregate Dialog: use global callback

	Runs Dialog: use global callback instead of a private one

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-window: Only allow saving a file with at least one variable.
	A data file with no variables can't be saved to a file.  Until now, this
	wasn't detected until the user had already chosen a file name, and the
	message used to report it was confusing: "SAVE is allowed only after the
	active file has been defined."  With this commit, the menu item and toolbar
	item for save operations is, instead, disabled if the file has no
	variables.

	Bug #30700.
	Reported by eric thivant, via Harry Thijssen, with help from Michel
	Boaventura.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	DATA LIST: Accept freefield format types without widths use minimum width.
	A user reported that SPSS accepts syntax such as "DATA LIST FREE/
	d (DATETIME)." using a default width for the field with no specified width.
	This commit makes PSPP accept this syntax too, although it does not get
	the width exactly right (please let me know if you figure out how to do
	that).

	Bug #30690.
	Reported by Andreas Lappe.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	format-parser: Improve error message when format specifier lacks width.
	Until now, parse_format_specifier() was willing to parse, e.g. "datetime"
	as a format specifier.  It would then be rejected later by e.g.
	fmt_check_input() with a message like "Input format DATETIME0.0 specifies
	width 0, but DATETIME requires a width between 17 and 40," which makes no
	sense to the user.  This commit improves the error message.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	data-parser: Use data-file error types for data-file errors.
	The SW error type that these calls to msg() used before this command
	include the name of the executing command in the error message.  This can
	be confusing because the executing command may not have any connection to
	the command that said to read the data file.  This commit changes these
	error types to DW, which is intended for errors in a data file (and omits
	the command name).

	Bug #26517.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	INPUT PROGRAM: Don't break out of INPUT PROGRAM on interactive error.
	Until now, any erroneous command typed within an input program at an
	interactive command prompt implicitly "broke out" of the input program,
	causing confusing behavior.  This commit fixes the problem: commands
	following an erroneous command within INPUT PROGRAM continue to be part of
	the input program.

	Bug #33419.
	Reported by John Darrington.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	DATA LIST FREE: Warn when a quoted string is not followed by a delimiter.
	A field parsed by DATA LIST FREE (or LIST) is either quoted or unquoted.
	When it is quoted, this means that the entire field has to be quoted, that
	is, it is not possible to quote some initial part of the field, then leave
	some part of it unquoted (then possibly quote an additional part, etc.).
	That means that the quoted portion should be followed by a delimiter,
	such as white space, a comma, or end of line, but PSPP didn't warn when
	it was not.  This commit makes PSPP warn in this situation, which makes
	errors in the input easier to find.

	Bug #26522.
	Reported by Pascal Barbedor <pbarbedor@gmail.com>.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	output: Make default output file name depend on the format.
	Before this commit, "-O html" caused HTML output to be written to a file
	named "-", which is confusing.  After this commit, it is written to a file
	named "pspp.html".  Similarly for other output drivers, except that text
	and CSV output are still written to stdout by default.

	Bug #35030.
	Reported by John Darrington.

2012-11-24  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Use FORMAT setting to control output format.
	Reported by Daniel Harper.

2012-11-24  John Darrington  <john@darrington.wattle.id.au>

	Frequencies dialog: Convert to new system

	Fixed bug in NPAR BINOMIAL
	This bug would crash when an incorrect syntax was encountered.

2012-11-23  John Darrington  <john@darrington.wattle.id.au>

	Binomial test dialog:  Convert to new style of action objects.

	Fix compiler warning

	Refactoring: common function set_sensitivity from toggle
	Many dialog boxes have a signal handler to set the sensitivity
	of a widget, according to the state of a toggle button.  Until
	now, they had all written their own.

	Merge remote branch 'origin/master' into psppsheet

	Logistic Regression: Ignore cases with missing dependent variables.
	Prior to this change, cases with missing values in the predictor
	variables were ignored, but cases with missing values only in the
	dependent variable would provoke an error.  Subsequent to this change
	such cases are also ignored.  This seems to be the behaviour of other
	software, despite what their documentation may suggest.

2012-11-22  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression: Added options dialog box

	Logistic Regression: Added a test to check the confidence interval display

	Logistic Regression: Fix bug where some confidence intervals were not reported.

2012-11-21  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression: Calculate the logs of the likelihood instead of the raw value.
	The likelihood values can become extremely large which can result in
	lost precision in a double.  This change therefore calculates the
	logarithms of the likelihoods instead of their actual value.

	Logistic Regression Dialog: Added missing shortcut target.

	Changed the labels of the Regression menu to keep them shorter.

2012-11-20  John Darrington  <john@darrington.wattle.id.au>

	Added rudimentary version of the Logistic Regression Dialog

	Analyze Menu: New submenu for Regression
	Move the Linear Regression menuitem into a new submenu Regression.
	This is in preparation for a new menuitem for Logistic Regression

	Fix (again) problems displaying a GtkSourceView widget on Cygwin
	Under certain compiler options, the effect of the gtk_*get_type
	function call was optimised away.  This change fixes that.  It
	seems that both static and volatile are necessary, in order to
	avoid the compiler from complaining and/or optimising the call
	away.

	Logistic Regression: Optimise the classification calculations.
	Instead of calculating the logit of the prediction for each case,
	pre-calculate the inverse logit of the threshold before the process
	starts.  This should give a small performance gain..

2012-11-19  John Darrington  <john@darrington.wattle.id.au>

	Fixed Texinfo problems which arise under Texinfo 4.13.90

	Logistic Regression: Added the Classification Table
	Added a table to logistic regression to show how the predicted values
	would be classified by the calculated coefficients.

	logistic.c: minor refactoring

	Fix possible memory corruption when creating dialogs with selectors.
	The PsppireSelector widget's class structure contains a map of selectors
	indexed by the source widget with which they are associated.  Until now, that
	map was never depopulated.   This could have caused problems if newly created
	widgets happened to use the same address as old, destroyed ones.  This change
	removes selectors from the map upon destruction.

2012-11-14  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression: Handle missing categoricals
	Ensure that missing values on categorical predictors are handled properly.

	Logistic Regression: Fix crash if categorical variable has no distinct values

2012-11-13  John Darrington  <john@darrington.wattle.id.au>

	Remove empty _finalize function

	Find dialog: Don't crash when searching for a non-existant label.

	Small refactoring and cleanup of psppire-selector.c
	Made explicit variables from some expressions.  This provides
	the opportinutiy to test if they are valid.

	Remove _base_init and base_finalize functions from psppire-selector
	Gtk+ documentation recommends these are avoided in modern code.
	They differ only from class_init in the case where the class has subclasses,
	which PsppireSelector does not.

2012-11-12  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2012-11-11  John Darrington  <john@darrington.wattle.id.au>

	Logistic Regression: Added categorical variable support
	With this commit Logistic Regression now supports the /CATEGORICALS
	subcommand, allowing a dependent variable to be regressed against one
	or more categorical predictor variables.

2012-11-10  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Make Home and End go to left and right of sheet.
	Requested by rocko mazuki <rockorocko@gmail.com>.

	pspp-sheet-view: Enable Home and End in sheet.
	However, they go to the top and bottom.

	pspp-sheet-view: Refactor pspp_sheet_view_event().
	This form seems easier to extend to new key combinations that include
	Cnotrol or Shift or Alt.

2012-11-08  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Rename psppire_data_sheet_show_variable().
	psppire_data_sheet_goto_variable() is a more accurate name for the revised
	behavior of this function.

2012-11-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Set cursor on row in psppire_data_sheet_show_variable().
	psppire_data_sheet_show_variable() only ensured that the variable in
	question was visible in the data sheet.  This commit makes it also put
	the cursor on the variable's column.  This affects the function's two
	callers: the Find Dialog now selects a cell instead of an entire row,
	and double-clicking a row number in the variable sheet now does likewise.

	This solves a problem reported by John Darrington, who reported that
	double-clicking on a row number in the variable sheet did not change
	the selected cell but only switched to the data sheet.

2012-11-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-button-editable: Fix infinite recursion in button-release-event.
	"release" and "button-release-event" are different.  Before commit
	8f843c3a5e905c (Avoid deprecated function: gtk_button_released),
	psppire_button_editable_button_release() invoked the former.  That commit
	changed it to invoke the latter, which is the same signal that the
	function itself implements, hence causing infinite recursion.  This commit
	changes it to invoke the former.

	Without this commit, the following instructions reliably crash for me:

	1. Load a data file, click over to variables tab.
	2. Click on a ... button in the Type column.
	3. Click on Cancel button in Type dialog.
	4. Click on the same ... button as before.

	With this commit, those instructions don't crash (the Type dialog pops
	back up after step 4, as it should).

	Reported by John Darrington.

2012-11-08  John Darrington  <john@darrington.wattle.id.au>

	Categoricals.c: Ensure that categories are processed order of their categorical variable(s).
	Some procedures require that categoricals are processed in a particular order.
	Mathematically, the order is irrelevant, however for reporting purposes it is
	sometimes required.  This change adds a level of indirection, so that the codes
	are allocated in ascending order of the categorical variable.

2012-11-06  John Darrington  <john@darrington.wattle.id.au>

	Categoricals: Provide separate functions for effects and dummy coding.
	Until now, the function categoricals_get_code_for_case returned the
	"effects" coding (ie, a bipolar code).  Some uses require "dummy" coding
	(a binary coding).  This change provides seperate functions to return
	whatever is desired.

	Conflicts:

		src/language/stats/logistic.c

2012-11-04  John Darrington  <john@darrington.wattle.id.au>

	Fixed some compiler warnings, which arose from recent commits.

2012-11-03  John Darrington  <john@darrington.wattle.id.au>

	Added mnemonics to rank types dialog

2012-11-02  John Darrington  <john@darrington.wattle.id.au>

	Added markup to GUI elements where necessary

	Fix bug in parse_design_interaction.
	Previously this function would crash if it failed to succesfully parse
	an interaction. This change fixes that.

	Categoricals: Accept null pointer as subject.
	Previously, certain functions would crash, or behave badly if their
	argument was NULL.  This change makes them do nothing, or return
	default values, as appropriate.  This saves callers having to always
	test for NULL.

	cateoricals.c categoricals.h clean up.
	Removed a prototype whose implementation no longer exists.
	Added a few comments.
	Whitespace changes.

2012-11-01  John Darrington  <john@darrington.wattle.id.au>

	Added mnemonic to t-test options dialog

	Added Mnemonics to the value chooser widget and to the recode dialog.

2012-10-31  John Darrington  <john@darrington.wattle.id.au>

	Added markup to the spilt-file dialog

2012-10-30  John Darrington  <john@darrington.wattle.id.au>

	Compute Dialog: Add mnemonics and focus widgets on activation.

2012-10-29  John Darrington  <john@darrington.wattle.id.au>

	logistic.c: Fix read from uninitialised memory.
	Found-by valgrind.

2012-10-28  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Fix warning using arrow keys to navigate column buttons.
	Before this commit, clicking on a column head button in the data sheet,
	then holding down the right arrow key until the data sheet began to scroll
	right would often produce a warning of the form:

	** (psppire:16451): WARNING **: Internal button not found

	because nothing caused the underlying GtkButton to be instantiated in this
	scenario.  This commit fixes the problem.

2012-10-28  Ben Pfaff  <blp@cs.stanford.edu>

	Merge 'master' into 'psppsheet'.

2012-10-28  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Make Shift+Tab select only one cell when switching rows.
	Before this commit, Shift+Tab at the start of a row in the data sheet would
	select both the new cell and the cell below it.  After this commit, only
	the new cell is selected, as one would expect.

	Reported by John Darrington.

2012-10-28  John Darrington  <john@darrington.wattle.id.au>

	Move function parse_design_interaction into variable-parser.c
	This function is (or will be) used by several procedures, so
	make it public.

	glm.c: (lex_match_variable and parse_design_interaction) remove dependence on struct glm
	Made these functions independent of struct glm, so that they can potentially be reused
	for other procedures.

2012-10-27  John Darrington  <john@darrington.wattle.id.au>

	Anova Dialog: Fix widget associations

2012-10-26  John Darrington  <john@darrington.wattle.id.au>

	logistic.c  : Avoid compiler warnings

	GUI: Added Mnemonic keys to Examine dialog

2012-10-24  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Make Tab, Shift+Tab skip row head and new-var columns in data sheet.
	Before this commit, Tab and Shift+Tab acted just like Left and Right in
	the data sheet, that is, they visit every column except the row head
	column and always stay on the same row.  After this commit, Tab and
	Shift+Tab skip the row head and new-variable columns.  Also, Tab at the
	end of a row goes to the beginning of the next row, and Shift+Tab at the
	beginning of a row goes to the end of the previous row.

	Suggested by John Darrington.

2012-10-24  John Darrington  <john@darrington.wattle.id.au>

	First attempt at a LOGISTIC REGRESSION command

2012-10-18  John Darrington  <john@darrington.wattle.id.au>

	Updated my entry in AUTHORS

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Implement Edit|Paste.
	This missing feature was reported by John Darrington.

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Implement Edit|Cut.
	I overlooked this earlier.

	Reported by John Darrington.

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Make clicking on Variables column select all data.
	This does what users expect in the variable sheet.

	Reported by John Darrington.

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-sheet: Make clicking on Cases column select all data.
	This does what users expect in the data sheet.

	Reported by John Darrington.

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view-column: Make clicking on a row head column select all data.
	This is what users typically expect: clicking on the upper-left of a
	spreadsheet selects all of the cells in the spreadsheet.

	psppire-data-sheet: Use specific functions instead of g_object_set().
	Using particular functions seems less error-prone, since it avoids the
	possibility of misspelling a property name or getting their values' types
	wrong.

2012-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view-column: Be consistent about use of !! for booleans.
	When "x = !!x;" is used, there's no need to use "x?TRUE:FALSE" later,
	since one knows that the value is already 0 or 1, but some code did this
	anyway.

	This is a cleanup only that should not change behavior.

2012-10-13  John Darrington  <john@darrington.wattle.id.au>

	doc/introduction.texi: Update documentations introductory section

	doc/automake.mk: Added a convenience rule for building all the documentation formats

	doc/automake.mk: Replace lines inadvertently removed by previous commit

	doc/automake.mk: Added further mutations to docbook xml to workaround makeinfo bugs

	doc/automake.mk: New mutations to generated docbook xml to workaround makeinfo bugs

2012-10-08  John Darrington  <john@darrington.wattle.id.au>

	Fix bug where, after double-clicking to switch sheet view, a spurious release event was processed.
	From http://developer.gnome.org/gdk/2.24/gdk-Event-Structures.html#GdkEventButton

	  Double and triple-clicks result in a sequence of events being received. For
	  double-clicks the order of events will be:

	   1.  GDK_BUTTON_PRESS
	   2.  GDK_BUTTON_RELEASE
	   3.  GDK_BUTTON_PRESS
	   4.  GDK_2BUTTON_PRESS
	   5.  GDK_BUTTON_RELEASE

	So what was happening was this:  When the var-name was double-clicked, the view switched
	from VarView to DataView as soon as  event 4 (GDK_2BUTTON_PRESS) occured.  Then event 5
	(GDK_BUTTON_RELEASE) occured.

	Now the PsppSheetView object is written such that, it decides to edit a cell, on button
	release event. Hence, whichever cell the pointer happended to be in, when the user lifts
	his finger after double clicking, starts to be edited.

	This change ignores button release events on the object unless a corresponding button press
	event was seen.

2012-10-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-editor: Keep value labels setting across Windows|Split.
	Before this commit, Windows|Split always turned off displaying value
	labels in data sheet cells.  This commit causes this setting to be
	preserved across Windows|Split.

2012-10-08  John Darrington  <john@darrington.wattle.id.au>

	Avoid deprecated function: gtk_button_released

2012-10-04  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Increase pango minimum version from 1.20 to 1.22
	Commit bd4d6e7453 (cairo: Avoid deprecated
	pango_cairo_font_map_create_context().) added a dependency on pango
	version 1.22 or later, but configure.ac only checked for version 1.20
	or later.  This commit fixes the discrepancy.

	INSTALL already documented that Pango 1.22 or later was needed.

	Reported by John Darrington.

2012-09-30  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Better isolate search text in test of error reporting.
	Some GNU/Linux distributions print additional text on a segfault,
	e.g. "Cannot exec debugger: No such file or directory", which this
	test was seeing in output and interpreting as a failed test.  This
	commit fixes the problem by ignoring text up to the ***** line that
	marks the start of the expected output.

	Bug #37444.
	Reported by Mindaugus.

2012-09-30  Ben Pfaff  <blp@cs.stanford.edu>

	Remove variable assigned to but never used.
	Found by GCC 4.7.

	Merge 'master' into 'psppsheet'.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	Suppress GCC 4.7 warnings by changes to code that make it less clear.
	I'm not entirely happy with these changes, because they make the code
	slightly less obvious.  However, it's still not really bad code, and
	it's convenient to have a warning-free build.

	Suppress GCC 4.7 warnings due to unimplemented features.
	GCC 4.7 complains that the variables removed by this commit are
	assigned values that are not used.  Fair enough, so this commit
	removes them.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	gnumeric-reader: Add cast to suppress warning.
	This suppresses a GCC warning for a mismatch between
	xmlInputCloseCallback, which takes a "void *" parameter, and
	gzclose(), which takes a "gzFile" (which is "struct gzFile_s *").

	This came up with an upgrade from "squeeze" to "wheezy".  I assume
	that a gzclose prototype became visible or that gzFile changed away
	from "void *".

	An alternative would be to write a trampoline to just transform one
	pointer type to the other, but the xmlReaderForIO() invocation
	already has one function cast so a second cast doesn't make it much
	worse.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	split-file-dialog: Add use of unused variable in split_file_dialog().
	'selector' was assigned but never used, but here's a use.

	Reported by GCC 4.7.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	Suppress warnings for suspicious use of "enum" constants.
	In each case, the code is using values of enums in valid ways that
	GCC 4.7 does not expect, so use a cast to suppress the warnings.

	gui: Check return value of gtk_tree_model_get_iter().
	In these two cases the return value was assigned to a variable but
	never used.  This commit adds a check for the return value.

	cairo: Avoid deprecated pango_cairo_font_map_create_context().
	Pango 1.30 that is in Debian "wheezy" has marked this function as
	deprecated.  The replacement pango_font_map_create_context() was
	introduced in Pango 1.22, which was also in Debian "squeeze" (which
	had Pango 1.28), so it seems safe to switch without worrying about
	a Pango version check.

	Remove unused "finalize" functions.
	A finalize function that just calls into the parent class finalize
	function is a no-op that need not exist.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	Remove variables assigned to but never used.
	Each of the variables removed here was assigned a value that was
	never used, the assignment didn't have any useful side effects, and
	I don't see anything that the variable should have been used for.

	Found by GCC 4.7.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	EXAMINE: Avoid useless call to casereader_count_cases().
	The return value is never used, and this call could have significant
	expense (it could cause the data to be read an extra time), so do not
	do it.

	Reported by GCC 4.7.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Fix bug in check for REPORT in general mode.
	Found by GCC 4.7.

2012-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Fix coercion of numbers to booleans at top level.
	The check for the expected type in type_check() used the wrong
	constant (a node type instead of an expression type) and so the
	"if" test was never true.  Also, OP_NUM_TO_BOOLEAN is binary, not
	unary, so fixing just the test caused an assertion failure.

	This commit fixes both problems and adds a test.

	Found by GCC 4.7 report of a type mismatch.

2012-09-20  John Darrington  <john@darrington.wattle.id.au>

	gtk.h wrapper: Added *_set_realized and set_mapped
	We are using these functions, but they are not defined for older gtk versions.

	src/data/data-out.c: Added assertion to catch negative values
	If the contents of string does not contain a '.', then integer_digits
	will end up negative, thus causing a crash later.  This change adds
	an assertion to catch this condition and thus make the diagnosis easier
	should it ever occur.

2012-09-12  John Darrington  <john@darrington.wattle.id.au>

	Added keybindings to move to the extremities of the sheet.
	Altered the Home key to move far left instead of up.
	Added Ctrl Left/Right/Up/Down to move to the far edges of the
	sheet.

	This behaviour is consistent with other software.

2012-09-12  John Darrington  <john@darrington.wattle.id.au>

	Perl Module: Avoid forcing scalar value into a pointer.
	The code fragment:  struct dictionary *dict = (void *) SvIV (dict_sv);
	is dangerous.  This fix uses the properl Perl XS mechanism to get
	the pointer and the scalar associated with the dictionary.

	Reviewed-By: Ben Pfaff

2012-09-02  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-cell-renderer: Fix behavior of repeated clicks on a button.
	I'm not sure why I thought this code was necessary.  Removing it
	fixes the problem, which John Darrington reported as:

	1. Create or load a dataset with one or more variables.
	2. Switch to the variable sheet.
	3. Click on one of the in-cell buttons (for example) Value Labels.
	4. After the dialog box appears, cancel it with the cancel button.
	5. The dialog closes, and the button which invoked it, now has the
	focus.  However clicking on that button again refuses to bring the
	dialog back.  One has to move off the button and onto the cell
	background.

2012-09-02  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Allow adjusting width of string variables.
	John Darrington pointed out that the "width" column in the variable
	sheet didn't allow the width to be modified with a spin button for
	string variables, as it did for numeric variables.  This commit
	fixes the problem.

	The reordering in on_var_column_edited() is necessary because the
	print format of a string variable can't be changed to a different
	width before changing the variable's width.  (The change from
	var_set_print_format() to var_set_both_formats() is not
	necessary.  It is for consistency with changing variable type and
	format via the var-type-dialog.)

2012-08-25  John Darrington  <john@darrington.wattle.id.au>

	var-type-dialog: Adjust packing parameters

	Merge branch 'master' into psppsheet

	Update widgets.c from psppsheet branch

2012-08-21  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in sys-file-reader.c

2012-08-20  John Darrington  <john@darrington.wattle.id.au>

	ref count the linreg structure so as to avoid double free problems

2012-08-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix setjmp() technicality.
	The C standards say that the compiler is allowed to optimize away
	changes to local variables within a function between a call to
	setjmp() and a later call to longjmp(), unless the local variables
	are volatile-qualified.

	The 'info' local variable in sfm_open_reader() fits this
	description but wasn't volatile-qualified.  This commit fixes that,
	even though my compiler didn't in fact seem to have a problem with
	the previous version.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix memory leak.
	The C standards say that the compiler is allowed to optimize away
	changes to local variables within a function between a call to
	setjmp() and a later call to longjmp(), unless the local variables
	are volatile-qualified.

	The 'dict' local variable in sfm_open_reader() fits this
	description but wasn't volatile-qualified.  GCC in fact optimized
	out the changes on my system, and this commit fixes that.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	widgets: Insert (void) cast in call, to suppress GCC warning.
	Otherwise GCC tells me that the call has no effect.

	widgets: #include missing header file.
	It didn't build for me otherwise.

	psppire-cell-renderer-button: Avoid use-after-free with popup dialog.
	When gtk_button_clicked() on a PsppireCellRendererButton causes a
	modal dialog to pop up, psppire_cell_renderer_button_initial_click()
	only returns from gtk_button_clicked() after the button has already
	been destroyed, which causes the g_object_steal_data() call to
	remove the IDLE_ID_STRING to access freed memory.  This commit fixes
	the problem by calling g_object_steal_data() before
	gtk_button_clicked().

	Merge 'master' into 'psppsheet'.

	missing-val-dialog: Convert to a GObject.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	missing-val-dialog: Avoid destroying uninitialized data.
	If text_to_value() fails for low_val, then this code would still
	destroy high_val, even though high_val hadn't been initialized,
	thus accessing indeterminate data.

	This also eliminates some redundancy in the code.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Rename var-sheet-dialogs.ui to missing-val-dialog.ui.
	The msising value dialog is the only dialog left in this UI file.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog: Add "acceptable" predicate.
	PsppireDialog already has a validity predicate that allows a dialog
	to easily disable "OK" and other buttons when the dialog has not
	yet been completely filled.  It should usually be obvious to the
	user why this is the case.

	The upcoming GObjectification of the missing value dialog calls for
	a different kind of predicate, one where the reason is not obvious
	to the user (typically because he has just made a typo or does not
	understand a variable's format).  In this case, the user needs more
	feedback, such as a message explaining the problem.

	This commit therefore introduces a second kind of predicate, the
	"accept" predicate.  This predicate is only checked when the user
	clicks on the "OK" button.

2012-08-19  Ben Pfaff  <blp@cs.stanford.edu>

	val-labs-dialog, var-type-dialog: Make these dialogs modal.
	I missed this in the initial conversion.

	val-labs-dialog: Remove unused 'window' member.

2012-08-18  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Remove unneeded #include from header.

	val-labs-dialog: Convert to a GObject.

	gui: Factor new text_to_value__() function out of text_to_value().
	I intend to use this in an upcoming commit.

	var-type-dialog: Fix memory leak.

2012-08-14  John Darrington  <john@darrington.wattle.id.au>

	Fixed memory leak in FACTOR

	Fix leaks in REGRESSION

	Fixed the remaining leaks in AUTORECODE

2012-08-13  John Darrington  <john@darrington.wattle.id.au>

	Fix leaks in MEANS command

2012-08-12  John Darrington  <john@darrington.wattle.id.au>

	fix some of the leaks in the AUTORECODE command

	Fixed remaining leaks in ONEWAY

	Fix memory leaks in ONEWAY command

2012-08-11  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Convert to a GObject.
	The one issue I can't figure out is why this changes the look of
	the dialog box so that its height is the total height of all of
	the widgets in the "middlebox", rather than the maximum height
	actually needed.

2012-08-10  John Darrington  <john@darrington.wattle.id.au>

	src/math/categoricals.c: Remove inappropriate const qualifier

2012-08-08  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Skip callback if new format is same as old format.
	Seems fairly worthwhile.

2012-08-05  John Darrington  <john@darrington.wattle.id.au>

	Fixed one of the leaks in MEANS

	Fix leaks in RELIABILITY command

2012-08-03  John Darrington  <john@darrington.wattle.id.au>

	Fixed leak in Chi-Squared test

	categoricals.c (struct payload): Rename destroy to calculate

	ONEWAY: call categoricals_done only once

	Make categoricals own its interactions

2012-08-02  John Darrington  <john@darrington.wattle.id.au>

	Fix leak in render-test

2012-08-01  John Darrington  <john@darrington.wattle.id.au>

	sys-file-reader.c: Fix leak in parse_mrsets

2012-07-31  Ben Pfaff  <blp@cs.stanford.edu>

	ods-reader: Fix ods_file_casereader_destroy() call in open function.
	zreader is a "struct zip_reader *" but ods_file_casereader_destroy()
	takes a "struct casereader *".  However ods_file_casereader_destroy()
	doesn't actually use that argument so we might as well pass NULL.

2012-07-31  John Darrington  <john@darrington.wattle.id.au>

	Fix leak in psppire-lex-reader.c

2012-07-30  Ben Pfaff  <blp@cs.stanford.edu>

	FACTOR: Fix warning about discarding const qualifier.

	var-type-dialog: Change entries to spin buttons, add validation.
	The GtkEntry boxes used for entering and displaying width and
	decimal places didn't do any validation that the width and decimal
	places were valid for the selected format type, so it was possible
	to enter values that couldn't actually be used.  This commit changes
	the GtkEntry boxes into GtkSpinButton widgets that, as a side
	effect, validate correct values through their attached
	GtkAdjustments.  This is not just safer but easier to use.

	var-type-dialog: Reduce redundancy further.
	set_format_from_treeview() and set_format_type_from_treeview() were
	mostly common code.

2012-07-30  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Reduce redundancy.
	var_type_dialog_set_state() and on_toggle_2() had considerable
	redundant code.  This reduces it by adding a new function
	on_active_button_change() that generalizes the two functions.  I
	also personally found the previous way of showing and hiding widgets
	to be hard to follow; I think that the bitmap approach used here
	is more straightforward.

	This also consolidates the two separate signal handlers for each
	button into one, and replaces the similar functions
	select_treeview_from_format() and select_treeview_from_format_type()
	by three functions find_format(), find_format_type(), and
	select_treeview_at_index() that total less code.

2012-07-30  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Properly adjust formats when switching buttons.
	The var-type-dialog based the default new format on the variable's
	existing format when a button was clicked, and attempted to adjust
	the width and decimals into valid range, but the adjustment wasn't
	always correct, so in some cases it could pick an invalid format.

	This commit uses fmt_fix_output() instead, which will always choose
	a valid output format.

2012-07-29  John Darrington  <john@darrington.wattle.id.au>

	Fixed a second ONEWAY leak

	Fix one of the leaks in ONEWAY

	Fix memory leak in Chisquare

	Fix memory leak in AGGREGATE command

	Fix memory leak in dictionary.c

	Fix leaks in ODS reader

2012-07-28  John Darrington  <john@darrington.wattle.id.au>

	Fixed a memory leak in sparse-xarray-test.c

	README.Git - Update the gnulib commit number to include memory leak fix

	Fixed some of the leaks in REGRESSION

	Fixed memory leaks in FACTOR

	Fix leak in u8-istream-test.c

	Fix typo in include-path.c which was causing memory leaks.

	Fix memory leak in encoding-guesser-test

	Fix memory leak in format-guesser-test.c

	Fix memory leak in datasheet-test.c

2012-07-27  John Darrington  <john@darrington.wattle.id.au>

	dict_clone: Fix memory leak.
	The encoding is already set in dict_create, so this assignment is
	redunant and leaks memory.

	Reviewed-by: Ben Pfaff.

2012-07-23  John Darrington  <john@darrington.wattle.id.au>

	datasehhet.c: Fix memory leak

2012-07-22  John Darrington  <john@darrington.wattle.id.au>

	scan-test.c: Fix memory leak

	Fixed memory leaks coming from file-handle-def.c

2012-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Use fmt_date_template() to reduce duplication.
	I believe that it should be possible to merge more code together
	later.

2012-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	format: Make fmt_date_template() human-friendly, respect field width.
	The strings that fmt_date_template() returned were almost but not
	quite the kind of strings that humans expect to see.  For one, they
	always used "yy", even though the code uses 4-digit years ("yyyy")
	when the field width is sufficient.  Similarly, they never included
	seconds (i.e. omitted ":SS").  Finally, FMT_MOYR had an "X" where
	one would expect a space.

	This commit corrects all of the above issues.  Future commits will
	make more use of fmt_date_template().

2012-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Use G_TYPE_INT to store an int.
	It seems more straightforward to store an int by value than by
	pointer.

2012-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Fix possible memory leaks.
	gtk_tree_model_get_value() documentation says:

	    When done with value, g_value_unset() needs to be called to free
	    any allocated memory.

	but none of the users in this file did that.

2012-07-17  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Avoid string copy setting up currency treeview.
	The return value of fmt_name() is perfectly suitable here.

2012-07-16  John Darrington  <john@darrington.wattle.id.au>

	Fixed leak in aggregate dialog

	PsppireWindow and PsppireDialog: Use correct the parent structures.
	This change makes the structure declarations agree with the class definition.

	Workaround runtime problem in cygwin

2012-07-15  John Darrington  <john@darrington.wattle.id.au>

	GET DATA: Fix memory leak

	Fix memory leak in odt driver

	Fix some of the memory leaks in MEANS

	DO REPEAT: Fix memory leak

2012-07-14  Ben Pfaff  <blp@cs.stanford.edu>

	text-data-import-dialog: Convert input lines to UTF-8 upon read.
	Otherwise we can try to display, e.g., ISO 8859-1 with Pango, which
	only supports UTF-8, and we get a Gtk-CRITICAL as a result.

	Reported by "Alain-F. Nizard" <Alain.Nizard@ac-creteil.fr>
	via Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

2012-07-14  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: Retry read upon EINTR.
	This seems unlikely to be a problem, since we're normally dealing
	with regular files, for which reads are uninterruptible, but it
	can't hurt.

2012-07-14  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug where psppire crashed after selecting custom currency type.
	Reviewed-by: Ben Pfaff

	Data file reader: Avoid crash after failing to open file

	cairo.c (apply_options): Fix potential memory leak
	This function may be called more than once.  So we need to deallocte the old values before
	creating new ones

2012-07-13  John Darrington  <john@darrington.wattle.id.au>

	Plug some memory leaks

	README: Remove sentance about being first release with a GUI
	This is no longer true.

	psppire-button-editable.c: Move dispose to finalize
	This function is releasing memory, so is inappropriate for dispose

	psppire-button-editable.c: Added stub for "editing-canceled" property
	We don't use this, but it avoids a GtkCritical saying that we haven't
	implemented it.

2012-07-12  Ben Pfaff  <blp@cs.stanford.edu>

	var-type-dialog: Move UI into separate .ui file.
	Putting the UI for a .c file into its own .ui file seems like a good
	practice.  It leads to fewer merge conflicts, for example.

	var-type-dialog: Avoid static variables.
	I guess these static variables were OK when there was only one
	datasheet and therefore only one dialog, but now there can be more
	than one of each.

2012-07-10  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-sheet: Refresh var sheet when variables change.
	Otherwise changes made through popup dialogs in the variable sheet
	don't necessarily show until the mouse moves across the row that
	changed.

	Reported by John Darrington.

2012-07-10  Ben Pfaff  <blp@cs.stanford.edu>

	Merge "master" into "psppsheet" to obtain bug fixes from "master".

2012-07-10  John Darrington  <john@darrington.wattle.id.au>

	PsppireVarStore: Fix memory leak

	PsppireDataEditor: No longer keep a reference to the data window.

2012-07-09  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-window-base: Avoid memory leak in get_window_id().
	g_object_get() returns a string copy, so the caller has to free it,
	but gtk_widget_get_name() gets the same string without a copy.

	Found by valgrind.

2012-07-09  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-window: Destroy dataset from finalize.
	One rule of thumb for "destroy" is that it should just unref
	GObjects.  This commit fixes that up for
	psppire_data_window_dispose().  Previously, this could not be done
	because of a reference leak in psppire_data_window_finish_init()
	that caused doing the dataset destroy in finalize to crash, but
	that problem was fixed in the previous commit.

	psppire-data-window: Avoid reference leak to PsppireDict.
	psppire_var_store_new() takes its own reference to PsppireDict so
	the original reference owned by psppire_data_window_finish_init()
	wasn't getting tracked anywhere.

2012-07-09  John Darrington  <john@darrington.wattle.id.au>

	Fixed memory leak in cairo driver.

2012-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-editor: Unref old data_window upon change.
	Otherwise there's a reference leak.

	Found by inspection; I haven't looked for clients that actually
	change the data window after setting it.

2012-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-window: Delete dataset when closing window.
	When the user closes the window it means that he wants to close the
	underlying dataset also.  Otherwise the dataset essentially leaks
	(in theory it's still there in the list of datasets but in practice
	that takes a DATASET ACTIVATE <name> WINDOW=FRONT command to show
	it).

	This also fixes a Gtk-CRITICAL and following crash in the following
	scenario brought up by John Darrington:
	1. Start psppire
	2. File | Open and load x.sav (dataset1)
	3. File | New | Data (a new data window will appear: dataset2)
	4. Using the window manager close the window for dataset1
	5. In dataset2:  File | Open and load x.sav

	I'm not 100% certain of the reason that this fixes it but I think
	that there's some lingering association between the dataset and the
	window that this change eliminates, by eliminating the dataset along
	with the window.

	The code added to psppire_data_window_dispose() in this commit
	should probably go in a "finalize" function instead but there seems
	to be a separate problem with references to PsppireVarSheet such
	that if this new code is in "finalize" then dataset_destroy() will
	call dict_clear() which will invoke the callbacks for PsppireDict
	which will try to access the destroyed window.  On the other hand,
	with this code in "dispose" the window isn't fully destroyed yet so
	while the same code path gets followed it isn't fatal.

2012-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-store: Chain up to correct parent method from "dispose".
	I'm pretty sure that "dispose" should not chain up to "finalize".

	Merge "master" into "psppsheet" to obtain bug fixes from "master".

2012-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dict: Make PsppireDict not own its "struct dictionary".
	I see two places where PsppireDict are created.  The first is in
	psppire-data-window.c.  In this case, the PsppireDataWindow is
	borrowing a dictionary owned by a "struct dataset" for use in its
	PsppireDict.  When it destroys the PsppireDict, therefore, the
	dictionary must not be destroyed because the dataset still owns it.
	However, this is not what actually happens, and doing the
	following:

	1. Start psppire
	2. File | Open and load x.sav (dataset1)
	3. File | New | Data (a new data window will appear: dataset2)
	4. Using the window manager close the window for dataset1
	5. In dataset2:  File | Open and load x.sav

	or similar will cause a use-after-free error.

	The second use is in text-data-import-dialog.c.  This code does own
	the struct dictionary, but it can simply free it itself at the same
	time as the PsppireDict.

	There is still some underlying issue with the above scenario,
	because it still reports a GtkCritical, but valgrind no longer
	reports a use-after-free error.

	Reported by John Darrington.

2012-07-08  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix Glib-GObject-WARNING when closing the active dataset.
	The DATASET CLOSE command, when it acts on the active dataset, just
	removes the active dataset's name, changing it to the empty string.
	(This is the documented behavior.)  However, the GUI relies on
	every dataset having a name, so this caused the following warning:

	GLib-GObject-WARNING **: value """" of type `gchararray' is invalid
	or out of range for property `id' of type `gchararray'

	This commit fixes the problem by giving any unnamed dataset a name
	after running syntax.

2012-07-08  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warnings

	PsppireDataEditor: Add comment emphasising lack of final unref of old_vbox_widget

	PsppSheetView unrealize: Call parent method before any other operation
	If this is not done, then gtk_widget_get_realized returns true, during
	the unrealize execution, leading to mutual recursion.

	Delete module customentry
	This is no longer used, so am removing it completely.

	PsppireDataWindow: Deal with ui_manager in dispose routine

	PsppSheetView resize handler:  Do nothing if the widget is not realized
	This seems to avoid the occasional GtkCritical that I get.

	Reduce the flicker when redrawing the toolbar and menubar.

	pspp-sheet-view.c: Separate destroy method into finalize and dispose.
	This still needs work to disentangle them completely, but I think this
	is an improvement.

	PsppireDataStore: Move datasheet_destroy from dispose to finalize
	This actually destroys stuff, not merely unreffing.  So it belongs in finalize.

	PsppireVarSheet: Keep reference to the return value of _get_ui_manager
	I changed the var_sheett to keep a reference to the uim object which it
	returns from the _get_ui_manager objects.  This avoids a problem where
	the object was getting its last reference unreffed by another object.

	PsppireVarSheet: Replace Destroy with Dispose
	Also, use a statically allocated array for signal handler ids, since
	it just complicates things to have a dynamically allocated one.

	PsppireCellRendererButton: Replace destroy with dispose
	The destroy method did nothing except drop references, so was
	appropriate for dispose.

	PsppireDataSheet: Reference handler improvements.
	Changed the destroy method to dispose, because all it does is drop
	references.  Also, keep a reference to the object returned by _get_ui_manager
	since this seems to be causing issues elsewhere.

2012-07-07  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-data-editor: Avoid ' modifier with g_string_append_printf().
	On Windows, g_string_append_printf() does not understand the '
	modifier, so use ds_put_format() instead, which does.

	Reported by John Darrington.

2012-07-07  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Slovenian translation from translationproject.org.

2012-07-06  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash in two sample npar tests with (paired)
	This change fixes a bug where an assertion would
	fire if a two sample npar test was given where
	a variable appeared twice in a variable list.

2012-07-05  John Darrington  <john@darrington.wattle.id.au>

	Documentation: correct punctuation and grammar

2012-07-03  John Darrington  <john@darrington.wattle.id.au>

	Use text_aa instead of solid black for sheet grid lines.
	Use the widget's text_aa graphics context instead of black_gc to give a softer
	appearance (and to ensure they are visible for themes which use black as their
	background).

2012-07-01  John Darrington  <john@darrington.wattle.id.au>

	New Slovenian localisation from  http://translationproject.org
	Updated po/sl.po from http://translationproject.org/latest/pspp/sl.po

2012-06-25  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-var-store: Remove.
	PsppireVarStore used to provide a model to allow GtkSheet to display
	a dictionary.  Now, it is just a superfluous wrapper for
	PsppireDict, so this commit removes it in favor of using PsppireDict
	directly.

	goto-case-dialog: Avoid gtk critical for invalid case number.
	I noticed this when Go To Case was invoked with an empty data
	sheet, in which case the default case number is the invalid case
	number 0.

2012-06-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Speed up initial file load with many columns
	This makes a huge difference in startup time when there are hundreds of
	columns, by setting up the data sheet before showing the window that
	contains it.

	Files opened from File|Open were already opened this way.  I was a little
	surprised that File|Open was so much faster than specifying a file on the
	command line until I figured out the difference.

2012-06-25  Ben Pfaff  <blp@cs.stanford.edu>

	gtk-contrib: Remove GtkSheet-derived PsppireSheet.
	This code is no longer used.

2012-06-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Redo var sheet, data sheet, text import with PsppSheetView.
	This commit replaces the existing variable and data sheets in the
	GUI by new ones based on PsppSheetView.

	Thanks to John Darrington and Michel Boaventura for helpful testing,
	bug reports and suggestions.

2012-06-20  John Darrington  <john@darrington.wattle.id.au>

	Readme.Git: Update gnulib SHA to include fixes for windows tempfile issues

2012-06-19  Ben Pfaff  <blp@cs.stanford.edu>

	text-data-import-dialog: Allow user to choose input encoding.
	Otherwise only automatically detected encodings can be used.

	Debian bug #676371.
	Reported-by: Gunther Furtado <gunfurtado@gmail.com>

2012-06-19  Ben Pfaff  <blp@cs.stanford.edu>

	Add ENCODING subcommand to several commands.
	I believe that this completes support for encodings for data input
	commands such as DATA LIST and GET DATA/TYPE=TXT.  Support is still
	incomplete for data output commands such as PRINT, which confuse
	byte offsets with character positions.

	Debian bug #676371.
	Reported-by: Gunther Furtado <gunfurtado@gmail.com>

2012-06-18  Ben Pfaff  <blp@cs.stanford.edu>

	line-reader: New library for reading a file line-by-line.
	This library reads a file line-by-line in an arbitrary 8-bit or wider
	encoding, without requiring the file to be recoded.  This will be used
	in an upcoming commit.

	PRINT SPACE: Fix missing fh_unref() on error path.
	The first "return" in this function failed to unref the handle.

2012-06-15  John Darrington  <john@darrington.wattle.id.au>

	ext-array.c: Ensure that fseek is called before switching between read and write.
	ANSI C requires that a file positioning function (eg seek) occurs before a switch
	from reading to writing a stream (or vici-versa).  We had not been doing this.
	This had caused problems which manifested themselves on Windows operating systems,
	by mysteriously failing to write the stream (and thus truncating the datafile).
	This change corrects this.

	Thanks to Harry Thijssen and Henry Gong for their very valuable assistance tracking
	down the cause of this problem.

	Reviewed-by: Ben Pfaff

2012-06-07  John Darrington  <john@darrington.wattle.id.au>

	CORRELATIONS: Fixed bug displaying non-sqaure correlation matrices
	When CORRELATIONS was run using the WITH keyword, the wrong index
	was calculated for the columns/rows - hence the program crashed.
	This change fixes that.

	Reported-by: Ebel Magnin

2012-06-02  John Darrington  <john@darrington.wattle.id.au>

	Extract the independent samples gui from  t-test.ui into its own file.
	This will benefit upcoming commits, since other (non t-test) guis are
	very similar.

2012-05-20  John Darrington  <john@darrington.wattle.id.au>

	Regression Dialog: Convert to PsppireDialogAction object

2012-05-19  John Darrington  <john@darrington.wattle.id.au>

	T-TEST Independent Samples Dialog: Converted to a PsppireDialogAction object

2012-05-14  John Darrington  <john@darrington.wattle.id.au>

	Add SET TVARS option. Closes bug #31566

2012-05-10  John Darrington  <john@darrington.wattle.id.au>

	Minor documentation formatting changes

2012-05-09  John Darrington  <john@darrington.wattle.id.au>

	HISTOGRAMS: Fix bin width problems on large numbers of bins

	Histograms: Rotate labels when there are lots of bins

	Move comment to correct function

2012-05-08  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Set LC_COLLATE locale category based on system locale.
	LC_COLLATE controls the sort order of file names in GTK+ file
	chooser dialog boxes, so we should set this locale category so as
	to honor the user's preferences.

	In the standard C library, only a few functions honor LC_COLLATE:
	strcoll, wcscoll, strxfm, and wcsxfrm.  PSPP doesn't use any of
	these functions, so this commit should not affect PSPP's use of
	standard library functions.

	The libunistring manual only mentions collation rules in the entries
	for a few functions: u8_strcoll, u16_strcoll, u32_strcoll,
	u8_normcoll, u16_normcoll, u32_normcoll, u8_casecoll, u16_casecoll
	u32_casecoll.  PSPP doesn't use any of those functions either.

	Reported by "ajk-eis" <ajk-eis@rvhome.de>.

2012-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Make lex_gtk_text_buffer_read() count bytes, not characters.
	The N parameter to lex_gtk_text_buffer_read() is a count of bytes,
	but the implementation treated it as characters.

	Also fixes a memory leak, since gtk_text_iter_get_text()'s caller
	is responsible for freeing the memory that it returns.

	Reported by Alle <ajk-eis@rvhome.de>.
	First investigated by John Darrington <john@darrington.wattle.id.au>.
	Reviewed by John Darrington <john@darrington.wattle.id.au>.

2012-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Check that 'read' function in lex_source returns valid value.
	A 'read' function may only read as many bytes as the size of the
	buffer passed into it, but the caller didn't check, which made an
	actual violation of this invariant hard to diagnose.

2012-05-05  John Darrington  <john@darrington.wattle.id.au>

	Frequencies.ui: Adjust widget packing properties.
	Reported-by: Mindaugas.

	frequencies.ui: Reformat using glade-3

2012-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Link PSPPIRE explicitly against gthread.
	Seems to be required on OpenSUSE.

	PSPPIRE does not make explicit use of threads, but it does use
	GTimer.  Thus, it calls g_thread_init() because of the following
	note in the documentation for GTimer:

	    GTimer uses a higher-quality clock when thread support is
	    available.  Therefore, calling g_thread_init() while timers
	    are running may lead to unreliable results.  It is best to
	    call g_thread_init() before starting any timers, if you are
	    using threads at all.

	Separately, the documentation for threads in Glib says:

	    Calling g_thread_init() with a NULL argument is somewhat more
	    relaxed.  You may call any other glib functions in the main
	    thread before g_thread_init() as long as g_thread_init() is
	    not called from a glib callback, or with any locks held.
	    However, many libraries above glib does not support late
	    initialization of threads, so doing this should be avoided if
	    possible.

	    Please note that since version 2.24 the GObject
	    initialization function g_type_init() initializes threads
	    (with a NULL argument), so most applications, including those
	    using Gtk+ will run with threads enabled.  If you want a
	    special thread implementation, make sure you call
	    g_thread_init() before g_type_init() is called.

	Taken together, it seems to imply that PSPPIRE should call
	g_thread_init() before g_timer_new(), or the timer might be
	unreliable because Glib would call it later for us.  But the
	documentation doesn't seem entirely clear.

	Reported by Mindaugas.
	Bug #36396.

2012-05-01  John Darrington  <john@darrington.wattle.id.au>

	MEANS: Use var_to_string instead of var_get_name for factor variable display

	Frequencies dialog: Add Mnemonics

2012-04-30  Ben Pfaff  <blp@cs.stanford.edu>

	range-tower-test: Fix test failures on 64-bit architectures.
	Reported by 'gandalfar' on #pspp.

2012-04-30  John Darrington  <john@darrington.wattle.id.au>

	Independent T-TEST Dialog: Use PsppireValueEntry in the group value definition sub-dialog

2012-04-28  John Darrington  <john@darrington.wattle.id.au>

	Converted Factor Dialog to PsppireDialogAction class

	Convert Rank Dialog to PsppireDialogAction

	Unref GtkBuilder objects when they are no longer required

	PsppireDialogAction: Destroy dialog after it has been run

	PsppireSelector: Don't try to set callbacks on null model

	Regression Dialog: Tidy up and comment.

	Correct erroneous g_object_unref calls
	commit e89158e8abd2dae27d985e3574eb5aa1d265fc66 placed g_object_unref calls after every instance
	of *_set_model - In most instances this was correct, but not all.  When (for example)
	gtk_tree_view_set_model (view, model) is called, it takes a ref to model, but it will then
	unref it upon the next call to _set_model and/or when view is destroyed.
	Unreffing the model ourself, is therefore appropriate only when we have created it ourselves.
	This change fixes the few instances where this was not the case.

2012-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Catalan translation from translation-project.org.

	po: Update Spanish translation from translation-project.org.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-cell-renderer-button: Add "slash" property.
	When "slash" is set to true, the button gets a diagonal slash drawn
	across it.  This is ugly, but it matches what SPSS does for cases
	that are filtered out.

	psppire-cell-renderer-button: New cell renderer for GtkButton.
	This allows one to put a clickable GtkButton inside a PsppSheetView row.

	pspp-sheet-view: Add "fixed-height" and "fixed-height-set" properties.
	The data sheet will use this in the "split view" to make sure that
	side-by-side data sheets have the same row height.

	pspp-sheet-view: Make pspp_sheet_view_stop_editing() public.

	pspp-sheet-view: Improve look of sheet when there are few columns.
	GtkTreeView always expands one or more columns so that the visible
	columns fill up the entire width of the treeview.  This looks funny
	in a spreadsheet-like view.  This commit changes PsppSheetView so
	that, instead, extra space is left blanks instead of being filled
	up with columns.

	pspp-sheet-view: Optimize by making column header widgets lazy.
	This is a major speedup when there are hundreds of columns.

	pspp-widget-facade: New code to measure and render some GTK+ widgets.
	There are two upcoming uses for this in the tree, both related to
	rendering fake buttons.  First, creating, maintaining, and rendering
	the column header buttons in a PsppSheetView is a huge cost when
	there are hundreds or thousands of columns.  Using this facade code
	to "fake" buttons makes the sheet much faster.  Second, this code
	will be used to implement a cell renderer for GtkButton, so that
	buttons can be put into PsppSheetView rows.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Add "special-cells" property to speed drawing many columns.
	A "special cell" is a cell that is editable or activatable.  When a row
	that contains a special cell is selected, the cursor is drawn around a
	single cell; when other rows are selected, the cursor is drawn around the
	entire row.

	With the default of "detect" (the only mode previously supported), whether
	a given row contains a special cell is detected automatically.  This is the
	best choice most of the time.  For sheet views that contain more than 100
	columns, an explicit "yes" or "no" improves performance.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Start editing upon button release, not press.
	This makes the user interface more natural.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Support rectangular selection, column popup menus.
	A "rectangular selection" is where you can click and drag to select
	a rectangular group of columns and rows, like in a spreadsheet.

	In this commit, rectangular selections don't interact well with
	"quick-edit" mode where the first click on a cell starts editing,
	because clicking in a quick-edit cell starts editing instead of
	rectangular selection.  The following commit will fix the problem.

	This commit also adds a gtk_widget_queue_draw() call to
	pspp_sheet_view_update_rubber_band() that should really
	invalidate less sheet area.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Edit cells on the first click by default.
	With GtkTreeView it takes two clicks to edit a cell.  The first click
	selects the row and the second click starts editing.  This isn't a
	great user experience for a spreadsheet, so this commit enables
	single-click editing.

	pspp-sheet-view-column: Add support for tooltips on columns.

	pspp-sheet-view: Fix rendering moving cursor left or right with keyboard.
	I don't understand why this is not necessary for GtkTreeView.  Without it,
	the cursor doesn't get properly redrawn after a left or right arrow
	keystroke moves it.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Fix visual artifacts for sheet views > 65535 pixels wide.
	gdk_draw_line() draws lines by passing the coordinates to XDrawLine(),
	which in turn casts the coordinates to "signed int" as it formats them for
	the X Protocol.  Thus, large coordinate values wrap around and cause odd
	visual artifacts.

	This fixes the problem by only calling gdk_draw_line() with coordinate
	values that should actually be visible.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Improve scrolling performance.
	Drawing dashed lines is very slow, at least on my computer.  This commit
	changes them to solid, which makes scrolling in a large sheet feel much,
	much more responsive on my system.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-sheet-view: Reduce time and memory cost to O(1) in number of rows.
	The standard GtkTreeView uses time and memory linear in the number of
	rows in the tree.  When the model is set, it iterates over every row
	and creates a corresponding GtkRbNode.  After that, GtkTreeView uses
	the GtkRbNodes for many operations on the tree.

	This commit adapts GtkTreeView to avoid the need to iterate over the
	entire model up front, as well as the need to maintain data for every
	row.  It makes the following major changes:

	  - The tree model must now be just a list (GTK_TREE_MODEL_LIST_ONLY);
	    that is, rows may not have children.

	  - The height of a row in the view must be fixed (as with
	    gtk_tree_view_set_fixed_height_mode()).  Column widths must also
	    be fixed.

	The following minor changes follow mainly as consequences of the above:

	  - Expander arrows, tree lines, and level indentation are no longer
	    supported, because these only make sense with rows that have
	    children.

	  - Separator rows are no longer supported.  (They are ugly in
	    fixed-height mode because they occupy an entire row.)

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	Import GtkTreeView from GTK+ 2.0-2.20.1 renamed as PsppSheetView.
	This includes minimal modifications to make it compile and link
	cleanly.

	I used the following Perl script to do the bulk of the renaming:

	for $pair (['tree_view_column', 'sheet_view_column'],
	           ['tree_selection', 'sheet_selection'],
	           ['tree_view', 'sheet_view'],
	           ['rbtree', 'rbtree'],
	           ['rbnode', 'rbnode']) {
	    my ($from, $to) = @$pair;

	    my ($tfrom) = join ('', map ("\u$_", split ('_', $from)));
	    my ($tto) = join ('', map ("\u$_", split ('_', $to)));

	    s/gtk_$from/pspp_$to/g;
	    s/\Ugtk_$from/\Upspp_$to/g;
	    s/GTK_TYPE_\U$from/PSPP_TYPE_\U$to/g;
	    s/GTK_IS_\U$from/PSPP_IS_\U$to/g;
	    s/Gtk$tfrom/Pspp$tto/g;
	}

	s/GtkTreeCellDataFunc/PsppSheetCellDataFunc/g;
	s/GtkTreeDestroyCountFunc/PsppSheetDestroyCountFunc/g;

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	PsppireValueEntry: Simplify 'if' condition.
	The statement
	  if ((model != NULL) && (model != old_model))
	can be simplifed to just:
	  if (model != NULL)
	because if 'model' is nonnull then it is different from old_model,
	because 'model' is a newly allocated GtkListStore.

	psppire-dialog-action: Remove unused variable.

	gui: Put <?xml> declaration at beginning of roc.ui.
	xgettext objected to the blank line at the beginning.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Properly manage ref counts of combo box and tree view models.
	gtk_combo_box_set_model() and gtk_tree_view_set_model() add a
	reference to the passed-in model, instead of transferring a
	reference from the caller.  A lot of the calls to these functions,
	however, assumed that a reference was transferred and therefore
	leaked a reference.  This fixes them up.

	This doesn't change PsppireValueEntry, because there's an ongoing
	discussion about that.

2012-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-acr: Clarify acr ownership of its list store.
	PsppireAcr retains a pointer to the GtkListStore inside it but it
	didn't, until now, keep a reference to it.  This commit makes
	PsppireAcr retain a reference, documents the interface, and updates
	callers to properly maintain reference counts.

2012-04-24  John Darrington  <john@darrington.wattle.id.au>

	ROC Dialog: Use PsppireValueEntry for the state value entry

	Add PsppireValueEntry to the list of pre-declared widgets

	PsppireValueEntry: Unref model after the combo box assumes it

	PsppireValueEntry: Remove unnecessary function calls

	val_labs_equal: Accept null pointers
	Instead of checking for NULL before calling val_labs_equal, put the onus
	on the function itself to deal with null pointers and behave appropriately.

	PsppireValueEntry: Clear the entry, when the underlying model changes.
	Since the labels will have changed, the existing text is most likely
	inappropriate.

	PsppireValueEntry: Remove GNU_CONST declaration because it prevents the type being found by GtkBuilder

2012-04-23  Ben Pfaff  <blp@cs.stanford.edu>

	crosstabs-dialog: Line up backslashes.

2012-04-21  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix reference to old library libpspp.la.
	Reported by John Darrington.

2012-04-21  John Darrington  <john@darrington.wattle.id.au>

	Improve Independent Samples T-test dialog

	PsppireButtonBox: Remove Close from the default set of buttons

2012-04-20  Ben Pfaff  <blp@cs.stanford.edu>

	helper: Move escape_underscores() here.
	An upcoming commit will introduce a new user in a different file.

	gui: New widget PsppireValueEntry for editing a "union value".
	This is intended to be a convenenient way to allow the user to
	view and edit a "union value" that includes the ability to see
	and select values by value label.

	gui: New boxed type for struct fmt_spec.
	This makes it possible to use a struct fmt_spec as the value of a
	property on a GObject, which I plan to use in an upcoming widget
	PsppireValueEntry.

2012-04-20  Ben Pfaff  <blp@cs.stanford.edu>

	gui: New type PsppireEmptyListStore.
	PsppireEmptyListStore is an GtkTreeModel implementation that has a
	client-specified number of rows and zero columns.  It is a useful model for
	GtkTreeView or PsppSheetView when the client can easily synthesize cell
	data using a callback set with gtk_tree_view_column_set_cell_data_func().
	In that situation, GtkListStore can be wasteful (because it uses a lot of
	memory to store what does not need to be stored) and situation-specific
	custom models require additional boilerplate.

	This commit also modified the text data import dialog code to use
	PsppireEmptyListStore.  Future commits will add other users.

2012-04-20  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add undocumented --measure-startup option.
	This is useful for testing the effects of code changes upon the
	time required to start PSPPIRE.

2012-04-20  Ben Pfaff  <blp@cs.stanford.edu>

	New "range-tower" data structure.
	A range tower is a bitmap, implemented as an augmented binary tree.

	Beyond the usual features of a bitmap, a range tower can efficiently
	implement a "splice" operation that shifts ranges of bits left or right.
	This feature does cost memory and time, so use a range tower only if this
	feature is actually needed.  Otherwise, use a range set (see range-set.h),
	which can do everything that a range tower can do except the "splice"
	operation.

	Each operation has O(lg N) cost, where N is the number of contiguous
	regions of 1-bits in the bitmap.  Also, a cache reduces the second and
	subsequent containment tests within a single contiguous region to O(1).

2012-04-20  Ben Pfaff  <blp@cs.stanford.edu>

	range-set: New macro RANGE_SET_FOR_EACH to make iteration easier.

	range-set: Rename "insert" function "set1", "delete" to "set0".
	An upcoming commit will introduce a new "range-tower" data
	structure that can actually insert and delete ranges.  It
	makes sense not to use different terminology for the two data
	structures, so renaming these functions makes sense.

	abt: New function abt_is_empty().

	abt: Drop child parameters from 'reaugment' function.
	The function can simply inspect the 'down' members.

	value-labels: New function val_labs_find_value().
	The new data sheet implementation (in an upcoming commit) will use
	this.

	helper: New function value_to_text__().
	One potential caller of value_to_text() doesn't have a "struct
	variable" but does have the other needed information.

	format: Fix typo in comment.
	struct fmt_spec's 'd' member is not normally a number of "implied"
	decimal places.  It is normally the number of decimal places that
	will be presented in formatted values.  Thus, update the comment.

	format: Introduce a new type "enum fmt_use".
	This seems slightly nicer than using a "bool" to distinguish
	input and output formats.

	format: New functions fmt_change_width(), fmt_change_decimals().
	These will be used in an upcoming commit for GUI-based format
	adjustments, where we want to implement the user's request for
	width or decimal places to the extent that we can, while
	adjusting decimal places or width, respectively, as necessary.

	gui: Use canonical names for signals.
	Hyphens are canonical in parameter names, at least, and they seem
	to be used consistently in signal names within GNOME, so use them
	here too.

2012-04-19  John Darrington  <john@darrington.wattle.id.au>

	DO IF test:  Correct expected outcome
	Commit 27bd188495ec1a6085354b10545daba47771b517 added a test for an
	error condition in DO IF, but appears to contain some cut and paste
	errors.  This change corrects them.

	SHOW: New subcommand N
	This subcommand reports the number of cases in the active dataset.

2012-04-18  Ben Pfaff  <blp@cs.stanford.edu>

	Revert "psppire-dict: g_return_if_fail for idx in psppire_dict_get_variable()."
	This reverts commit edf4f6b1f7e2b9c17cc86f1c63ff9b4b7e24af26.
	John pointed out that it causes the GUI to crash at startup.

2012-04-17  Ben Pfaff  <blp@cs.stanford.edu>

	DO IF: Fix crash when END IF appears without DO IF.
	Reported by Jill Covert.
	Bug #36231.

	psppire-dict: g_return_if_fail for idx in psppire_dict_get_variable().
	Also, as long as we're checking for too-big we might as well check
	for too-small too.

2012-04-17  John Darrington  <john@darrington.wattle.id.au>

	Correct bugs in PsppireSelector which cause the Examine Dialog to crash

2012-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dict: Return new var from psppire_dict_insert_variable().
	An upcoming commit will introduce a user for the return value.

2012-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dict: Make auto_generate_var_name() public, and rename.
	This function will acquire a few users in upcoming commits.

	This commit renames it to have the same prefix as other public
	functions in this file.

2012-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dict: Get rid of static var in auto_generate_var_name().
	This isn't a big deal at the moment but I intend to add new users
	of this function in future commits, so then it becomes more
	important.

2012-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	Allow dictionary 'var_deleted' callback to examine the deleted var.
	The dictionary 'var_deleted' callback is the last chance to look at
	a variable as it is getting deleted from a dictionary.  For some of
	the information in the variable, it legitimately doesn't make any
	sense to get it from the variable itself at this point, e.g. the
	index into the dictionary or the case, since it no longer is in
	a dictionary.  But for most of it, it's reasonable to get it from
	the variable itself, but the callback doesn't provide any way to
	do that, because it doesn't pass in the variable, just a dictionary
	index that is no longer correct.

	This commit changes the 'var_deleted' interface to pass in the
	variable plus the information that can no longer be obtained from
	the variable itself.  An upcoming change to the GUI will make use
	of this.

	This commit also adapts all the existing users to the new interface.

2012-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	find-dialog: Change "Cancel" button to "Close" button.
	This button doesn't cancel anything, it just closes the dialog box,
	so "Close" seems like a better label.

	gtkxpaned: Remove write-only variables.

	psppire-buttonbox: Fix style in header file.
	It's totally bizarre and unnecessary to define a macro in the
	middle of a function prototype, so this commit moves it.

	psppire-data-store: Use NULL for a null pointer.

	psppire-data-store: Use PSPPIRE namespace instead of GTK+'s.

	psppire-data-editor: Drop psppire_data_editor_set_font() redundancy.
	set_font() recurses to a GtkContainer's children so
	psppire_data_editor_set_font() does not need to also do so.

	Revert "Fix DSO linking issue"
	This reverts commit 34abd8c7de0cac8efeead7fb3848427fb944b5bd.
	The author blindly posted the patch without actually testing
	whether it was necessary.  It was not, because the libraries
	in question were already linked against.  Thanks to John
	Darrington for pointing that out.

2012-04-15  Peter Lemenkov  <lemenkov@gmail.com>

	Fix DSO linking issue
	We must explicitly list every required library in case then linker is built
	with default behaviour which prevents implicit DSO linking.

	See this for the details on DSO Linking issues:

	http://fedoraproject.org/wiki/UnderstandingDSOLinkChange

2012-04-14  John Darrington  <john@darrington.wattle.id.au>

	PsppireDictView: Call gtk_widget_destroy instead of g_object_unref
	GtkMenu is a toplevel window.  Therefore, gtk_widget_destroy is appropriate.

	PsppireDialog: Added assignment for parent_class which it seems was forgotten

2012-04-13  John Darrington  <john@darrington.wattle.id.au>

	Replace regression.q with regression.c
	Reviewed-by: Jason Stover

2012-04-11  John Darrington  <john@darrington.wattle.id.au>

	PspppireSelector: Prevent selection of disallowed entries.
	We had been relying on the deselected state of the widget to prevent
	selection with the "allow" predicate was false.   But clicking the
	widget itself isn't the only way items can be selected (double clicking
	the item for example).   This change adds a test at a lower level to
	prevent selection of disallowed items.

2012-04-10  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Factor out encoding categories from GUI into common code.
	It would make sense to use these encodings and categories elsewhere.

	sys-file-reader: Remove obsolete comment.
	The open_text_record() function does the recoding, so there's no
	need for parse_long_var_name_map() to do any recoding of its own.

2012-04-10  John Darrington  <john@darrington.wattle.id.au>

	Examine dialog: Allow only numeric variables to be selected as the dependent variable

2012-04-09  John Darrington  <john@darrington.wattle.id.au>

	Examine gui: remove var-is-numeric predicate from dict-view
	Since the factor variable can be string, this predicate is not appropriate.

	EXAMINE: Implement MISSING=REPORT option

	categoricals.c: Distinguish between missing values on the dependent and categorical variables.
	Needed for upcomming change to the EXAMINE command.

2012-04-08  John Darrington  <john@darrington.wattle.id.au>

	Remove KMO and Bartlett statistics from bug check test.
	Commit 6b351b28f47c1dfb1ce697eb50cd218b50122fd0 added a test for a bug
	fix.  This test however included a display of a the KMO and Bartlett
	test statistics, which in this case are unstable since the determinant
	of the correlation matrix is close to zero.   These statistic are not
	relevant to the bug being tested.  So this change removes them.

2012-04-05  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Yet more markup

2012-04-03  Ben Pfaff  <blp@cs.stanford.edu>

	FACTOR: Fix crash with /ROTATION=NOROTATE.
	Reported by abderrahim arif <arifabderrahim5@gmail.com>
	at http://lists.gnu.org/archive/html/bug-gnu-pspp/2012-04/msg00001.html

2012-04-03  Ben Pfaff  <blp@cs.stanford.edu>

	spreadlevel-plot: Fix missing #include <stdlib.h>
	Reported by GCC:

	spreadlevel-plot.c: In function ‘spreadlevel_plot_chart_destroy’:
	spreadlevel-plot.c:84: error: implicit declaration of function
	‘free’
	preadlevel-plot.c:84: error: incompatible implicit declaration of
	built-in function ‘free’

2012-04-01  John Darrington  <john@darrington.wattle.id.au>

	Text Importer: Added filter to the file chooser.
	Added a FileChooserFilter to the file chooser for importing text files.
	Closes bug #36054

	Corrected bug in chart rendering which caused the ordinate label to never get displayed

2012-03-31  John Darrington  <john@darrington.wattle.id.au>

	Correct typo in examine.ui

	Examine: Added the /PLOT=SPREADLEVEL option

	examine.c: Fix a seg fault which caused a crash when recovering from bad syntax

2012-03-30  John Darrington  <john@darrington.wattle.id.au>

	Explore Dialog: Replace add hoc functions with the new DialogAction class

2012-03-29  John Darrington  <john@darrington.wattle.id.au>

	Documentation: More markup

2012-03-28  John Darrington  <john@darrington.wattle.id.au>

	Documentation: New markup for subcommands

	Documentation: Add a @pspp macro

	Histograms: Fix the alignment case where little slack exists on either side of the data

2012-03-27  John Darrington  <john@darrington.wattle.id.au>

	Correct errors in histogram geometry calcs and add test

2012-03-26  John Darrington  <john@darrington.wattle.id.au>

	Fix crash on datasets with single values (again)

	Readjust histogram parameters if on the first attempt, the number of bins is too large

	Histograms: Improve the code calculating the bin ranges and comment

	Simplify algebra

	xrchart_write_scale: Use integer arithmetic

	Examine: Print extreme values using the print format of the variable

	Histogram calculations: Use integer arithmetic
	There is no advantage in using floating point numbers in this code.

2012-03-25  John Darrington  <john@darrington.wattle.id.au>

	Boxplot: Remove function boxplot_draw_yscale
	An identical function exists in a lower level, so use that instead.

	Histogram plotting: (hist_draw_bar) Added label argument.
	Added a boolean argument to indicate whether or not a histogram bar
	should be labelled.  Labelling every bar leads to overprinted and
	hence illegible labels.

	Histograms: Put hard limit on the number of histogram bins
	Histograms with less than one bin are not useful (and tend to cause crashes!)
	Histograms with very large numbers of bins are also of little use, and cause
	other implementation headaches.

	Cairo charts: Move check for near zero values to inside of draw_tick

	Whitespace changes only

	Fix a crashes where histograms of a single datum were trying to be created.
	Reported-by: Ben Pfaff.

2012-03-24  John Darrington  <john@darrington.wattle.id.au>

	Fixed yet another problem caused by use of abs where fabs is appropriate

	Mark histogram legend strings for translation

	Avoid floating point precision problems in chart scale
	Some charts were being drawn with a tick mark at positions
	close to but not exactly zero Eg: 2.187433298e-27
	This change avoids this problem.

	cairo-chart.c: new struct xrchart_axis
	This allows a bit of refactoring.

2012-03-23  John Darrington  <john@darrington.wattle.id.au>

	Histograms:  Ensure that the bins are aligned to an odd number of half bin widths
	This has the benefit that the centres of the bins are aligned to integer multiples
	of bin widths, and thus the labels are shorter.  For example, instead of labels
	-1.5 -0.5 0.5 1.5 2.5 we get -2 -1 0 1 2 which is more aesthetically pleasing.

	Corrected previous commit

	chart_rounded_tick: Avoid arithmetic problems with inputs close to zero

	Update the BUGS chapter in the manual

	Updated the documentation for EXAMINE

2012-03-22  John Darrington  <john@darrington.wattle.id.au>

	Improve the way in which histogram bin ranges are chosen

	EXAMINE: Allow the /ID subcommand to take a non-numeric variable

2012-03-20  John Darrington  <john@darrington.wattle.id.au>

	Correct geometrical error plotting histograms

	histogram.c: histogram_create now takes bin width instead of the number of bins

	NEWS: Mention changes to EXAMINE

2012-03-18  Ben Pfaff  <blp@cs.stanford.edu>

	sort: Allocate space for sort buffers on demand, not in advance.
	Each call to sort_create_writer() was allocating possibly a very
	large amount of memory when in many cases only a small fraction of
	that memory would actually be used.  This commit switches to
	allocating a small amount of memory and gradually increasing the
	allocation on demand.

	Reported by John Darrington.
	Bug #35887.

2012-03-18  John Darrington  <john@darrington.wattle.id.au>

	Relax NPAR SIGN test

	Improve translator comments.
	Apparently some of the TRANSLATOR comments were not clear enough. This
	change makes it less easy for translators to become confused.

	Fix compiler warnings

	Whitespace changes only

	examine.c: Rename xxx0 and xxx1 to something more sensible

2012-03-17  Ben Pfaff  <blp@cs.stanford.edu>

	ods-reader: Fix memory leak.
	Found by valgrind.

2012-03-17  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leaks in the new EXAMINE implementation.

2012-03-16  John Darrington  <john@darrington.wattle.id.au>

	EXAMINE: Complete re-implementation
	This change is a complete re-implementation of the EXAMINE command.
	It includes a few minor changes to the tests, to accommodate slight
	changes in semantics (to bring it in line with other software).
	Closes bug #30732

	order_stats: New function order_state_accumulate_idx

	Categoricals: Dont crash when getting non-existant user data

2012-03-15  Ben Pfaff  <blp@cs.stanford.edu>

	ods-reader: Fix write beyond end of buffer.
	The compiler multiplies by sizeof *var_spec for us here, so doing
	it ourselves writes past the end of the allocated space.

	Tracked down with valgrind.

	Reported-by: bojo42 <bojo42@gmail.com>

2012-03-14  John Darrington  <john@darrington.wattle.id.au>

	math/np.c: Change np_create to take 3 doubles rather than a struct moment1*

	Recode Dialog: Stringify the variable label
	Ensure that the generated syntax has quotes around the variable label,
	in case the label happens to contain spaces or other metacharacters.

2012-03-14  John Darrington  <john@darrington.wattle.id.au>

	Fix GtkCritical in recode dialog.
	Commit 2b4fb7e846d62f1a70656bb42a0f769363ed0832 changed the internals of PsppireVarView.
	Unfortunately recode-dialog.c was directly accessing the implementation instead of
	using the interface.  This change fixes that.

	Reported-by: kai hansen <kaiowesen@gmail.com>

2012-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update French translation from http://translationproject.org.

2012-03-11  John Darrington  <john@darrington.wattle.id.au>

	Regression: Fix bug where missing values in the dependent variable were not getting ignored.
	Fixes bug #35758

2012-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-window: Use fallback PATH_MAX on GNU/Hurd.
	This fallback is from lib/clean-temp.c in Gnulib.

2012-03-03  John Darrington  <john@darrington.wattle.id.au>

	interaction.c: interaction_dump: don't crash on empty interactions (ie those with no variables)

	Remove unnecessary #include

	moments.c: Implement calc_semean.
	This function was always declared, but never implemented.  It's fairly
	trivial, but for consistency it makes sense to have here.

	oneway.c: Set destroy pointer to NULL, since it is unused here

	Categoricals.c: Call payload->destroy inside categoricals_done

	categoricals.c: Delete redundant function dump_interaction
	 Remove dump_interaction, since there is such a function in interaction.c

	Examine tests: Remove leading slash from factor variables.
	I haven't seen any examples of syntax which does this, and it leads to
	ambiguities: Does /STATISTICS refer to the STATISTICS subcommand or to
	a factor variable named "STATISTICS".  I think it's better therefore to
	disallow a slash here.

2012-03-02  Ben Pfaff  <blp@cs.stanford.edu>

	pool: Use 16-byte alignment on 64-bit architectures.
	glibc jmp_buf needs 16-byte alignment on ia64.  PSPP allocates
	jmp_buf inside a pool in a few places, so this change should fix
	many tests on ia64.

	Found by Debian autobuilder.

2012-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	Sort attributes by name for display, to make order arch-independent.
	When data file attributes or variable attributes were displayed by
	e.g. DISPLAY ATTRIBUTES or SYSFILE INFO, they were sorted in hash
	order, which varies by architecture.  Therefore, the tests that
	depended on this order failed on big-endian machines such as mips.
	This commit fixes the problem by displaying attributes in sorted
	order.

	This fixes a failure in the "Perl copying system files" reported
	by Debian buildds.

2012-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	identifier: Apply isdigit() only to values in valid range.
	Applying isdigit() to a value that is not EOF or in the range
	0...UCHAR_MAX yields undefined behavior and in fact caused a
	segfault on several Debian architectures for U+FFFD.

	Found by "lexer properly reports scan errors" test on Debian buildds.

2012-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	zip-writer: Add missing #include <byteswap.h>.
	Fixes a broken build on Debian GNU/Linux, mips architecture.

2012-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	encoding-guesser: Fall back to windows-1252 when UTF-8 can't be right.
	Until now the encoding-guesser code has used UTF-8 as a fallback in
	situations where we can tell that the file is not valid UTF-8.  In
	this kind of situation having a single-byte character set as a
	fallback makes more sense.  This commit hard-codes windows-1252 as
	that fallback, since it is a widely encountered encoding (and
	compatible with ISO-8859-1 as well).

	John Darrington originally suggested this, if I recall correctly.

	The bug report that spurred this work was from Harry Thijssen.  With
	this commit, PSPP properly reads his windows-1252 file when the
	system locale uses UTF-8 encoding.

2012-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	encoding-guesser: Remove spurious blank line.

2012-03-01  John Darrington  <john@darrington.wattle.id.au>

	zip-writer.c: Fix incorrect big-endian handling.

	Don't update the icon cache if DESTDIR is non-empty.
	Packagers generally use "make install DESTDIR=xxx" to generate their install
	files, which are then copied in place to the target filesystem.  In such a
	scenario, it's inappropriate to copy the icon.cache files.  This change
	therefore does not update the icon cache if a DESTDIR has been specified.
	Instead it's left to the packager to make his own arrangements for updating
	the icon cache on the target filesystem.

2012-02-29  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the German translation from http://translationproject.org.

	Updated the Lithuanian translation from http://translationproject.org.

2012-02-29  John Darrington  <john@darrington.wattle.id.au>

	Postgres test: Create socket in /tmp instead of current directory
	It seems that some systems do not allow unix domain sockets with long
	pathnames.  This change therefore creates a directory in /tmp using
	the mktemp command.

	Kruskal-Wallis: Sort grouped ranks before displaying them.
	Debian's autobuilder showed that the KW tests were failing because the
	hash which holds the rank entries was being iterated in arbitrary order.
	This change sorts the entries before displaying them, so they should
	always appear in the same order.

	zip-test.c: More thorough error messages

2012-02-26  John Darrington  <john@darrington.wattle.id.au>

	Generate pspp.desktop
	This change autogenerates the pspp.desktop file instead of simply including it.
	This allows us to have the translations updated from the po files instead of
	someone having to manually enter the strings directly in the file.

	Remove translator credits from AUTHORS file.
	This was getting hard to maintain, and is redundant, since there is
	a "translator-credits" string in each translation.

	ascii.c: Reallocate the lines after the page is resized

	Remove redundant assignment

	ascii.c: Move auto out of the #if HAVE_DECL_SIGWINCH condtional
	Whether or not the width/length should be automatic should depend only on whether the
	output is a terminal, and not upon the existance of SIGWINCH

	ascii.c (ascii_reserve) Added assertion.
	Added this assertion to catch a yet-to-be fixed array bounds bug.

2012-02-26  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation from translationproject.org.

2012-02-25  John Darrington  <john@darrington.wattle.id.au>

	Added SHOW options DIRECTORY, ENVIRONMENT, TEMPDIR and VERSION

2012-02-23  John Darrington  <john@darrington.wattle.id.au>

	Fix bug #35532: Error setting PsppireDict predicate

2012-02-21  John Darrington  <john@darrington.wattle.id.au>

	MEANS: plug memory leaks

2012-02-19  John Darrington  <john@darrington.wattle.id.au>

	Attempt to cope with endian issues in zip reader.

	ODS Reader: fix uninitialised variables

2012-02-18  Ben Pfaff  <blp@cs.stanford.edu>

	str: Skip only up to one-past-the-end in ss_tokenize().
	If ss_tokenize() was called with '*save_idx' positioned at
	one-past-the-end of a string, it would continue to advance it past
	that point, which is surprising.  This avoids doing that.

	Found by Valgrind.
	Reported-by: John Darrington <john@darrington.wattle.id.au>

2012-02-18  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Avoid read past end of buffer.
	The "unexpected label source in mrsets" test caused a read past the
	end of the input buffer in text_parse_counted_string().  This fixes
	the problem.

	Found by Valgrind.
	Reported-by: John Darrington <john@darrington.wattle.id.au>

2012-02-18  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid failure due to race to mkdir tests/valgrind.

2012-02-18  Ben Pfaff  <blp@cs.stanford.edu>

	categoricals: Mark dump_interaction() and categoricals_dump() UNUSED.
	This avoids warnings that they are unused.

	It might be better to just remove them, since they would still be
	present in the Git history.

2012-02-18  John Darrington  <john@darrington.wattle.id.au>

	Revert "Mark separator names for translation"
	This reverts commit 02c89b93ff0b5942e66fdfbb7562641a0ff29d2c.
	Ben pointed out that this change was incorrect.

	Remove erroneous case_unrefs. Found by valgrind

	Use if(0) instead of #if 0
	The Gnu Coding Standards recommend run time conditionals instead of preprocessor
	conditionals.  I think this makes sense too, since #if 0'd code becomes obsolete
	without anyone noticing.

	categoricals.c: Fix memory access problems on empty interactions.
	Make sure the categoricals behave correctly when passed
	an interaction which contains no variables (ie, no catagories).

2012-02-16  John Darrington  <john@darrington.wattle.id.au>

	fix warnings

	MEANS: Correct position of double vertical rule

	Means: Report totals as well as catagories

2012-02-15  John Darrington  <john@darrington.wattle.id.au>

	Psppire: Allow syntax files to be provided as an argument

2012-02-14  John Darrington  <john@darrington.wattle.id.au>

	Reliability Test: Do not allow splits greater than the number of variables.
	It's not meaningful to have a split point which is greater than the number
	of variables (and not useful when they are equal).  And the system was
	exhaughsting its memory when such a test was run.  This change therefore
	disallows such a combination and updates the behaviour of the GUI accordingly.

2012-02-13  John Darrington  <john@darrington.wattle.id.au>

	Add missing translation markup

	Use ButtonBox Mask nick field for it's correct purpose.
	It seems that the GFlagsValue nick field was mistakenly being used as if
	it was a translatable label.  Not only was this wrong, but it also created
	unnecessary work for translators.  This change provides descriptions of the
	flags and removes them from the translatable strings.

	Mark separator names for translation

2012-02-12  John Darrington  <john@darrington.wattle.id.au>

	Added a dialog box for the MEANS command

2012-02-11  Ben Pfaff  <blp@cs.stanford.edu>

	examples: Change extensions from .stat to .sps.
	.sps makes a lot more sense.

	Reported-by: Harry Thijssen <pspp@sjpaes.nl>

2012-02-11  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Improve test for supported encodings.
	I misunderstood the purpose for the config.charset script.  I had a
	notion that it was supposed to print all of the character sets that
	are supported by the operating system.  It doesn't (it prints
	character set names that need translation for the operating system).

	This change switches to using the same code that will be used at
	PSPP runtime to determine whether an encoding is supported, for
	determining during the tests whether an encoding is supported.

	This should cause fewer tests to be skipped on Mac OS.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2012-02-11  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: use $(MAKE) directly in rules that call make.
	The GNU make manual says that $(MAKE) must appear directly in a rule
	rather than through recursive expansion to work properly.  (This
	change fixes a GNU make warning about an unavailable jobserver.)

2012-02-10  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug #35494 - Levene test crash on no valid values.

2012-02-09  John Darrington  <john@darrington.wattle.id.au>

	Corrected typo in documentation

2012-02-08  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Slovenian translation from translationproject.org.

2012-02-07  Ben Pfaff  <blp@cs.stanford.edu>

	GET: Add an ENCODING subcommand.
	For example, this allows a Swedish EBCDIC file that doesn't contain
	any indication of its codepage to be read with "ENCODING='IBM278'".

	sys-file: Support EBCDIC magic number in system files.
	This makes PSPP able to read the 1980s EBCDIC-encoded system file
	provided by Chris Muller <chris.muller@mullermedia.com>.

	sys-file: Recode string fields in file header also.
	Chris Muller <chris.muller@mullermedia.com> provided an example
	EBCDIC-encoded mainframe system file from the 1980s.  This commit
	goes one step toward being able to read and write these files in
	PSPP, by recoding most of the string fields in the file header.

	dictionary: Truncate file label in dictionary encoding, not UTF-8.
	The limiting factor is bytes in the on-disk format and so there's
	no point in truncating in terms of the in-memory format.

2012-02-06  Ben Pfaff  <blp@cs.stanford.edu>

	por-file-writer: Avoid infinite loop with value labels.
	Bug report and fix by Kent Nassen <knassen@umich.edu>.

	gui: Fix warnings due to missing GObject type conversions.

	jonckheere-terpstra: Declare variables at beginning of block.

2012-02-05  John Darrington  <john@darrington.wattle.id.au>

	NPAR /J-T correct significance calculation when test statistic is greater than zero

2012-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix grammar in user message in psppire-data-window.c
	Reported-by: Harry Thijssen <pspp@sjpaes.nl>

2012-02-05  John Darrington  <john@darrington.wattle.id.au>

	npar.c: Added some missing initialisers.
	Also reorder the initialisers to the same order as their declarations

	Added an implementation of the Jonckheere-Terpstra test

2012-02-04  Ben Pfaff  <blp@cs.stanford.edu>

	Add Slovenian translation from translationproject.org.
	This translation is by Matej Urbančič <matej.urban@gmail.com> and
	the Slovenian translation team.

	po: Update Dutch translation from translationproject.org.

	po: Update German translation from translationproject.org.

2012-02-04  John Darrington  <john@darrington.wattle.id.au>

	Logo rework.
	From work contributed by bojo42: Reworked the transparent part of the logo.
	Also "harmonised" the fonts used in the logo and the splash screen.

2012-02-03  John Darrington  <john@darrington.wattle.id.au>

	New abstract base class: PsppireWindowBase
	Created a new abstract base class for windows/dialogs and moved the
	psppire_conf manipulation to there.  Should fix problems reported by bojo42
	where the window geometry wasn't always correctly saved.

2012-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	Increment version to 0.7.9 to send to Translation Project.

2012-02-02  John Darrington  <john@darrington.wattle.id.au>

	Error with g_critical instead of g_assert on invalid variable types.

2012-01-31  John Darrington  <john@darrington.wattle.id.au>

	Rewrite documentation for the RECODE command.
	Reviewed-by: Ben Pfaff

	Converted Sort dialog to a PsppireDialogAction object

2012-01-30  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update German translation from translation-project.org.

2012-01-30  John Darrington  <john@darrington.wattle.id.au>

	Converted reliability dialog to a PsppireDialogAction object

2012-01-29  John Darrington  <john@darrington.wattle.id.au>

	Removed erroneous duplicated line

	Converted roc-dialog to a PsppireDialogAction object

	Convert kmeans dialog to a PsppireDialogAction

	Converted the correlations dialog to a PsppireDialogAction object

2012-01-28  Ben Pfaff  <blp@cs.stanford.edu>

	Move PSPP shared libraries from $(libdir) to $(libdir)/pspp.
	The PSPP shared libraries do not have a stable ABI and so they
	should not go in a public system library directory.  This moves
	them to a private library subdirectory.

	Name the src/libpspp convenience library consistently.
	src/libpspp.la and src/libpspp/libpspp.la have the same name,
	although they are in different directories.  This seems unduly
	confusing.  This commit renames the latter to liblibpspp.la, which
	is at least different from libpspp.la and is also consistent with
	the naming of the other libtool convenience libraries as
	lib<directory>.la.

2012-01-26  John Darrington  <john@darrington.wattle.id.au>

	Don't crash on Games-Howell test when there are small numbers of cases per category.
	Fixes bug #34978

2012-01-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix warnings.
	This fixes warnings introduced in commit 53508ccb5785 (New abstract
	class PsppireDialogAction).

	perl-module: Fix bad arguments in call to settings_init().
	Found by clang.
	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

	perl-module: Add missing "#include"s to PSPP.xs.
	Found by clang.
	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2012-01-25  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Add "!= NULL" to assignment used as condition.
	Suppresses a "clang" warning.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2012-01-25  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Fix sizeof on "array" that is actually a pointer.
	Found by clang.
	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2012-01-25  John Darrington  <john@darrington.wattle.id.au>

	New abstract class PsppireDialogAction
	Added a new object PsppireDialogAction which abstracts the behaviour of
	dialog boxes.

	Converted the Descriptived Dialog and the Variable Info Dialog to use this
	new abstraction.

	Reviewed-by: Ben Pfaff

2012-01-25  Ben Pfaff  <blp@cs.stanford.edu>

	Makefiles: Define dist_man_MANS before trying to add to it.
	Fixes Automake complaint:
	utilities/automake.mk:2: dist_man_MANS must be set with `=' before using `+='

	Reported-by: John Darrington <john@darrington.wattle.id.au>

2012-01-25  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Mark manpage to be distributed.

2012-01-24  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Avoid putting declaration after statement.

	pspp-dump-sav: Add manpage.

2012-01-23  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Use $(INSTALL_DATA), not $(INSTALL), to install data files.
	Plain $(INSTALL) always adds the executable bit to the installed
	files, which has the wrong effect for data files.

	Found by lintian.

2012-01-23  John Darrington  <john@darrington.wattle.id.au>

	Moved rank.q to rank.c

2012-01-22  John Darrington  <john@darrington.wattle.id.au>

	Reimplemented the logo as a svg image and converted to a 64x64 bit icon

2012-01-21  Ben Pfaff  <blp@cs.stanford.edu>

	README: Update.
	Suggested-by: John Darrington <john@darrington.wattle.id.au>

2012-01-18  John Darrington  <john@darrington.wattle.id.au>

	Added documentation for the MEANS command

2012-01-16  John Darrington  <john@darrington.wattle.id.au>

	Improve behaviour of resizing the value chooser widget

	MEANS: Added further tests for missing value behaviour

	MEANS: Implemented /MISSING=TABLE subcommand

	MEANS: implemented the /CELLS={ALL,NONE,DEFAULT} options and added a test

2012-01-15  Ben Pfaff  <blp@cs.stanford.edu>

	Add German translation from translationproject.org.
	This translation is by Matthias Keil <matthias.keil@uni-jena.de> and
	the German translation team.

2012-01-15  John Darrington  <john@darrington.wattle.id.au>

	Remove stray include directive

2012-01-14  John Darrington  <john@darrington.wattle.id.au>

	Corrected various misspellings in the documentation

	MEANS: remove arguments to callbacks which were always unused

	Fix warnings

	MEANS: This command is IMO now stable enough to be used. Adding to command.def
	Also added some tests.

	Categoricals cleanup:  New structure 'payload' which reduces the number of arguments to categoricals_create

2012-01-12  John Darrington  <john@darrington.wattle.id.au>

	Avoid deprecated Perl syntax.
	Apparently new perl versions don't like qw(x y z) without outer  parentheses.  See
	http://search.cpan.org/~flora/perl-5.14.2/pod/perl5140delta.pod#Use_of_qw%28...%29_as_parentheses

	This change adds these parentheses.

	Reported-by: bojo42 <bojo42@gmail.com>

2012-01-11  John Darrington  <john@darrington.wattle.id.au>

	Use idle callback to write to the local config directory
	When the users config directory is on a filesystem with high latency,
	moving a dialog box resulted in many writes and thus an unacceptable
	delay.  This change fixes that by consolidating the writes into a
	low priority idle callback.

2012-01-10  Ben Pfaff  <blp@cs.stanford.edu>

	Fix PSPP link on OpenSUSE and possibly Ubuntu 11.10.
	Reported-by: friedrich nietzsche <f_nietsje@hotmail.com>
	at http://comments.gmane.org/gmane.comp.statistics.pspp.devel/4850
	Reported-by: Luis Cebamanos <luiceur@gmail.com>
	at http://comments.gmane.org/gmane.comp.statistics.pspp.devel/4869
	Reported-by: Mindaugus <embar@super.lt>
	Tested-by: Mindaugus <embar@super.lt>

2012-01-07  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Only apply options to table items, to avoid crash.
	Most of the members of struct xr_rendering, including the 'xr'
	member, are used only for table items.  In chart items, these
	members are zeroed.  But xr_rendering_apply_options() attempted to
	use the 'xr' member even for chart items, which caused a crash.

	This reverts and replaces the provisional fix already applied by
	John Darrington in commit ee7b576822f (Avoid crash rendering charts
	in the gui interface.), which also fixed the crash but added extra
	unnecessary work.

	Reported-by: Nick Macdonald <nick@nickmacdonald.net>

2012-01-05  John Darrington  <john@darrington.wattle.id.au>

	online_help: use g_spawn_async instead of g_spawn_command_line_async
	This change avoids potential problems caused by metacharacters in the
	constructed command arguments.

	Suggested by Ben Pfaff.

2012-01-05  John Darrington  <john@darrington.wattle.id.au>

	Avoid crash rendering charts in the gui interface.
	Reported-by: Nick Macdonald <nick@nickmacdonald.net>
	Provisionally Reviewed-by: Ben Pfaff <blp@gnu.org>

	Fix memory leaks parsing string expressions

	Fix memory leaks

2012-01-04  John Darrington  <john@darrington.wattle.id.au>

	lex_get_text_buffer_read: Avoid potential buffer overflow.

2012-01-03  John Darrington  <john@darrington.wattle.id.au>

	Add files to manifest, inadvertantly omitted from previous commit.

	New file: builder-wrapper.h and builder-wrapper.c
	Move the functions wrapping GtkBuilder out of helper.c
	and into their own file.

2011-12-22  John Darrington  <john@darrington.wattle.id.au>

	Set the output driver parameters dynamically from the output window style.
	This change allows the output driver options to be changed after the driver
	has been created.  This is necessary in the GUI to follow the style changes
	(eg from theme engines etc)

2011-12-20  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-dialog: Add missing prototype for psppire_dialog_help() to header.

2011-12-18  John Darrington  <john@darrington.wattle.id.au>

	doc/automake.mk: Added eacute to the list of docbook entities which need to be mutated

2011-12-17  John Darrington  <john@darrington.wattle.id.au>

	Correct packing properties of sort cases dialog.

	Escape # character in call to g_spawn_command_line_async
	It seems that this character was being treated as a comment start.

	Added a callback to the dialog help buttons, and a handler to call the manual when clicked.

	Fix errors in the Texinfo source discovered by makeinfo 4.13.90

2011-12-16  John Darrington  <john@darrington.wattle.id.au>

	Output Viewer:  Try to adapt to changes in style
	Set the fg and bg of viewer's container and its children to the
	text and base of the output window upon style change.  This means that
	the output viewer will respond to changes in style once even after the
	program has been started.

	We still need some way to set the foreground colours of the cairo output
	after the driver has been created, but that doesn't seem to be currently
	possible.

2011-12-12  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Make Enter work in the Goto Case dialog.
	Without this change, Enter does nothing in the dialog that Edit|Goto Case
	brings up.  With this change, Enter activates the Goto button.

2011-12-11  John Darrington  <john@darrington.wattle.id.au>

	Output viewer: use the widget's style to set the colors of the output driver.

	Cairo output driver: Added options to set the foreground and background colours.

	Remove xr_draw_chart from cairo.h and make static
	The function xr_draw_chart is used only in cairo.c, so it seems there
	is little point in having it public.

2011-12-10  John Darrington  <john@darrington.wattle.id.au>

	Added basic framework for the MEANS command.
	Not much here yet.  Just the parser and framework
	for the output.

	Added a function to clone an interaction.

2011-12-07  John Darrington  <john@darrington.wattle.id.au>

	Value Labels Dialog: Fix packing properties

2011-12-04  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix behavior of print preview in psppire-output-window.
	Print preview only showed one page because the GtkPrintOperation emits
	"paginate" again even after it returns TRUE once and our "paginate"
	implementation was not prepared for that.

	Also fixes a memory leak in paginate(): the driver used for pagination was
	not being freed.

	Reported-by: John Darrington <john@darrington.wattle.id.au>

2011-12-03  John Darrington  <john@darrington.wattle.id.au>

	ONEWAY: Fixed crash when the dependent variable contained only missing values.
	When forming a struct categoricals, there is no way in advance to know if the
	given categorical variables will actually contain any values.  If one or more
	of them contains no non-missing values, then it's not meaningfull to talk
	about categories.

	Such cases were causing oneway to crash.  Thanks to Dave Purdy
	<David_Purdy@btinternet.com> for reporting this problem.

2011-12-03  John Darrington  <john@darrington.wattle.id.au>

	Remove unused global variables

2011-12-01  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix printing of tables split across pages in psppire-output-window.
	xr_driver_output_item() expects the caller to call xr_driver_next_page()
	as long as xr_driver_need_new_page() returns true, but the printing code
	didn't do that, so tables split across pages in printouts caused an
	assertion failure at the next call to xr_driver_output_item().

	Reported-by: John Darrington <john@darrington.wattle.id.au>

2011-12-01  Ben Pfaff  <blp@cs.stanford.edu>

	Avoid declaring variables in the middle of a block, to avoid requiring C99.

2011-11-28  John Darrington  <john@darrington.wattle.id.au>

	categoricals.c: Rename function to more accurately reflect its purpose

	Remove unused function

2011-11-26  John Darrington  <john@darrington.wattle.id.au>

	GLM: Mimic spss output with /INTERCEPT=EXCLUDE

	Fix memory leak

2011-11-25  John Darrington  <john@darrington.wattle.id.au>

	GLM: Added implementation for the Type 3 sums of squares.
	This seems to match expectations, except for the Intercept term.

	GLM: Added test for type II sums of squares

	Whitespace changes only

	categoricals.c: Effects coding.
	Implemented Effects (also called Contrast) coding instead of Dummy Coding
	and corrected logic error.

2011-11-24  John Darrington  <john@darrington.wattle.id.au>

	GLM test: Remove redundant transformations and reorder.
	This change does not affect the test or its result, but makes it
	easier to understand.

2011-11-23  John Darrington  <john@darrington.wattle.id.au>

	GLM: Implemented the Type I sums of squares and added a test for that.

	GLM: Update logic for choosing types of sums of squares

	glm.c: Allow parser to accept METHOD=SSTYPE(n) subcommand

	glm.c:get_ssq Remove unnecessary assignment

2011-11-20  John Darrington  <john@darrington.wattle.id.au>

	categoricals.c Fix the calculation of the per encoding sums

2011-11-19  John Darrington  <john@darrington.wattle.id.au>

	Rename df --> df_prod and comment accordingly

	categoricals.c: Reimpliment the get_binary_by subscript function
	Instead of making ad hoc encodings for interactions, use the product
	of the encodings of the individual variables.  This should not affect
	the outcome of any current test cases, but makes the data flow easier
	to follow and to debug.

2011-11-15  John Darrington  <john@darrington.wattle.id.au>

	sweep.c: Use gsl_matrix_memcpy instead of element by element copying.
	Although only the upper triangle needs to be copied, there is no
	disadvantage copying the entire matrix (the lower triangle is never read)
	and the expense of using two loops is likely to outweigh the saving achieved
	by avoiding the other triangle.

	sweep.c: Move repeated call out of if ... else
	This line is identical for all cases, so it only needs to appear once.

	sweep.c: Reduce scope of local variables and avoid reusing them.
	This makes the code easier to follow, and helps the compiler with
	optimisation.

	sweep.c: Reverse sense of consistency tests.
	This avoids numerous levels of indentation.

	sweep.c: swap rows/columns instead of using indirection for last_col
	This makes the code shorter, and I believe should make it faster too.

2011-11-14  John Darrington  <john@darrington.wattle.id.au>

	GLM: Add debugging option /SHOWCODES

2011-11-13  John Darrington  <john@darrington.wattle.id.au>

	Remove useless code

2011-11-10  John Darrington  <john@darrington.wattle.id.au>

	File Open: Don't try to analyse the file if it's a directory.
	The File Open dialog box looks at the contents of the selected file
	in order to decide whether to set the sensitivity of the encoding
	selector.  But if the file was a directory this caused error messages
	on windoze. Closes bug #34773

2011-11-09  Ben Pfaff  <blp@cs.stanford.edu>

	GET: Fix confusion over the type of the 'type' parameter.
	The 'type' parameter was being used to pass in an "enum reader_command" but
	it was then later assigned a value of "enum pfm_type".  This renames 'type'
	to 'command' for clarity and just deletes the assignment of the "enum
	pfm_type" value entirely because the value was not used.

	Found by Clang.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-11-09  Ben Pfaff  <blp@cs.stanford.edu>

	DO REPEAT: Properly convert lex_syntax_mode to segmenter_mode.
	Clang reported that "enum lex_syntax_mode" was being implicitly converted
	to "enum segmenter_mode".  Luckily, equal values in each enum have the
	same meaning, but it seems better to convert by hand, so this patch
	implements that.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-11-09  Ben Pfaff  <blp@cs.stanford.edu>

	hmap: Mark definition of hmap_node_hash() "static inline".
	This suppresses a Clang warning.  The prototype earlier in the file
	was already marked "static inline", so I don't think that this is a
	functional change.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-11-09  Ben Pfaff  <blp@cs.stanford.edu>

	str: Mark definition of ss_empty() "static inline".
	This suppresses a Clang warning.  The prototype earlier in the file
	was already marked "static inline", so I don't think that this is a
	functional change.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-11-08  Ben Pfaff  <blp@cs.stanford.edu>

	ONEWAY: Fix printf format specifier.
	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Add option --enable-Werror to add -Werror to CFLAGS.
	-Werror is useful for development, but it screws up configure because it's
	impossible to guess what new warnings compilers will add in the future.
	This commit adds a new configure option to add CFLAGS after the configure
	checks are done.

	The use of AC_CONFIG_COMMANDS_PRE is based on Eric Blake's suggestion on
	the autoconf mailing list: "AC_CONFIG_COMMANDS_PRE probably fits the bill
	as the ideal macro to use for guaranteeing that you inject your shell code
	at the last possible moment."

	The Autoconf code added in this commit, as well as this commit message,
	come from Open vSwitch.

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	crosstabs-dialog: Remove unused vars from on_format_clicked().

	q2c: Remove gettext.h #include from generated code.
	The generated code no longer uses any of the gettext symbols.

	q2c: Remove final untranslated strings from q2c.c.
	The "restrictions" that could be specified in q2c put strings
	in the output that needed to be translated but could not.  This
	commit drops the feature and removes all of its prior users.
	Some of the users required new validation code to be added, but
	many of them in the SET command did not because the value was
	not actually used anywhere.

	q2c: Use new subc_list_error() to report too many subcommands.
	This removes one string from q2c.c that needs translation but
	cannot currently be translated.

	lexer: New function lex_force_string_or_id().
	This new function removes a string from q2c.c that requires
	translation but currently cannot be translated.

	lexer: New functions lex_spec_missing(), lex_spec_only_once().
	These functions don't have many users yet but they make logical
	sense to me.

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Use error helper functions in more situations.
	The error helpers print error messages that are just as helpful
	as handwritten error messages in most cases, especially now
	that the error messages include column numbers.  They also
	have advantages for i18n.

	One important purpose of this commit is to remove several
	strings from q2c.c that require translation but currently are
	not translatable.

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Drop lexer parameter from lex_sbc_missing().
	There's no point in passing in the lexer and using lex_error(),
	because the extra information that lex_error() outputs does
	not help the user find the error.

	lexer: New function lex_error_expecting().
	This centralizes some fairly common strings into lexer.c.

	LOOP: Correctly implement MXLOOPS and add a test.
	Previously the MXLOOPS value was implemented incorrectly: the
	loop would actually iterate MXLOOPS+1 times.  This commit fixes
	the problem.

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	settings: Implement MXLOOPS subcommand.
	It had been overlooked.

	The following commit adds a test.

2011-11-06  Ben Pfaff  <blp@cs.stanford.edu>

	settings: Update default MXLOOPS and document.
	MXLOOPS should be 40 by default, for compatibility.

	SET: Warn for more obsolete subcommands.

2011-11-05  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Remove reference to unimplemented SET PAGER command.
	Bug #33632.
	Reported by John Darrington.

2011-11-04  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Rename 'close' to 'destroy' in struct lex_reader_class.
	This seems like a cleaner solution to the problem of Gnulib
	sometimes defining 'close' as a macro than to add an extra
	include file and a big comment.

2011-11-01  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix spelling error in macro name.

	gui: Make .csv available for output export with File|Export.
	The hard-coded 6 here was wrong: there are 7 file formats.
	It's better to use the n_FT constant.

2011-11-01  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix configuring Unicode box characters.
	Commit 14b3603043 "ascii: Add support for multibyte characters"
	changed how the box characters are configured but failed to
	update psppire-output-window.c, so attempting to paste a table
	into an application that accepts UTF-8 text would output many
	warnings like "unknown option `box[0201]'" and not actually use
	Unicode box characters.

	This fixes the problem.

2011-10-25  John Darrington  <john@darrington.wattle.id.au>

	New object: psppire-lex-reader
	This object reads lexer input direct from a GtkBuffer instead of converting to a string first.

	Remove duplicate #include lines

2011-10-24  John Darrington  <john@darrington.wattle.id.au>

	Remove labelling options from Crosstabs GUI
	The previous change removed the label options from the crosstabs commmand,
	but didn't update the gui accordingly.  This change fixes that.

2011-10-19  John Darrington  <john@darrington.wattle.id.au>

	Use variable labels in crosstabs.
	Use a variable's label instead of its name (if it has one) in the crosstabs
	output.  Removed the FORMAT=LABEL subcommand which is no longer supported
	by spss.  Updated documentation to reflect the code.

2011-10-12  John Darrington  <john@darrington.wattle.id.au>

	Remove redundant error message.
	This error message is not required, because lex_force_string already emits such message.

	Consolidate some very similar user visible strings

	Added some missing gettext macros

2011-10-09  John Darrington  <john@darrington.wattle.id.au>

	Fix potential problems with non-literal printf arguments.
	In a few places we were passing a constructed string to a printf-like
	function as its format argument.  This could have been problematic if
	the constructed string had contained a % (for example due to that
	character occuring in a variable label).  This change avoids those
	situations.

2011-10-07  John Darrington  <john@darrington.wattle.id.au>

	Fix incorrectly ordered arguments to xcalloc
	The gnulib xcalloc call has the following signature:
	 void *calloc(size_t N, size_t S);
	where N is the number of objects and S is the size of each object.
	In many places, we had these arguments transposed. In many implementations
	this doesn't matter since the two arguments are simply multiplied together.
	However, on some systems this can cause problems (ie crash), if S is zero.
	This change fixes all calls where the size was being passes as the first
	argument instead of the second.

	Fixed a crash in the oneway command

2011-10-06  John Darrington  <john@darrington.wattle.id.au>

	Add a warning to GLM until we've sorted out its problems

	Remove visibility from the univariate analysis menu until it works better

2011-10-05  John Darrington  <john@darrington.wattle.id.au>

	Added a base parameter to the interaction_case_hash function

2011-10-04  John Darrington  <john@darrington.wattle.id.au>

	Fix crash on parseing invalid GLM syntax

2011-09-29  John Darrington  <john@darrington.wattle.id.au>

	Implemented the SET=TNUMBERS subcommand

	Optimisation for the type3 sum of squares procedure

	Corrected example files. Closes bug #34343

2011-09-28  John Darrington  <john@darrington.wattle.id.au>

	Fixed a crash in REGRESSION when there were no non-missing values.

2011-09-26  John Darrington  <john@darrington.wattle.id.au>

	Move interaction subset predicates out of glm.c into interaction.c
	Renamed function:   is_subset --> interaction_is_proper_subset
	                    drop_from_submodel --> interaction_is_subset
	and moved them into interaction.c  This seems to me to be easier
	to understand, and more efficient.

	GLM: Add a test for a full factorial anova example

	Smake give correct dependencies where they are well defined

2011-09-25  John Darrington  <john@darrington.wattle.id.au>

	Added dialog box for univariate anova.
	Added a dialog box to conduct a univariate anova using the GLM
	command.  Currently only entry of the dependent variable and the
	factors are possible.   Choosing the interactions must be done
	through syntax, if the default is not what the user wants.

2011-09-20  John Darrington  <john@darrington.wattle.id.au>

	Fix warnings and remove conditional compilation which is no longer necessary

2011-09-18  Jason H Stover  <jhs@franz.gcsu.edu>

	Fixed type 3 sums of squares for models containing interactions

2011-09-10  John Darrington  <john@darrington.wattle.id.au>

	Added a summary introduction to INSTALL, to try to make it less frightening to inexperienced users

2011-09-06  John Darrington  <john@darrington.wattle.id.au>

	Moved call to gl_NEXT_HEADER outside the conditional.
	Fixes bug #33585

2011-09-03  John Darrington  <john@darrington.wattle.id.au>

	File Open dialog: disable encoding selector when not applicable

	Filter file choosers by mimetype instead of file name

2011-09-02  John Darrington  <john@darrington.wattle.id.au>

	Avoid compiler warnings about uninitialised variables.
	Some compilers produced warnings about possible use of
	uninitialised variables (although such use was in fact not possible)
	These warnings were harmless (perhaps even erroneous) but
	it's no problem to avoid them.

2011-09-02  John Darrington  <john@darrington.wattle.id.au>

	Fix make makedistcheck and re-organize icon paths.
	This change does several things:

	* renamed psppicon.png to pspp.png - The word "icon" is redundant
	  (it's also a misuse of English).

	* Changed the install target of the existing 16x16 pictograms out of the apps
	  directory. Instead, they now go in a directory of their own called "pspp".
	  This is more in line with what other applications seem to do.  It also makes
	  it a lot easier to deal uninstall them, since we can be reasonably sure that
	  everything in the "pspp" directory was put there by us.

	* Ensures that make distcheck passes.

2011-08-28  John Darrington  <john@darrington.wattle.id.au>

	GLM: Disable the interactions option until it actually gives the right results

	Added an implementation of the median test

2011-08-25  Ben Pfaff  <blp@cs.stanford.edu>

	Fix build error if "close" macro is not always visible.
	Harry Thijssen <pspp@sjpaes.nl> reported the following errors
	with recent Gnulib on Win32:

	src/language/lexer/lexer.c: In function 'lex_source_destroy':
	src/language/lexer/lexer.c:1455: error: 'const struct
	    lex_reader_class' has no member named 'rpl_close'
	src/language/lexer/lexer.c:1456: error: 'const struct
	    lex_reader_class' has no member named 'rpl_close'

	The problem was that the Gnulib substitute for <unistd.h>
	defines close to rpl_close, but this macro definition wasn't
	visible when lexer.c included lexer.h and became visible later.
	This commit fixes the problem by making sure that the macro
	definition is always visible in lexer.h.

	A better solution would probably be to rename the 'close'
	member to something other than a standard POSIX function name.

	The change to control-stack.h is just precautionary; Harry
	didn't report the same problem there.

2011-08-24  Ben Pfaff  <blp@cs.stanford.edu>

	range-set: Fix typo in comment.

2011-08-24  John Darrington  <john@darrington.wattle.id.au>

	Improve paste to Openoffice.org &c
	Added "css" and "borders" options to the html driver, and
	set these options to false when generating clipboard data.
	This produces better looking results when cut & pasting to
	OOo

2011-08-23  John Darrington  <john@darrington.wattle.id.au>

	Update the recommended gnulib commit, since it contains an important w32 fix

	Fix warnings

2011-08-23  Ben Pfaff  <blp@cs.stanford.edu>

	po: Add French translation from http://translationproject.org

2011-08-21  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add missing $(DESTDIR) to install rule.
	Also, delete white space from otherwise blank line.

	glade: Fix building libglade_psppire.
	Otherwise GCC can't find the gtksourceview header files.

2011-08-20  Matìj Cepl  <mcepl@redhat.com>

	gui: Streamline pspp.desktop
	Remove the extension for Icon (unnecessary, in case in
	future we want to provide for example SVG icon) and removed
	unnecessary keys. Do we know for fact that we will never ever
	support Notifications? And I guess if we provide the .desktop and
	executable as part of the same tarball/package there is not much
	chance we would have binary missing. I have also added a Czech
	translation of keys.

2011-08-19  John Darrington  <john@darrington.wattle.id.au>

	Merge remote branch 'origin/sourceview'

2011-08-18  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Spanish translation from translation-project.org.

	po: Update Catalan translation from translation-project.org.

2011-08-17  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Ignore the -psn_xxx option passed to Mac desktop apps.
	Jeremy Lavergne <jeremy@lavergne.gotdns.org> reports that this
	is necessary to make PSPPIRE launch gracefully on the Mac.

2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>

	Upgrade to newest Gnulib to help relocatable-prog on Mac OS X.
	--enable-relocatable currently fails on Mac OS X due to a link
	error related to symbols that Gnulib is supposed to replace.
	I see that Gnulib has the following commits, not previously in
	PSPP, that mention related changes:

	357d319 relocatable-lib: Move AC_LIBOBJ invocations to module description.
	c2d8c01 relocatable-prog: Move AC_LIBOBJ invocations to module description.
	325f131 relocatable-prog-wrapper: Fix possible link error.
	886f850 relocatable-prog-wrapper: Assume strerror() exists.
	02d4f86 relocatable-prog-wrapper: Update after module 'areadlink' changed.
	d14f18b relocatable-prog-wrapper: Update after module 'areadlink' changed.
	69c99f3 * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	ef11bf4 * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	10d90c8 * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	4e51bc9 unictype/property-byname: Reduce the number of load-time relocations.
	fb6aa6a relocatable-prog: fix link error

	This commit updates PSPP to capture those changes.  It also
	makes the changes recommended by Gnulib's NEWS.

2011-08-13  John Darrington  <john@darrington.wattle.id.au>

	Added an implementation for the One Sample Kolmogorov-Smirnov Test

	Implemented the KMO and Bartlett test in the FACTOR command

	Set the "local-only" property on GtkFileChooser widgets to FALSE

2011-08-05  Ben Pfaff  <blp@cs.stanford.edu>

	range-set: Skip some tests on llvm-gcc 4.2.
	These tests seem to trigger a bug in llvm-gcc 4.2 on Mac OS X
	10.8.0.  Experimentation shows that the bug is more likely to
	be triggered by the test code than the code under test, so skip
	them.

	I spent some time trying to narrow down the problem enough to
	make a bug report to the llvm-gcc developers, but I ran out of
	time before I finished with that.

	Thanks to Jeremy Lavergne <jeremy@lavergne.gotdns.org> for
	reporting the problem.

2011-07-30  John Darrington  <john@darrington.wattle.id.au>

	Oneway Dialog: Cosmetic Improvements

	Npar K-related Dialog: Cosmetic Improvements

	Descriptives Dialog: Cosmetic Improvements

	Binomial Dialog: Cosmetic Improvements

	Regression Dialog: Cosmetic improvements

	K-Means Dialog: Cosmetic improvements

	Correlations Dialog: Cosmetic improvements

	Factor Dialog: Add mnemonics

	Added use-underline and mnemonic-widget properties to PsppireScanf

	Replaced the function widget_scanf with a new widget psppire_scanf

2011-07-29  John Darrington  <john@darrington.wattle.id.au>

	Reliability Dialog: Fix broken mnemonics

	PsppireKeypad: Correct the parent class declaration

	Fix problem building under Gtk+2.18

2011-07-28  John Darrington  <john@darrington.wattle.id.au>

	Makefile.am: update location of gitlog-to-changelog script

	Chi-square Dialog: Cosmetic changes

	Frequencies Dialog: Cosmetic changes

	Crosstabs Dialog: Cosmetic changes

	Fix crash in Correlations

2011-07-26  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak

	glm.c: new function design_full to create default interactions

	Fixed crash when interactions have no instances

	Constness

	Made GLM as well as ONEWAY work

	Move call to categoricals_done earlier in the covariance code

	Constness

	Extended the glm command to accept interactions.  Unfortunately the ssqs are wrong

	categoricals.c: Fixed part of the dump function

	categoricals.c: Rename var_params to interact_params

	Remove unused function

	Fix ssq for interactions

	GLM: get_ssq: replace hardcoded 1 with cmd->n_dep_vars

	GLM: remove design_vars which are now superseeded by interactions

	GLM: Fix memory leaks

	Categoricals: remove var member which is no longer required

	Categoricals: Replace single value by a case, so that interactions can be supported

	Change interaction functions to use cases rather than value arrays

	Categoricals to take interactions instead of variables.
	This change alters the API of categoricals_create, so as to
	accept an array of interactions instead of an array of variables.
	Currently, however only interactions which contain exactly one
	variable will run correctly.

	GLM: Rewrite interactions module and update glm.c to use it in some places

	GLM: Prepare the lexer to accept nested variables

2011-07-25  John Darrington  <john@darrington.wattle.id.au>

	Added dialog for the NPAR RUNS subcommand

	K-means dialog only should accept numeric variables

	Add some  "mnemonic_widget" refs which had been forgotten

	Added dialog box for quick cluster command

2011-07-23  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

2011-07-13  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Simplify var_set_display_width().
	I don't see a reason to keep old_width or to call
	dict_var_changed() if nothing changed.

	format: Use max width for over-max decimals in fmt_fix().
	In fmt_fix(), requesting more decimals than are possible did
	not increase the width at all.  It makes better sense to use
	the maximum width and maximum decimals for this case, so this
	commit makes that change.

2011-07-13  Ben Pfaff  <blp@cs.stanford.edu>

	format: Honor width step in fmt_fix().
	This ensures that hexadecimal format widths will be a multiple
	of 2 after fmt_fix() finishes with them.

	This function is used only by the GUI, which doesn't generally
	work with hexadecimal formats, so it might not fix a real bug
	in practice.

2011-07-12  Ben Pfaff  <blp@cs.stanford.edu>

	GLM: Allow +/- .001 for Corrected Total Type III Sum of Squares.
	Jeremy Lavergne <jeremy@lavergne.gotdns.org> reported that on
	Mac OS X this value is calculated as 329.628 instead of
	329.627.  John Darrington said that he's seen the same on
	GNU/Linux depending on compiler optimization flags.

2011-07-10  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid nonportable "mktemp" usage.
	Jeremy Lavergne <jeremy@lavergne.gotdns.org> reported that
	mktemp on Mac OS X does not have a -p option.  But I don't see
	a reason to use mktemp at all here, so this commit uses a fixed
	name instead.

	tests: Fix Perl module tests on Mac OS X.
	Tested by Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

2011-07-09  John Darrington  <john@darrington.wattle.id.au>

	QUICK CLUSTER: Add documentation

	QUICK CLUSTER: Add MISSING=EXCLUDE for consistency with other commands

2011-07-08  John Darrington  <john@darrington.wattle.id.au>

	QUICK CLUSTER: Implement pairwise missing option

	Merge remote branch 'savannah/master'

2011-07-06  John Darrington  <john@darrington.wattle.id.au>

	Remove redundant files in test sources, that apparently caused link problems

	Fix compiler warnings

2011-07-03  John Darrington  <john@darrington.wattle.id.au>

	Added dialog box for the AUTORECODE command.  Closes bug #30009

2011-07-02  John Darrington  <john@darrington.wattle.id.au>

	Quick Cluster: Avoid crash when presented with missing values

	QUICK-CLUSTER: Seperate const from non-const data and make it handle splits

	For consistency with other files use <> instead of ""

	Remove some gnulib modules whichare being flagges as obsolete

	Use PACKAGE_URL from config.h instead of literal string

2011-07-01  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Fix order of NUMERIC and MRSETS sections.
	The sections were out of alphabetical order.

	Found by texi2html.

2011-07-01  John Darrington  <john@darrington.wattle.id.au>

	Update NEWS file

	Implemented the POSTHOC subcommand for the ONEWAY command.
	Currently, only LSD, Tukey, Bonferroni, Scheffe, Games-Howell
	and Sidak are supported. These are presented as Multiple
	Comparisons - the Homogeneous Subsets are not yet implemented.

	Fix bug where recent data files were not added

	Replace the t-test paired options dialog with a simpler implementation.
	This makes use of some commonality with the npar 2 sample related dialog.

	Add the /BLANK subcommand to AUTORECODE

	Implement dialog box for the non-parametric 2-related-samples tests

	Move the glade definition for the paired samples dialog box to its own file

	Added COUNT dialog box. Addresses one part of bug #29869

	New widget PsppireValChooser.
	This widget provides a user interface allowing the user to input the
	a value, or range of values.  This was previously done "by hand" in
	the recode dialog, but was awkward to maintain, and clumsy.  Upcoming
	dialogs will need something very similar. So now seemed like a good
	time to encapsulate it.

	Use variable labels in DESCRIPTIVES output.  Fixes bug #31565

	Avoid GtkCritical in recode dialog

	Fix incorrect conditional

	Fix GUI issues in K-Related NPAR dialog box.

	Mark get_rule function as inline.

	Use greater-than-or-equal to sign instead of '>='.
	Now that the "ascii" driver supports non-ascii, we can use these
	unicode characters to give more elegent output.

	Implemented the McNemar test.  Closes bug #33242

	Fix bugs deleting temporary files and their containing directory.
	The clean_temp module provided by gnulib doesn't cleanup on program
	exit.  We must do that ourselves.  Secondly, the close_temp_file function
	was supposed to remove the file, but didn't do that.  Thirdly, files
	were not being registered with the clean_temp module on creation.
	This change fixes these problems.

	Make the value labels dialog resizable

	Replace deprecated function call

	Remove action member from PsppireSelector

	Replace some deprecated GTK macros

	Change the order of the reported NPAR values in two sample related tests.
	This change makes the order of the reported values follow the order in
	which they were entered in the syntax.  The changes to the tests affect
	only the order.  The numbers are unchanged.

	Remove duplicated functions

	Remove unused functions

	Filter the data file list by mime type instead of file extension

	Set the show-tips property on the recent chooser menus

	Use local include paths instead of relative to $top_builddir/src
	The old method appeared not to work with some gcc versions.

	Replace some obsolete Gtk macro calls

	Fix building when readline library is not present

	Added support to read OpenDocument spreadsheet files

	Implemented a zip-writer to correspond to zip-reader

	Perl Module - Add function to count cases in a reader.
	Closes bug #33381

	Remove some files which are no longer used

	Fix bug parsing T-TEST

	Re-implemented the T-TEST command and the levene calculation.
	Also updated the ONEWAY command to use the new levene test.
	The changes to t-test.at in this changeset affect only whitespace
	or the order of reported significance.  The numbers remain unchanged.

	Merge remote branch 'savannah/master' into sourceview
	Conflicts:
		src/ui/gui/automake.mk
		src/ui/gui/psppire-data-window.c
		src/ui/gui/psppire-syntax-window.c
		src/ui/gui/psppire-syntax-window.h

2011-06-27  John Darrington  <john@darrington.wattle.id.au>

	Fixed the categoricals such that now both GLM and ONEWAY work

	GLM: Add unimplemented subcommands, and add a test.
	This change adds a basic GLM test for the "Latin Square" use case.
	It also implements the more common subcommands that might occur in
	a real life example of such usage.  The /DESIGN subcommand differs
	slightly from spss.  In spss, it is optional, and if given can be
	empty.  In this change, /DESIGN is mandatory and may not be empty.
	The rational for that, is that spss's default is to include interactions
	for all the factors.  We don't (yet) support interactions, so it's
	better to refuse to run a syntax which relies upon the default
	rather than to run it with different semantics.

2011-06-26  John Darrington  <john@darrington.wattle.id.au>

	First working GLM command

2011-06-24  Jason H Stover  <jhs@franz.gcsu.edu>

	Added type 3 sums of squares to GLM

2011-06-23  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Move some formatting functions into PSPP core.

	gui: Strip numerics and strings differently in value_to_text().
	Otherwise a long string value that only contains a few
	characters followed by all spaces is hard to read.

	gui: Eliminate some dependencies on the dictionary.
	Previously all of the dialog boxes used by the variable sheet
	kept around a pointer to the dictionary solely to obtain the
	dictionary's encoding.  Previous commits have eliminated that
	use, so this commit gets rid of the dictionary members.

	gui: Simplify value_to_text() parameters.
	Both the format and the dictionary can be inferred from the
	variable being formatted in every case in the tree but one, so
	use that as the calling convention.  In the one remaining case,
	it's just as easy to call data_out() directly.

	gui: Consistently use print format instead of write format.
	In syntax, only the WRITE command uses write formats.  Other
	commands all use print formats.  I don't see why the GUI should
	act differently.

	gui: Drop 'dict' parameter from text_to_value().
	This parameter is used only to obtain the dictionary's
	encoding, which may also be obtained through the variable.

2011-06-22  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Reduce invalid format from error to warning.
	gaby jongenelen <geebie21@gmail.com> provided a .sav file
	written by "MS Windows Release 13.0 spssio32.dll" that had
	zeros in the "write" format field for several numeric
	variables.  Until now, PSPP treated this as an error and
	rejected the file.  This commit changes the error to a warning
	and suppresses the diagnostic entirely for this case of a
	zero value.

2011-06-17  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Write identical sets of value labels only once.
	The .sav file format can save space by writing a single set of
	value labels once and assigning it to multiple variables.  PSPP
	has never taken advantage of this, instead writing the value
	labels for each variable separately.  This commit adopts the
	strategy for avoiding duplicates apparently used by SPSS, based
	on observing a .sav file that had many groups of variables with
	the same labels.

	Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
	providing the .sav file that led to this discovery.

2011-06-17  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Do not trim trailing whitespace from variable labels.
	Until now, PSPP has trimmed trailing whitespace from variable
	labels.  SPSS does not do this, which led to gratuitous changes
	in variable labels when reading and then writing back a .sav
	file, so this commit stops stripping trailing whitespace from
	variable labels.

	Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
	providing the .sav file that led to this discovery.

2011-06-17  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Omit empty multiple response sets records.
	Multiple response sets are divided into two records in a .sav
	file: one record with subtype 7 and one with subtype 19.  PSPP
	was incorrectly writing both records even if one of them was
	empty.  This commit makes it omit the empty record.

	Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
	providing the .sav file that led to this discovery.

2011-06-17  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Write variable names in mrsets in lowercase.
	SPSS appears to write the short names of the variables in a
	multiple response set in lowercase, so this commit make PSPP
	do the same.

	Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
	providing the .sav file that led to this discovery.

2011-06-15  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader, sys-file-writer: Use codepage numbers.
	PSPP has had a library for converting between encoding names
	and codepage numbers for a while, but the system file reader
	and writer code has not taken advantage of it.  This commit
	make them use it.

	Update code that assumed a dictionary's encoding could be NULL.
	Until recently, I think, it was possible for dict_get_encoding()
	to return NULL.  It is no longer possible as far as I can see,
	so this commit adds a comment that says so to the definition
	of dict_get_encoding().  It also updates a few callers that
	had checks for null pointers.

	sys-file-writer: Write encoding names in all-uppercase.
	SPSS appears to write encoding names in all-upperacse, so PSPP
	should too.

2011-06-15  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Put long variable name in variable attributes.
	Otherwise, PSPP cannot read back .sav files that it writes, if
	they contain variable attributes for variables with long names.

	Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
	providing the .sav file that led to this discovery and to John
	Darrington for helping to investigate.

2011-06-14  Ben Pfaff  <blp@cs.stanford.edu>

	CD: Fix a bug and add a regression test.

2011-06-14  Ben Pfaff  <blp@cs.stanford.edu>

	GET DATA /TYPE=TXT: Also allow full format to be specified.
	The implementation of fixed-format mode only allowed a format
	type (e.g. DOLLAR) to be specified.  SPSS also allowed a full
	format specification (e.g. DOLLAR12.2), so this implements that
	feature.

	Reported-by: Ronaldo Baltar <ronaldo.baltar@gmail.com>

2011-05-26  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Remove unused old shell-based test files.
	Somehow I forgot to delete these when I switched everything over
	to use Autotest.  Nothing refers to them any longer.

2011-05-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Clean generated gtk.h wrapper on "make clean".
	Fixes "make distcheck".

	Reported by John Darrington.

2011-05-13  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix temporary filtering by a variable's value.
	Problem reported by Mindaugus.
	Bug #33088.

2011-05-13  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Make AGGREGATE dialog initially show all of the right pane.
	The AGGREGATE dialog initially had a very narrow left pane, so
	commit 2e6cffa44ef5 "Aggregate dialog: Initialize HPane widget width
	on opening" added a callback function to adjust the position of the
	divider between the panes to half the window's width.  But this
	happens after the window has been laid out, which means that unless
	the window is very wide to begin with, it will cause part of the
	right pane to disappear.

	I was able to get more consistently good results by forcing a minimum
	width for the left pane with a width_request, and making the right
	pane shrinkable below the minimum size needed to show all of it.  A
	final tweak was to make the left pane automatically grow with the
	window.

	If you've already used the Aggregate dialog then your preferences for
	the window size have been saved, so for testing this it is best to
	remove $HOME/.config/psppire before each experiment.

	Bug #31126.

2011-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	SORT CASES: Don't delete filtered-out cases.
	This was first noticed by users in the GUI, but it is a problem with
	the implementation of SORT CASES, not a problem with the GUI.

	Bug #33089.
	Thanks to Mindaugus for reporting the problem.

2011-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Make File|Recent Files remember the correct encoding.
	It's no good to have File|Open... able to open a file in any encoding
	if later pulling up the same file with File|Recent Files screws that
	up, so this commit fixes the problem by noting the charset in the
	file's mime-type.

2011-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Recode syntax files on load and save.
	This adds a new widget that allows an encoding to be selected to the
	File|Open dialog box, as well as to the File|Save As... dialog box
	for syntax files only.  Files are recoded to UTF-8 on load and back
	to the original encoding on save.

	File|Recent Files doesn't yet properly save the encoding information.
	That's coming up in the next commit.

	Bug #33254.
	Thanks to John Darrington for reporting this problem.

2011-05-11  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Refactor checking for .sav and .por suffixes.
	It seems reasonable to allow, e.g., .Sav as well as .SAV and .sav, so
	this does that.  It also splits name_has_suffix() into smaller
	pieces that will individually be used in an upcoming commit.

	gui: Move null_if_empty_param() from psppire-window to helper.
	An upcoming commit will introduce a new user of this function in a
	different source file, so it seems best to have this defined in a
	common header file.

	i18n: New function is_encoding_supported().
	This will be used for the first time in an upcoming commit.

	encoding-guesser: New function encoding_guess_whole_file().
	This will be used for the first time in an upcoming commit.

	pspp-dump-sav: Add #include <limits.h> to get INT_MAX definition.
	Problem reported by Harry Thijssen <pspp@sjpaes.nl>.

2011-05-11  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Use $LIB<x> for linking a program, not $LTLIB<x>.
	The gettext manual says:

	     `@LIBINTL@' is for use without `libtool', `@LTLIBINTL@' is for
	     use with `libtool'

	It has similar wording for libiconv.

	Since there's lots of libtool-related stuff in the PSPP makefiles, I
	assumed that PSPP needed $LTLIB<x>.  But it now appears that this is
	only correct for linking a libtool library, not for linking a
	program that links against libtool libraries.

	On GNU/Linux, both $LIB<x> and $LTLIB<x> expand to the empty string,
	so I couldn't tell from experimenting there.

	This should fix link failures with Mingw, reported by Harry Thijssen
	<pspp@sjpaes.nl>.

2011-05-10  Ben Pfaff  <blp@cs.stanford.edu>

	pspp-dump-sav: Add GNU standards compliant command line interface.

	pspp-dump-sav: Do not mark any strings for translation.
	The pspp-dump-sav program is a debugging tool not intended for common
	use by end users, so it seems better to avoid burdening translators
	with its strings.

	pspp-dump-sav: Update #include syntax to current style.

	dissect-sysfile: Move to new "utilities" directory as "pspp-dump-sav".
	This utility comes in handy from time to time working with end users,
	so I think it's best to start installing it with the other binaries,
	instead of hiding it in the "tests" directory and having to explain
	where to find it.

2011-05-10  Ben Pfaff  <blp@cs.stanford.edu>

	Automatically link every program against libintl and libiconv.
	On glibc systems, libiconv and libintl are both built into libc.  That
	means that it's very easy to forget to link programs against them,
	because it still builds OK on GNU/Linux.  However, on other systems
	they are usually separate libraries and forgetting to link against
	them breaks the build.

	This commit switches from previous PSPP practice, in which these
	libraries were linked explicitly to every binary that requires them,
	to a simplified practice where they are in LIBS so that every binary
	is automatically linked to them.  This has no disadvantage on
	GNU/Linux, our primary target, and the advantage that on other targets
	PSPP works more consistently.

2011-05-10  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Get rid of the_recent_manager global.
	The GTK+ function gtk_recent_manager_get_default() is documented to
	return a singleton.  We might as well take advantage of that instead
	of caching its return value and passing it around.

	po: Update Dutch translation from translation-project.org.

2011-05-09  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Delete now-incorrect advice to translators.
	The string to which the advice applied was deleted, but the comment
	was mistakenly left behind.

	gui: Make File|Recently Used Data behave like File|Open.
	File|Open opens a new dataset if the current one is non-empty.  Due
	to an oversight, File|Recently Used Data always replaced the current
	dataset.  This commit makes File|Recently Used Data work just like
	File|Open.

	gui: Remove redundant call to psppire_window_set_title().

	gui: Make File|Open open multiple datasets by default.
	This is what I always intended to make File|Open do, and in fact I
	had implemented it that way, but I screwed up in rebasing and forgot
	to fix it before my final push.

2011-05-09  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-sheet: Avoid CRITICAL unselecting range before window created.
	Without this change, File|Open that opens a new datasheet yields:

	Gdk-CRITICAL **: gdk_window_invalidate_rect_full: assertion
	`GDK_IS_WINDOW (window)' failed

	I'm not 100% certain that this is the correct fix--perhaps the client
	is at fault for calling this function before a window exists?--but it
	does avoid the message.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Avoid creating empty output window at startup time.
	Reported by Harry Thijssen.
	Bug #33234.

	gui: Label message output items in the output viewer treeview.
	Until now, messages (such as errors and warnings) simply had blank
	lines in the output viewer summary treeview.  This made for funny gaps
	and a generally puzzling appearance.  This fixes the problem.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Only unselect range from first data sheet when data changes.
	commit 5080068 "gui: Unselect data in data editor when the datasheet
	is replaced" unselected all the data in each of the possible four
	datasheets (supposing that the "split" view is selected), but if the
	"split" view is not in effect then three of the data sheets don't have
	windows and this results in "Gdk-CRITICAL **:
	gdk_window_invalidate_rect_full: assertion `GDK_IS_WINDOW (window)'
	failed".

	This commit switches to unselecting the range only from the first data
	sheet, which seems to be just as effective at solving the original
	problem and does not cause Gdk-CRITICAL messages.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	ext-array: Speed up with unlocked versions of I/O functions.
	In my tests this reduced a 2.0 second run to only 1.5 seconds.

	Bug #33260.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	temp-file: Use 64 kB buffer for temporary files.
	Generally PSPP uses temporary files because it has a lot of data to
	write to them.  The default glibc buffer is only 4 kB.  In my tests
	using a 64 kB reduced runtime from 2.5 seconds to 2.0 seconds, but
	increasing the buffer to 1 MB had no additional effect, so 64 kB is a
	reasonable choice.

	Bug #33260.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Left-justify text items rendered in the GUI.
	Otherwise multi-line syntax comes out right-justified, which looks
	really funny.

	Bug #33261.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Use GTK+ accessor functions instead of deprecated macros.
	These are now available on all GTK+ versions due to the <gtk/gtk.h>
	wrapper added in the previous commit.

	gui: Add <gtk/gtk.h> wrapper with functions from GTK+ 2.18 and 2.20.
	Suggested by John Darrington.

	dataset: Fix memory leak.
	Reported by John Darrington.

2011-05-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add workaround for GTK+ 2.20 crash at startup.
	Based on this patch against Inkscape:
	https://launchpadlibrarian.net/60175914/copy_renamed_icons.patch

	Reported by Fredrik Clementz.
	With input from John Darrington and Harry Thijssen.
	Tested by Mindaugus.
	Bug #31511.

2011-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Provide substitute for gtk_widget_get_realized() for GTK+ < 2.20.
	Problem reported by "Mindaugas Baranauskas" <embar@super.lt>.

	po: Update Dutch translation from translation-project.org.

2011-05-05  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

2011-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	intern: Fix GCC warning.
	Otherwise, GCC issues the following warning:

	intern.c:83: warning: comparison of distinct pointer types lacks a
	cast.

2011-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Unselect data in data editor when the datasheet is replaced.
	The active cell in the PsppireSheet remembers its contents even if
	the whole sheet gets replaced, so we have to unselect the cell when
	this happens to avoid replacing the cell's contents by whatever was
	there before.

	Bug #30502.
	Thanks to Michel Boaventura for reporting the problem and John
	Darrington for diagnosing it.

2011-05-04  Ben Pfaff  <blp@cs.stanford.edu>

	Increment version to 0.7.8 to send to Translation Project.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	psql-reader: Fix build when PostgreSQL is installed.
	Problem reported by "Mindaugas Baranauskas" <embar@super.lt>.

	NEWS: Consolidate post-0.6.2 NEWS.
	Suggested by John Darrington.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Change View|Data and View|Variables to radio button menu items.
	I didn't know what View|Variables did until I tried it, at which
	point I was surprised that it changed into View|Data.  I think that
	a pair of radio button menu items better communicates the intent.
	Also, this situation seems to fit well what the GNOME Human Interface
	Guidelines say about radio button menu items:

	    Radio button menu items show which of two or more
	    mutually-exclusive settings are currently selected, and allow
	    the user to choose a different setting by selecting its menu
	    item.

	    * If you need to offer a choice of two mutually-exclusive
	      settings to the user, use a group of two radio button items
	      instead of a single check box menu item if the settings are
	      not clearly opposites. For example, represent View as Icons
	      and View as List as two radio button items.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add ellipsis to menu items that require further input.
	The GNOME Human Interface Guidelines say:

	    Label the menu item with a trailing ellipsis ("...") only if
	    the command requires further input from the user before it
	    can be performed. Do not add an ellipsis to items that only
	    present a confirmation dialog (such as Delete), or that do
	    not require further input (such as Properties, Preferences or
	    About).

	Most PSPPIRE menu items fit this description, so they should have
	trailing ellipses, which this commit adds.

	Some GTK+ programs use the Unicode HORIZONTAL ELLIPSIS (U+2026)
	character instead of three periods in menu items.  In a quick check
	on my own machine, however, three periods were over twice as common.
	In an informal survey on pspp-dev, the best argument presented in
	favor of one or the other was that three periods may be more familiar
	for translators and thus cause less confusion in translation.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	Implement DATASET commands.

	gui: New "entry-dialog" module for prompting for a text string.
	This will be used in an upcoming commit to implement File|Rename
	Dataset.  It is made general-purpose, rather than specifically
	for that purpose, because it is not any harder to do so and might
	be useful somewhere else in the future.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-buttonbox: Add "default" property.
	This property allows the default button to be controlled from a
	GtkBuilder description, instead of forcing the default to Continue.

	Only a single bit should be set in the "default" mask.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix g_object_get() memory leaks for PsppireWindow's filename.
	g_object_get() makes a copy of strings that it returns, so every call
	for "filename" was returning a copied string that the caller did not
	free.

	gui: Fix File|Open in syntax editor.
	It didn't do anything.

	gui: Eliminate dataset-related global variables.
	This should make it easier to introduce support for multiple datasets
	later.

	gui: Make syntax execution functions take a PsppireDataWindow argument.
	The argument specifies which dataset the syntax is meant to apply to.
	For now, this is obvious, because there is only one dataset, but in
	the future there will be more than one.

	gui: Prefer NULL to 0 for initializing pointers.
	Using NULL instead of 0 is better modern C style.

	gui: Remove obviously unnecessary #include directives.
	These simple header files #include <gtk/gtk.h> but do not reference
	anything from GTK+, so they do not to #include its header.

	gui: Include only <gtk/gtk.h> to use GTK+.
	The GTK+ manual says: "The recommended way of using GTK+ has always been
	to only include the toplevel headers gtk.h, gdk.h, gdk-pixbuf.h."  We
	might as well follow this practice, since it only makes life easier.

	psppire-window: Use g_string_append_unichar() instead of global var.
	Seems slightly cleaner.

	gui: Use dispose instead of finalize method in PsppireDataWindow.
	According to the GObject reference manual, "When dispose ends, the
	object should not hold any reference to any other member object."
	That is, references should be dropped in dispose, not in finalize.

	gui: Drop null base_finalize function from PsppireDataWindow.
	According to the GObject manual, base_finalize is "Never used in
	practice. Unlikely you will need it." so I don't see a reason to keep
	a stub here.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix const-ness warning in create_lines_tree_view().
	This fixes this warning from GCC:

	src/ui/gui/text-data-import-dialog.c: In function ‘create_lines_tree_view’:
	src/ui/gui/text-data-import-dialog.c:875: warning: initialization
	discards qualifiers from pointer target type

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix const-ness warning for measure_to_string() return type.
	This fixes the following GCC warning:

	src/ui/gui/var-display.c: In function ‘measure_to_string’:
	rc/ui/gui/var-display.c:25: warning: return discards qualifiers from
	pointer target type

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Put a separator line before list of windows in Windows menus.
	I found it a bit confusing before, that the list of windows in the
	Windows menu was not separated from the list of actions of windows.
	This fixes the problem.

	Simply adding a separator item to the .ui files doesn't work, because
	GtkUIManager removes it.  The same thing happens if we add a separator
	without adding a real menu item at the same time.

	Thanks to John Darrington for suggesting the root of the problem.

2011-05-03  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Always convert file names to UTF-8 for use in syntax.
	Syntax as understood by the lexer is always in UTF-8, so file names
	have to be in UTF-8 too.  (The PSPP code that opens files based on
	strings from syntax is already using utf8_to_filename() to convert
	them properly before opening.)

	Before commit 9ade26c8349 "lexer: Reimplement for better
	testability and internationalization", the encoding of syntax
	files was not well-defined.  It was reasonable, then, to put file
	names in generated syntax in the file name encoding.

	Commit 9ade26c8349 changed the encoding of syntax so that it was
	always in UTF-8.  This meant that file names in syntax had to be
	converted back into the file name encoding before trying to open
	the files, and I made that change (you can see, for example, the
	call to utf8_to_filename in do_insert() in
	src/language/utilities/include.c).  But I forgot that the GUI
	needs to convert its file names into UTF-8 when it is generating
	syntax, so this commit fixes that up.

2011-05-02  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Spanish translation from translation-project.org.

	po: Update Catalan translation from translation-project.org.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	FACTOR: Use %s for literal string.
	tab_title() treats its parameter as a printf format string, so it's
	necessary to use %s.

	Found on Mac OS X with help from Jeremy Lavergne.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	Use %zu, not %d, to format a size_t.
	Found on Mac OS X with help from Jeremy Lavergne.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	encoding-guesser: Don't guess UTF-8 for ASCII if it is the fallback.
	When the text presented to the encoding guesser is all ASCII, normally
	the encoding guesser will report ASCII as its guess.  But if the
	fallback encoding is UTF-8, then it reports UTF-8 instead.
	Unfortunately, this makes the encoding guesser a bit harder to test,
	because guesses depend on the system's locale.  It's easier to test
	if all-ASCII always yields ASCII as the guess, so this changes the
	encoding guesser to do that.

	This fixes a test failure on Mac OS X.  Thanks to Jeremy Lavergne for
	reporting the problem.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Fix type of objects passed as u8_mbtouc()'s character parameter.
	Thanks to Jeremy Lavergne for making a Mac OS build system available.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	QUICK CLUSTER: Adjust comment style.
	PSPP uses primarily /**/ style comments so the use of // comments in
	this file sticks out.

	Also we generally wrap comments (and code) at 79 columns and try to
	write comments as whole sentences, at least where there is room.

	Also, usually PSPP avoids multiple blank lines in a row.

2011-04-26  Ben Pfaff  <blp@cs.stanford.edu>

	QUICK CLUSTER: Update #include directives to match current style.
	These days, usually system header files are #included first, using
	<> notation, and then PSPP's one header files, using "" notation.
	Each group is alphabetized.

	QUICK CLUSTER: Fold quick-cluster.h into quick-cluster.c.
	It's unusual to put 'static' function prototypes into a header file:
	header files are usually used to export declarations for use by other
	source files, but 'static' functions cannot be called outside their
	own source files.

2011-04-26  Mehmet Hakan Satman  <mhsatman@yahoo.com>

	QUICK CLUSTER: New command.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file: Add test to write non-ASCII to most .sav string fields.
	Bug #33036.

	sys-file-reader: Add tests for non-ASCII characters and encodings.

	DISPLAY FILE LABEL: Display in a more natural way.

	MRSETS: Recode counted value to UTF-8 before displaying.
	Otherwise they display incorrectly if a counted value contains
	non-ASCII characters.

	sys-file-reader, sys-file-writer: Fix encoding problems for mrsets.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-writer: Fix encoding of several string fields.
	PSPP keeps most string data in the dictionary in UTF-8.  The system
	file writer needs to recode this data into the correct encoding, but
	in several cases it failed to do so.  This fixes the problem.

	Thanks to Mindaugas for reporting the problem and to John Darrington
	for help diagnosing it.

	Bug #33036.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Take string encoding into account for text records.
	The 'encoding' member of struct sfm_reader was not filled in anywhere,
	so it was always NULL, which meant that the recode operation in
	open_text_record() was a no-op.

	variable: Make var_set_label() use the variable's own encoding.
	I don't see any reason to make the caller supply this.  It just makes
	code harder to read and write.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	dictionary: Make dict_create() take the new dictionary's encoding.
	There are several places in the PSPP tree that create dictionaries,
	but few of them actually set an encoding.  This causes most
	dictionaries to be in the default encoding, which is often not
	correct.

	By making dict_create() take the encoding as a parameter we force
	the caller to think about the encoding issue up-front.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	dictionary: Set encoding early when cloning a dictionary.
	Many operations that involve the names of variables and other entities
	in a dictionary depend on the dictionary's encoding, so it is
	potentially important to have the encoding set properly when adding
	other entities to the dictionary.

	I did not check that this fixes an actual bug.

2011-04-25  Ben Pfaff  <blp@cs.stanford.edu>

	short-names: Consider character encoding when making short names.
	Variable names and short names are always in UTF-8, but the length of
	short names needs to be limited to 8 bytes in the dictionary encoding,
	not in UTF-8.  This commit fixes that problem.

	short-names: Drop redundant call to var_set_short_name().
	This function always calls var_set_short_name() twice, so we can drop
	the first call.

	dissect-sysfile: Don't omit the last in a series of text tokens.
	Otherwise dissect-sysfile would not print the last long string
	variable name written by sys-file-writer, because it did not include
	a separator byte after the last record.  (This was obvious running
	dissect-sysfile on a system file with only one variable.)

	str: Always null-terminate string in str_format_26adic().
	It seems like a good idea to always supply a null terminator, even on
	error.

	Reformat src/language/stats/automake.mk.
	It seems more consistent with most of our Makefiles to just write one
	file per line.

2011-04-23  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

2011-04-23  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Add unilbrk/u8-possible-linebreaks Gnulib module.
	The ASCII output driver now requires this module, as of commit
	14b3603043 "ascii: Add support for multibyte characters."

	Reported by John Darrington.

2011-04-23  Ben Pfaff  <blp@cs.stanford.edu>

	Add new output/ascii.h header to the distribution, fixing "make dist".

2011-04-22  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Print syntax in output single-spaced.
	When SET PRINTBACK=ON was in effect, the ASCII output driver would
	put a blank line between successive lines of syntax, because each line
	was output separately.  This commit fixes that, by causing the output
	core to combine successive syntax output items into a single item that
	contains multiple lines of text.  This was essentially what the HTML
	output driver was doing anyhow, so putting this into the core also
	allows removing the corresponding logic from the HTML driver.

2011-04-22  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Don't print command names in output.
	This seems to be closer to what users expect.

	I think that having the command names in output was being confused
	by users with SET PRINTBACK=ON (see e.g. bug #31561) even though I
	really just added that so that there are clear titles for the output
	that goes with each procedure.  This change should help, I think.

	It might make sense to make drivers only print the titles of
	procedures that have other output, but this commit doesn't do that.

2011-04-22  Ben Pfaff  <blp@cs.stanford.edu>

	odt: Write command name in output both only before command, not after.

2011-04-22  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Add support for multibyte characters.
	This commit modifies render.at, changing hyphens to non-breaking
	hyphens.  This change is only to ensure that the output for the tests
	in render.at are the same afterward.  Without these changes, these
	tests wrap these tables differently, because they break after the
	hyphens; before, only spaces were considered valid breakpoints.

	Bug #31478.

2011-04-17  Ben Pfaff  <blp@cs.stanford.edu>

	ascii: Drop useless 'wrap_mode' parameter from ascii_layout_cell().
	This parameter is always supplied as WRAP_WORD, so there's no point
	in having it at all.

	Updated the Lithuanian translation from http://translationproject.org.

2011-04-17  Mindaugas  <embar@super.lt>

	gui: Add Lithuanian translation and MIME type to pspp.desktop

2011-04-16  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

	gui: Fix crash in executor when inline data is missing.
	Without this commit, typing "DATA LIST /x 1." into an otherwise empty
	syntax window and executing it caused a crash because the lexer was
	being accessed after it was destroyed.  This commit averts the crash.

	CROSSTABS: Fix output of multiway statistics tables.
	Bug #27452.

	Updated the Lithuanian translation from http://translationproject.org.

2011-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	table-casereader: Put space between columns.
	When table_casereaders are pasted together next to each other, there
	should normally be a little bit of space between neighboring columns,
	instead of having them directly abutting.  This makes the output of
	LIST, for example, much more readable.

	Without this commit, LIST output for three variables named x, y, and
	z, all with F1.0 format, looks something like this:

	xyz
	---
	111
	222
	311
	412
	521
	612
	711
	811
	912

	With this commit, it looks like this:

	x y z
	-----
	1 1 1
	2 2 2
	3 1 1
	4 1 2
	5 2 1
	6 1 2
	7 1 1
	8 1 1
	9 1 2

2011-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix rendering of TAL_GAP rules.
	A rule that is set to TAL_GAP is supposed to have the same width or
	height as a rule of type TAL_1, but without drawing the line.  That
	is, it is supposed to be a small blank space between rows or columns.

	Unfortunately, TAL_GAP was not implemented properly in the rendering
	code.  It was treated just like TAL_0, which meant that it was ignored
	and no gap appeared.

	This commit implements TAL_GAP, fixing the problem.

2011-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Invoke AM_GNU_GETTEXT by hand.
	The Gnulib "gettext" module does not invoke AM_GNU_GETTEXT, because
	gnulib-tool uses "sed" to filter it out.  So we must invoke it
	ourselves.

	John Darrington narrowed the problem down to the commit b54a5702b6
	"Fix up build following dropping ulc-width-linebreaks module" that
	started using the gettext Gnulib module.

	Bug #33083.
	Reported by Mindaugus.

2011-04-14  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add missing scroll bar in K related samples variables list.
	Reported by and fix from Mindaugas Baranauskas <embar@super.lt>.
	Reviewed by John Darrington.

2011-04-13  Ben Pfaff  <blp@cs.stanford.edu>

	value-labels: Interpret \n as new-line in value labels.
	Bug #18497.

2011-04-12  Ben Pfaff  <blp@cs.stanford.edu>

	intern: New function intern_strlen().

	intern: Use UP_CAST macro instad of open-coding it.

	po: Update Dutch translation.
	Thanks to the Dutch translation team and the translationproject.org
	coordinators.

2011-04-12  Ben Pfaff  <blp@cs.stanford.edu>

	value-parser: Make parse_value() accept variable's print format also.
	Previously commands such as VALUE LABELS required numeric values to
	be given as plain numbers, but this makes it difficult to add
	meaningful value labels for variables with date and time formats.
	This commit allows values for this command and a few others to be
	given in a variable's print format instead.

	Bug #18497.

2011-04-12  Ben Pfaff  <blp@cs.stanford.edu>

	value-labels: Fix comment.

	DISPLAY: Display values for value labels using the variable's format.
	Until now, the values in value labels have been displayed as plain
	numbers, but this makes the values for variables with date and time
	formats unreadable.  Changing them to use the variable's own format
	makes them easier to read.

	tab: Make tab_value() take a variable instead of a dictionary.
	It seems far more likely that callers will have the variable handy
	than the dictionary.  Also, when the variable is used the format can
	be optional since tab_value() can get it from the variable's print
	format.

2011-04-11  Ben Pfaff  <blp@cs.stanford.edu>

	FORMATS: Allow an optional slash before each set of variable names.
	This increases compatibility.

	FORMATS: Allow setting formats of string variables.
	Thanks to John Darrington for reporting this bug.
	Bug #22012.

2011-04-10  Ben Pfaff  <blp@cs.stanford.edu>

	gui: psppire-var-view: Change "<unset>" to null string.
	Commit 0cb2b9c42 caused NULL variables to be displayed as "<unset>".
	This commit changes that to the empty string, which doesn't require
	translation and is equally clear.

	Suggested by John Darrington <john@darrington.wattle.id.au>.

2011-04-09  Ben Pfaff  <blp@cs.stanford.edu>

	LIST: Fix crash when SPLIT FILE was used.
	Thanks to John Darrington for reporting the problem and to Michel
	Boaventura for reducing the problem to a simple test case.

2011-04-09  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix crash in Paired T-Test dialog on selecting first variable.
	When a variable is moved into the list of selected variables in the
	Paired T-Test dialog, that row of the treeview has one nonnull
	variable and one null variable.  Calling var_get_name(NULL) causes a
	segfault.

	I'm not certain that this is the correct fix, but it fixes the
	segfault.  The missing variable is now shown as <unset> until a second
	variable is moved into the treeview.

	Bug #32958.

2011-04-09  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix Glib warnings for dialogs in realize and configure callbacks.
	The GtkBuilder documentation says:

	    Prior to 2.20, GtkBuilder was setting the "name" property of
	    constructed widgets to the "id" attribute. In GTK+ 2.20 or newer,
	    you have to use gtk_buildable_get_name() instead of
	    gtk_widget_get_name() to obtain the "id", or set the "name"
	    property in your UI definition.

	This commit fixes the problem by switching from using the "name"
	property to calling gtk_buildable_get_name().

2011-04-09  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Link against $(LIBICONV) too.
	The GUI now uses iconv, so we need to link libiconv too.

	Problem reported by Harry Thijssen <harry.thijssen@gmail.com>.
	Fix suggested by John Darrington <john@darrington.wattle.id.au>.

2011-04-09  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: Add cast to iconv() to suppress warnings on some systems.
	Problem reported by Harry Thijssen <harry.thijssen@gmail.com>.
	Fix suggested by John Darrington <john@darrington.wattle.id.au>.

	u8-istream: Include <limits.h> for definition of MB_LEN_MAX.
	Problem reported by Harry Thijssen <pspp@sjpaes.nl>.
	Fix suggested by John Darrington <john@darrington.wattle.id.au>.

2011-04-08  Ben Pfaff  <blp@cs.stanford.edu>

	segment: Fix uninitialized variable in segmenter_parse_comment_2__().
	This caused a couple of test failures on Mac OS X.

	Thanks to Jeremy Lavergne <jeremy@lavergne.gotdns.org> for reporting
	the problem.

2011-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Only check MODE=360 when EBCDIC is supported.
	Jeremy Lavergne <jeremy@lavergne.gotdns.org> reported that these tests
	fail on Mac OS X.  testsuite.log showed that Mac OS X did not support
	the EBCDIC-US encoding, so this OS cannot support these tests.

2011-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix quoting in data-in tests.
	Without [[ ]] around the test commands, m4 swallows the inner [] in
	the sed argument, causing the substitution to be ineffective.

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

2011-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: widget-io: Fix cleanup code in widget_printf(), widget_scanf().
	The 'arg' member of arguments and the 'dir' member of char_directives
	are only allocated from malloc() if there are more than fit in the
	arrays that are included inside their respective structures, so they
	must only be freed when that internal structure is not used.

	Also, these arrays are allocated with malloc() and so must be freed
	with free(), not g_free().

	Thanks to Benoit Flippen <anagogue@gmail.com> for reporting the
	problem.

2011-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Fix crash when median and histogram both requested.
	Thanks to Benoit Flippen <anagogue@gmail.com> for reporting this bug.

2011-03-24  Ben Pfaff  <blp@cs.stanford.edu>

	Update version number to 0.7.7 to

2011-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Correctly render table during scrolling.
	Commit 845d4b4f3f (cairo: Draw table titles in xr_rendering_draw()
	too) started rendering table titles in the GUI but forgot to
	compensate for this in the call to render_page_draw_region(), so
	scrolling caused visible damage.

	Bug #31569.
	Reported-by: John Darrington <john@darrington.wattle.id.au>

2011-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Only close valid iconv converters in i18n_done().
	iconv_open() returns (iconv_t) -1 to indicate an error.  We shouldn't
	pass this to iconv_Close().

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

	John Darrington suggested that this was probably the problem, and
	Jeremy confirmed it with valgrind.

2011-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Test converting between unknown encodings too.
	This would have found the bug fixed by the previous commit.

2011-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	str: Make ss_alloc_substring_pool() null-terminate its output.
	It's inconsistent that ss_alloc_substring() null-terminates its output
	but ss_alloc_substring_pool() does not.  This caught us out in
	recode_substring_pool(), which used ss_alloc_substring_pool() in a
	fallback case where create_iconv() failed and expected the result to
	be null-terminated.

	Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>

2011-03-22  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Wrap more binaries for "check-valgrind" target.

	Smake: Add 'memrchr' Gnulib module.
	Thanks to John Darrington for reporting that this was needed.

2011-03-21  Ben Pfaff  <blp@cs.stanford.edu>

	Add valgrind support to testsuite.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	Fix up build following dropping ulc-width-linebreaks module.
	Commit b5cebf00d5e "Smake: Remove  module"
	unexpectedly broke the build, because ulc-width-linebreaks had several
	indirect dependencies that PSPP actually used but were not in the
	list of Gnulib modules in Smake.  This fixes the problem.

	The oddest consequence fixed by this commit has to do with
	build-aux/config.rpath.  AM_GNU_GETTEXT requires this file, which is
	supplied by only a few Gnulib modules: havelib, gettext, and
	threadlib.  ulc-width-linebreaks depended indirectly on havelib, but
	PSPP did not otherwise depend on any of these modules.  It seemed that
	the best fix was simply to use the Gnulib gettext module, which is
	what this commit does.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	Change terminology from "active file" to "active dataset".
	I plan to introduce the concept of multiple datasets.  One of these is
	active at any given time, and the others are inactive.  Each one is
	similar to what has been called the "active file" until now.  Thus, it
	is natural to rename the "active file" to the "active dataset".  I
	guess that this greater uniformity of terminology will cause less
	user confusion.

	dataset: Use similar form to dictionary code for callbacks, and document.

	dataset: Rename functions with "dataset_" prefix.

	Rename procedure.[ch] to dataset.[ch].
	These functions deal with datasets, so it is good to name the file after
	the data structure.

	dataset: Remove unused types and useless struct forward declaration.
	These typedefs were not used anywhere in the tree.  The struct forward
	declaration duplicates an identical one at the top of the header.

	message: Remove reference to deleted type "struct source_stream".

	NEWS: Remove Time-stamp line.
	This isn't useful in conjunction with a version control system.  It
	just causes artificial merge conflicts.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Reimplement for better testability and internationalization.
	This commit reimplements PSPP lexical analysis from the ground up.
	From a PSPP user's perspective, this should make PSPP more reliable
	and make it easier to work with syntax files in non-ASCII encodings.
	See the changes to NEWS for more details.

	From a developer's perspective, the most visible change may be that
	strings within tokens are now always encoded in UTF-8, regardless of
	the syntax file's encoding.  Many of the changes in this commit are
	due to this, especially those to functions that check for valid
	identifiers: an identifier in UTF-8 is not necessarily the same length
	when encoded in the dictionary's encoding, but limits on identifier
	length must be enforced in the dictionary's encoding (otherwise it
	might not be possible to write out a valid system file, since the
	identifier might not fit in the fixed length fields in such files).

	Another important change is that, whereas before some special syntax
	had to be handled by the parser providing feedback to the lexer, now
	increasing the sophistication of the lexer has enabled all PSPP syntax
	to be analyzed into tokens.  This permitted some other improvements:

	  - An arbitrary number of tokens of lookahead, up to the end of the
	    current command, is now supported using lex_next_token() and
	    related functions.

	  - Before, some command implementations had a special attribute that
	    meant that the top-level PSPP command parser would not consume the
	    final token of the command name (because that token was not
	    followed by tokenizable syntax).  This is no longer necessary and
	    has been removed.

	  - Before, each command implementation was responsible for ensuring
	    that valid command syntax was not followed by trailing garbage,
	    often by calling lex_end_of_command() as the last step of parsing.
	    This is no longer necessary; the main command parser will ensure
	    this for itself.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	scan: New library for high-level PSPP syntax lexical analysis.
	This library converts a stream of segments output by the "segment"
	library into PSPP tokens.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	segment: New library for low-level phase of lexical syntax analysis.
	This library provides for a low-level part of lexical analysis for
	PSPP syntax, which I call "segmentation".  Segmentation accepts a
	stream of UTF-8 bytes as input.  It outputs a label (a segment type)
	for each byte or contiguous sequence of bytes in the input.

	The following commit will implement the high-level phase of lexical
	analysis, called "scanning", that converts a sequence of segments into
	PSPP tokens.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	u8-istream: New library for reading a text file and recoding to UTF-8.
	This new library will be used in an upcoming commit.

	encoding-guesser: New library to guess the encoding of a text file.
	This will be used by other new libraries in upcoming commits.

	i18n: New functions and data structure for obtaining encoding info.
	For now these functions don't do any caching, but it might sense to
	add caching later if they are called frequently.

	identifier: Rename token_type_to_string() and make a new version.

	i18n: New functions for truncating strings in an arbitrary encoding.

	i18n: New function recode_string_len().

	i18n: New function uc_name().

	hash-functions: New function hash_case_bytes().
	This is useful for hashing an arbitrary byte sequence case-insensitively.
	Obviously most uses would be better off working with Unicode but we aren't
	there yet.

	str: New functions for checking for and removing string suffixes.

	str: Rename ss_chomp() to ss_chomp_byte(), ds_chomp() to ds_chomp_byte().
	This paves the way for new functions that chomp an entire substring.

	str: New function ss_realloc().

	output: New function text_item_create_nocopy().

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Refactor to clean up character encoding support.
	The system file format is unusual in that it does not record the encoding
	used by character strings at the beginning or at any fixed place in the
	file.  Instead, it can be recorded practically anywhere in the file.  It
	never precedes all of the actual character strings in the file, which makes
	it impossible to interpret those strings completely and correctly until it
	is encountered.

	Until now, the system file reader has dealt with this situation by
	stuffing uninterpreted character strings into data structures until the
	encoding is known, then at that point fetching out the character strings,
	reencoding them, and stuffing them back into the data structures.  This
	does work, but it has the disadvantage that all of the PSPP data
	structures have to tolerate character strings with unknown encoding.  In
	some cases this seems like an ugly situation.  For example, arbitrary
	variable names have to be supported, even though the syntax for variable
	names is circumscribed by the language, because the syntax rules for
	variable names cannot be completely and correctly applied to a string that
	is in an unknown encoding.

	This commit fixes that problem by adopting a new way to read system files.
	Each record in the system file dictionary is essentially slurped into
	memory as a chunk, then the character encoding is extracted from it, then
	the rest of the dictionary is interpreted based on that encoding.  The
	actual implementation is a little more intricate because the format of
	system file records is somewhat non-uniform.

2011-03-20  Ben Pfaff  <blp@cs.stanford.edu>

	file-name: Do not make output files line-buffered in fn_open().
	I don't see any reason to do this.  I can't see anything in the commit
	log for this file or in OChangeLog that explains why it was done.

	data-reader: Remove unreachable "return" statements.

2011-03-19  Ben Pfaff  <blp@cs.stanford.edu>

	file-handle-def: Use hmap instead of list for name table.
	It makes much more sense to keep an index of names using a hash table
	than using a linked list.

	Update all #include directives to the currently preferred style.
	I left src/ui/gui alone for now.

	Smake: Remove ulc-width-linebreaks module.
	This function has not been used in PSPP for a long time now.

2011-03-11  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Fix percentiles calculation.
	The condition for using a variate directly instead of interpolating was
	just wrong.  It would interpolate in cases where it clearly should not,
	which produced incorrect results in many cases.

	Thanks to Fabio Bordignon <bordignon@demos.it> for reporting the problem
	and supplying a simple test case.

2011-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	T-TEST: Fix use-after-free with TEMPORARY and independent samples.
	When TEMPORARY is in effect, proc_commit() destroys the temporary
	dictionary.  This means that any procedure that does not somehow disable
	temporary transformations and refers to a variable following proc_commit()
	has a use-after-free error.

	T-TEST has two different bugs of this type.  First, the loop that destroys
	group statistics refers to destroyed variables.  This commit fixes this
	problem by instead using variable aux data destructors to destroy group
	statistics.

	Second, when there is an independent variable, destroying its values
	requires knowing the variable's width.  This commit fixes this problem by
	destroying the values before calling proc_commit().

	The AUTORECODE, DESCRIPTIVES, RANK, and REGRESSION procedures appear to
	have similar issues (not fixed by this commit).

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

2011-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	group: Delete unused functions.

	DELETE VARIABLES: Style fix.

2011-02-24  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Update to newer commit.
	This is the Gnulib commit I'm testing against locally.  It should fix the
	problem that showed up in the nightly build, in which the dtoastr module
	was missing.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Add test for non-ASCII custom currency formats.
	These now work as I would expect, so add a test to avoid future regression.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Optimize and fix some bad assumptions.
	Until now, data_out_pool() and its wrapper function data_out() have always
	done at least two memory allocations: one to fill in the initial version
	of the result and another to recode it to UTF-8.  However, recoding to
	UTF-8 is usually unnecessary, because most output formats always produce
	output in UTF-8 anyway.  Only binary formats and the string A format ever
	produce data in other encodings, so this commit drops recoding entirely
	except for those cases.  Binary formats are a particularly special case:
	usually it doesn't make any sense to use these formats for text output,
	but this commit does its best to translate the binary output bytes into
	valid UTF-8, at least up to the first null byte.

	This commit also finishes fixing up display widths.

	The closely related data_out_legacy() function, which only has one user
	in three also needed some work.  It was badly named, so I renamed it to
	data_out_recode().  It made the bad assumption that the data passed in
	was encoded in ASCII (written C_ENCODING).  It also made the bad
	assumption that the number of bytes output would be exactly the format's
	width.  This rewrite fixes these problems.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	pool: Support NULL pool argument to pool_alloc_unaligned().
	I don't see a reason that this should be unsupported.

	data-out: Reorganize output_Z() to be more easily understood.
	It took me a minute to figure out what was going on here, so this commit
	slightly reorganizes it.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	format: Count prefix and suffix width in terms of display columns.
	Until now, the prefixes and suffixes for custom currency formats
	(CCA, etc.) have been considered to occupy one display column per
	byte.  This is fine for prefixes and suffixes like "$" or "%", but
	falls down badly with U+00A5 (¥) or U+20AC (€), which occupy two
	or three bytes, respectively, in UTF-8, while occupying only a
	single display column.

	This commit fixes the problem.  It doesn't add a test yet because
	there are still some higher-level issues, but that will come in
	a later commit when those remaining issues are resolved.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	format: Create a new "struct fmt_affix" for prefix and suffix strings.
	This combines two changes: changing the string type for numeric
	prefix and suffix strings from "struct substring" to plain "char *",
	and putting the string inside a new structure.  Both of these will
	make more sense after the following commit, which adds another member
	to the new structure and stops using the length of the string in so
	many places (which is the reason that "struct substring" was a good
	choice).

	data-out: Make each converter responsible for storing null terminator.
	Until now, every converter has produced output that is exactly as many
	bytes long as the format's width.  In upcoming patches this will change,
	because in UTF-8 a character that occupies a single display column can
	require multiple bytes.  In preparation, this commit requires the
	individual converters to write out their own null byte, giving a bit
	more flexibility regarding length.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	format: Increase abstraction of fmt_number_style.
	Upcoming commits will make some changes to fmt_number_style, so it
	seems best to avoid having clients actually construct and modify
	instances of this structure.  This commit makes that change.

	We could take it one step further and add accessor functions even
	for reading out the structure, but in my opinion that would be
	overkill for this structure.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	legacy-encoding: Remove.
	The functions in this module are no longer used.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Introduce C_ENCODING as replacement for LEGACY_NATIVE.
	The LEGACY_NATIVE name seems a bit awkward for something that is just the
	name of the encoding for strings in C source code, that is, the C locale,
	so this commit renames it to C_ENCODING and moves it to i18n.h with the
	rest of the encoding-related functions.

	In addition, PSPP assumes in various places that the local system has
	ASCII-based locales.  I don't think there's much point in pretending to
	support EBCDIC, so this commit removes that little bit of support.

2011-02-19  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: New function recode_byte().

	PRINT: Use UTF-8 encoding for output to the output subsystem.
	All string data coming into the output subsystem must be encoded in UTF-8,
	but PRINT was recoding it into ASCII instead.

	CROSSTABS: Eliminate redundant data copying.
	There's no point in copying the output string twice.

2011-02-15  Ben Pfaff  <blp@cs.stanford.edu>

	Use new Gnulib function dtoastr() to format short, accurate real numbers.
	%.*g with DBL_DIG + 1 as argument is simple but in rare cases it fails to
	accurately format a real number.  The recently added Gnulib routine
	dtoastr() always formats a real number accurately, so switch to using it
	for these cases.

2011-02-13  Ben Pfaff  <blp@cs.stanford.edu>

	operations.def: Fix indentation.

2011-02-12  Ben Pfaff  <blp@cs.stanford.edu>

	PRINT SPACE: When an output file is specified, don't ignore expression.
	When both OUTFILE= and an expression were specified on PRINT SPACE, the
	expression was ignored (if it was only a single token) or an error would
	occur (if it was was more than one token).

	GET DATA: Get rid of lex_put_back().
	An upcoming commit will get rid of lex_put_back(), so don't use it here.

	float-format: Eliminate tests' dependence on exact string encoding.
	Until now, the float-format tests have depended on the PSPP syntax
	accepting arbitrary byte values in strings, without treating them as part
	of any particular encoding.  The lexer is being rewritten so that this
	assumption is no longer true, so this commit eliminates this assumption in
	the float-format tests.  After this commit, the tests only use ASCII
	characters in strings.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	por-file-reader: Remove dependency on VAR_NAME_LEN.
	VAR_NAME_LEN wasn't really needed here because we knew that the name we
	started from was no more than 8 bytes long.  Also, we know that we can
	come up with a unique name within ULONG_MAX tries since we'd run out of
	memory before running out of values to try.

	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	text-data-import-dialog: Eliminate VAR_NAME_LEN restriction.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	REGRESSION: Eliminate restriction to VAR_NAME_LEN in reg_get_name().
	There's still an obvious problem here that the prefix isn't being trimmed
	down so that the suffix will fit.  Since an upcoming series of changes
	would have to completely redo how this would be done, I'm not fixing that
	now, only marking it with XXX.

	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	FLIP: Eliminate false dependency on VAR_NAME_LEN.
	The size of this buffer really shouldn't have anything to do with
	VAR_NAME_LEN but with the string about to be put into it.

	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: Eliminate main restriction on Z-score variable name length.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	variable-parser: Drop VAR_NAME_LEN restriction from var_set_lookup_var_idx().
	This restriction is purely artificial, as part of an assertion.  Since
	longer variable names are going to have to be supported, remove it.

	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	variable-parser: Rewrite parse_DATA_LIST_vars().
	This rewrite was prompted by getting rid of the VAR_NAME_LEN limit inside
	parse_DATA_LIST_vars(), but then I noticed that the variable naming and
	coding style was dated, and that duplicate variable names were only
	detected for variables named using TO, not for individual names, so I
	rewrote much of the code instead.

	DEBUG EVALUATE: Eliminate VAR_NAME_LEN limit.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	VECTOR: Eliminate VAR_NAME_LEN limit for variable names.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	MODIFY VARIABLES: Eliminate VAR_NAME_LEN limit on variable names.
	This is actually a general code improvement, since it eliminates memory
	allocation and copying that was not actually necessary.

	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

2011-02-05  Ben Pfaff  <blp@cs.stanford.edu>

	DATAFILE ATTRIBUTE, VARIABLE ATTRIBUTE: Eliminate VAR_NAME_LEN limit.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	GET DATA /TYPE=TXT: Get rid of VAR_NAME_LEN limit on variable names.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	FILE HANDLE: Get rid of VAR_NAME_LEN limit on handle name.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	combine-files: Eliminate VAR_NAME_LEN restriction from combine_files().
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	vector: Remove VAR_NAME_LEN limit for internal representation of name.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	variable: Remove VAR_NAME_LEN limit for internal representation of name.
	Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
	the limit applies to variable names in the encoding used by the data
	set, but most uses of VAR_NAME_LEN actually limit the length of a name
	in UTF-8.  The UTF-8 representation of a name can be longer or shorter
	than its representation in the data set encoding, so it seems best to
	eliminate references to VAR_NAME_LEN entirely.

	dict: Make dict_make_unique_var_name() return an allocated string.

	tests: Add `check-programs' target.
	Occasionally I want to build all the programs required to run "make check"
	without actually running the tests.  This target allows me to do that.

	Smake: Avoid duplicating $(GNULIB_TOOL) invocation.
	The "all" and "gnulib" rules both contained the same gnulib-tool
	invocation.  This commit changes the "all" rule to use the "gnulib" rule
	as a subrule.

	i18n: Always allocate from pool in recode_substring_pool().

	sys-file-writer: Fix subtype used for v14+ multiple response set records.

	doc: Document that type-7 records must appear in ascending numerical order.
	Every system file that I have seen puts them in this order, so I cannot
	imagine that any other order receives any testing.

	doc: Update description of character encoding information in system files.
	Based on information provided by John Darrington and on system files
	obtained freely from the Internet.

2011-02-03  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Add tests.

	sys-file-reader: Elevate invalid number of labels from warning to error.
	There's no way to figure out when the labels end when the count is wrong,
	so this has to be an error.

	sys-file-reader: Avoid redundant "within system file" in messages.
	All system file message already state the system file's name, which should
	be enough identification.

	sys-file-reader: Improve debugging usefulness of error messages.
	I found that these changes made it easier to debug problems with system
	files while I was developing tests.

	sys-file-reader: Really enable warnings for invalid variable formats.
	With these operator in the wrong order, I never saw any warnings, although
	other people might have seen different behavior.

	sys-file-reader: Add missing periods at end of error messages.
	Most of the error messages already ended in periods, so this adds them to
	the others for consistency.

2011-01-30  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Check that multiple response set names begin with `$'.
	This invariant was being checked by an assertion in dict_add_mrset(), so
	this change avoids an assertion failure for invalid system files.

	sys-file-reader: Fix double-free on read of partial record.
	partial_record() does a longjmp() to code near the top of
	sys_file_casereader_read() that unrefs the case, but this code at the
	end of sys_file_casereader_read() would have already unref'ed it once in
	that case, resulting in a double-free.

	hash-functions: Use C instead of preprocessor to test size of double.
	I don't see a reason that this has to be done as an #if directive.  The
	compiler should be easily able to optimize out the branch that will never
	be taken.  This allows us to get rid of a configure check, so it seems
	worthwhile to me.

2011-01-29  Ben Pfaff  <blp@cs.stanford.edu>

	q2c: T_RPAREN should be T_LPAREN for matching a left parenthesis.
	Also add a test for this case on the T-TEST command, where the bug was
	first reported.

	Bug #32061.
	Reported by Mindaugas <embar@super.lt>.
	Reported by Chuck Kralowec <chuck.kralowec@gmail.com>.

2011-01-05  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

2011-01-02  Ben Pfaff  <blp@cs.stanford.edu>

	README: Describe meaning of copyright year ranges.
	This is required by the GNU maintainers guide as a prerequisite for using
	copyright year ranges.  So far, PSPP itself doesn't use ranges, but Gnulib
	(which PSPP uses) does.

2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Fix test failures due to new year.
	Some of the date-related test cases assumed that year 41 would be
	interpreted as 1941, but due to the 30-year century window, as soon as it
	became 2011 this assumption failed.  Write these years explicitly as 1941
	instead to fix the problem.

2010-12-21  Ben Pfaff  <blp@cs.stanford.edu>

	NPAR TESTS: Fix two test failures.
	Tests "NPAR TESTS CHISQUARE with DESCRIPTIVES" and "NPAR TESTS CHISQUARE,
	listwise missing" were failing because of some unexpected behavior of
	lex_put_back().  This fixes the problem by avoiding lex_put_back()
	entirely.

	NPAR TESTS: Fix "NPAR TESTS BINOMIAL, P = 0.5; N1/N2 < 1" test failure.

2010-12-20  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Fix GCC warning for unhandled TOKEN_N_TYPES in lex_token_name().

	lexer: Remove unused function lex_put_back_id().

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	value-parser: Remove redundant call to lex_force_string() in parse_value().

	GET DATA: Fix punctuation in error message.

	AGGREGATE: Align arg_func_tab[] in columns.
	This makes the code more readable.  It should not change PSPP behavior.

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	i18n: Remove unnecessary #ifs.
	The test for LC_MESSAGES should not be necessary because Gnulib ensures
	that LC_MESSAGES is always defined.

	The test for ENABLE_NLS should not be necessary because PSPP has not
	supported that configuration for some time.

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	ECHO: Use text_item, as intended.
	TEXT_ITEM_ECHO is meant for use by ECHO but it had been overlooked
	accidentally until now.

	float-format: Don't translate test strings.
	These aren't visible to users in normal operation, so we might as well not
	burden translators with them.

	DO REPEAT: Make this command usable anywhere.
	DO REPEAT just does macro expansion so there's no reason to limit it to
	just after an active dataset has been defined.

	identifier: New function token_type_to_string().
	This is useful for debugging and testing code.

	NPAR TESTS: Prefer lex_match_id() over lex_match_hyphenated_word()
	This code used lex_match_hyphenated_word() in many places where it was
	necessary to match a plain identifier.  But it is better to use
	lex_match_id() when it can be, because it is simpler and faster, so this
	commit does that.

	q2c: Prefer lex_match_id() over lex_match_hyphenated_word() in emitted code.
	Until now, q2c has used lex_match_hyphenated_word() wherever it was
	necessary to match a plain identifier.  But it is better to use
	lex_match_id() when it can be, because it is simpler and faster, so this
	commit does that.

	DEBUG XFORM FAIL: Issue an error message as part of transformation.
	PSPP only returns a failure exit status if an error message is issued, but
	DEBUG XFORM FAIL doesn't issue an error message.  This means that, if PSPP
	has no other errors, then it's difficult to tell that the transformation
	really did what it should have.  This commit fixes the potential problem.

	INPUT PROGRAM: Remove unused enumeration.

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Make extract_min_valid() parameter const.
	This fixes the following warning:

	parse.c: In function ‘parse_function’:
	parse.c:1213: warning: passing argument 1 of ‘extract_min_valid’ discards qualifiers from pointer target type

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	categoricals: Make parameter to categoricals_done() const.
	From a high-level point of view, categoricals_done() does not actually
	mutate any data in a categoricals object.  Instead, it just computes a
	cache.  So it seems reasonable to make it take a "const" parameter, and
	this fixes a warning:

	oneway.c: In function ‘run_oneway’:
	oneway.c:502: warning: initialization discards qualifiers from pointer target type

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	covariance: Fix const-ness of covariance_calculate[_unnormalized] retval.
	The covariance_calculate() and covariance_calculate_unnormalized()
	functions documented that their return values were owned by the covariance
	object itself and thus should not be freed by the caller.  However, this
	documentation was incorrect, because in fact the covariance object did not
	retain the pointer at all.  This commit fixes the comments, updates
	the return values to be non-"const", and changes the callers to free the
	returned "gsl_matrix" objects.

	ONEWAY: Fix warning for passing "const" pointer as non-const parameter.

	mann-whitney: Suppress GCC warning about unused parameter.

2010-12-11  Ben Pfaff  <blp@cs.stanford.edu>

	friedman: Fix GCC warning about uninitialized fr.w.
	On my machine GCC 4.4 complains:
	friedman.c: In function ‘friedman_execute’:
	friedman.c:106: warning: ‘fr.w’ may be used uninitialized in this function

	This appears to be because GCC can't see that the assignment to fr.w and
	its later use (in show_sig_box()) both have the same condition.  At any
	rate, this commit suppresses the warning by always initializing fr.w.

2010-12-05  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Factor out duplicated code for executing and pasting syntax.
	Reducing code duplication is good on its own.  This will also make it
	easier in upcoming patches to swap out "getl_interface" with a new
	structure, by eliminating most of the references to getl_interface.

2010-12-04  Ben Pfaff  <blp@cs.stanford.edu>

	command: Don't allow SORT as an abbreviation for SORT CASES.
	This abbreviation has never been documented, and I don't see a reason to
	keep it.

	Remove the PROMPT, CPROMPT, and DPROMPT settings.
	These settings will be insufficient to configure prompting for the new
	lexer, which is able to detect more special cases in syntax and report
	them through the prompt.  (However, if users actually want this feature,
	then we could add it; it's not difficult.)

	Remove the NULLINE and ENDCMD settings.
	These settings change the lexical structure of the language, which makes
	lexical analysis difficult.

	VALUE LABELS: Relax limit on value label length from 60 bytes to 255.
	Requested by friedrich nietzsche <f_nietsje@hotmail.com>.
	With improvements by John Darrington.

2010-11-19  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Change the functions for retrieving token strings.
	Until now, lex_tokid() has been for T_ID tokens only and lex_tokstr() has
	been for T_ID and T_STRING tokens.  For T_ID tokens, lex_tokid() and
	lex_tokstr() had slightly different semantics.

	This doesn't entirely make sense, and these particular functions are not
	the ones wanted most by clients, so this commit removes these functions
	in favor of lex_tokcstr() and lex_tokss(), which are both applicable
	to both T_ID and T_STRING tokens, with the same semantics in each case.

	These functions are also easier for the upcoming reimplementation of the
	lexer.

2010-11-19  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Get rid of lex_negative_to_dash().
	This function stands in the way of replacing the lexer in a
	straightforward way, because it disrupts the stream of tokens: the
	lexer can't tell in advance whether, e.g., "-4" is one token or
	two.  Fortunately, it is not used in very many places and is
	relatively easy to remove.

	lexer: New type enum token_type.
	It seems useful to have a type that indicates that a value is a token.
	Furthermore, being able to enumerate all of the possible tokens in a
	straightforward way seems worthwhile.  It also makes it possible for
	GCC to check "switch" statements on token types and to build arrays
	indexed by token.

2010-11-18  Ben Pfaff  <blp@cs.stanford.edu>

	command: Factor command name matching out of command.c.
	Making command parsing into a library will allow other code to use
	the same functionality, which will be useful later in the lexer.
	It also simplifies parsing command names and allows us to easily
	add tests for command name parsing.

	The new command name parsing code supports UTF-8.  This is not useful yet,
	because its only client does not feed it UTF-8 strings, but it will be
	useful later when the rest of the lexer is rewritten, where it will gain
	another client that does feed it UTF-8.

2010-11-18  Ben Pfaff  <blp@cs.stanford.edu>

	identifier: Add some functions for Unicode syntax.

	str: Add some functions for handling UTF-8.

	str: Change "char" to "byte" in function names.
	As PSPP moves toward using UTF-8 pervasively for command syntax, a
	character is no longer always a byte, so this naming is clearer.

	str: Inline some trivial functions.

2010-11-17  Ben Pfaff  <blp@cs.stanford.edu>

	Updated the Lithuanian translation from http://translationproject.org.

2010-11-17  Jason H Stover  <jhs@franz.gcsu.edu>

	Fixed degrees of freed in t-stat for intercept

2010-11-15  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file: Add functions for converting between codepage numbers and names.

2010-11-14  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Fix return value of append_case subroutine.
	The casewriter_write() function does not have a return value (it is
	declared as "void"), but the append_case subroutine tried to use its
	return value anyway.  This cannot work properly, of course, and in fact
	caused problems on 64-bit builds in particular.

	I don't know why there is no C compiler warning about this problem.  I
	guess the Perl module build must somehow turn off a lot of GCC warnings.

	Reported by bojo42 <bojo42@gmail.com> in bug #31611.

2010-11-14  Ben Pfaff  <blp@cs.stanford.edu>

	INSTALL: Update to mention test-only dependencies.

	perl-module: Only run the combined test if Text::Diff is present.
	The combined test using Pspp.t only works if Text::Diff is installed
	(although the broken-out tests don't require it), so only try that test if
	Text::Diff is available.

	tests: Only attempt to run PostgreSQL tests if the server is installed.
	PSQL_SUPPORT only indicates that PSPP was compiled against the PostgreSQL
	client library, but the test also requires the PostgreSQL server and
	utilities to be installed, so skip the test if they are not.

	ONEWAY: Accept 3.88 instead of 3.87 in multiple variables test.
	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on bug-gnu-pspp.
	Also reported by bojo42@gmail.com in bug #31611.

	NPAR TESTS: Accept .313 instead of .312 for point probability in SIGN test.
	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on bug-gnu-pspp.
	Also reported by bojo42@gmail.com in bug #31611.

2010-11-05  Ben Pfaff  <blp@cs.stanford.edu>

	csv: Make the character used for quoting configurable.
	Requested by Björn Manke <bjoernmanke@gmx.net>.

	csv: Add ability to suppress table captions.
	Requested by Björn Manke <bjoernmanke@gmx.net>.

	Added the Lithuanian translation from http://translationproject.org.

2010-11-04  Ben Pfaff  <blp@cs.stanford.edu>

	csv: Better support separators other than comma or tab.
	Before this commit, although any separator could be specified for cvs
	output, the set of characters that triggered quoting was fixed, and only
	really suitable for comma and tab separators.  This commit fixes the
	problem, making sure that whenever the specified separator appears in a
	field, that field will be quoted.

	Problem noticed during a discussion with Björn Manke <bjoernmanke@gmx.net>
	on pspp-users.

2010-11-04  Ben Pfaff  <blp@cs.stanford.edu>

	Add tut.texi to gitignore file.

	CACHE: Implement command as no-op.
	Requested by Matej Kovacic <matej.kovacic@owca.info>.

2010-11-03  Ben Pfaff  <blp@cs.stanford.edu>

	sparse-array: Fix accidental assumption that "long" is exactly 32 bits.
	Debugged with help from Jeremy Lavergne <jeremy@lavergne.gotdns.org>.

	po: Update Catalan translation from translation-project.org.

2010-11-02  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file: Make test writing compressed system file more portable.
	The format of "od" output varies among platforms, so avoid using it.

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on Darwin 10.4.0.

2010-11-02  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Make MONTH, WKDAY tests more portable.
	The amount of leading whitespace output by "uniq -c" varies among
	platforms, so remove all of it for comparison.

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on Darwin 10.4.0.

2010-11-02  Ben Pfaff  <blp@cs.stanford.edu>

	Improve failure output of tests that use wc.
	Commit 37c5ded73 "Make tests which use wc more robust." made these tests
	tolerate slightly different output formats, but at the same time, if the
	tests fail we don't find out why.  This commit should retain the fix but
	also provide more feedback in the log on failure.

2010-10-31  Ben Pfaff  <blp@cs.stanford.edu>

	Stop building src/language/stats/glm.c for now.
	This code is not currently used.  It causes problems for some builders, so
	stop building it for now.

	This commit adds the file to EXTRA_DIST so that it is still included in
	distributions.

	Bug #30811.

2010-10-31  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Catalan translation from translation-project.org.

	executor: Execute pending transformations after processing syntax.
	Bug #30689.

2010-10-31  John Darrington  <john@darrington.wattle.id.au>

	Make tests which use wc more robust.
	It appears that some systems' "wc" command  format their output
	differently.  So this change uses a numeric comparison rather
	than a string comparison.

2010-10-30  Ben Pfaff  <blp@cs.stanford.edu>

	datasheet: Add a few assertions.
	These made the problem a bit more obvious while tracking down bug #30689.

2010-10-30  John Darrington  <john@darrington.wattle.id.au>

	Fix typo

	NPAR: Implemented the /KENDALL subcommand.

	Added a dialog box for the k-related-sample non-parametric tests.

2010-10-29  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Fix rendering of wide titles for GUI rendering.
	The width of the title was not being taken into account in calculating the
	size of a table_item in the code path used by the GUI, so titles wider
	than their tables were truncated at the width of the table.  This commit
	fixes the problem.

2010-10-29  John Darrington  <john@darrington.wattle.id.au>

	Conditionally compile in the SIGWINCH handler
	Not all systems have SIGWINCH.  But this isn't an essential
	feature so only compile it in if its available.

2010-10-28  John Darrington  <john@darrington.wattle.id.au>

	Add test for the Cochran Q

	Added very basic documentation for the Cochran Q test

	Added implementation for the Cochran Q test

2010-10-27  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-output-window: Insert a half-line of space between output items.
	Before, the lack of table titles put some vertical space into the output
	window.  Now that table titles are shown, there's no white space left, so
	this commit reintroduces some by putting half a line of vertical white
	space between output items.

2010-10-27  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Draw table titles in xr_rendering_draw() too.
	xr_rendering_draw() didn't draw table titles.  It seems that this was just
	an oversight, so this commit fixes the problem.

	xr_rendering_draw() is used by the GUI output viewer window, so this makes
	the GUI output viewer display table titles now.

	Bug #30554.

2010-10-27  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Always save output item in xr_rendering_create().
	Currently xr_rendering_create() only saves the output item passed in if it
	is a chart.  However an upcoming commit will have a need for table output
	items too, so this commit always saves them.

	case: Add support for debugging case reference count leaks.

2010-10-27  John Darrington  <john@darrington.wattle.id.au>

	Smake: Add a rule to update the gl directory without doing all the other stuff

	Make ascii driver's length and width parameters fit the terminal.
	If the driver's output is a tty, then handle SIGWINCH to adjust
	the length and width according to the size of the terminal.

2010-10-26  John Darrington  <john@darrington.wattle.id.au>

	Allow perl module to enter non-ascii data

	INSTALL: Add note about (non)installation of the perl module

	Added a test for the mann-whitney test

	Mann-Whitney: Use value names in rank table.
	Use the values or labels of the groups instead of
	a literal "group1" or "group2".

2010-10-25  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Handle case where all cases in a crosstabulation are missing.
	Thanks to Michel Boaventura for reporting the problem.
	Bug #31260.

	data-reader: Correct spelling.

2010-10-25  Ben Pfaff  <blp@cs.stanford.edu>

	render: Fix cells spanning otherwise completely empty rows/columns.
	When adjacent rows or columns contain only spanned cells and no rules give
	the rows or columns a natural minimum height or width, this triggers a
	special case in distribute_spanned_width().  This special case had not been
	tested and (therefore) was broken.  This commit fixes the problem and adds
	test cases to prevent it from recurring.

	Bug #31346.

2010-10-25  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Add keywords to render tests.
	This makes it easy to run just the rendering tests with:
	    make check TESTSUITEFLAGS='-k render'

2010-10-25  John Darrington  <john@darrington.wattle.id.au>

	Added manual entry for the Mann-Whitney test

	Mann-Whitney: Change the rank sum used for Wilcoxon W

	First attempt at Mann-Whitney U test.
	Currently only assymptotic significance is calculated.

	CROSSTABS: (Re)implemented the format=DVALUE option.
	This was documented as implemented but in fact, wasn't.

	Ensure tests have unique names

	Remove various duplicated #include directives

	Use sort instead of qsort thus avoiding compiler warning

	Avoid compiler warnings

2010-10-23  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Make subsection order alphabetical

	Properly handle  weights in Friedman test

	Add test for friedman test and fix problem with missing values

	remove unused variable

	fix memory leak

	Documentation for the Friedman test

	en_GB.po: Fix fuzzy translation

	First attempt at the Friedman test

	Whitespace changes only

	Remove redundant whitespace

2010-10-21  John Darrington  <john@darrington.wattle.id.au>

	Fix memory deallocation bug

	Implemented the /RUNS subcommand for NPAR TESTS.

2010-10-17  Ben Pfaff  <blp@cs.stanford.edu>

	str: Remove unused functions.

	format-parser: Fix parse_format_specifier() failure case.
	When the current token is an identifier that takes the abstract syntax
	of a format specifier, but its "name" part is not a valid format name,
	parse_format_specifier() returned false but still consumed the token.
	This is a potential issue for callers that want to report an error that
	mentions the identifier, e.g. parse_primary(), although the current lexer
	tends to retain the same identifier when the new token is not an
	identifier.

2010-10-17  John Darrington  <john@darrington.wattle.id.au>

	Update en_GB.po

	Fix typos in printed strings

2010-10-17  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/master' into sso
	Conflicts:

		src/ui/gui/psppire-syntax-window.c

2010-10-17  John Darrington  <john@darrington.wattle.id.au>

	Update en_GB.po and remerge

	Fix test failures on T-TEST command.
	The t-test command is documented to ignore cases
	which are not in a valid group.
	The new levene function does not have any awareness
	of the group criteria.  Therefore we must remove any
	values which are not in a valid group.

	Re-implemented the levene calculation

2010-10-17  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation from translation-project.org.

2010-10-17  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug in oneway /descriptives subcommand vs. weights.
	The descriptives option was misinterpreting the weight
	value when calculating max and min.  This change fixes
	the bug and adds a test to check for it.

2010-10-16  Ben Pfaff  <blp@cs.stanford.edu>

	Increment version number to 0.7.6 for translationproject.org.

2010-10-16  Ben Pfaff  <blp@cs.stanford.edu>

	doc: Always build ni.texi, tut.texi in source directory.
	When the source and build directories are different, ni.texi and tut.texi
	were being built in the build directory.  This meant that, since
	$(builddir)/doc is not in the TeX search path, but $(builddir) is (because
	it is the working directory when TeX is invoked), the @include commands
	that include ni.texi and tut.texi had to specify doc/ explicitly.
	However, doing that broke the case where the source and build directories
	were different but ni.texi or tut.texi were in the source directory (which
	happens when building from a tarball or, similarly, running "make
	distcheck"), because $(top_srcdir) is not in the TeX search path (only
	$(top_srcdir)/doc is).

	The easiest solution appears to be to always make sure that ni.texi and
	tut.texi are in the source directory.  Then they are always in the TeX
	search path (as long as we drop the doc/ prefix) and everything should
	work out OK.

	Reported by Michel Boaventura <michel@michelboaventura.com>.

2010-10-16  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Avoid reading $HOME/.pspprc inside the testsuite.
	This solution was suggested by John Darrington.

	tests: Put atlocal.in in a logical order.
	This is intended to have no semantic change.

	po: Update Spanish translation from translation-project.org.

2010-10-16  John Darrington  <john@darrington.wattle.id.au>

	Include hash-functions.h instead of hash.h

	NPAR: use hmapx instead of hash.h

2010-10-14  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Remove file and Makefile contents that are no longer necessary.
	All of the tests have been converted to Autotest so this commit removes
	variable assignments that are specific to the Automake TESTS-based
	testsuite.

	tests: Convert tests for binary and 360 data I/O to Autotest framework.

	data-in: Convert tests for time input formats to Autotest framework.

	data-out: Convert tests for numeric output formats to Autotest framework.

2010-10-13  Ben Pfaff  <blp@cs.stanford.edu>

	data-in: Convert tests for date formats to Autotest framework.

	data-in: Convert test for numeric input formats to Autotest framework.

	data-in: Convert test for MONTH format to Autotest framework.

	data-in: Convert test for WKDAY format to Autotest framework.

	data-in: Convert tests for binary and hexadecimal formats to Autotest.

	data-in: Convert tests for N and Z formats to Autotest framework.

	tests: Fix "make dist" by correcting typo in EXTRA_DIST.

2010-10-13  John Darrington  <john@darrington.wattle.id.au>

	Updated NEWS file

	Add some comments where needed

	Update Catalan translation from translation-project.org

	Avoid compiler warnings

2010-10-12  Ben Pfaff  <blp@cs.stanford.edu>

	data-out: Convert test for WKDAY format to Autotest framework.

	data-out: Convert test for time output formats to Autotest framework.

	data-out: Convert test for MONTH format to Autotest framework.

	format-guesser: Convert test to Autotest framework.

	float-format: Convert tests to Autotest framework.

	data-out: Convert tests for date formats to Autotest framework.

	data-out: Convert tests for binary and hex formats to Autotest framework.

	data-in: Convert BCD input tests to Autotest framework.

2010-10-12  John Darrington  <john@darrington.wattle.id.au>

	Add documentation for the Kruskal-Wallis subcommand

	Fix memory leaks in Kruskal-Wallis test

	Added tests for the Kruskal Wallis test

2010-10-11  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Convert test for vectors in expressions to Autotest framework.

	tests: Convert test for variables in expressions to Autotest.

	tests: Convert test for VALUELABEL expression function to Autotest.

	tests: Convert random distribution tests to Autotest framework.

	output: Convert paper size tests to Autotest framework.

2010-10-11  John Darrington  <john@darrington.wattle.id.au>

	Initial implementation of the Kruskal-Wallis test.

	Use conventional search for gsl if pkg-config fails

	Use cast macros

	Remove some duplicated #includes

	NPAR TESTS: Implement parser for kruskal wallis test

	NPAR TESTS: Add framework for n sample independent variable tests.
	Upcomming commits will rely on this functionaly.

	NPAR TESTS: reformat and use cast macros

2010-10-11  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix typo in "write to same system file being read" test.

2010-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	sparse-xarray: Convert tests to Autotest framework.

	datasheet: Convert tests to Autotest framework.

	tests: Remove some files that are no longer used.

	tests: Convert tests for SAVE /KEEP=ALL to Autotest framework.

	VALUE LABELS: Convert tests to Autotest framework.

	tests: Convert tests for unwritable output dirs to Autotest framework.

	TEMPORARY: Convert test to Autotest framework.

	pspp: Get rid of clean_up() function now that it has only one caller.

	tests: Convert tests for signal handling to Autotest framework.

2010-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	pspp: Don't attempt fancy clean-up upon receiving a fatal signal.
	Otherwise PSPP often assert-fails on Control+C.

	In the long run it is probably friendlier to return to the command prompt
	upon Control+C, but simply deleting temporary files and exiting cleanly
	is preferable to an assert-fail.

	See bug #20626 for more information.

2010-10-10  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Convert test for #! support to Autotest framework.

	tests: Convert test for overwriting a special file to Autotest framework.

	tests: Convert tests for overwriting files to Autotest framework.

	tests: Convert multipass.sh test to Autotest framework.

	tests: Convert expression parsing test to Autotest framework.

	q2c: Convert test to Autotest framework.

	tests: Convert test for UNIFORM expression function to Autotest framework.

	INPUT PROGRAM: Convert tests to Autotest framework.

	COMMENT: Convert test to Autotest framework.

	tests: Convert a test for crash on invalid input to Autotest framework.

	tests: Convert test of compressed system files to Autotest framework.

2010-10-09  Ben Pfaff  <blp@cs.stanford.edu>

	GET: Convert some more tests to Autotest.

	SAVE: Convert test for non-empty case map to Autotest framework.

	EXAMINE: Convert some more tests to Autotest framework.
	I'm not really sure that big-input-2.sh was an EXAMINE bug.  It could have
	been a more generic bug.  I wasn't able to quickly determine what its
	original motivation was.

	tests: Remove files that are no longer used.

	tests: Convert very long strings tests to Autotest framework.

	WEIGHT: Convert test to Autotest framework.

	VECTOR: Convert tests to Autotest framework.

	tests: Convert variable display tests to Autotest framework.

	USE: Convert tests to Autotest framework.

	perl-module: Make perl_module_tarball rule quieter.
	This rule echoes what it is doing, so it seems to me that it was intended
	to be silent.

	UDPATE: Convert tests to Autotest framework.

2010-10-09  John Darrington  <john@darrington.wattle.id.au>

	Perl Module: Add prototypes keyword to XS definition

	Eleminate unnecessary variables

	Change identifiers for consistency with other commands

	Consolidate translatable strings

	Replace npar.q with npar.c

2010-10-08  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Fix build race.
	perl_module_tarball invokes module-make in a submake.  In turn, until now
	module-make has depended on src/libpspp-core.la.  But if a parallel build
	is in progress, then the parent make is likely also building the same
	library.  Sometimes the race in linking this library causes build failures.

	The ideal solution would be to avoid the submake.  We could do this, by
	giving the files in the build different names from those in the source
	directory (e.g. distributing the files with .dist extensions, or copying
	them into or out of a subdirectory).

	This commit instead implements a minimal fix, by making the dependency on
	src/libpspp-core.la part of the top-level perl_module_tarball target,
	instead of part of the submake's module-make target.

	With this commit, 10 consecutive test runs on my laptop completed
	successfully.  Without this commit, about 50% of nontrivial builds fail.

2010-10-08  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Distribute testsuite.at and loosen its dependencies.
	testsuite.at has to be distributed or "make" from a distributed tarball
	will have to make it, which means that the system used for building needs
	Autoconf installed and will need to write to the source directory.

	testsuite.at cannot depend on the Makefile or it will have to be rebuilt
	every time "configure" runs, which would also cause the problems mentioned
	above.

2010-10-08  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Use ABSTRACT instead of ABSTRACT_FROM in Makefile.PL.
	This fixes the following warning from Perl:

	  WARNING: Setting ABSTRACT via file 'lib/PSPP.pm' failed
	   at /usr/share/perl/5.10/ExtUtils/MakeMaker.pm line 583

2010-10-05  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Convert tab handling test to Autotest framework.

	EXAMINE: Convert another test to Autotest framework.

2010-10-04  Ben Pfaff  <blp@cs.stanford.edu>

	T-TEST: Convert tests to Autotest framework.

	SPLIT FILE: Convert test to Autotest framework.

	SYSFILE INFO: Convert test to Autotest framework.

	tests: Remove tests/command/sysfiles-old.sh from list of tests.
	This file was deleted in a previous commit but it was still listed in
	tests/automake.mk.

	tests: Convert system file tests to Autotest framework.

	SORT CASES: Convert tests to Autotest framework.

	SAMPLE: Convert test to Autotest framework.

	ROC: Convert tests to Autotest framework.

	RELIABILITY: Convert tests to Autotest framework.

	tests: Convert REGRESSION tests to Autotest framework.

	RENAME VARIABLES: Convert tests to Autotest framework.

2010-10-04  John Darrington  <john@darrington.wattle.id.au>

	Fix bug in autorecode - strings vs. /group
	Fixed a bug which caused autorecode to crash when the /GROUP
	subcommand was used concurrently with variables of different widths.

	Workaround for gettext deficiencies
	xgettext doesn't have a --language=gtkbuilder option.
	Instead, we've been (mis)using --language=glade which
	has worked ok except that it doesn't extract labels
	from the columns of GtkListStore items.
	This change adds a pair of dummy widgets containing identical
	label strings so that these strings will get entered into
	the .pot file.  Closes bug #31033

2010-10-04  Ben Pfaff  <blp@cs.stanford.edu>

	RANK: Convert tests to Autotest framework.

2010-10-03  Ben Pfaff  <blp@cs.stanford.edu>

	pspp: Fix crash passing the name of a nonexistent file on the command line.
	Also adds a test.

	pspp: Make style slightly more like the rest of the program.

	Convert PRINT and WRITE tests to Autotest framework.

	PERMISSIONS: Convert test to Autotest framework.

	NPAR TESTS: Convert SIGN test to Autotest framework.

	NPAR TESTS: Convert WILCOXON tests to Autotest framework.

	NPAR TESTS: Convert CHISQUARE tests to Autotest framework.

2010-10-03  John Darrington  <john@darrington.wattle.id.au>

	Update generated HTML to conform to W3C standards.
	Changed the html output driver so that the generated
	HTML is accepted by http://validator.w3.org

	Added gettext markup to some strings which required it

	Undo inappropriate quote substitution in generated HTML.
	Commit 173d1687aea88e0e5e1b1d8615ed68ebefb15d08 erroneously
	substituted these quotes in html fragments.

	Consolidate translatable strings

	Remove erroneous CONST_CAST
	Commit 97f9b8ad137e333af9b3c767556d28dfda93a461 attempted to use CONST_CAST to
	avoid a compiler warning about constness.  However it applies at the wrong
	level of deference.  This change undoes that particular problem and reverts
	to the original cast.

	Constness

	Fix memory leaks in ROC command

	Add comments informing the caller about side effects

	Consistently use the return value from case_ref.
	This makes debugging easier.

2010-10-02  Ben Pfaff  <blp@cs.stanford.edu>

	NPAR TESTS: Convert BINOMAL tests to Autotest framework.

	N OF CASES: Convert test to Autotest framework.

	tests: Convert no_case_size.sh test to Autotest framework.

	MISSING VALUES: Convert test to Autotest framework.

	MATCH FILES: Convert tests to Autotest framework.

	tests: Convert longvar.sh test to Autotest framework.

	pspp: Avoid printing multiple messages for a single signal caused by a bug.
	When I tested commit 38f3d1b22 "pspp: Make a signal that indicates a bug
	re-raise that signal to exit" I didn't read the output carefully enough.
	John Darrington pointed out the problem.

	LOOP: Convert tests to Autotest framework.

	pspp: Make a signal that indicates a bug re-raise that signal to exit.
	John Darrington pointed out that exiting with EXIT_FAILURE isn't nearly
	emphatic enough here.

2010-10-02  John Darrington  <john@darrington.wattle.id.au>

	en_GB.po: translate quotes to UTF characters

	Use macros from cast.h instead of literal casts

2010-10-01  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in LIST command.

2010-09-30  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in casegrouper.  Closes bug #30764

	Fix memory leak in sweep.c

	Fix memory leak in output rendering

2010-09-29  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Remove PG_CONFIG from TESTS_ENVIRONMENT.
	This is no longer needed now that the PostgreSQL tests have been converted
	to use Autotest.

	LIST: Convert tests to use Autotest.

	casereader: Fix casereader_select() with BY argument greater than 1.
	This fixes the /CASES=BY subcommand on LIST.  The following commit will add
	a test.

	DATA LIST: Convert tests for line-ends compatibility to use Autotest.

	LAG: Convert tests to use Autotest.

2010-09-29  John Darrington  <john@darrington.wattle.id.au>

	Replace glm with a new implementation.
	The code is still not ready for use. It's awaiting
	a working type 3 sum of squares.

	Disconnect clip signal handlers when a syntax window is destroyed

2010-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Merge the four GET DATA /TYPE=PSQL tests into a single one.
	This saves about 30 seconds on my laptop, so it seems worth it, even though
	it combines tests that might better be separated.

	tests: Fix typo in GET DATA /TYPE=TXT test.
	Not capitalizing the at_ in AT_BANNER apparently just kept the banner
	from appearing and didn't seem to cause other problems.

	INSERT: Convert tests to use Autotest.

2010-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	syntax-file: Open syntax files immediately, instead of delaying.
	Until now, syntax files have been opened only when the first line needs to
	be read.  This commit changes behavior to open syntax files as soon as the
	syntax file source is created.

	This fixes the behavior INSERT CD=YES when a relative file path is
	specified.  Without this commit, INSERT checks that the file exists, then
	it creates the syntax file source, then it chdirs into the syntax file's
	directory, and then the syntax file source tries to open the file, which
	fails because the relative path is no longer correct.  With this commit,
	the file gets opened before the chdir, so it succeeds.

	The following commit will add a test to prevent regression.

2010-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix distribution, by adding tests/testsuite.in to EXTRA_DIST.

2010-09-27  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Convert IMPORT and EXPORT test to use Autotest.

	tests: Convert GET DATA /TYPE=PSQL tests to use Autotest.

	tests: Break get-data.at up into get-data-gnm.at and get-data-txt.at

	DO REPEAT: Add test for missing END REPEAT.
	Bug #31016.

2010-09-27  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Properly initialize lexer->prog when lex_get_line_raw() fails.
	lex_get_line(), the main caller of lex_get_line_raw(), set lexer->prog to
	NULL when reading failed, but other callers need to do the same thing too,
	otherwise e.g. DO REPEAT accesses invalid storage when there is a missing
	END REPEAT.

	Bug #31016.

2010-09-27  Ben Pfaff  <blp@cs.stanford.edu>

	DO REPEAT: Report an error when END REPEAT is missing.
	Bug #31016.

2010-09-25  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Convert GET DATA /TYPE=GNM tests to use Autotest.

	tests: Convert GET DATA /TYPE=TXT tests to use Autotest.

	tests: Convert FILTER tests to use Autotest.

	tests: Convert FILE HANDLE tests to use Autotest.

	tests: Convert FILE LABEL, DOCUMENT, ADD DOCUMENT tests to use Autotest.

	tests: Convert EXAMINE tests to use Autotest.

	tests: Convert erase.sh test to use Autotest.

	tests: Convert do-repeat.sh test to use Autotest.

	tests: Convert do-if.sh test to use Autotest.

	tests: Convert correlation.sh test to use Autotest.

	tests: Convert bignum.sh test to use Autotest.

	tower: Convert tests to use Autotest.

	stringi-set: Convert tests to use Autotest.

	string-set: Convert tests to use Autotest.

	stringi-map: Convert tests to use Autotest.

	string-map: Convert tests to use Autotest.

	str: Convert tests to use Autotest.

	sparse-array: Convert tests to use Autotest.

	range-set: Convert tests to use Autotest.

	range-map: Convert tests to use Autotest.

	llx: Convert tests to use Autotest.

	ll: Convert tests to use Autotest.

	hmapx: Convert tests to use Autotest.

	hmap: Convert tests to use Autotest.

	heap: Convert tests to use Autotest.

	bt: Convert tests to use Autotest.

	abt: Convert tests to use Autotest.

2010-09-25  John Darrington  <john@darrington.wattle.id.au>

	Update to latest Gnulib

	Created an additional i18n test

2010-09-24  John Darrington  <john@darrington.wattle.id.au>

	tests_check target depends upon check_PROGRAMS

2010-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	data-in: Get rid of first_column, last_column arguments.
	Most callers can't provide this arguments, and so in the interest of
	making the data_in() interface simpler, it seems better to put the
	callers in charge of dealing with error messages, since they better
	know their own context.

	data-in: Make data_in() parameters more uniform.
	data_in() essentially takes an input encoding and an output encoding but
	the parameters were in inconsistent order, inconsistently named, and had
	inconsistent types.  This commit changes all that to, I hope, be easier to
	understand.

	data-in: Rewrite logic for recoding input, and get rid of src_enc member.
	The logic used here seemed actually wrong for non-binary numeric formats
	and AHEX format: we want these translated into the native encoding so that
	we can interpret digits and letters properly without additional work.
	The only case where we care about the output encoding is A format.

	data-in: Eliminate "implied_decimals" parameter from data_in().
	This parameter is usually 0, so break out the associated functionality into
	a new function that callers can use if they really need it.

	calendar: Use sensible error reporting in calendar_gregorian_to_offset().

	message: Add column range to struct msg_locator.
	data_in() can specify a range of columns for the messages that it outputs,
	but until now these were not output in the format specified by the GNU
	Coding Standards.  This commit fixes that.

2010-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	message: Consistently initialize locator; use 0 for "no line number".
	A few of the callers of msg_emit() did not initialize the "where" member
	of the struct msg, because they expect that msg_emit() will do it for them.
	This is currently correct, but I intend to soon introduce the ability for
	msg_emit()'s caller to specify a location.  With that change, it will be
	important for the caller to initialize this member, so this commit makes
	sure of that.

	At the same time, some callers were using -1 as the default value that
	means "no line number" and others were using 0.  This commit standardizes
	on the latter.

2010-09-23  Ben Pfaff  <blp@cs.stanford.edu>

	command: Add specific DATASET unimplemented commands.

	command: Remove superfluous trailing spaces from command names.
	These spaces made user messages look a little funny but they were otherwise
	harmless.

	command: Remove INSERT from list of unimplemented commands.
	This command is implemented, so this was a duplicate entry.

	lexer: Use lex_is_string() more consistently.
	The lexer has this function, so we might as well use it consistently.

	lexer: Remove DUMP_TOKENS debugging feature.
	This feature is not very useful anymore.  I have not used it in years.

	lexer: Improve translatability of lex_error().
	In general I believe that it is easier to translate full sentences or
	clauses.  It seems likely that "Syntax error %s at %s." where the first
	%s is an arbitrary English phrase would be impossible to translate
	grammatically into some languages, so this changes the general form to
	"Syntax error at %s: %s." which seems more likely to be translatable while
	not changing the English meaning.

	Make translation easier.
	Many of the invocations of lex_error() were easy to rephrase to be more
	easily translated, or to rewrite as calls to other functions.

	HOST: Use more modern syntax.
	An old SPSS paper manual I have describes the syntax that PSPP
	implemented for HOST up until this commit, but newer versions
	describe the syntax that this commit adopts.

	AGGREGATE: Simplify code.
	ds_chomp() returns whether it trimmed off a character, and we might as well
	use that instead of doing a redundant check.

	PERMISSIONS: Add missing check for string token.

	syntax-string-source: Fix format string problems.
	create_syntax_string_source() treated its argument as a printf-style format
	string but wasn't annotated properly.  Most of the callers did not pass
	string literals and were not escaped, so change it not to format its string
	and add a new function create_syntax_format_source() with the previous
	behavior.

	i18n: New function recode_substring_pool().
	Occasionally it is necessary to recode a string that might contain a null
	byte.  This function is useful in such a case.

	i18n: Use UTF8 macro instead of "UTF8" literal string.
	I think that this was just a typo.

	str: Make ss_alloc_substring() allocate null-terminated strings.
	This has little cost and it is occasionally valuable.

	cast: New macro NULL_SENTINEL.

	RECODE: Suppress warning about conversion using CHAR_CAST_BUG.

2010-09-21  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Remove unnecessary mention of header files from automake.mk.
	These header files don't need to be listed.  They just clutter up the
	makefile.

	i18n: Add simple tests.

	i18n: Handle EINVAL more gracefully.
	EINVAL indicates an invalid multibyte sequence at the end of buffer.  It
	seems to me that there is no point in swallowing up a single byte and going
	on at that point; instead, one might as well just declare the conversion
	done after adding the fallback character.  This is what this commit does.

	i18n: Refactor for simplicity.
	It seems to me that recode_string_pool() is better implemented as a retry
	loop around a simpler core.  This commit implements that.

	i18n: Properly restart conversion when output buffer overflows.
	The E2BIG case tries to restart the whole conversion, by reinitializing
	all variables to their initial states.  However the value of 'text' might
	already have been advanced somewhat if there was a previous loop for e.g.
	an invalid character.  This commit fixes the problem by keeping the
	original 'text' around and using a moving input pointer instead.

	i18n: Ensure that every recoding starts from the initial shift state.

	i18n: Avoid memory leak when create_iconv() fails.

	i18n: Lightly reformat comments to better resemble other files.

2010-09-19  John Darrington  <john@darrington.wattle.id.au>

	Fix bug #31052: Crash on histograms with only one datum

	Const casts.
	Removed some unnecessary casts.  Changed some others to use the
	macros from src/libpspp/cast.h instead of literal casts.

2010-09-18  John Darrington  <john@darrington.wattle.id.au>

	Fix outstanding quote style issues

	Remove gettext markup from diagnostic string.
	Markin a debug string for translattion just puts unnecessary
	load on the translators.

	FLIP: Don't change new variables to upper case.
	This was a legacy from the days when variables could only
	be upper case.

2010-09-18  Ben Pfaff  <blp@cs.stanford.edu>

	linreg: Delete unused static function.
	This function drew attention to itself through a warning about a missing
	return type, but it isn't used so just delete it instead of adding a
	return type

	ONEWAY: Fix declaration-after-statement warning.
	C90 requires declarations to precede statements within a block.

2010-09-18  Ben Pfaff  <blp@cs.stanford.edu>

	Suppress warnings about conversions between char * and unsigned char *.
	For some time PSPP has used "unsigned char *" for string data and "char *"
	for most other strings.  Transforming between these properly generally
	involves recoding, and there are some places where this is possibly
	missing.  The usual way to "fix" these warnings would be to insert casts,
	but this would not fix the problem, just suppress the warnings, and it is
	difficult to "grep" for casts so they would be hard to find for fixing
	later.

	This commit doesn't actually fix the problems, but it does suppress the
	warnings while making them easy to find later: just grep for CHAR_CAST_BUG.

2010-09-17  Ben Pfaff  <blp@cs.stanford.edu>

	build-aux: Add generated files to .gitignore.

2010-09-16  John Darrington  <john@darrington.wattle.id.au>

	Update string comparision in perl module test

2010-09-15  John Darrington  <john@darrington.wattle.id.au>

	Update en_GB localisation

	Consolidate quoting style in printed strings.
	The GNU coding standards say to use `xxxx'  for quoted
	strings.  Previously we've been using a mixture of that style
	and "xxxx".  This change substitutes all instances of the latter
	with the former.

2010-09-14  John Darrington  <john@darrington.wattle.id.au>

	Translate the names of aggretation functions.  Fixes bug #31035

2010-09-12  John Darrington  <john@darrington.wattle.id.au>

	Syntax Window: Don't connect callbacks until all members are initialised.

2010-09-11  John Darrington  <john@darrington.wattle.id.au>

	Rename compare_string --> compare_string_3way

	Prevent critical when closing output viewer

2010-09-10  John Darrington  <john@darrington.wattle.id.au>

	Autorecode: /GROUP vs. heterogenous strings.
	Fixed a crash which occured when the /GROUP
	subcommand was used with string variables of
	differing widths.

2010-09-09  John Darrington  <john@darrington.wattle.id.au>

	Autorecode: Add the /GROUP subcommand

2010-09-06  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug #30969: Crash in split file dialog box

	Seperate the GtkBuilder definition for Split into its own file.

2010-09-05  John Darrington  <john@darrington.wattle.id.au>

	Autorecode: Add value labels indicating the source values.
	Autorecode now creates value labels on the new variable to
	indicate from which values the new values originate.
	Fixes bug #30943

	Remove obsolete comments.
	Value labels are no longer limited to short string
	variables.  So these comments are no longer relevant.

2010-09-03  Michel Boaventura  <michel@michelboaventura.com>

	Change charset from html output to utf-8

2010-08-29  Ben Pfaff  <blp@cs.stanford.edu>

	Implement the PRESERVE and RESTORE commands.

	settings: Avoid using a pointer and global data for algorithms.
	Until now the difference between the current and global settings for
	the algorithms in uses has been maintained as two values plus a pointer
	to the setting actually in use.  Using global data like that makes it
	harder to save and restore settings, so this commit adopt an alternate
	method that avoids using global data or pointers.

	settings: Make viewwidth, viewlength "int"s instead of pointers.
	I don't recall exactly why these were pointers any longer, but it doesn't
	seem to be necessary any longer.  It is more straightforward if they are
	just stored in the same way as the other settings.

	settings: Reformat the_settings initializer.
	I find this formatting easier to read.

	format: Introduce a new type, struct fmt_settings.
	Until now the collection of formatting styles have been poorly abstracted,
	as an array.  This commit introduces a new type, struct fmt_settings, that
	represents all of the formatting styles currently in use.

	format: Make fmt_number_style_init(), fmt_number_style_destroy() static.
	These functions were not used outside format.c anyhow.

	format: Remove prototypes of unimplemented functions.

	format: Move is_fmt_type() prototype near more-related functions.

	format: Remove declaration of data that is never used.

2010-08-28  John Darrington  <john@darrington.wattle.id.au>

	Improved the syntax generated by the select-cases dialog
	Closes bug #29604

	Allow translation of default filenames in GUI

	Allow translation of default variable name.

2010-08-24  John Darrington  <john@darrington.wattle.id.au>

	Categoricals: Sort the reverse value map.
	The /CONTRAST subcommand of the ONEWAY command
	requires that the categorical values are sorted
	in ascending order.

	Oneway: Fixed most compiler warnings

	Oneway: Fix problems with MISSING=ANALYSIS

	Categoricals: Use moments instead of keeping cc count ourselves

	oneway.c: Use the categoricals struct to calculate number of groups

	oneway: use new structures in the show_contrast_tests function

	oneway: Fix descriptives for multiple variables

	Add optional callback functions to categoricals.
	Added callback functions to categoricals to enable
	per category calculations to be done at the request
	of the caller.  This change also modifies oneway.c (show_descriptives)
	to use this new feature.  However at present it doesn't
	work properly when multiple dependent variables are
	specified.

	Constness

	Oneway: Remove group_stats from the show_homogeniety function

	Oneway:  Remove group_values struct from show_contrast_coeffs

	Covariance matrix interface change.
	covariance_2pass_create now takes a pointer to a
	struct categoricals which must be created by the caller,
	instead of creating this object for itself.  This will
	(hopefully) make the implementation of interactions and other
	features easier.

	Oneway: Remove dict member from struct and add wv member

	Oneway: Use covariance matrix and sweep operator
	Calculate the anova table using the routines from
	src/math/covariance.c and lib/linreg/sweep.c instead
	of the add hoc method.  This change doesn't remove
	all traces of the old method, since the data is still
	needed for some subcommands.  This will be the subject
	of future changes.

	Oneway: Additional test case.
	Add an explicit test for a oneway command run
	on several different dependent variables.

	Oneway:  Use lex_get_num instead of lex_parse_value.
	Contrast coefficients can only be numeric, so parse_value
	is an unnecessary generalisation.

	Constness

	Constness

	ONEWAY: seperate the command specification from the variables used in its calculation

	Categoricals.c Create entries for all groups.
	Although for the purposes of creating a covariance matrix, only
	n - 1 entries are needed,  for other purposes (such as descriptive
	statistics, contrasts, planned comparisons etc) all n entries are required.
	(where n is the number of distinct values).  This change updates
	categories.c so that all n categories are generated.  Covariance matrix
	routines are free to ignore the ones not of interest.

2010-08-24  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/master' into sso
	Conflicts:

		src/ui/gui/psppire-syntax-window.c
		src/ui/gui/psppire-syntax-window.h
		src/ui/gui/syntax-editor.ui

2010-08-24  John Darrington  <john@darrington.wattle.id.au>

	Syntax Window: Dynamically set paste sensitivity
	Set the sensitivity of the paste action according to
	whether there is anything to be pasted in the clipboard.

	Implemented Edit->Paste in the syntax viewer

2010-08-23  Ben Pfaff  <blp@cs.stanford.edu>

	format: Optimize fmt_from_io().
	A "switch" statement should be much faster than a linear search.

	format: Fix type code for Z format in system and portable files.
	Z format is code 15, not 16 (which is N format).

2010-08-23  John Darrington  <john@darrington.wattle.id.au>

	Syntax Window: Edit->* item sensitivity follows selection
	Disable the Edit Cut/Copy/Delete menuitems by default
	and enable them only when a selection is active.

	Implemented Cut, Copy and Delete in the syntax editor

2010-08-22  John Darrington  <john@darrington.wattle.id.au>

	SET MXWARNS = 0 to be interpreted as unlimited.
	This change introduces a special meaning to the
	value of zero for the MXWARNS settings.  When
	a zero value is set.  A single warning will be
	emitted informing the user that the setting is
	in effect.  Thereafter no warning will be emitted.
	All warning situations will be ignored.

	Move MX* processing to libpspp/message.c
	This change moves the guts of src/ui/terminal/msg-ui.c
	into libpspp/message.c  The affected code handles the
	processing of the MXWARNS and MXERRS settings.  As this
	code was under src/ui/terminal these settings were being
	ignored in the GUI

	Update tests to reflect string changes.
	Commits 608b1765241e7c6f9bd5e86a8f81cf15edeb413b and
	c1a56a1dd2afad462cf76d91c40aa064cc7dce04 changed some
	output strings, but didn't update the tests to match.
	This change makes that update.

2010-08-21  John Darrington  <john@darrington.wattle.id.au>

	syntax-editor.ui cleanup

	Allow undo/redo of pasted text as a single item

	Text input dialog: Use widget-io
	Use the widget_scanf function instead of manually
	juxtaposing widgets.  This makes life a lot easier
	for translators.

	Canonicalise 2-tailed vs. 2-sided

	Consolidate printed strings

	Correct grammar in printed string

2010-08-20  John Darrington  <john@darrington.wattle.id.au>

	file-handle-def.c: replace hash with hmap

2010-08-19  John Darrington  <john@darrington.wattle.id.au>

	Fix translation of column headers in text import dialog.
	The "Text" and "Line" column headers in the text import dialog were not being
	translated.  Thanks to Mindaugas embar@super.lt for reporting this.

	Fix translation of column header.
	The "var" column header in the data view was not getting
	translated, due to lack of a call to gettext.  Thanks to
	Mindaugas embar@super.lt for reporting this.

2010-08-15  John Darrington  <john@darrington.wattle.id.au>

	Fix bug reallocating sourceview path array

2010-08-11  John Darrington  <john@darrington.wattle.id.au>

	correlations: Fix memory leak

	Inform users about GtkSourceView dependency

	Avoid compiler warnings

	Relocate the directory in which the lang file is installed

	Allow undo/redo of pasted text as a single item

	Added basic undo/redo to syntax window

	Added basic print capability to the syntax window

	Enable the bracket matching

	Use GtkSourceView and implement simple syntax highlighting

2010-08-09  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Ignore testsuite.at since it is now a generated file.

	COUNT: Convert tests to use Autotest.

	BEGIN DATA: Convert tests to use Autotest.

	ADD FILES: Convert testsuite to use Autotest.

	tests: Rewrite attributes tests to use Autotest.

	SET: Add test to avoid regression on bug #30682.

	Implement SAVE TRANSLATE to comma- and tab-delimited text formats.

	SAVE: Fix UNSELECTED=RETAIN with a filter variable.
	Apparently this had never been tested.  It assert-failed consistently
	because the filter variable being saved was from the dictionary before
	reading the data, but the dictionary after reading the data was
	different due to the temporary transformation used to drop the
	filtered data.

	DATA LIST: Don't report an error for an empty final field in LIST format.
	Also add test to prevent inadvertent regressions.

	DATA LIST: Fix output column reporting for FREE and LIST formats.
	Also, add tests to prevent inadvertent regressions.

	DATA LIST: Convert tests to use Autotest.

	sys-file-writer: Consistently use "goto error" to exit.

	sys-file-writer: Make write_error(), close_writer() static.
	These functions were never meant to be public (and they were not declared
	in a header file).

	sys-file-writer: Fix comment.

	Replace S_I[RWX]{USR,GRP,OTH} macros by their values.
	POSIX 2008 guarantees that these macros have their traditional Unix values,
	so it should no be longer necessary to use the macros for portability's
	sake.  Personally, I find the values easier to read, especially when
	several of them are OR'd together.

	i18n: Make a few strings more generic for translators.
	This should reduce the amount of work required by translators, by reducing
	the number of unique strings to be translated.

2010-08-08  John Darrington  <john@darrington.wattle.id.au>

	Aggregate-dialog: Preselect summary function and variable name.
	Apparently the most common use of aggregate is to count cases.
	Therefore we set the default summary function and variable
	name controls, so that the user has fewer keystrokes/mouse
	clicks in order to achieve this.

	SET FORMAT: Flag an error if an invalid format is given.
	Fixes bug #30682

	Aggregate: Fixed bug when attempting to create duplicate variable
	This change fixes a segfault which occured if AGGREGATE MODE=ADDVARIABLES
	attempted to create a variable which already exists in the dictionary.
	Added a test to check for this bug.

2010-08-07  John Darrington  <john@darrington.wattle.id.au>

	Aggregate dialog: Initialize HPane widget width on opening.
	Set the HPane position to 50% of maximum, when the widget is
	realized.  Thanks to Fredrik Clementz for suggesting this.

2010-08-06  John Darrington  <john@darrington.wattle.id.au>

	ONEWAY: Add explicit tests for the homogeneity and descriptives subcommands

	Migrate the tests for the ONEWAY command to autotest style

	Avoid duplicating the list of autotest files.
	Reviewed by Ben Pfaff

2010-08-05  John Darrington  <john@darrington.wattle.id.au>

	Replace oneway.q with a manually crafted oneway.c file

	Documentation: Add explanation of ONEWAY/MISSING

2010-08-01  John Darrington  <john@darrington.wattle.id.au>

	Avoid compiler warning

2010-07-31  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: prevent crash if the dataset is empty.
	The FACTOR command crashed if there were no cases
	which had non-missing values for all variables.
	This change emits a warning in this case and does
	no analysis.

2010-07-30  John Darrington  <john@darrington.wattle.id.au>

	Deallocate memory from pool using the correct function
	Memory allocated using pool_alloc was being deallocated using
	the standard free function instead of pool_free.  This change
	fixes that.  Thanks to Andras Muranyi for reporting this problem.

	Flush the journal after every write.
	Unexpected bugs in the parser, engine or in procedures can cause crashes
	in the GUI.  If the journal is not flushed *before* running the syntax, then
	no record of that syntax exists, and the bug can be hard to reproduce.
	This change ensures that the syntax is written to the journal before it is
	processed.

	Removed the gnulib modules which are being flagged as obsolete

2010-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	AGGREGATE: Add .h file to Makefile (fixing "make distcheck").

	FLIP: Convert tests to use Autotest.

	make-file: Remove superfluous fflush().
	Probably introduced during debugging and accidentally left in.

2010-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	temp-file: New functions for creating temporary files honoring $TMPDIR.
	The tmpfile() function is useful, but it doesn't necessarily honor
	the $TMPDIR environment variable.  Some of our users find that a problem,
	so this commit replaces tmpfile() usage by a new pair of functions
	create_temp_file() and close_temp_file() that do honor $TMPDIR.

	Bug #30530.

2010-07-29  Ben Pfaff  <blp@cs.stanford.edu>

	temp-file: Rename "ext-array" (for "external array").
	I want to introduce a new source module for general creation of temporary
	files and this module's name conflicts.

2010-07-29  John Darrington  <john@darrington.wattle.id.au>

	AGGREGATE: Fixed a bug with MEDIAN vs. MODE=ADDVARIABLES

	Added dialog box for the aggregate command

2010-07-28  John Darrington  <john@darrington.wattle.id.au>

	AGGREGATE: New file aggregate.h containing the summary function specifications
	Added a header file containing the declaration and type of the agr_func_tab
	table, and expanded that type to contain a description of the function and
	an explicit declaration of whether a source variable is permitted/needed.
	This change is primarily for the benefit of the forthcoming dialog box for
	the aggregate command.  However it also (in my opinion) makes the existing
	implementation a little easier to understand.

2010-07-26  John Darrington  <john@darrington.wattle.id.au>

	Remove URL from translatable string

	AGGREGATE: Add MODE=ADDVARIABLES subcommand.
	Instead of replacing the current dataset with the aggregated
	data, this subcommand appends newvariables to the data with the
	aggregated values.

2010-07-25  Jason H Stover  <jhs@franz.gcsu.edu>

	Fix upper bound for subscript in ordered_cols.

2010-07-24  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in crosstabs

	Fix memory leak in MRSETS

	Avoid unused function warning

2010-07-22  John Darrington  <john@darrington.wattle.id.au>

	Replaced relibility.q with relibility.c
	Replaced the reliability autogenerated parser
	with a handcrafted one.

2010-07-20  Jason H Stover  <jhs@franz.gcsu.edu>

	Add argument specifying column containing dependent variable.

2010-07-19  John Darrington  <john@darrington.wattle.id.au>

	Delete file "means.q"
	This file contained only the skeleton of the parser.

	Remove unnecessary include directives of hash.h

2010-07-18  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in data_in

2010-07-16  John Darrington  <john@darrington.wattle.id.au>

	Reliability dialog: Add checkbox for summary subcommand

	add missing source file to glade support library

	Fix memory leak

	Remove const qualifiers from encoding converter components.
	These elements have to be freed.  Therefore const is not
	appropriate.

2010-07-15  Jason H Stover  <jhs@franz.gcsu.edu>

	Do not rely on user to specify all variables in VARIABLE subcommand. Fixes bug 30389.

2010-07-08  John Darrington  <john@darrington.wattle.id.au>

	Replace unknown XML entities with their numerical counterpart.
	Texinfo seems to produce XML entities (such as &copy;) which
	are not valid (although they are valid for HTML).  We work
	around such problems by post-processing with sed. Here, we
	replace these unknown entities with their numeric counterparts.
	Such is the advice given at
	http://www.dwheeler.com/essays/quotes-in-html.html

2010-07-04  John Darrington  <john@darrington.wattle.id.au>

	Fix various memory leaks

	Fix memory leak in tab_destroy

	Fix memory leak in examine

	Fix uninitialized variable

	Fix invalid reference

2010-06-29  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Fix handling of font sizes.
	Until now this code used pango_font_description_set_absolute_size() to set
	the font size.  This sets the font size in device units, e.g. pixels on a
	display.  But font sizes are actual specified by the user in points, so
	we should instead use pango_font_description_get_size().  This commit
	makes that change.

	That change is simple, but it necessitates a larger change.
	Until now the cairo driver has just assumed that the size of a font is
	the size that we assigned it.  But this is no longer the case, since
	points and pixels are now different.  So now we measure the actual width
	and height of characters and use those as the font size.  At the same
	time, the code no longer ignores font sizes included as part of font
	description strings, and allows different fonts to have different sizes.

	With plenty of help from John Darrington.

2010-06-26  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Remove support for printed headers.
	The printed headers on each page do not very attractive, and the
	information that they contain by default is not very useful.  Because an
	upcoming commit makes them harder to properly implement, simply remove
	them for now.

	With this commit, the cairo driver no longer prints titles and subtitles
	at all.  This needs to be fixed.

2010-06-26  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix spelling error in user-visible string.

	output: Fix logic error in table_select_slice().
	z1 is a row or column number, not a count of header rows or columns, so it
	only makes sense to compare it against another row or column number, not
	against a count of rows or columns.

2010-06-26  John Darrington  <john@darrington.wattle.id.au>

	perl-module: Further corrections to dependencies

2010-06-26  Ben Pfaff  <blp@cs.stanford.edu>

	Revert unintended change to tests_libpspp_str_test_LDADD.
	When I was preparing the previous commit I tested a change to
	tests_libpspp_str_test_LDADD and then (I thought) reverted it.  But my
	revert actually changed the order.  Oops.

	John Darrington reports that the new order causes link problems for him, so
	I'm putting the order back to the original, with this commit.

2010-06-25  Ben Pfaff  <blp@cs.stanford.edu>

	Avoid redundant linking against libtool convenience libraries.
	Both libpspp.la and libpspp-core.la linked directly against libgl.la, and
	the UI linked against both libpspp.la and libpspp-core.la.  This works fine
	on ELF systems, but with Mach-O on Mac OS X it silently causes duplicate
	symbols at runtime.  In particular there are two different copies of
	rpl_optarg from libgl.la.  Different code sees different copies of these,
	which causes a segfault at runtime whenever anyone invokes pspp with an
	option that takes an argument.

	Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org>, with debugging
	assistance by Jeremy and by John Darrington.

2010-06-23  John Darrington  <john@darrington.wattle.id.au>

	Move compute dialog definition to its own file

	Move select cases into its own definition file

	(Re)enable select cases dialog.
	The handler for this action seemed to have gone missing.
	Fixing it.

	Seperate the goto-case dialog into its own definition file

2010-06-22  John Darrington  <john@darrington.wattle.id.au>

	Correct makefile dependencies for perl module

2010-06-16  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Upgrade to latest Gnulib.
	In particular this incorporates commit 39bdc0a99 "strtod: Stop using
	AC_FUNC_STRTOD", which should fix problems with the strtod() replacement
	when cross-compiling to Mingw.  For more information, see the thread at
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/22091 and PSPP bug
	#29965.

2010-06-16  John Darrington  <john@darrington.wattle.id.au>

	Ensure that psppire's --help and --version options work even without an X server.

2010-06-15  Ben Pfaff  <blp@cs.stanford.edu>

	lexer: Fix funny indentation.

	psppire: Fix insecure temporary file creation in clipboard_get_cb().

	pspp: Mark the pspp --help text as translatable.

	psppire: Re-implement --help and --version options.
	Commit f51ecb4802 "Greatly simplify PSPP configuration." accidentally
	removed PSPPIRE support for the --help and --version options.  This commit
	restores it (and improves upon the text previously displayed).

2010-06-15  Ben Pfaff  <blp@cs.stanford.edu>

	Do not treat isolated CR in input data as new-line.
	User "tvw" on IRC reported that PSPP failed to parse data that SPSS 18
	accepted.  We found that the problem was carriage return (CR) characters
	in the middle of a line.  PSPP treated these as new-lines, but SPSS did
	not.  This commit adopts the SPSS behavior in PSPP and adjusts one test
	that checks this behavior.

	This will break reading some old Mac OS files, since Mac OS before version
	10 used CR without LF as new-line.  Time will tell whether this is a real
	problem for our users.

2010-06-15  John Darrington  <john@darrington.wattle.id.au>

	Remove unused functions make_temp_file and make_unique_file_stream

2010-06-11  Ben Pfaff  <blp@cs.stanford.edu>

	tests: Fix test failures in calendar and expressions tests.

2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>

	tmpfile: Rename "struct tmpfile" to "struct temp_file".
	Mingw builds were failing because Gnulib was replacing "tmpfile" by
	"rpl_tmpfile", and this was visible only to some users of "struct tmpfile".
	The safest fix seems to be just renaming struct tmpfile, so that's what
	this commit does.

	Thanks to Harry Thijssen <pspp@sjpaes.nl> for reporting the problem.

	Bug #29965.

2010-06-09  John Darrington  <john@darrington.wattle.id.au>

	Remove unnecessary translatiosn of stock items.
	Stock items have their own translations, so it's counter
	productive to ask pspp's translators to re-translate them
	without good reason.

	perl-module/Makefile.PL: Change DLEXT to SO
	Apparently the former is for dynamically loaded modules,
	whereas the latter is for shared libraries.  So SO is
	appropriate here.  Thanks to Jeremy Lavergne for reporting
	this.

2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Update to latest Gnulib.
	The newest Gnulib fixes problems building the relocation wrapper used on
	some OSes (e.g. OpenBSD) when PSPP is configured with --enable-relocatable.

	configure.ac: Do not define DEPENDS_ON_LIBINTL.
	If <config.h> defines DEPENDS_ON_LIBINTL, then the relocation wrapper fails
	to link at install time when --enable-relocatable is used on a system that
	requires the relocation wrapper (e.g. OpenBSD), because the relocation
	wrapper does not link against libintl.

	inexactify: #include <config.h>
	This fixes a problem with redefined "struct option" under OpenBSD 4.7.

2010-06-08  Ben Pfaff  <blp@cs.stanford.edu>

	Smake: Don't create .cvsignore files.
	Clearly these files aren't useful anymore, since we no longer use CVS.

2010-06-08  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix permissions when creating configuration directory.
	http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html says
	that the configuration directory should have mode 0700, so use that.

	Reported by John Darrington.

2010-06-07  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Create user settings directory if it doesn't already exist.
	The user settings directory doesn't necessarily exist.  Some program has to
	create it, and PSPPIRE might be the first program that wants it, so it
	should try to create it.

	Discovered on OpenBSD.

2010-06-07  Ben Pfaff  <blp@cs.stanford.edu>

	po: Avoid passing nonportable -D option to "install" program.
	OpenBSD "install" and "install-sh" distributed with Autoconf do not
	support -D, so we should not try to use it.

2010-06-06  Ben Pfaff  <blp@cs.stanford.edu>

	DEBUG EVALUATE: Eliminate lexical corner case, rewrite tests in Autotest.
	The DEBUG EVALUATE command, used only for testing, used the
	lex_rest_of_line() function.  I'd like to eventually get rid of all of the
	uses of this function and other unusual lexical corner cases, so this
	commit starts off by removing this one.

	expressions: Improve error message for bad quarter argument to DATE.QYR.
	The error message issued by DATE.QYR for an invalid "quarter" argument
	referred instead to a "month" value.  This makes the error message more
	understandable.

	expressions: Improve error messages evaluating invalid Boolean values.
	The error message used for an invalid Boolean value was terribly generic.
	This commit adds the name of the operator to the error message.

	expressions: Don't abbreviate "number" as "num" in error messages.

2010-06-06  Ben Pfaff  <blp@cs.stanford.edu>

	expressions: Improve "type mismatch" error messages from expression parser.
	Before this commit, type mismatches invoking functions in expressions would
	yield confusing error messages due to missing type names, e.g.:
	    Type mismatch invoking MISSING(number) as missing(string).
	This commit fills in the missing type names:
	    Type mismatch invoking MISSING(number) as missing().

	An upcoming commit will start checking error messages as part of the tests
	for expressions, which should ensure that the problem does not recur.

2010-06-06  Ben Pfaff  <blp@cs.stanford.edu>

	MOMENTS: Avoid lexical corner case in test case.
	The DEBUG MOMENTS command, used only for testing, used the
	lex_rest_of_line() function.  I'd like to eventually get rid of all of the
	uses of this function and other unusual lexical corner cases, so this
	commit starts off by removing this one.

	pspp: Add --no-output option to allow entirely disabling output.

2010-06-04  John Darrington  <john@darrington.wattle.id.au>

	en_GB.po: Attended to fuzzy entries

2010-06-02  John Darrington  <john@darrington.wattle.id.au>

	Fix memory leak in casewriter_make_reader.
	The proto member was not being unrefed when it should have been.
	Reviewed by Ben Pfaff.

2010-05-29  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Speed up rendering of large tables that are only partly visible.

2010-05-28  Ben Pfaff  <blp@cs.stanford.edu>

	Remove 255-byte limit on the length of literal strings.
	I don't see a reason for this restriction.  I think it must date to before
	support for 32767-byte string variables.

	Problem reported by Dr Eberhard W Lisse <el@lisse.NA>.

2010-05-28  John Darrington  <john@darrington.wattle.id.au>

	Fix inconsistent label positions on piecharts.
	The labels of piechart slices did not match the positions
	of the slices (possibly due to libplot legacy).  This
	change fixes this problem.

2010-05-27  John Darrington  <john@darrington.wattle.id.au>

	Documentation: Added concept indices for various charts

	Added some very rudimentary tests for charts.
	Currently, all these tests do is ensure that the syntax which
	should generate charts, can run without crashing.  More
	rigourous tests should be added in the future, when the infrastructure
	allows.

	Be more forgiving about ROC syntax

	Fix crash on erroneous ROC input

2010-05-26  John Darrington  <john@darrington.wattle.id.au>

	Create the detrended np plot instead of a second normal one

	Removed uninitialised variable.
	Removed an uninitialised variable which was being
	dereferenced and hence crashing.

2010-05-25  Ben Pfaff  <blp@gnu.org>

	Fix tests/command/sample.sh test on Mingw.
	On Mingw pspp.list contains CR-LF line ends, so the "grep" command to
	skip blank lines needs to allow for that.

	Fix tests/formats/num-out.sh test on Mingw.
	inexactify needs an .exe extension on Mingw.

	Fix Mingw test failures due to differences in line endings.
	This commit changes "diff" invocations to ignore changes in white space to
	avoid spurious test failures due to differences in line endings.

2010-05-25  Ben Pfaff  <blp@gnu.org>

	Fix get-data-txt-importcases.sh test on Mingw.
	On Mingw, ftell() and ftello() are unreliable when used on text files with
	plain LF line endings:
	    http://article.gmane.org/gmane.comp.gnu.m4.bugs/2224

	This made the get-data-txt-importcases.sh test fail, because
	dfm_get_percent_read() that it depends upon to determine the percentage of
	the file that has been read uses ftello().  The solution is to always open
	the text file as a binary file.  According to my audit of the ways that
	the text file is read, this should not cause other problems.  In
	particular, ds_read_line() handles both LF and CR-LF line endings.  But it
	cannot handle negative effects on Unix platforms anyway, since they do not
	distinguish text and binary modes.

2010-05-25  Ben Pfaff  <blp@cs.stanford.edu>

	Add $EXEEXT to names of binaries executed in tests.
	This makes "make check" work much better when building for Windows with
	the mingw cross-compiler suite.

2010-05-25  Ben Pfaff  <blp@gnu.org>

	Move auxiliary files used for build into "build-aux" directory.
	This reduces clutter in the root directory of the PSPP distribution.  It
	is common practice for GNU software these days.

2010-05-25  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Copy perl-module files if missing as well as if changed.
	I don't know why the behavior here changed, because I don't see any changes
	that would cause the problem, but at least the new version makes equal
	sense.

	po: Update Dutch translation.
	Thanks to the Dutch translation team and the translationproject.org
	coordinators.

2010-05-25  John Darrington  <john@darrington.wattle.id.au>

	Output viewer: Guess file type from filename suffix.
	When choosing File|Export in the output viewer,
	the dialog box now guesses the desired file format
	based upon the given filename suffix.
	Closes bug #29867

2010-05-24  John Darrington  <john@darrington.wattle.id.au>

	Use gtk stock item instead of a custom one

	Fix compiler warnings

	Added remaining relevant unicode box characters

	Entered some extra unicode box chars in the table

	Call expand all on Edit->SelectAll
	Expand the treeview widget before calling
	select_all, since this is probably what the
	user wants.

	Added an ODT target to the output viewer clipboard

	Added a SelectAll menuitem to the output viewer

	Add html target to output viewer clipboard

	Added basic clipboard functionality to the output viewer.
	This version only allows pasting to text and utf8 targets.

	Replace LDFLAGS setting inadvertently removed by commit 3fac2920b97a068e156c376afd05583b481801ac

	Added a GTK_STOCK_INFO icon to the file information menu

	Use meaningful identifier for the Edit|Copy action

	Update required versions of the GSL and GTK libraries

2010-05-22  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Fix reading overlong value labels for long string variables.
	Commit 6b562f8a8 "Add support for value labels on long string variables"
	that added support for reading value labels for long string variables from
	system files had a logic error in dealing with too-long label strings: the
	sign of the subtraction was reversed.

	Problem reported by Michel Boaventura <michel@michelboaventura.com>.

2010-05-22  Ben Pfaff  <blp@cs.stanford.edu>

	dissect-sysfile: Eliminate harmless GCC warning.

	dissect-sysfile: Allow padding compressed data at end of file without error.
	Compressed data in a system file can end either with a special opcode or
	by padding out the last set of opcodes to an 8-byte boundary with null
	bytes.  Until now, dissect-sysfile has complained about last with
	"unexpected end of file".  This commit fixes the problem.

	dissect-sysfile: Properly interpret padding bytes in compressed data.

2010-05-21  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Increase version number to 0.7.5 for translationproject.
	translationproject.org needs a version number increment to submit a new
	pspp.pot.

2010-05-21  Jason H Stover  <jhs@math.gcsu.edu>

	Removed unused function

2010-05-21  John Darrington  <john@darrington.wattle.id.au>

	Removed src/math/coefficient.[ch] which are no longer used

	Fix problem opening files with non-ascii names on Windows

	Fix crash on Windows when calculating a covariance matrix of dimension 1.
	Calculating a covariance matrix on a single variable crashed under Windows.
	This change fixes that.  It also prevents GUI users from attempting to
	perform a correlation with only one variable, since if they are trying to
	do that, then the have probably made a mistake.

2010-05-21  John Darrington  <john@darrington.wattle.id.au>

	Revert "Removed src/math/interaction.[ch] which has been superseded by categoricals.[ch]"
	This reverts commit a456c361c0d324475da63d8420a2f0b108b61243.

	It's still needed after all.

2010-05-21  John Darrington  <john@darrington.wattle.id.au>

	Removed src/math/interaction.[ch] which has been superseded by categoricals.[ch]

2010-05-21  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/covariance'
	Conflicts:

		src/data/dictionary.c
		src/language/stats/correlations.c
		src/language/stats/regression.q
		src/math/automake.mk

2010-05-21  John Darrington  <john@darrington.wattle.id.au>

	Added brief documentation about the FACTOR command's rotation feature

	Implemented a rotations subdialog for the FACTOR command

2010-05-20  John Darrington  <john@darrington.wattle.id.au>

	Added ROTATION to this list of default tables

2010-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	sys-file-reader: Variable attributes record uses long variable names.
	Michel Boaventura provided a system file for which PSPP complained about
	bad variable attributes records.  I found out that this was because the
	variables were specified using long names, not short names.  This commit
	allows PSPP to read these variable attributes properly.

	sys-file-reader: Tolerate variable labels longer than 255 bytes.
	Michel Boaventura provided a system file with a 256-byte variable label
	that PSPP rejected.  This commit allows it to be read.

2010-05-20  John Darrington  <john@darrington.wattle.id.au>

	Updated tests to take account of factor rotations

	Added proper convergence criteria for rotation phase

	Print the rotated sums of squared loadings

	First working version with Factor Rotations

	Update manual's licence to FDL 1.3
	The copyright notice said that a copy of FDLv1.3 was included.
	But infact it was an older version.  This change fixes that.

2010-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	cairo: Implement xr_driver_destroy() and use it during printing.
	This function was omitted by oversight earlier.

2010-05-20  Ben Pfaff  <blp@cs.stanford.edu>

	README.Git: Update to newest Gnulib.
	This should fix build failures on OpenSUSE, OpenBSD, and possibly on other
	platforms that have libintl but on which libintl does not contain a
	definition of __printf__, by integrating the following commit:

	    commit a43e24168368619e2d51fe7a37abc4969d7a87fe
	    Author: Bruno Haible <bruno@clisp.org>
	    Date:   Sun May 16 14:16:03 2010 +0200

	        Fix collision between gnulib's and libintl's printf replacements.

2010-05-19  John Darrington  <john@darrington.wattle.id.au>

	Implemented the Binomial Test dialog box.

	Fixed bug parsing binomial test.
	The NPAR TEST /BINOMIAL subcommand was supposed
	to take a default P value.  But it didn't work.
	This change fixes that problem.

	Added an implementation of the Chi-Square dialog box

2010-05-18  John Darrington  <john@darrington.wattle.id.au>

	Add stock items to output viewer menuitems

	Removed diagnostic messages from print operation callbacks

2010-05-18  Ben Pfaff  <blp@cs.stanford.edu>

	Merge "paginate" branch into "master".
	This adds printing support to the PSPPIRE output viewer on the master
	branch.

2010-05-18  Ben Pfaff  <blp@cs.stanford.edu>

	psppire-axis: Use rint() instead of nearbyint(), for portability.
	rint() and nearbyint() are identical except that nearbyint() will not
	raise the inexact result exception, which we don't care about.  OpenBSD
	and probably other OSes have rint() but not nearbyint().

	Perhaps a better fix would be to add a nearbyint module to Gnulib.

2010-05-18  John Darrington  <john@darrington.wattle.id.au>

	Added tests for the FACTOR command

2010-05-17  Ben Pfaff  <blp@cs.stanford.edu>

	compiler: Fix SENTINEL macro in non-GCC case.

2010-05-17  Jason H Stover  <jhs@math.gcsu.edu>

	New function covariance_calculate_unnormalized

	Rewrote to use new covariance functions.

2010-05-16  John Darrington  <john@darrington.wattle.id.au>

	Renamed function to reflect change of purpose from previous commit

	Paste to a single common syntax window instead of a new one.
	Previously, when a dialog box's "paste" button was pressed, a
	new syntax window was created and the syntax pasted to it.  This
	change alters that behaviour.  Now there is just one syntax window
	that is used for all paste operations.  Fixes bug #27686

	Expanded comments to src/libpspp/i18n.[ch]

2010-05-15  John Darrington  <john@darrington.wattle.id.au>

	Update nl.po from translationproject.org

2010-05-14  John Darrington  <john@darrington.wattle.id.au>

	Translate the contents of frequencies and descriptives checkbox treeviews
	Call gettext on the translatable strings which populate the
	contents of "Statistics" treeviews in checkbox dialogs.
	Thanks to Harry Thijssen for reporting this.

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

2010-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Configure page setup when printing in the GUI.
	The page setup has to be passed down to the Cairo output driver or it
	doesn't know how to paginate the output properly.

	gui: Factor out creation of Cairo output driver in printing code.
	The following commit will add a lot more code here, so it's best to avoid
	duplication.

	cairo: Allow xr_driver_create()'s caller to usefully set more options.
	Until now, xr_driver_create() has only parsed a few of the Cairo driver
	options.  This commit makes it parse more of them, in preparation for
	output viewer printing to set more of them.

	cairo: Apply margins to pages added with xr_driver_next_page().
	This properly adds margins to pages printed by the GUI.

	cairo: Remove write-only member 'file_type' from struct xr_driver.

2010-05-12  Ben Pfaff  <blp@cs.stanford.edu>

	Upgrade manuals' licenses to GFDL 1.3 and remove cover texts.
	This commit changes the licenses for the PSPP manual from GFDL version 1.1
	(or later) to GFDL version 1.3 (or later).

	Perhaps more importantly, it removes the Front-Cover Text and Back-Cover
	Text, as permitted by the GNU guide for maintainers:

	      Please adjust the list of invariant sections as appropriate for your
	   manual.  If there are none, then say "with no Invariant Sections".  If
	   your manual is not published by the FSF, and under 400 pages, you can
	   omit both cover texts.

2010-05-12  John Darrington  <john@darrington.wattle.id.au>

	Created convenience function connect_action
	A function to wrap the connection of "activate" signals.

	Remove unnecessary GtkAction * variables

2010-05-11  John Darrington  <john@darrington.wattle.id.au>

	Use signal handlers with the window as the first argument where reasonable to do so

	Change gpointer variable to PsppireDataWindow * in dialog function signatures

	Remove unused GObject pointer from dialog functions and update signal connect functions accordingly

2010-05-10  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Remove reference to gtk-builder-convert which is no longer distributed

	Converted output-viewer from .glade to .ui

	Convert syntax-editor from .glade to .ui

	Refactor the Help menu.
	Instead of writing a help menu for each of the three main windows,
	implement it once, and merge it into the menubars using GtkUIManager

2010-05-09  John Darrington  <john@darrington.wattle.id.au>

	Updated the po files

	Added some missing translation tags

	Move data sheet cases popup menu to GtkBuilder file

	Move var sheet variables popup menu to GtkBuilder file

	Remove property settings from psppire_data_window and put them into the GtkBuilder file

	Move implementation of the datasheet variable popup menu to the GtkBuilder file

	Remove the resolve_action function which is no longer needed

	Use consistent orthography for "stock-id" property

	Convert data-editor.glade to data-editor.ui

	First attempt at a psppire print dialog.
	It basically seems to work, but there are some issues with headers, and
	charts are not getting rendered for some reason.

2010-05-08  Ben Pfaff  <blp@cs.stanford.edu>

	output: Refactor Cairo output driver to make printing via GTK+ practical.

	cairo: Update #include style.

2010-05-08  Michel Boaventura  <michel@michelboaventura.com>

	gui: Fix crash clicking on the upper-left corner of the data sheet.
	Bug #29659.

	psppire: Translate more GUI strings.
	There are a lot of strings that are not being translated, mainly
	window titles.  This patch fixes most of them.

2010-05-06  Ben Pfaff  <blp@cs.stanford.edu>

	Ignore additional files created by Gnulib.

2010-05-06  John Darrington  <john@darrington.wattle.id.au>

	Fix crash on variable type dialog custom currency display.
	Fixed a bug where a null pointer dereference occured when
	the user chose the custom currency button in the variable
	type dialog.

	Don't convert values returned from gettext to UTF8.
	Because we have called bind_text_domain_codeset, gettext always
	returns strings in UTF8 encoding.  It's therefore not correct to
	convert them again.  Thanks to Michel Boaventura for reporting
	this problem.

2010-05-05  Michel Boaventura  <michel@michelboaventura.com>

	psppire: Translate all format type categories, not just some of them.

2010-05-02  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Merge functions into cmd_crosstabs().
	It seems to me that this code is more straightforward if it is written as
	a single function, instead of four functions, so this commit merges those
	functions together.

	FREQUENCIES: Refactor and simplify percentiles calculations.
	It always seemed to me that there was more code and more data for
	calculating percentiles than was really needed.

2010-05-02  Ben Pfaff  <blp@cs.stanford.edu>

	Take advantage of Gnulib configmake module.
	Gnulib provides the "configmake" module for discovering configuration
	directories at build time.  PSPP already depends on this module indirectly,
	so we might as well use it instead of defining our own variables in
	Makefile.am and src/automake.mk.

	(We can't replace INSTALLDIR by BINDIR because it is used under the
	former name by the "relocatable-prog" module.)

2010-05-02  John Darrington  <john@darrington.wattle.id.au>

	Convert syntax files to UTF-8 before loading them.
	Convert the contents of a syntax file to UTF-8 before loading
	it into the syntax window. Fixes bug #29733
	This change assumes that the files to be loaded are in the
	encoding of the current locale.  If this assumption is not
	true, then an error will be displayed and the file not loaded.

2010-05-01  Ben Pfaff  <blp@cs.stanford.edu>

	Use ftello() and fseeko() instead of ftell() and fseek() everywhere.
	Newer versions of glibc give annoying warnings on uses of ftell() and
	fseek(), so use ftello() and fseeko() instead.

	Implement MRSETS command.
	Thanks to Tom Wilson <tom_wilson@mointel.com> for reporting the format of
	the MRSETS record in system files, and to John Darrington for examples of
	additional types of records.

	dissect-sysfile: Print contents of extension records with unknown subtypes.

	New stringi_set functions.

	New case-insensitive string map data structure.

2010-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Add --without-perl-module configure flag.
	The built Perl module is not useful for cross-compilation.  By default it
	is disabled for cross-compilation, but cross-compilation to Mingw32 is not
	always detected as cross-compilation (since some Linux systems can run
	Windows binaries directly, via Wine), so this option helps in such cases.

	Reported by Michel Boaventura <michel.boaventura@gmail.com>.

2010-04-24  Ben Pfaff  <blp@cs.stanford.edu>

	cairo-chart: Fix Pango version check.
	There is no Pango version 2.22, but there is a 1.22.

	Reported by Michel Boaventura <michel@michelboaventura.com>.

2010-04-21  Ben Pfaff  <blp@cs.stanford.edu>

	Document system file record type 7, subtype 16 as 64-bit number of cases.
	I found this record type and subtype in all .sav files written by SPSS 14
	and later (and in one file written by SPSS 13).  After scratching my head
	a bit I realized that it always contained the same value as the "ncases"
	field in the top-level file header, but written as a 64-bit number.  So
	presumably the purpose is to allow for a 64-bit count of cases.

	integer-format: Support 64-bit integers in integer_get().
	My guess is that this was just a typo from when I originally wrote this
	function.

2010-04-21  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Avoid compiler warning from conflicting "my_strftime" macros.
	Avoids the following warnings:

	In file included from /usr/lib/perl/5.10/CORE/perl.h:953,
	                 from PSPP.xs:23:
	/usr/lib/perl/5.10/CORE/embed.h:2803:1: warning: "my_strftime" redefined
	In file included from PSPP.xs:20:
	/home/blp/pspp/output/_build/config.h:1968:1: warning: this is the location of the previous definition

2010-04-19  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Better document Perl module requirements.

2010-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Improve check for PostgreSQL's libpq.
	Previously this test did not check that linking against libpq worked.
	This commit fixes that.  Besides broken installations this also guards
	against pg_config that is applicable to the host when cross-compiling to
	Mingw, which doesn't always show up as cross-compiling since some systems
	can still run the Mingw binaries if Wine is installed as a binary
	interpreter for Windows executables.

	This also fixes a minor issue where -lpq was being added to the default
	LIBS as well as to PG_LIBS, which meant that every PSPP binary was being
	linked against it, not just the ones that needed it (which were being
	linked against it twice).

	Problem reported by Michel Boaventura <michel@michelboaventura.com>.

2010-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	Move definition of UI_FILES out of HAVE_GUI.
	UI_FILES needs to be defined regardless of whether the GUI is being built,
	because the .ui files are needed to generate pspp.pot.  (We don't want
	pspp.pot to depend on whether the GUI is configured, either.)

	Problem reported by Michel Boaventura <michel.boaventura@gmail.com>.

2010-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Define DEPENDS_ON_LIBINTL if LIBINTL is nonempty.
	This avoids a collision between the gnulib and libintl printf wrappers.
	See http://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/21139 for
	more information.

	Thanks to Michel Boaventura for reporting the problem and to Bruno Haible
	for the fix.

2010-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	configure.ac: Restore use of AM_GNU_GETTEXT.
	AM_GNU_GETTEXT is useful for its sophisticated support for finding the
	libraries needed to use gettext, but it also calls AM_PO_SUBDIRS, which
	we do not want because PSPP has its own "po" directory makefile support.

	This commit reintroduces AM_GNU_GETTEXT but disables AM_PO_SUBDIRS by
	declaring that we have already called it using AC_PROVIDE.  It also
	adds a dummy Makefile.in to the "po" directory and an ABOUT-NLS file
	because Automake requires both.

2010-04-15  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Fix missing data in PSPP code embedded in generate_sav_file.

2010-04-14  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Use Autotest for testing Perl.
	The output of the existing Perl test is difficult to understand, in my
	opinion.  When everything goes right, it prints out plenty of stuff.
	When something goes wrong, it prints more stuff, but that stuff usually
	doesn't make it clear to me what went wrong or where.

	Moving it into Autotest helps in two ways.  When everything goes right,
	all you get is a clear summary that says that.  When something goes wrong,
	you get clear log files that explain where.

	(This commit actually duplicates the Perl module tests: it makes Autotest
	copies of each of the individual tests, and Autotest also runs the
	t/Pspp.t unit test.  The former are easier to understand; the latter is
	what Perl hackers apparently expect to see.)

2010-04-13  Ben Pfaff  <blp@cs.stanford.edu>

	perl-module: Use new var_get_encoding() function.

	short-names: Eliminate use of old hash table data structure.

2010-04-12  Ben Pfaff  <blp@cs.stanford.edu>

	AGGREGATE: Convert tests to use Autotest.

	DESCRIPTIVES: Convert tests to use Autotest.

	COMPUTE: Convert tests to use Autotest.

	RECODE: Convert tests to use Autotest.

	AUTORECODE: Eliminate use of old hash table implementation.

	AUTORECODE: Use Autotest for test suite.

	AUTORECODE: Use "union value" instead of custom "union arc_value".
	These days "union value" has everything that AUTORECODE needs, so there is
	no point in maintaining a local replacement for it.

	AUTORECODE: Fix indentation.

	variable-parser: Implement PV_NO_DUPLICATE.
	Now that we have string_set, PV_NO_DUPLICATE is easy to implement, so
	we might as well.

	variable-parser: Eliminate use of old hash table data structure.

2010-04-11  Ben Pfaff  <blp@cs.stanford.edu>

	Add case-insensitive string set.

	value: New function value_clone_pool().

	dictionary: Use hmap instead of older hsh_table.
	The greatest benefit of this change is that it allows dict_lookup_var() to
	avoid creating and destroying a whole variable just to look one up by name.

	hmapx: New function hmapx_clear().

	hmap: New function hmap_clear().

	variable: Remove unneeded assertions.
	These assertions are already effectively checked anyhow, since the program
	will already segfault if passed a null pointer.

	dictionary: Remove unneeded assertions.
	These assertions are already effectively checked anyhow, since the program
	will already segfault if passed a null pointer.

	vardict: Make vardict opaque to variable code.

	Make struct variable refer to struct vardict through a pointer.
	This will allow the dictionary to integrate struct vardict into itself in
	an upcoming commit.

2010-04-11  Ben Pfaff  <blp@cs.stanford.edu>

	Make "internal variables" part of a dictionary.
	The "internal variables" created by var_create_internal() are somewhat of
	a nasty corner case in the PSPP dictionary and variable implementation,
	because they are the only variables that have a case index and
	dictionary index but do not belong to a dictionary.  This commit fixes
	that wart, by putting internal variables in a dictionary that is used just
	for them.  It adds an assertion to var_set_vardict() to ensure that this
	is now an invariant property.

	As part of the change, var_create_internal() is renamed
	dict_Create_internal_var() and moved to dictionary.c, since it fits better
	there.  Also, a new function dict_destroy_internal_var() must now be used
	to destroy internal variables.

	The dictionary indexes of internal variables are no longer unique
	process-wide.  A previous commit eliminated the dependencies on this
	property.

2010-04-11  Ben Pfaff  <blp@cs.stanford.edu>

	variable: Introduce and use new function var_get_encoding().
	These changes seem like slight cleanups since they eliminate a function
	parameter in these cases.

	dictionary: Fix memory leak in dict_set_encoding().
	If this function was called more than once for a given dictionary then all
	but the final encoding name would be leaked.

	dictionary: Fix potential access beyond allocated memory.
	This code replaces the dictionary's "var" array by another one, so it must
	either update "var_cap" to the allocated size or allocate "var_cap" (not
	"var_cnt") elements.  I chose the latter fix.

2010-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	Get rid of unnecessary uses of var_get_dict_index().
	Some code used the result of var_get_dict_index() on a pair of variables to
	tell whether the variables are the same.  This is unnecessary: v1 == v2
	works just as well.

	Other code used the result of var_get_dict_index() as part of a hash value
	computation.  This is reasonable, but it is even better just to hash the
	pointer to the variable.

2010-04-07  Ben Pfaff  <blp@cs.stanford.edu>

	hash-functions: New function hash_pointer().

2010-03-27  Ben Pfaff  <blp@cs.stanford.edu>

	examples: Remove obsolete Makefile.am.
	The build is now done through automake.mk (and has been for a long time
	now).

2010-03-25  Ben Pfaff  <blp@cs.stanford.edu>

	Update to most recent gnulib.

	dict: Make dict_clone_var(), dict_clone_var_assert() not rename variables.
	Most uses of dict_clone_var() and dict_clone_var_assert() do not involve
	renaming variables, but the interface assumes that renaming is the common
	case.  This commit changes their interfaces to not support renaming and
	adds new functions dict_clone_var_as() and dict_clone_var_as_assert() to
	support renaming during cloning.

2010-03-21  Ben Pfaff  <blp@cs.stanford.edu>

	bt: Improve code formatting.

	bt: New function bt_is_empty().

2010-03-21  Ben Pfaff  <blp@cs.stanford.edu>

	psppire: Use default GTK+ font in output shown in GUI.
	This makes the output look more consistent with the rest of the interface.

	I didn't see an easy way to get a "default" monospace font.  GTK+ doesn't
	seem to have one.

	Reported by John Darrington.

2010-03-19  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Simplify code for sorting the frequency table.

2010-03-18  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Get rid of final (non-const) file-scope variable.

	FREQUENCIES: Move file-scope variables for charts into struct frq_proc.

	FREQUENCIES: Move file-scope variables for stats into struct frq_proc.

	FREQUENCIES: Move file-scope variables for percentiles into struct frq_proc.

	FREQUENCIES: Move file-scope variable syntax_pool into struct frq_proc.

2010-03-17  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Eliminate file-scope variables n_variables, v_variables.
	Also, as a nice side effect, FREQUENCIES no longer uses the variable
	auxiliary data feature, which is ugly at best.

	FREQUENCIES: Get rid of unused data_pool.

	FREQUENCIES: Capitalize names of enums.
	This is just a cleanup for consistency with the style used elsewhere in
	PSPP.

2010-03-16  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Use newer hmap library instead of older hsh_table library.
	The FREQUENCIES procedure can use some cleanup.  Here's one step.

	value: New function value_clone().

	array: Fix indentation.

	INSTALL: libintl is also required.
	Reported by Michel Boaventura <michel.boaventura@gmail.com>.

	INSTALL: Remove duplicate pkg-config requirement.

2010-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Add charts, additional formatting feature to FREQUENCIES dialog.
	Partial fix for bug #27832 "Wishlist: graphic output in GUI".

	tests: Integrate FREQUENCIES tests into Autotest testsuite.

2010-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Modernize syntax and improve chart support.
	The FREQUENCIES syntax was carrying a lot of baggage from old versions
	that is no longer mentioned in the SPSS syntax reference.  This commit
	removes support for those obsolete features.

	The implementation only supported a single chart at a time.  Now it
	supports pie charts and histograms in a single command.  The MIN and
	MAX format options are now implemented, as are the MISSING/NOMISSING
	options for pie charts.  (The FREQ/PERCENT options are still not
	implemented.)

	Also update documentation to match.

2010-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Use Freedman-Diaconis formula to choose histogram bin width.
	Recently the FREQUENCIES procedure adopted Sturges' formula, more or less
	arbitrarily, to choose the bin width of histograms.  Gaj Vidmar
	<gaj.vidmar@mf.uni-lj.si>, however, recommended the Freedman-Diaconis
	formula instead, so this commit adopts that formula instead.

	Tested with only a few examples.

2010-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Add ability to calculating percentiles without showing them.
	This feature is not used yet, but it will be in an upcoming commit.

	tab: Add debugging checks to tab_hline() to match those for tab_vline().
	I'm not sure that this is really a good approach, but we might as well be
	consistent.

2010-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Fix spelling error in dialog box text.

2010-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	DESCRIPTIVES: In GUI, generate Z scores immediately instead of deferring.
	Having the Z scores variable show up immediately, but not the actual Z
	scores, confuses users.

	Reported by Douglas A Ferguson <FergusonD@cofc.edu>.

2010-03-10  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Fix build problem (missing header #include).
	Reported by Grzegorz Artur Daszuta <crefff@gmail.com>.

2010-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Merge File|Open|Syntax and File|Open|Data into File|Open.
	In playing with the GUI, I've found it increasingly annoying to have to
	click an extra time to tell PSPPIRE whether I want to open a data file or
	a syntax file.  There's no need for that--it can easily figure out what
	kind of file it's being asked to read.  This commit implements that
	behavior.

2010-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	FREQUENCIES: Choose number of bins for histogram based on valid cases.
	Until now, histograms have always had exactly 11 bins.  There is no
	"correct" number of bins, but a fixed number of bins also seems less than
	ideal.  Use Sturges' formula, instead, to choose the number of bins.

	Reported by Erik Frebold <efrebold@interchange.ubc.ca>.

2010-03-09  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Check for glib-genmarshal program at configure time.
	The GUI build cannot succeed without glib-genmarshal, so it seems like a
	good idea to fail earlier.

	Related to bug #28959, reported by Harry Thijssen.

2010-03-08  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Make 3-way crosstabulation work reasonably.
	As reported in bug #27452, until now 3-way crosstabulations have completely
	failed to work.  This commit makes them work, apparently correctly at
	first glance.  Only the actual crosstabulation tables have been tested; it
	is likely that statistics tables still do not display correctly or cause
	runtime failures.

	tab: Drop redundant assertions.
	There is not much value in asserting that a pointer parameter is non-null
	if that parameter is always dereferenced.

	tests: Fix bug in NPAR TESTS subtest for CHISQUARE command.
	Reported by John Darrington.

2010-03-06  Ben Pfaff  <blp@cs.stanford.edu>

	CROSSTABS: Rewrite tests in Autotest and add test for bug #27883.

	terminal UI: Fix circumstances when errors should be logged to stdout.
	The logic here was supposed to be that, if errors weren't already being
	logged explicitly and if no output driver was already directed to stdout,
	then send errors to standard output.  But one of the conditions was
	reversed.  This fixes the problem.

	CROSSTABS: Initialize hash tables for every split, not just once overall.
	Fixes bug #27883, reported by Jason Stover.

2010-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	procedure: Fix LIST procedure (and others) in GUI.
	John Darrington reported that the following syntax makes PSPPIRE
	crash:

	    data list list /alpha * beta * gamma *.
	    begin data.
	    1 2 3
	    4 5 6
	    end data.

	    list.

	The problem is that the GUI output driver keeps a reference to the
	output_items that are submitted to it.  An output_item that in turn
	has a reference to the casereader for the procedure casereader (that
	is, the casereader returned by proc_open()), which currently is LIST
	and few if any other procedures, then causes an assertion failure in
	proc_commit().  This is because until now a precondition of
	proc_commit() has been that the procedure casereader be closed, which
	is what the assertion enforces.

	This commit fixes the problem by getting rid of the precondition on
	proc_commit().  Now the procedure casereader's lifetime may be
	extended arbitrarily.  This should help take PSPP output in the
	direction that I want it to go, where more and more output is
	generated directly or semi-directly from casereaders, as the LIST
	procedure now does.

2010-03-01  Ben Pfaff  <blp@cs.stanford.edu>

	casereader: Factor buffering shim out into separate source file.
	This moves the "shim" code out of casereader.c into a separate
	casereader-shim.[ch] in preparation for using it from procedure.c.

	This commit also adds an optimization: if the shim reads all of the
	subreader, then it closes the subreader immediately, instead of waiting
	for the shim itself to be destroyed. This can allow resources to be freed
	earlier.

	This commit also adds a new function casereader_shim_slurp().  This
	function will be used for the first time in the following commit.

2010-02-26  Ben Pfaff  <blp@cs.stanford.edu>

	configure: Always apply zlib crc32() rename fix.
	PSPP can link against zlib indirectly even if it doesn't link directly, so
	it is simplest to always rename gnulib's crc32() to gl_crc32().

	Reported by John Darrington.

2010-02-25  Ben Pfaff  <blp@cs.stanford.edu>

	gui: Save positions of windows only when they are closed.
	When windows in the GUI are moved around the desktop or resized, the
	machine's disk can thrash madly in some setups.  This is because each
	change in a window's position or size triggers a write to the PSPPIRE
	preferences file noting the new position as a default for the next
	PSPPIRE run.  It wasn't always a problem, but newer Glib versions call
	fsync() from g_file_set_contents(), the function used to write the
	preferences file, which bypasses the OS cache and forces a synchronous
	disk write.

	This commit makes PSPPIRE update the preferences file only when a window
	is closed, which fixes the problem.  Avoiding g_file_set_contents() would
	be another reasonable solution.

	Reported by Grzegorz Artur Daszuta <crefff@gmail.com>.

2010-02-24  Ben Pfaff  <blp@cs.stanford.edu>

	po: Update Dutch translation.
	From Harry Thijssen via translationproject.org.

2010-02-24  Ben Pfaff  <blp@gnu.org>

	Fix zlib problem introduced by linking against gnulib's crc32() function.
	Diagnosed by John Darrington.

2010-02-23  Ben Pfaff  <blp@gnu.org>

	odt: Remove dependency on external "zip" program.

2010-02-21  Ben Pfaff  <blp@gnu.org>

	csv: Fix setting output file name.
	The output file named used to be provided as an option named "output-file",
	but now it is a separate argument to the "create" function.  This had
	been overlooked for the CSV driver, so that it always produced output in
	a file named "pspp.csv", but this commit fixes the problem.

2010-02-20  Ben Pfaff  <blp@gnu.org>

	gui: Fix File|Export in output viewer.
	Commit f51ecb480 "Greatly simplify PSPP configuration" changed how PSPP
	output drivers are configured but failed to completely update the
	implementation of File|Export to match.  This commit fixes the problem.

	A few problems, perhaps not connected, linger:

	    * The CSV driver appears to always output to "pspp.csv" when invoked
	      from the GUI, regardless of the requested file name.

	    * The ODT driver appears to be broken.

	Reported by John Darrington <john@darrington.wattle.id.au>.

2010-02-20  Ben Pfaff  <blp@gnu.org>

	gui: Suggest viewing the user manual online if starting Yelp fails.
	Suggested by Harry Thijssen <pspp@sjpaes.nl>.

	AUTHORS, THANKS: Add additional credits for translators.
	Suggested by Harry Thijssen <pspp@sjpaes.nl>.

	Remove obsolete TODO file.
	Suggested by Harry Thijssen <pspp@sjpaes.nl>.

	gnumeric-reader: Avoid convert_xml_string_to_value segfault on NULL string
	If the 'xv' argument is null, the previous version of this code would
	still dereference it.  This commit rewrites it to instead just set the
	value as missing and avoid the segfault.  It also takes advantage of the
	fairly recently added function value_copy_str_rpad() to eliminate some
	code.

	NPAR TESTS: Avoid segfault in do_summary_box() if descriptives disabled.
	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	q2c: Mark functions that do not return NO_RETURN.

	q2c: Fix format string errors.
	These calls to write blank lines have caused warnings before, so introduce
	a new function just for the purpose so that any future warnings can be
	fixed in a single place.

	Fix format string errors.
	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	FREQUENCIES: Fix corner case for histogram calculation.
	calc_stats() assumes that ft->n_valid is nonzero.  It has two callers, but
	only one of them was checking ft->valid.  The other one (which produces a
	histogram) is fixed up by this commit.

	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	gui: Fix theoretical comparison against garbage pointer.
	Presumably gtk_tree_model_iter_n_children() never returns a negative value,
	but in case it ever could, this eliminates a comparison against an
	uninitialized 'v1' value.

	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	gui: Fix null pointer dereference in get_object_assert().
	This function was checking whether o == NULL and then blindly
	dereferencing it after it found it to be so.

	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	moments: Fix null pointer dereference in calc_moments().
	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	MISSING VALUES: Fix free of indeterminate pointer.
	If the main "while" loop in this function falls through immediately without
	ever executing its body, then 'v' is passed to free() without ever being
	initialized.

	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-19  Ben Pfaff  <blp@gnu.org>

	Build the ODT driver only if libxml2 is available.
	Reported by Michel Boaventura <michel@michelboaventura.com>.

	doc: Do not remove pspp.xml upon "make distclean".
	Reported by Harry Thijssen <pspp@sjpaes.nl>.

2010-02-16  Ben Pfaff  <blp@gnu.org>

	testsuite: Don't check pspp version with AT_TESTED.
	AT_TESTED is for reporting the versions of binaries that you test, but
	the testsuite doesn't currently test the "pspp" binary.  More
	importantly, the Makefile doesn't ensure that the "pspp" binary is in
	$PATH when the testsuite runs, which can cause a spurious test failure.

2010-02-15  Ben Pfaff  <blp@gnu.org>

	perl-module: Automatically update PSPP.pm version number check.
	Until now the $PSPP::VERSION variable was hard-coded in the source tree
	and had to be manually updated whenever configure.ac was updated to
	specify a new version number.  This is easy to forget.  So this commit
	makes perl-module/lib/PSPP.pm a generated file, with the value of
	$PSPP::VERSION automatically expanded from the @VERSION_FOR_PERL@
	variable already set up by "configure".

2010-02-15  Ben Pfaff  <blp@gnu.org>

	FACTOR: Avoid freeing indeterminate pointer.
	The first test in cmd_factor() is:
	    if (!lex_force_match_id (lexer, "VARIABLES"))

	If this fails, then control jumps to the "error" label, which frees
	factor.vars, which has not been initialized at this point.

	This commit fixes the problem by initializing factor.vars to NULL.  It is
	not strictly necessary to also initialize factor.n_vars to 0, but it seems
	like a good idea.

	Found by Clang (http://clang-analyzer.llvm.org).

2010-02-15  Ben Pfaff  <blp@gnu.org>

	configure.ac: Update version number to 0.7.4 to release new POT file.
	translationproject.org needs a version number increment to receive a new
	pspp.pot.

2010-02-15  Ben Pfaff  <blp@gnu.org>

	Allow more version number flexibility, by using Automake "gnu" mode.
	The "gnits" mode that PSPP has used for some time constrains version
	numbers considerably.  For example, it prevents using two hyphens in the
	version number to indicate, for instance, a prerelease and a Git commit
	number like 0.8.0-pre1-g12345678.

	This commit changes PSPP to use "gnu" mode instead, and then to also
	enable the extra options that "gnits" mode enabled automatically
	that we still want to use.

	The Automake manual discourages using "gnits" mode anyhow:

	     ...Unless you are a Gnits standards contributor, it is
	     recommended that you avoid this option until such time as the Gnits
	     standard is actually published (which may never happen).

2010-02-13  Ben Pfaff  <blp@gnu.org>

	RELIABILITY: Make expected test results reflect "N of Items" capitalization.
	Also update the documentation.

	Include the .glade files in pspp.pot, not just the .ui files.
	Reported by Harry Thijssen <pspp@sjpaes.nl>.

2010-02-12  Ben Pfaff  <blp@gnu.org>

	RELIABILITY: Consistently capitalize "N of Items".
	Reported by Harry Thijssen <pspp@sjpaes.nl>.

2010-02-11  Ben Pfaff  <blp@gnu.org>

	FACTOR: Mark translatable string as not a printf format string.
	gettext uses a heuristic to guess whether a translatable string is a printf
	format string.  In this case, it guesses wrong, so add a comment that tells
	gettext that "% of Variance" is not a format string.

	Without this change, the translationproject.org robot rejects translations.

	Reported by fxmiguel@gmail.com.

2010-02-11  Ben Pfaff  <blp@gnu.org>

	odt: Restore writing creator metadata.
	Commit 4d7a2ed5 "odt: Remove dependency on <pwd.h> because mingw32 does
	not have it" stopped writing creator metadata to ODT output files.  This
	commit adds it back, but only on systems that have <pwd.h>.

	This commit also adds avoids a null pointer dereference if getpwuid()
	returns NULL.  That should happen only rarely, but it is best to handle it
	properly.

	At John Darrington's request.

2010-02-10  Ben Pfaff  <blp@gnu.org>

	Smake: Add mkdtemp module, used by odt output driver.
	Reported by Michel Boaventura <michel.boaventura@gmail.com>.

2010-02-09  Ben Pfaff  <blp@gnu.org>

	levene: Write null pointers as NULL instead of as 0.
	Using 0 as a null pointer constant is not incorrect but NULL is the style
	used in most of PSPP.

	Found using coccinelle and coccicheck (http://coccinelle.lip6.fr/).

2010-02-09  Ben Pfaff  <blp@gnu.org>

	gui: Remove write-only variable 'new_type' from on_var_type_ok_clicked().
	Found using coccinelle and coccicheck (http://coccinelle.lip6.fr/).

2010-02-09  Ben Pfaff  <blp@gnu.org>

	output: Support --without-cairo.
	This was supposed to be supported all along, but I forgot to test it before
	I did a commit.

	Reported by Michel Boaventura <michel@michelboaventura.com>.

2010-02-09  Ben Pfaff  <blp@gnu.org>

	odt: Remove dependency on <pwd.h> because mingw32 does not have it.
	The "meta:initial-creator" and "meta:creator" fields do not seem to me to
	be important enough to have to deal with this dependency.

	Reported by unknown-1 <pspp@sjpaes.nl>.

2010-02-08  Ben Pfaff  <blp@gnu.org>

	hmap-test: Disable ordered insert tests on GCC 4.3.
	GCC 4.3 miscompiles this test (although it does not seem to miscompile
	any important code actually in PSPP) so disable it to avoid spurious
	failures from "make check".

	Smake: Remove unused gethostname, getlogin_r, strsep modules.
	gethostname in particular has caused problems in the past on mingw32, so
	it is good to get rid of it.

	output: Phrase output driver error messages more consistently.
	This should aid translation.

2010-02-07  Ben Pfaff  <blp@gnu.org>

	Merge "output" into "master"

	output: Make errors, warnings, and notes into a new "message_item".
	This lets us move the terminal UI's support for writing errors to a file
	or to stdout into a new "msglog" output driver, and to convert journaling
	from a special case to an output driver of its own.

2010-02-07  Ben Pfaff  <blp@gnu.org>

	Greatly simplify PSPP configuration.
	This gets rid of the "devices" configuration file entirely.  Now you
	can make pspp output to, for example, an HTML file, by invoking it as
	"pspp -o out.html".  Please read the documentation for full information.

	It would be good to have a way to read options from a file to support,
	for example, the IBM-PC or Unicode line drawing characters as implemented
	in "devices" in previous versions.  I hope that we can introduce that
	soon.

2010-02-06  Ben Pfaff  <blp@gnu.org>

	doc: Distribute doc/pspp.xml, so that users don't need makeinfo or xmllint.
	Reported by unknown-1 <pspp@sjpaes.nl>.

	Update Catalan and Brazilian Portuguese translations.

2010-02-06  Ben Pfaff  <blp@gnu.org>

	Add Spanish translation from translationproject.org.
	This translation is by F.J.Miguel <Miguel.Quesada@uab.cat> and others.
	Miguel included the following note:

	I appreciate very much the work of Xavier and Palmira with translation, the
	support from coordinators Jordi and Santiago, and the comments from Ben,
	John and Michel. Encouragement for those working with other languages!!!

2010-02-05  Ben Pfaff  <blp@gnu.org>

	make-file: Fix #includes.
	In particular "gl/xvasprintf.h" is needed for xasprintf(), but I took the
	opportunity to update the header file style and ordering too.

	datasheet-test: Make variable "const".

	llx: New function llx_find() to find a pointer in a list.

	llx: New macro LLX_INITIALIZER to initialize an llx list statically.

	New "string_array" data structure for working with arrays of strings.
	Occasionally a dynamic array of strings is very useful, so this commit
	adds a set of helper functions for working with them.

	verbose-msg: Remove.
	This feature is not used very much and in fact is really only useful at all
	because it is difficult to understand how PSPP configuration works.
	Upcoming commits will make PSPP configuration much simpler, so we drop it
	now to simplify the code in advance.

	message: Give MSG_ values for categories and severities different prefixes
	This reduces confusion in reading and writing code that uses these values.

	array: Fix typo in comment.

	doc: Be more optimistic about PSPP completion.

	configure.ac: Modernize call to AC_INIT so that PACKAGE_URL gets defined.

	odt: Avoid assertion failure if "mimetype" file cannot be created.
	Triggered by tests/bugs/unwritable-dir.sh.

	odt: Fix writing files with names different from pspp.odt.

	html: Delete redundant code.
	This code was part of an earlier attempt at CSS styling for HTML output.
	It does nothing useful, so remove it.

	csv: Close pipe files properly.
	csv_create() opens the output file with fn_open() so csv_destroy() should
	close it with fn_close() to ensure that pipes and the standard file
	descriptors are closed properly.

	csv: Open output file immediately, instead of delaying.

	cairo: Avoid GLib-GObject-CRITICAL from g_object_unref() on error path.
	This could be triggered by an error creating the output file, e.g. by
	tests/bugs/unwritable-dir.sh.

	cairo: Require minimum page width.
	A too-narrow page (in particular, a zero-width page) can cause an infinite
	loop in the rendering code.

	ascii: Remove unimplemented "tab-width" setting.

2010-02-05  Jason H Stover  <jhs@math.gcsu.edu>

	Set final element in covariance matrix. Use accessor functions for linreg struct. Initialize total sums of squares.

2010-02-04  Ben Pfaff  <blp@gnu.org>

	Make text output left-justified in ascii and cairo drivers.
	This only makes a difference for text output that wraps across lines, for
	example with long error messages.

	msg-ui: Fix typo in user message.

2010-02-04  Jason H Stover  <jhs@math.gcsu.edu>

	use sizeof double to allocate means

	Compute the independent variable means

2010-01-29  Jason H Stover  <jhs@franz.gcsu.edu>

	allocate space to store independent variable list

2010-01-29  Jason H Stover  <jhs@math.gcsu.edu>

	fixed counting of valid cases in fill_covariance

	Free linreg struct if no valid data; no not attempt to save residuals or predicted values in this case

2010-01-28  Ben Pfaff  <blp@gnu.org>

	odt: Change default output file name to "pspp.odt".
	It seems that "pspp.pdt" was just a typo.

2010-01-22  Jason H Stover  <jhs@math.gcsu.edu>

	Set categoricals to NULL in one-pass covariance; avoid freeing NULL in categoricals_destroy

2010-01-21  Jason H Stover  <jhs@math.gcsu.edu>

	fill_covariance now returns a value

2010-01-19  Ben Pfaff  <blp@gnu.org>

	ascii: Fix handling of file open error.
	This fixes a hang in tests/bugs/unwritable-dir.sh.

	Reported by John Darrington.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	pspp: Fix interactive usability for multi-line commands.
	Until now, the terminal UI has only flushed output just before reading
	the first line of a command.  This generally worked OK because typically
	only the final command produced output, not intermediate lines.  But now
	every line of a command potentially produces output (e.g. the command name
	or the command syntax).  With the ASCII driver that makes the interface
	difficult to use because it typically opens and holds open a pipe to an
	interactive program such as "more", which in turn turns off terminal echo
	etc.

	Flushing output before reading each command avoids this problem and makes
	the terminal UI more usable.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	ascii: Fix closing pipe files in ascii_destroy().
	Files that are opened with fn_open() must be closed with fn_close(), but
	ascii_destroy() wasn't doing that.  This made a particular difference for
	interactive output where fn_close() calls pclose() instead of fclose().

2010-01-18  Ben Pfaff  <blp@gnu.org>

	ascii: Fix ascii_flush().
	ascii_flush() was not actually flushing the contents of the page, so this
	commit changes it to do that.

	This change made it clear that the proper place to reset the "y" position
	on the page is in ascii_close_page(), so it makes that change too.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	message: Fix corner case in msg_emit().
	In most cases, msg_emit() initialized the "where" member of the message
	passed in.  However, if msg_init() had not yet been called, it did not do
	this.  This fixes that corner case.

	In addition, one caller of msg_emit() did not initialize these members.  It
	is not necessary for both msg_emit() and its callers to do so, but since
	most callers did so, this commit simply makes the remaining caller do so
	as well, for consistency.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	message: Make msg_dup() copy and msg_destroy() free the file name.
	This fixes a PSPPIRE bug in its message handling (found by inspection).  It
	makes copies of messages to use later.  The file names were not being
	copied, so in the meantime it was posible that they would be freed,
	yielding a use-after-free error.

	Since doing this sensibly required changing the file_name member of
	struct msg_locator from "const char *" to "char *", it also touches up
	places where this caused new warnings.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	New library for interned strings.
	An "interned" string is stored in a global hash table.  Only one copy of any
	given string is kept in the hash table, which reduces memory usage in cases
	where there might otherwise be many duplicates of a given string.

	Interned strings can be compared for equality by comparing pointers, which
	can also be a significant advantage in some cases.

	Interned strings are immutable.

	This commit adds a general-purpose implementation of interned strings and
	adapts the implementation of value labels, which already had a
	special-purpose and less convenient implementation of interned strings,
	to use them.

2010-01-18  Ben Pfaff  <blp@gnu.org>

	Update Makefile for tests to reflect currently recommended style.
	The Autotest example Makefile was recently update to use $(VAR) notation
	instead of @VAR@ notation:
	    http://permalink.gmane.org/gmane.comp.sysutils.autoconf.patches/6978

	This commit updates tests/automake.mk to follow this new style.

2010-01-17  Ben Pfaff  <blp@gnu.org>

	Fix use of uninitialized data in table_casereader_get_cell().
	Thanks to John Darrington for pointing out the problem.

2010-01-16  Ben Pfaff  <blp@gnu.org>

	psppire: Reimplement overview pane for output viewer window.

	psppire: Add File|Export command to output viewer window.
	This should really pick the default export format based on the extension
	typed by the user, but it does work.

2010-01-16  Ben Pfaff  <blp@gnu.org>

	Rewrite PSPP output engine.
	This rewrite makes the PSPP output engine much more object-oriented and
	extensible than previously.  It should make it much easier to add new
	output features, such as cell footnotes and nested tables.  It also makes
	minimal changes to code that currently uses the output engine.  The largest
	changes are to the implementation of the LIST procedure, which are
	necessary because this procedure had a too-intimate relationship with the
	details of the output drivers.

	The cairo and ascii drivers are now much better at breaking large cells and
	large tables across pages and at choosing appropriate sizes for rows and
	columns.

	This commit adds a new output driver called "csv", which presents output
	in comma-separated value format.  It also updates all of the test cases
	that produce output to use this output format.

	This commit enhances the HTML output significantly and the ODF output
	slightly.

	This commit adds support for charts to the GUI output.  However, it
	temporarily removes the tree-view output summary pane from GUI output.  It
	should not be difficult to restore this later.

2010-01-16  Ben Pfaff  <blp@gnu.org>

	LIST: Remove WEIGHT subcommand.
	This subcommand is not needed for compatibility, and it is not really
	useful because the case weight can be listed by including the name of
	the weighting variable on the LIST command.

	Distribute some files that were forgotten.

2010-01-15  Jason H Stover  <jhs@math.gcsu.edu>

	Rewrote linreg.[ch], regression.q and glm.q to use the new covariance.[ch]. Dropped covariance-matrix.[ch], design-matrix.[ch] and coefficient.[ch].

2010-01-04  Ben Pfaff  <blp@gnu.org>

	casereader: Make parameter to casereader_count_cases const.
	casereader_count_cases does not conceptually modify its argument, since
	there is no way for the client to observe the difference (other than
	through improved performance).  So there is no need for the parameter to
	be const.

	str: New function ds_steal_cstr.

	Add new SENTINEL macro to compiler.h, for GCC's __attribute__((sentinel)).

2009-12-30  John Darrington  <john@darrington.wattle.id.au>

	Weight cases dialog: set the sensitivity of radiobuttons.
	Fix the sensitivity of the dialog's radiobuttons when the
	the entry contains a variable.  Thanks to Matej Kovacic for
	reporting this problem.

	Changes made by gnulib-tool

2009-12-28  John Darrington  <john@darrington.wattle.id.au>

	Initialize factor dialog extraction parameters at dialog start

	FACTOR: Check that the number of factors does not exceed the number of variables

	Removed some calls to deprecated Gtk functions

	Avoid warnings about adjustments with non-zero page sizes

	Use non-deprecated macros.
	Removed some deprecated GTK constructs, and replaced them
	with their non-deprecated counterparts.

2009-12-27  John Darrington  <john@darrington.wattle.id.au>

	Add optional / to AGGREGATE OUTPUT subcommand.
	SPSS expects a / to preceed the OUTPUT subcommand. So this
	change allows PSPP to have one too.  Closes
	bug #277774

	FACTOR: Ensure a non-zero number of factors.
	Before attempting to perform factor analysis, check
	that the number of factors is greater than zero.
	Issue an appropriate warning if this is not the case.

	Added a menu entry and dialog box for the FACTOR command.

	Remove unused declarations

	Change GTK_SIGNAL_FUNC to G_CALLBACK.
	These macros are identical, but for consistency I've changed them
	all to the latter.

	Avoid warning about GtkAdjustments with non-zero page_size

2009-12-26  John Darrington  <john@darrington.wattle.id.au>

	Added documentation for the FACTOR command

2009-12-25  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Added  "Scree Plots"

	Remove obsolete file

2009-12-25  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into output
	Conflicts:

		configure.ac

2009-12-24  John Darrington  <john@darrington.wattle.id.au>

	Fix fault XML in documentation.
	Avoid broken XML generated by Texinfo. Add a make rule
	to check for this in the future.

	New translations from http://translationproject.org

	FACTOR: Implemented the /PRINT=CORRELATIONS SIG DETERMINANT subcommands

2009-12-23  John Darrington  <john@darrington.wattle.id.au>

	FACTOR: Remove diagnostic messages

	First attempt at FACTOR command

2009-12-18  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into output
	Conflicts:

		NEWS
		configure.ac
		src/output/charts/dummy-chart.c

2009-12-18  John Darrington  <john@darrington.wattle.id.au>

	Remove gettext markup from g_param_spec arguments.
	These strings are never seen by users, so there's little
	point in translating them.

	Added the Catalan translation from http://translationproject.org

2009-12-16  John Darrington  <john@darrington.wattle.id.au>

	Linear Regression: Dependent variables should not be strings.
	Prevent the gui from selecting string variables as the dependent
	variable in a linear regression procedure, since that's not
	allowed in such a procedure.

2009-12-16  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		NEWS
		configure.ac
		po/nl.po
		src/ui/gui/dict-display.c

2009-12-16  John Darrington  <john@darrington.wattle.id.au>

	Fix bug in ROC parsing long string variables

	Properly escape marked up text in dictionary views

	Ensure all symbols in glade library are resolved

	New interface PsppireSelectDestWidget.
	Created a new interface type PsppireSelectDestWidget to serve
	as an abstract widget which can be the destination for a PsppireSelector.
	Changed PsppireVarView to implement this interface.

2009-12-15  John Darrington  <john@darrington.wattle.id.au>

	Remove unused GtkAdjustment objects

2009-12-14  Ben Pfaff  <blp@gnu.org>

	Rename src/output/charts/box-whisker.[ch] to src/output/charts/boxplot.[ch].
	This makes the structure names more obvious and prevents confusion
	with src/math/box-whisker.[ch].

	Get rid of superfluous Makefile in src/output/charts.

2009-12-14  John Darrington  <john@darrington.wattle.id.au>

	Fix missing menu label

	Don't allow string variables in ROC dialog as dependent variable

	Remove unused code

	Show only numeric variables in correlations dialog

2009-12-13  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://john@cellform.com/home/john/Development/pspp-selector

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Added a dialog box for the CORRELATION command

	New function psppire_var_view_contains_var
	Added a function to test whether a variable is currently
	contained within a PsppireVarView widget.

	Change psppire_dicts pointers from G_POINTER to PSPPIRE_VAR_PTR_TYPE

	Set the dictionary encoding of files created by the perl module.
	This *assumes* that all strings passed from perl will be utf8
	encoded.  So the documentation has been updated accordingly.

2009-12-12  John Darrington  <john@darrington.wattle.id.au>

	ROC dialog: Disable reference button when curve is not drawn

	Implemented a dialog box for the ROC command

	Remove awkward dependency from psppire-selector.c
	Removed the default selection functions from being
	statically linked to psppire-selector.c  - apart from
	being inelegant this caused a lot of unncessary dependencies
	in the glade module.

	Remove unused code

	Rework the recode-dialog to fit new selector / psppire-var-view objects.

2009-12-07  Ben Pfaff  <blp@gnu.org>

	Remove AFM files.
	Now that the PostScript driver is gone, there is no longer any need for
	these.

	Thanks to John Darrington <john@cellform.com> for pointing out that they
	are no longer necessary.

2009-12-05  Ben Pfaff  <blp@gnu.org>

	output: Remove PostScript driver.
	The Cairo driver is a better way to produce PostScript output.  There seems
	little value in maintaining the historical PostScript driver.

	Removing the PostScript driver also makes for less work in revamping the
	output subsystem, since there are now fewer drivers to update.

2009-12-05  Ben Pfaff  <blp@gnu.org>

	file-name: Generalize fn_interp_vars().
	This more general-purpose version of fn_interp_vars() will be useful in an
	upcoming commit.

	casereader: New function casereader_select().

	casereader: New functions casereader_project() and casereader_project_1().

	casereader: New function casereader_translate_stateless().

	casereader: New function casereader_create_empty().

	casereader: New function casereader_advance().

	casereader: New function casereader_truncate().

	subcase: Add more useful functions.

	New data type string_map, a string-to-string map.

2009-12-03  John Darrington  <john@darrington.wattle.id.au>

	Update to reflect latest copy of Gnulib
	Conflicts:

		README.Git
		src/data/make-file.c

2009-11-27  Ben Pfaff  <blp@gnu.org>

	New data type string_set, a set of unique strings.

	hmapx: New function hmapx_is_empty().

	hmap: New function hmap_is_empty().

	hmap: Remove shadowed variable from inner scope.
	'j' is also declared at the top level of the function so there is no
	need to declare it inside the 'for' loop.

2009-11-24  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Search for a gettext implementation at configure time

2009-11-23  John Darrington  <john@darrington.wattle.id.au>

	New module psppire-var-view
	Added a new object PsppireVarView which is a subclass
	of GtkTreeView.   It automatically creates a model for
	itself for the storage of variables.

	This change breaks some features.  These must be corrected
	in subsequenct commits.

2009-11-19  John Darrington  <john@darrington.wattle.id.au>

	Ensure that only one set of callbacks exist.
	Remove any existing selector callbacks before adding
	new ones.  Otherwise a keyclick can add 2 or more
	items instead of the desired one.

2009-11-18  Jason H Stover  <jhs@math.gcsu.edu>

	Call covariance_accumulate_pass2

2009-11-18  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Update to reflect latest copy of Gnulib

	Fix problem building with --without-libplot

	Fix property erroneously altered in commit a9a69251edd625a50f271af5d64c157533b5fe48

2009-11-17  Jason H Stover  <jhs@math.gcsu.edu>

	Fix separation of categorical and numeric variables. Enforce numeric type for dependent variables. Name the covariance struct returned by covariance_2pass_create as cov.

2009-11-17  John Darrington  <john@darrington.wattle.id.au>

	Separated psppire_selector_set_subjects into two individual functions

2009-11-16  John Darrington  <john@darrington.wattle.id.au>

	Updated the Dutch translation at the translator's request

	PsppireDictView: Change "dictionary" property to "model".
	Previously, PsppireDictView, which derives from GtkTreeView,
	had a property "dictionary", and a trap on the GtkTreeView's
	"model" property.  This change removes the trap and changes the
	"dictionary" property to an override of the "model" property.

2009-11-15  John Darrington  <john@darrington.wattle.id.au>

	PsppireSelector: new properties: "source-widget" and "dest-widget".
	Previously, a function psppire_selector_set_subjects was used to
	set the destination and source widgets of a PsppireSelector.  This
	change adds two new properties, and sets them in the GtkBuilder
	definitions instead of in the C code.

	Move definition of sort-cases-dialog to a seperate file.
	Removed the sort-cases-dialog definition from psppire.ui
	into a new file sort.ui

2009-11-14  John Darrington  <john@darrington.wattle.id.au>

	Fix some minor problems with the reliability dialog

2009-11-13  John Darrington  <john@darrington.wattle.id.au>

	Properly display ampersand characters in dictionary view widgets

2009-11-08  John Darrington  <john@darrington.wattle.id.au>

	Use significance_of_correlation function in t-test.
	Use the new function in src/math/correlation.c instead
	of doing it ourselves.

	New module src/math/correlation
	Created a new module to hold some common routines pertaining
	to correlation coefficients.

2009-11-06  John Darrington  <john@darrington.wattle.id.au>

	Remove inappropriate call to gtk_window_set_keep_above
	Thanks to Hugo Florentino for reporting this problem.

2009-10-31  John Darrington  <john@darrington.wattle.id.au>

	Wrap operations which index into reverse_variable_map
	New private function reverse_variable_lookup.  This
	function wraps operations which index into the array,
	and includes checks to prevent indexing outside the
	bounds of the array.

	Drop first category of each variable from covariance matrix.
	Apparently it's not appropriate for the covariance matrix to
	have a row/column for every categorical value.  One value per
	categorical variable should be excluded.  This change drops
	the first category encountered.

	Remove unused function categoricals_index

	Populate the moment matrices with the categorical entries

	Keep track of the number of variables involved in the categoricals.
	Added a counter for the number of variables which actually contribute
	to categories.  Due to the possibility of missing values, this may
	not be equal to the number of variables passed to the contructor.

2009-10-30  John Darrington  <john@darrington.wattle.id.au>

	Don't crash if all categorical variables are empty

2009-10-24  Ben Pfaff  <blp@gnu.org>

	Merge "master" into "output".

2009-10-24  John Darrington  <john@darrington.wattle.id.au>

	New functions to return the sum and weights associated with categorical variables

	Don't update categorical variables whose values are missing

	Remove some unnecessary #include directives

	Call categoricals_done at start of second pass.

	New functions is_missing and get_val
	Abstract the actions of obtaining the numeric value of a variable
	and its missing status, so that it can be more easily applied to
	categorical variables and linear variables alike.

	Use cov->dim instead of cov->n_vars where appropriate

	Destroy the categorical variables when the covariance matrix is destroyed

	Move categorical variable into the var_params struct

	Resize the moment matrices after the first pass

	Allow dump function to work with numeric variables

2009-10-23  Jason H Stover  <jhs@math.gcsu.edu>

	Rework glm.q to use new covariance routines

2009-10-18  John Darrington  <john@darrington.wattle.id.au>

	Fix order of pool_calloc arguments.
	The second argument is the number of elements, the third is the size.  If this
	is inadvertently reversed, then it fails when the number of elements is zero.

	Add reverse map entries to categoricals.
	Allow categorical values and variables to be efficiently
	indexed by the non-zero binary vector entry to which they
	map.

2009-10-17  John Darrington  <john@darrington.wattle.id.au>

	New module src/math/categoricals .
	Created a new object to keep track of categorical variables, and their
	values.   This is similar to src/data/categorys.c but is created on
	demand, and doesn't use any global state.

	Add a two pass algorithm to calculate covariance matrices.
	The single pass algorithm, although faster, is numerically unstable.
	Furthermore, at can't reasonably be achieved when categorical variables
	are involved.    This change implements a two pass algorithm and allows
	the caller to choose which algorithm (s)he prefers.

2009-10-14  Ben Pfaff  <blp@gnu.org>

	sys-file-reader: Tolerate nonsensical opcodes in compressed data.
	Compressed data in .sav files uses a set of 256 opcodes, some of which make
	sense only for numeric data and others of which only make sense for string
	data.  However, Jereme Thomas <jereme.thomas@gmail.com> has provided one
	file, written by SPSS 14, that uses an opcode that seems to makes sense
	only for numeric data in a string field.  So this commit adds support for
	these opcodes, although it still warns about the ones other than the exact
	one found in the file provided by Jereme.

	Enhance dissect-sysfile utility to print compressed data also.
	This proved useful in investigating a report that PSPP failed to read a
	.sav file that contained compressed data, so it seems worthwhile to include
	it in the PSPP tree.

2009-10-12  Ben Pfaff  <blp@gnu.org>

	Don't delete .po files from source directory in "make clean".
	Running "make clean" when the source directory is configured as a build
	directory shouldn't delete the .po files, but the rule as written did so.
	This fixes the problem.

2009-10-12  Ben Pfaff  <blp@gnu.org>

	Eliminate too-expansive "clean" rule kluge by requiring fixed Automake.
	The NEWS for Automake 1.10.1 mentions the following bug fix:

	  - All directories `.libs'/`_libs' used by libtool are cleaned now,
	    not only those in which libraries are built.

	This describes the situation for the kluged "clean" rule in
	tests/automake.mk, so by requiring Automake 1.10.1 or later we can also
	eliminate the clean rule.

2009-10-12  Ben Pfaff  <blp@gnu.org>

	Revert "INSTALL: Mention that GNU make is required."
	BSD make is now supported.

2009-10-12  Ben Pfaff  <blp@gnu.org>

	Don't use $< in target rules, for portability to POSIX make.
	POSIX only requires $< to be defined for implicit rules, so don't use it
	in target rules.

	With this commit, PSPP builds properly from a tarball with NetBSD make
	version 1.111 on Debian GNU/Linux.

2009-10-11  Ben Pfaff  <blp@gnu.org>

	Use @VARIABLE@ instead of $(VARIABLE) consistently in Makefiles.
	The $(VARIABLE) syntax is usually preferred, because it is possible for the
	user to override it at "make" time, whereas @VARIABLE@ is hardwired at
	"configure" time.

	There was some discussion of this on bug-gnulib@gnu.org:
		http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/18588
	The summary is that Bruno Haible sometimes prefers @VARIABLE@ but most
	others generally prefer $(VARIABLE), for the reason given above.

2009-10-11  Ben Pfaff  <blp@gnu.org>

	Remove redundant variable declarations from Makefile.am.
	Autoconf's AC_SUBST ensures that Automake will declare the corresponding
	Makefile variables, so there is no need to declare them ourselves.

	Drop double suffixes from makefiles to improve POSIX make compliance.
	POSIX says that suffixes must contain only a single dot, e.g. ".inc.pl"
	is not allowed.  So this commit renames files and adjusts the makefiles
	to comply with this rule.

	Avoid nonportable -i option in sed invocation.
	POSIX sed only has -e, -f, and -n options.

2009-10-10  Ben Pfaff  <blp@gnu.org>

	Avoid GNU make extension $(RM) in makefiles.
	Automake uses "rm -f" literally so there is not much point in PSPP trying
	to use $(RM).  At any rate it's a GNU make extension so it's best to avoid
	it for portability.

2009-10-10  Ben Pfaff  <blp@gnu.org>

	Declare Makefile suffixes, to be a little closer to POSIX make compliance.
	POSIX requires that suffixes used in implicit rules be declared.  Automake
	allows one to do that by adding the suffixes to a variable named SUFFIXES.
	We weren't doing that consistently, and this commit fixes that up.

	POSIX doesn't allow suffixes to contain more than one period, so this isn't
	a complete fix, since the Makefiles still use .h.pl and .inc.pl as
	suffixes.  There are other reasons, too, why the PSPP Makefiles are not
	POSIX-compliant.

2009-10-10  John Darrington  <john@darrington.wattle.id.au>

	Converted psppire.glade to psppire.ui

	Converted some additional .glade files .ui

	Allow xgettext to extract strings from .ui files

	Started transition to a .glade-less system.
	Converted some of the .glade files to .ui in the
	source tree instead of using the convertor script.

	Avoid use of $* in Makefile since it's problematic
	Thanks to Ben Pfaff for reporting this.

2009-10-08  Jason H Stover  <jhs@math.gcsu.edu>

	New function covariance_2pass_create

2009-10-06  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-rc1.

	Update Dutch and Brazilian Portuguese translations.
	Thanks to Michel Boaventura, Harry Thijssen, and the coordinators at
	translationproject.org.

2009-10-06  John Darrington  <john@darrington.wattle.id.au>

	Update NEWS file

2009-10-06  Jason H Stover  <jhs@math.gcsu.edu>

	New function check_interactions to specify all possible interactions in the absence of the DESIGN subcommand.
	Remove calls to covariance_matrix routines as preparation to rewrite
	src/math/covariance-matrix.c.

2009-10-04  Ben Pfaff  <blp@gnu.org>

	hmap-test: Skip test instead of reporting success on GCC 4.3.
	Commit 1dfc6b1 "hmap-test: Disable tests that GCC 4.3 miscompiles."
	disabled some of the hmap-tests, the ones that GCC 4.3 miscompiles.
	However, it still reported "success" if the remaining tests succeeded.
	John Darrington suggested that reporting that the test was skipped was
	more accurate, so this commit does so.

	Upgrade gtk-builder-convert to newer version that adds useful warnings.
	The notes on "Migrating from libglade to GtkBuilder" in the GTK+
	Reference Manual at, e.g.
	http://library.gnome.org/devel/gtk/unstable/gtk-migrating-GtkBuilder.html
	say that "While libglade can often tolerate multiple widgets having the
	same id in a glade file, GtkBuilder will not accept duplicate object ids."
	The version of gtk-builder-convert that we had previously didn't warn about
	duplicate ids; the new version checked in by this commit does.

2009-10-04  John Darrington  <john@darrington.wattle.id.au>

	Canonicalise orthography of Big/Little Endian

	Remove duplicate entry from command.def

	Update INSTALL file

	CORRELATIONS: Properly deal with case weights.
	Corrected a bug in the weighted covariance calculations,
	and add a test to check that weights are properly
	handled.

	CORRELATIONS: Fix bug parsing /STATISTICS=ALL

	CORRELATIONS: Documented the /STATISTICS subcommand

	CORRELATIONS: Added support for /STATISTICS=XPROD

	CORRELATIONS: Added support for the STATISTICS subcommand

2009-10-03  John Darrington  <john@darrington.wattle.id.au>

	Add a manual entry for the CORRELATIONS command

	First working version of CORRELATIONS.
	This commit includes a new module, src/math/covariance.[ch],
	which may eventually replace src/math/covariance-matrix.[ch]

2009-10-02  John Darrington  <john@darrington.wattle.id.au>

	Initial framework for CORRELATIONS command

2009-09-30  Ben Pfaff  <blp@gnu.org>

	Fix numerous warnings about an unknown attribute rpl_malloc on mingw32.
	On mingw32, Gnulib replaces malloc by defining it as a macro that expands
	to rpl_malloc.  Since MALLOC_LIKE used malloc as an identifier, even though
	it didn't refer to the malloc function per se, this instance of malloc
	also expanded to rpl_malloc, confusing GCC.

	GCC also accepts __malloc__ here, so this commit uses that spelling
	instead, which avoids the warning.

2009-09-30  Ben Pfaff  <blp@gnu.org>

	Upgrade to latest Gnulib version and fix resulting FreeBSD build failures.
	Upgrading the Gnulib version exposed a couple of failures to #include
	<config.h> at the very top of a source file via build failures on
	FreeBSD 7.2-RELEASE, fixed by this commit.

	This probably also fixes a similar OpenBSD issue reported by Jason Stover
	at http://lists.gnu.org/archive/html/pspp-dev/2009-09/msg00095.html

2009-09-30  Ben Pfaff  <blp@gnu.org>

	README.Git: Fix syntax of suggested commands.

	INSTALL: Mention that GNU make is required.
	In my experience with the autobuilder, in particular the system "make"
	program on FreeBSD 7.2-RELEASE will not work.

	Rewrite README.Git to mention the Gnulib commit number and explain better.
	This commit has three purposes.  First, I think that the new version of this
	file explains the bootstrapping process a little better.  Second, I want
	to mention a Gnulib commit number that I have been using, so that other
	people can easily figure out a version of Gnulib that will work.  Third,
	I want the PSPP autobuilder to be able to automatically pick out a working
	Gnulib commit.

2009-09-29  Ben Pfaff  <blp@gnu.org>

	perl-module: Fix build on FreeBSD 7.2
	config.h must be included first, otherwise the build fails on FreeBSD 7.2
	in gl/string.h at the first instance of "restrict", which <config.h>
	#defines as empty.

	Don't use nonportable "mktemp" utility in perl-module/automake.mk.
	In porting to FreeBSD, I noticed that perl-module/automake.mk tries to use
	the "mktemp" utility.  FreeBSD happens to have this utility, but it
	requires an argument, and at any rate it is nonportable and we can avoid
	using it here, so do so.

2009-09-28  John Darrington  <john@darrington.wattle.id.au>

	Added a new target "programs" to the makefile.
	When a source file is changed, the "all" target (correctly) rebuilds
	the po/pspp.pot file and remerges the PO files for all supported translations,
	and then builds .gmo files for each of them.   Whilst this is correct behaviour,
	it will become an unmitigated nuisance for developers as more and more
	translations are added.

	This change adds a new target called "programs" which builds the binaries, but
	not the ancilliary targets. This target is more convienient for working on
	changes to the source code, when translations are not of interest.

2009-09-28  John Darrington  <john@darrington.wattle.id.au>

	Correct printf conversion specifiers for size_t types.

2009-09-27  John Darrington  <john@darrington.wattle.id.au>

	Add necessary #include stddef.h directive

2009-09-25  Ben Pfaff  <blp@gnu.org>

	perl-module: Additional fixes for Perl version number on PSPP autobuilder.
	Commit 30f21302 "perl-module: Tolerate minor PSPP version number
	differences" tried to improve the behavior of the PSPP Perl module when
	the PSPP version number includes a suffix such as -build40.  But it didn't
	entirely work, since it overlooked some uses of $(VERSION) in
	perl-module/automake.mk.  This commit fixes those too.

	Fix missing @clicksequence problem for building Docbook output also.
	Commit 770f21f5 "Fix missing @clicksequence problem with older Texinfo
	versions." fixed the problem of missing @clicksequence for building the
	main PSPP documentation, partly by adding to $(AM_MAKEINFOFLAGS).  However,
	$(AM_MAKEINFOFLAGS) wasn't used in building the Docbook output for use by
	Yelp as the GUI help.  This commit adds $(AM_MAKEINFOFLAGS) to that
	command, fixing the problem.

2009-09-24  Ben Pfaff  <blp@gnu.org>

	perl-module: Tolerate minor PSPP version number differences.
	The PSPP autobuilder that I'm working on appends a build number to the PSPP
	version number, e.g. "0.7.2-build40".  The Perl module has two problems
	with this:

	  1. Perl won't parse version numbers that contain anything other than
	     digits and periods, so "-build" causes an error.  So this commit
	     drops everything from the hyphen onward from the PSPP version number
	     passed along to Perl.

	  2. The Perl module itself does a string comparison operation between the
	     number it expects and the number that PSPP reports.  When we drop
	     the hyphen onward, the comparison fails.  So this commit also relaxes
	     the comparison to one that does pass.

2009-09-24  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		AUTHORS
		NEWS
		configure.ac
		lib/gtksheet/gtkitementry.c
		po/LINGUAS
		po/nl.po
		src/data/file-name.c
		src/data/sys-file-writer.c
		src/language/stats/crosstabs.q
		src/language/stats/examine.q
		src/language/stats/t-test.q
		src/output/charts/box-whisker.c
		src/output/charts/plot-hist.c
		src/ui/gui/output-viewer.c
		src/ui/gui/psppire.c
		src/ui/gui/psppire.h
		src/ui/terminal/main.c

2009-09-23  Ben Pfaff  <blp@gnu.org>

	Make GtkItemEntry compatible with GTK+ 2.17.4 and later.
	GTK+ 2.17.4 breaks GtkEntry's buffer into a separate class named
	GtkEntryBuffer and eliminates the associated members from GtkEntry.
	The GtkItemEntry code in lib/gtksheet attempted to use some of those
	members directly, which no longer works, so this commit changes that
	code to use public function interfaces instead.  Some of these public
	function interfaces were introduced in GTK+ 2.17.4, so those pieces
	are conditionalized on the version of GTK+ detected at build time.

	This commit makes PSPPIRE compiled with GTK+ before 2.17.4 work properly
	only when used with GTK+ before 2.17.4, and similarly when PSPPIRE is
	compiled with GTK+ 2.17.4 or later.  There may be a way to avoid that, but
	it is not entirely obvious.

	With feedback from John Darrington.

2009-09-23  Ben Pfaff  <blp@gnu.org>

	Rename README.CVS to README.Git and update to refer to Git instead of CVS.

2009-09-22  Ben Pfaff  <blp@gnu.org>

	Fix "make install" with --enable-relocatable.
	When PSPP added support for --enable-relocatable back in 2007, PSPP did
	not install any shared libraries.  Now it does, which requires us to
	set RELOCATABLE_LIBRARY_PATH in configure.ac.  Otherwise, the installed
	binaries will not work automatically but require some manual user
	intervention.

	Also set RELOCATABLE_STRIP as recommended by the gnulib documentation.

2009-09-20  Ben Pfaff  <blp@gnu.org>

	hmap-test: Disable tests that GCC 4.3 miscompiles.
	Commit ac58b3c51 "Avoid bug in GCC 4.3 in hmap-test." attempted to work
	around a bug in GCC 4.3 that was causing test failures in hmap-test.
	Unfortunately, the problem has started resurfacing again, probably due to
	changes elsewhere, so this commit simply disables the tests in question
	when PSPP is built with GCC 4.3.

2009-09-20  Ben Pfaff  <blp@cs.stanford.edu>

	Fix "make check" with --enable-relocatable.
	When --enable-relocatable was passed to "configure", "make check" failed
	while building datasheet-test:

		tests/data/datasheet-test.c: In function 'main':
		tests/data/datasheet-test.c:880: error: 'INSTALLDIR' undeclared (first use in this function)

	Line 880 of that file is:

		set_program_name (argv[0]);

	which is a little mysterious until one realizes that --enable-relocatable
	defines set_program_name() as a macro that expands to a value that includes
	INSTALLDIR.

	So this commit fixes the problem by making sure that INSTALLDIR is defined
	as part of CPPFLAGS for all compiles.

2009-09-16  Ben Pfaff  <blp@gnu.org>

	Don't pad variable labels written to system files.
	Previously, the code to write variable labels to system files accidentally
	padded out the variable labels on the right with spaces to a multiple of 4
	bytes in length.  With this commit, variable labels will no longer be
	padded.

	This fixes a genuine bug for variable labels longer than 252 bytes, which
	previously were padded out to 256 bytes.  Variable labels are limited to
	a maximum of 255 bytes, so PSPP refused to read such files.

	Reported-by: Robert Westlund <rob@kinesissurvey.com>

2009-09-15  Ben Pfaff  <blp@gnu.org>

	FREQUENCIES: Make frequency table headings easier to translate.
	The headings for frequency tables were broken up into individual words,
	which made them hard to translate since in some languages the words needed
	to be in the opposite order.

	Thanks to Harry Thijssen <pspp@sjpaes.nl> for pointing out the problem.

2009-09-14  Ben Pfaff  <blp@gnu.org>

	Merge commit 'origin/stable' into stable

2009-09-12  John Darrington  <john@darrington.wattle.id.au>

	Fix tests broken by the new table widths, caused by previous change

	Canonicalise some printed strings, to make translators' lives easier

2009-09-08  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-pre6.

	Add Brazilian Portuguese translation.
	Thanks to Michel Boaventura <michel@cecaps.ufmg.br> and the coordinators
	at translationproject.org.

2009-09-04  Ben Pfaff  <blp@gnu.org>

	T-TEST: Also fix the case where the correlation is slightly less than -1.0.
	Thanks to John Darrington for pointing out the omission.

2009-09-03  Ben Pfaff  <blp@gnu.org>

	Update to latest nl.po.
	Thanks to unknown-1 and the coordinators at translationproject.org.

2009-09-03  Ben Pfaff  <blp@gnu.org>

	Fix missing @clicksequence problem with older Texinfo versions.
	The @clicksequence command was introduced in Texinfo 4.12, which a lot of
	users do not yet have.  This commit fixes the problem by detecting whether
	makeinfo supports @clicksequence and, if not, defining a macro for it as
	a substitute.

	We also need support for @clicksequence in texinfo.tex.  It is possible to
	detect whether @clicksequence is defined using TeX code and, if not,
	define a TeX macro for it.  However, I'm not sure how to do that.  So this
	commit instead adds a known-good texinfo.tex to the source tree, which
	should have the same effect.

2009-09-03  Ben Pfaff  <blp@gnu.org>

	T-TEST: Avoid NaN in paired-sample correlation significance calcuation.
	Sometimes the correlation comes out just above 1.0 due to inaccuracy of
	machine calculation, which causes sqrt(1-corr**2) to yield NaN.  This
	commit forces the correlation into the valid range, fixing the problem.

	Thanks to Matej Cepl <mcepl@redhat.com> for reporting the problem.
	Thanks to John Darrington for suggesting the fix.

2009-09-01  Jason Stover  <jhs@debs.(none)>

	New functions glm_custom_design and parse_interactions.

2009-09-01  John Darrington  <john@darrington.wattle.id.au>

	Remove i18n related configuration items which are no longer used

2009-08-31  John Darrington  <john@darrington.wattle.id.au>

	Replace "all-hook" with "all-local".
	all-hook isn't a target recognised by automake, so use all-local instead,
	and avoid it clashing with the all-local in perl-module

	Add the all_q_sources to the dependencies of po/pspp.pot

2009-08-31  John Darrington  <john@darrington.wattle.id.au>

	Rewrite automake rules for internationalisation files.
	I got fed up with battling against the Makefile which
	gettext provides.  So I rolled my own instead.  This change provides
	the following advantages over previous situation:

	* It doesn't use recursive calls to $(MAKE).

	* Merged and unmerged po files are properly seperated into
	  the buildir and sourcedir respectively.  Consequently,
	  po files get updated only when we really want them to be,
	  and not (potentially) on every commit.

	* The .pot file (and consequently the .po and .gmo files) now
	  properly depend upon all the distributed source files.  There
	  is no need to run "make -f Smake" to make it aware of new files.

	* There's no more need of "timestamp" files.

	* Potentially it's easier to add per-source-file options
	  when generating the .pot file. (and thus avoid warnings about
	  unrecognised extentions.

2009-08-30  John Darrington  <john@darrington.wattle.id.au>

	Correct typo in printed string

	Update to most recent Gnulib

	Fix make distcheck

2009-08-15  John Darrington  <john@darrington.wattle.id.au>

	Don't override label for Save As menuitem

2009-08-14  John Darrington  <john@darrington.wattle.id.au>

	Remove const qualifier.
	Remove inappropriate const qualifier and the
	const_casts that it caused.

	Update perl module version number

	Revert pango dependency to version 2.20
	Reduce pango required version to 2.20, and backport
	the pango_layout_get_baseline function.

2009-08-11  Ben Pfaff  <blp@gnu.org>

	EXAMINE: Fix null pointer dereference introduced in commit b46b794dfb9.
	This code initializes metric->box_whisker, so it must only take its address
	afterward.

	Merge master into output branch.

2009-08-10  Ben Pfaff  <blp@gnu.org>

	Delete tab_raw function and tab_alloc macro.
	This function and macro were only used within crosstabs.q.  They violate
	encapsulation (though not too badly) and since it is not difficult to
	remove them, this commit does so.

	Delete tab_create()'s unused third parameter.
	This parameter was used a long time ago, but it is no longer needed, so
	remove it.

2009-08-10  Ben Pfaff  <blp@gnu.org>

	Separate table functions that format their arguments from those that don't.
	The tab_text, tab_joint_text, and tab_output_text functions, until now,
	had an option bit TAT_PRINTF that specified whether they passed their text
	argument through sprintf.  This interface was bad because it made it
	impossible for GCC to tell whether it needed to verify a printf format
	string or not.

	This commit solves the problem by breaking each of these functions into one
	that does format its argument and one that doesn't.

	This is cross-ported from a similar commit on the master branch.

2009-08-08  Ben Pfaff  <blp@gnu.org>

	Add CONST_CAST macro, for casting away "const" more safely.

	Add CHECK_POINTER_HAS_TYPE macro, and use it to make *_data macros safer.

	Eliminate unnecessary casts.

	Add UP_CAST macro, for safer casting from contained data to its container.

2009-08-05  Ben Pfaff  <blp@gnu.org>

	Eliminate casts that can be replaced by uses of the & operator.
	This increases type safety and so it's hard to see any downside.

	output: Always use helper functions to access struct tab_table members.
	The implementation of "struct tab_table" will be changing, so by always
	using the helper functions we can reduce the amount of code that has to
	change later to support those changes.

2009-08-04  Ben Pfaff  <blp@gnu.org>

	output: Remove write-only "col_group' member from struct tab_table.
	It probably makes sense to revive support for this feature at some point,
	but that time has not yet arrived.  Instead, since it's currently not used
	and not implemented, just remove it.

	output: Get rid of write-only "hit" member in struct tab_joined_cell.
	This member used to be used, but that use was eliminated in commit
	1cc38c81df "Get rid of most global variables in outputting tables."

	output: Fix warnings about unused function arguments in ODT driver.

2009-08-03  Jason Stover  <jhs@debs.(none)>

	Cruft removal

2009-08-01  John Darrington  <john@darrington.wattle.id.au>

	Consolidate translatable strings into a common form.
	Be kind to the translators and reduce the number of
	distinct strings they have to translate.

	Added options to the ODF driver.
	Added some options to the OpenDocument driver.
	Currently only two: "output-file" and "debug".

	Fixed bug rendering joined columns

	Add a styles.xml file
	Add a basic style XML and have the table headings
	rendered in a different style to the table contents.

	Prevent existing output file from interfereing with zip

2009-07-31  John Darrington  <john@darrington.wattle.id.au>

	Revert inadvertently commited change to required pango version

	Enable joined cells to be rendered properly

	Added a meta.xml file.
	Add the meta.xml file, to contain (at present) the author's
	name, version of pspp and time that the document was created.

	Add comments and cleanup

	Add the file I forgot to include

2009-07-30  John Darrington  <john@darrington.wattle.id.au>

	Initial attempt at an ODF driver

2009-07-29  Ben Pfaff  <blp@gnu.org>

	output: Draw titles on charts in a larger font than other labels.

	output: Fix vertical alignment of text to a baseline in chart output.
	This makes labels on pie charts look better, for example.

2009-07-29  John Darrington  <john@darrington.wattle.id.au>

	Use u8_cpy instead of memcpy.
	Use u8_cpy instead of memcpy since the
	former provides better type checking.

2009-07-29  Ben Pfaff  <blp@gnu.org>

	output: Use Cairo and Pango to draw charts, instead of libplot.
	This paves the way for adding support for charts to the PSPPIRE GUI, since
	Cairo can render to a window in GTK+ whereas libplot cannot.

	I am aware of the following regressions versus the state before this
	commit:

	1. Alignment of text in charts on the baseline is not properly implemented.
	   This makes the labels in pie charts look funny.

	2. Chart titles are drawn in the same font size as other chart text.

	3. Building without Cairo and Pango is broken.

	4. The postscript output driver (as opposed to the cairo output driver in
	   PostScript output mode) no longer supports charts.

	I plan to fix #1, #2, and #3.  #4 is fixable too, but I don't know whether
	it is worth it; I might prefer to delete the postscript output driver
	altogether.

2009-07-28  Ben Pfaff  <blp@gnu.org>

	output: Make chart geometry the responsibility of the output driver.
	Currently, with libplot, all charts have the same geometry, because
	libplot allows us to reasonably set the dimensions of the drawing area
	to the same 1000x1000 size.  But cairo will produce strangely scaled
	results if we attempt to do the same thing there (distorted font sizes,
	etc.).  So make the output drivers responsible for setting up the chart
	geometry, so that the output drivers can tell the chart drawing routines
	the size of the drawing area.

2009-07-28  Jason Stover  <jhs@debs.(none)>

	Merged changes from branch interaction-review

2009-07-28  Ben Pfaff  <blp@gnu.org>

	charts: Use numeric colors instead of color names.
	Cairo doesn't support color names, so this will ease the transition.

2009-07-28  John Darrington  <john@darrington.wattle.id.au>

	Remove commented code

	remove unused return value

	Allow ranges with left to right and bottom to top sense to be selected.

2009-07-27  John Darrington  <john@darrington.wattle.id.au>

	Replace safe_strcmp with g_strcmp0.

	Fix clipboard export of non-ascii strings.
	Fixed problem pasting sheet data from psppire to
	openoffice.org and gnumeric which contained non-ascii
	characters.  Tested with openoffice.org 2.4 and
	gnumeric 1.8.3

	Fix bug in casemapping long strings.
	Thanks to Ben Pfaff for pointing out the error.

	Remove the RESIZE feature of the sheet.
	This feature is currently unused, and probably
	broken.

	Re-enable signal emmission on row/column selection

	Removed unused function

	Removed unnecessary variable and consequently unreachable code.

	Avoid the need for an extra click when de-selecting a region

	Re-enable selection of complete rows/columns

	Remove unused function psppire_sheet_cell_get_state

	Prevent var sheet from traversing to an invalid cell

	Redraw affected areas after de-selecting a region

	Redraw selection when reducing its area.
	This change ensures that the area of the selection
	is properly indicated when it's in the process of
	being decreasing its area as well as increasing it.

	Replaced GTK_STATE_NORMAL with PSPPIRE_SHEET_NORMAL where appropriate

	Removed unnecessary variables

	Made selection a bit more reliable

	Remove unnecessary variable

	Partial fix of selection in the sheet.
	This change re-enables the display of sheet
	selections.  Unfortunately, the selected cells
	aren't properly de-selected (yet).

2009-07-26  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes for the benefit of xgettext.
	It would seem that xgettext wants the TRANSLATORS
	comments to be on the line immediately preceeding the
	translatable string.

2009-07-25  John Darrington  <john@darrington.wattle.id.au>

	Disable extend_selection call.
	Temporarily disable the call to psppire_sheet_extend_selection
	since it interferes with the active cell border and selection
	is currently not working anyway.

	Add "dictionary" property to PsppireVarStore and use it.
	Instead of abusing the encapsulation of PsppireVarStore,
	by accessing the internal dictionary member directly, add
	a "dictionary" property.   This should also take care of the
	reference counting of the dict, which wasn't working properly.

2009-07-24  John Darrington  <john@darrington.wattle.id.au>

	Change signature of text_to_value.
	Now, text_to_value initialises the value, and expects
	the caller to destroy it.

	This fixes some gui bugs where strange things happened with long string
	value labels and missing values.

2009-07-24  John Darrington  <john@darrington.wattle.id.au>

	remove return values from callbacks which don't need them

2009-07-23  John Darrington  <john@darrington.wattle.id.au>

	Fix warnings in flip command.
	Use data_in / data_out to convert between names and values,
	instead of doing it ourselves.

	Remove reference to roc.h which doesn't exist.

2009-07-22  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		src/language/stats/t-test.q

2009-07-22  John Darrington  <john@darrington.wattle.id.au>

	Fix merge problems

	Merge commit 'origin/roc'

2009-07-21  Ben Pfaff  <blp@gnu.org>

	output: Make building without libplot possible again.
	This fixes the remaining known functional regression versus the situation
	before refactoring the charts implementation.

	output: Use macro HAVE_CHARTS instead of NO_CHARTS.
	Double negatives make my brain hurt, so don't use them.

	output: Remove barchart implementation, which is unused.
	No procedure has ever output barcharts.  This code can be revived from the
	history if we do add support for barcharts later.

2009-07-21  John Darrington  <john@darrington.wattle.id.au>

	Add perl functions to get the format of a variable

2009-07-19  John Darrington  <john@darrington.wattle.id.au>

	Remove double semicolons.

	Replace caseproto_clone with caseproto_ref
	Also unref the proto on destruction of the translator.

2009-07-19  Ben Pfaff  <blp@gnu.org>

	Move implementation of NP plots out of EXAMINE into the charts engine.
	This seems like a helpful cleanup.  It should also ease making it possible
	to again build PSPP without libplot, which was broken a number of commits
	ago.

	charts: Allow passing a null pointer to chart_unref.

2009-07-19  John Darrington  <john@darrington.wattle.id.au>

	Added more (hopefully usefull) comments

	Add some comments and macros to make the code more readable

	Add assertion to check code consitency

	Fix cleanup of ROC command.
	Properly deallocate variables, and use correct
	symbols for parser return values.  Also, delete
	roc.h which is unnecessary.  Thanks to Ben Pfaff
	for pointing out these problems.

	Respect the constness of caseproto.
	New function caseproto_clone.  This means we
	can clone a proto, then mutate it as we want.

	Corrected spelling of "consolidate".
	Thanks to Ben Pfaff for pointing out my mistake.

	Added the '=' to the plot subcommand's documentation.
	Thanks to Ben Pfaff for pointing this out.

2009-07-18  John Darrington  <john@darrington.wattle.id.au>

	Avoid compiler warning

2009-07-18  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/data-encoding'
	Conflicts:

		src/language/dictionary/split-file.c

2009-07-18  John Darrington  <john@darrington.wattle.id.au>

	Add comment explaining the meaning of encoding to data_out

	The length of the string is now not always the same as the format width.
	Thanks to Ben Pfaff for pointing this out.

	Improve code to trim leading spaces from numeric output.
	Ben Pfaff pointed out that the code to chomp the results
	of formated doubles was no longer correct. This change
	fixes that.

	Use data_out_pool in crosstabs.q
	We were erroneously allocating a buffer before
	the size of the contents were known.  Using
	data_out_pool avoids this problem.  Thanks to
	Ben Pfaff for pointing this out.

	Before recoding a variable's name, check that it doesn't clash with an existing one.
	Thanks to Ben Pfaff for pointing out this potential
	problem.

2009-07-17  Jason Stover  <jhs@debs.(none)>

	pspp_linreg(): Use cache->n_coeffs to set the dimensions of sw, instead of 	       cache->n_indeps, which may give incorrect dimension in the case 	       of categorical variables. Fixes bug referenced in bug report 	       26861.

	pspp_linreg(): Use cache->n_coeffs to set the dimensions of sw, instead of 	       cache->n_indeps, which may give incorrect dimension in the case 	       of categorical variables. Fixes bug referenced in bug report 	       26861.

2009-07-17  John Darrington  <john@darrington.wattle.id.au>

	Ensure correct behaviour when the state var is missing.
	When the state variable is missing, then the entire
	case is skipped.

	Update documentation regarding missing values.
	Explicitly mention that cases are excluded on a
	listwise basis.

	Fix ROC behaviour in the presence of missing values.
	Make sure that the ROC command's behaviour is correct,
	when missing values appear in the result variable.

	Corrected typos in the perl documentation

2009-07-16  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-pre5.

	Fix reversed logic in when to append "/" to path in previous commit.

	Fix failure to write output file in GUI on Windows when HOMEPATH is "\".
	Thanks to Michel Boaventura for reporting this problem:
		http://lists.gnu.org/archive/html/pspp-dev/2009-07/msg00064.html

2009-07-16  Ben Pfaff  <blp@gnu.org>

	REGRESSION: Fix access beyond end of allocated region.
	From Jason Stover, with modification for stable since the
	design_matrix_get_n_cols function does not exist on this branch.

	Bug #26861.

2009-07-16  Jason Stover  <jhs@debs.(none)>

	Return 0.0 for mean of a categorical variable. Fixes bug mentioned in bug report 26861.

2009-07-16  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug reporting the significance of paired value t-test.
	Due to a cut and paste error, the significance of paired
	t-tests was wrong when the value of T was positive.
	Thanks to Mike Griffiths for reporting this problem.

2009-07-16  Ben Pfaff  <blp@gnu.org>

	i18n: Merge translatable strings.

	"Sig." is an abbreviation, "Exact" is not.

	i18n: Eliminate some translatable strings.

	i18n: Reduce translatable strings in SHOW command.
	All the output from the SHOW command is of the form "%s is %s." but the
	translators were being asked to translate similar strings over and over
	again.  Reduce their load by getting rid of many translatable strings.

	i18n: Change some strings to reduce work of translation.
	PSPP has a number of strings that happen to be phrased differently for no
	particular reason.  This commit changes some of those strings to be
	exactly the same as other ones, to make the work of translators easier.

2009-07-15  Ben Pfaff  <blp@gnu.org>

	Separate table functions that format their arguments from those that don't.
	The tab_text, tab_joint_text, and tab_output_text functions, until now,
	had an option bit TAT_PRINTF that specified whether they passed their text
	argument through sprintf.  This interface was bad because it made it
	impossible for GCC to tell whether it needed to verify a printf format
	string or not.

	This commit solves the problem by breaking each of these functions into one
	that does format its argument and one that doesn't.

2009-07-15  Ben Pfaff  <blp@gnu.org>

	Consistently capitalize the name "Gnumeric".
	Thanks to Harry Thijssen for pointing out the inconsistency.

2009-07-15  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug reporting the significance of paired value t-test.
	Due to a cut and paste error, the significance of paired
	t-tests was wrong when the value of T was positive.
	Thanks to Mike Griffiths for reporting this problem.

	New function prepare_cutpoints
	Move the code which creates the cutpoints into its own
	function.  This makes for easier reading IMO.

	Updated the example with an easier to visualise one

2009-07-14  Ben Pfaff  <blp@gnu.org>

	output: Fix GUI output, which was broken in the chart refactoring.
	Thanks to John Darrington for pointing out my mistake.

2009-07-14  John Darrington  <john@darrington.wattle.id.au>

	Replaced the glade definition of about dialog with a C one.
	The about dialog box is simple enough to maintain in C
	rather than using a glade definition.

	Removed unused function prototypes

2009-07-13  John Darrington  <john@darrington.wattle.id.au>

	Fix crash in find dialog and make code less horrible.

2009-07-12  John Darrington  <john@darrington.wattle.id.au>

	Fix bug encodig missing value keys in gui

	Fix crash on text import dialog

2009-07-12  Jason Stover  <jhs@debs.(none)>

	Remove write-only variable from interaction_case_data.

2009-07-12  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning in test program

	Updated the developers' manual to reflect the new situation

	Added a dict parameter to data_in and dealt with the consequences.
	The data_in function now takes a pointer to a struct dictionary,
	which must be the dictionary with which the output value is
	associated.  Data_in now ensures that the data of string values
	is converted to the dictionary's encoding if necessary.

2009-07-11  Jason Stover  <jhs@debs.(none)>

	Return 0.0 for mean of a categorical variable. Fixes bug mentioned in bug report 26861.

2009-07-09  Ben Pfaff  <blp@gnu.org>

	Use Harry Thijssen's real name instead of his nick "unknown-1", at his request.

2009-07-08  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-pre4.

	Update to latest nl.po.
	Thanks to unknown-1 and the coordinators at translationproject.org.

	gui: Fix brown-paper-bag bug in output file name selection.
	Thanks to michel@cecaps.ufmg.br for reporting the bug and the fix.

2009-07-08  John Darrington  <john@darrington.wattle.id.au>

	Remove recoding in data_store.
	It's no longer appropriate to perform recoding in the gui.
	Instead, this is expected to be done in the backend.

2009-07-07  Ben Pfaff  <blp@gnu.org>

	CROSSTABS: Handle long string variables without crashing (bug #26131).

2009-07-07  John Darrington  <john@darrington.wattle.id.au>

	Change union value type to contain uint8_t types instead of char.
	Make the members of the union value type in src/data/value.h be
	uint8_t instead of char.  This is more logical since the contents
	of values cannot be considered "strings" until they have been
	formatted.  The unformatted values are merely arrays of bytes.

	This has the added advantage of provoking compiler warnings when
	a char * type is being implicitly cast to a uint8_t * or vici-versa.
	When such a warning is encountered, is probably means that the
	data needs to be re-encoded using recode_string.

2009-07-07  John Darrington  <john@darrington.wattle.id.au>

	Remove erroneously commited diagnostic statement

	Use default encoding when reading system files if no encoding is given in file.

	Fix problem running the perl module

	Replace legacy_recode with recode_string.
	Iconv seems to do a good job of converting between
	ascii and ebcdic, so use the recode_string function
	instead of our own conversion routines.

2009-07-06  John Darrington  <john@darrington.wattle.id.au>

	Fix compile warnings

	Fix bug in value labels dialog box

2009-07-06  John Darrington  <john@darrington.wattle.id.au>

	Add dictionary argument to tab_value.
	In order to properly display values, tab_value needs
	to know the dictionary from whence the value comes.
	This is necessary so that string values can be properly
	decoded.

	This change adds this argument to tab_value and updates
	all callers.

2009-07-06  John Darrington  <john@darrington.wattle.id.au>

	Recode strings when writing system files.
	The long variable names, variable labels and value labels are
	now converted from utf8 to the dictionary encoding when
	writing a system file.

	Fix crash when opening empty dataset

	Convert to utf8 in data_out function.
	Previously, the output value of data_out was of arbitrary encoding.
	This change attempts to ensure that it is always utf8.

	data_out function to dynamically allocate return value.
	Preparation for i18n of values.  Instead of asking the
	caller to prepare the buffer for output, data_out now
	dynamically allocates the output value, and expects the
	caller to free it.  This is necessary since for utf8
	strings, the caller cannot reasonably know the length of
	the required output buffer.  It also simplifies some uses
	of data_out.

2009-07-05  Ben Pfaff  <blp@gnu.org>

	output: Make box-whisker plots work again.

2009-07-05  John Darrington  <john@darrington.wattle.id.au>

	Change enum legacy_encoding to const char *.
	Preparation for i18n of union values.  Remove the
	legacy_encoding enum and substitute it with a const
	char *.  This makes it easier to integrate recoding
	of union values in the data parsing stage.

	Store variable names, labels and value labels as UTF8.
	This change converts long variable names, variable labels
	and value labels to utf8 encoding when system files are
	loaded.  It is therefore no longer necessary (nor correct)
	to convert them when displaying.

2009-07-03  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-pre3.

	Add Dutch translation.
	Thanks to unknown-1 and the coordinators at translationproject.org.

2009-07-03  Ben Pfaff  <blp@gnu.org>

	Fix segfault drawing pie charts with old versions of libplot.
	If chart_create returned null, we dereferenced a null pointer just below.
	Avoid doing this.

	Also add similar fixes to other code that calls chart_create.  It may not
	be necessary in every case.

	Reported by Jason Stover.

2009-07-03  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2-pre2.

2009-07-03  John Darrington  <john@darrington.wattle.id.au>

	Correct default_output_path function on Windows.

	Ensure that windows opens the right file for output.
	Thanks to Michel Boaventura for reporting this problem.
	Fixes bug #26542

2009-07-03  Ben Pfaff  <blp@gnu.org>

	Relocate the locale directory.
	Based on commit 31e674bbb in master, but stable refers to locale_dir from
	different files.

	Thanks to Michel Boaventura for reporting the problem.

2009-07-02  Ben Pfaff  <blp@gnu.org>

	output: Refactor implementation of charts.
	This commit addresses a weakness of the charts implementation in PSPP, in
	that charts can only be sent to a single output device.  This is because
	the chart code calls into a single output driver to obtain a libplot
	plotting context and then passes that back into the calling code, which
	draws on it and passes it back to the output driver.  This commit refactors
	the code so that, instead, a chart is an ADT that is reponsible for knowing
	how to draw itself on a plotting device.  Then the function for outputting
	a chart applies this function to each output device.

	This is more complicated than necessary: we could just loop over the set of
	output devices and draw a chart on each one in turn.  But this level of
	complication is being introduced now so that later we can keep around
	charts in memory as long as necessary for the GUI output engine to export
	them on user demand.

	This commit introduces a couple of regressions:

		* libplot is now required, not optional.

		* Box-whisker plots are disabled.

	This regressions will be fixed by later commits.

2009-07-02  Ben Pfaff  <blp@gnu.org>

	Release PSPP 0.6.2 prerelease 1.

2009-07-02  Ben Pfaff  <blp@gnu.org>

	chart: Fix format string issues in draw_tick callers.
	The 'label' argument to draw_tick is used as a printf-type format string,
	so callers must pass "%s" to safely use an arbitrary string as a label.

	Also, hist_draw_bar was doing its own snprintf, but this commit changes it
	to take advantage of that provided by draw_tick.

2009-07-02  Ben Pfaff  <blp@gnu.org>

	chart: Fix format string issues in chart_write_title callers.
	The 'title' argument to chart_write_title is used as a printf-type format
	string, so callers must pass "%s" to safely use an arbitrary string as a
	title.

2009-07-01  Ben Pfaff  <blp@gnu.org>

	chart: Fix format string issues in draw_tick callers.
	The 'label' argument to draw_tick is used as a printf-type format string,
	so callers must pass "%s" to safely use an arbitrary string as a label.

	Also, hist_draw_bar was doing its own snprintf, but this commit changes it
	to take advantage of that provided by draw_tick.

2009-07-01  Ben Pfaff  <blp@gnu.org>

	chart: Fix format string issues in chart_write_title callers.
	The 'title' argument to chart_write_title is used as a printf-type format
	string, so callers must pass "%s" to safely use an arbitrary string as a
	title.

	piechart: Change 'angle' variable from static to automatic.

	piechart: Fix spelling of "magnitude".

	piechart: Use definition of M_PI from GSL.
	The GSL header <gsl/gsl_math.h> makes sure that the standard BSD
	mathematical constants are defined, so we don't have to do it ourselves.

	output: Get rid of 'prc' member of struct outp_driver.
	Not only is having a per-procedure member in struct outp_driver a layering
	violation, it wasn't very useful, so this commit gets rid of it.

	LIST: Don't use outp_driver 'prc' member any longer.
	The LIST procedure is the only one that uses the 'prc' member of struct
	outp_driver.  This commit gets rid of that use, so that 'prc' can be
	removed, as part of a larger output subsystem cleanup.

	output: Get rid of histogram_plot_n function.
	For some reason we have two functions to plot histograms, one of which is
	marked "deprecated" and the other of which is a trivial wrapper.  It's
	easy, however, to get rid of one of them and make the caller in charge of
	doing what the wrapper does, especially since the wrapper had only a single
	caller.  That is what this commit does.

	output: Fix segfault for writing output outside a command invocation.
	Running "make check" made this problem obvious, but it hadn't shown up in
	my in-GUI testing.

2009-06-28  Ben Pfaff  <blp@gnu.org>

	output: Avoid functions added in GTK 2.14 in GUI output code.

	output: Reduce Cairo minimum version to 1.5.
	Suggested by John Darrington.

2009-06-26  Ben Pfaff  <blp@gnu.org>

	output: Make double-clicking in GUI output overview pane scroll to table.

	output: Give the overview pane in the GUI output a reasonable initial width.

	output: Improve title display in overview pane of GUI output.

2009-06-24  John Darrington  <john@darrington.wattle.id.au>

	Fix bugs when input data is repeated

	Added second ROC test

2009-06-23  Ben Pfaff  <blp@gnu.org>

	output: Add overview pane to GUI output window.

2009-06-22  Ben Pfaff  <blp@gnu.org>

	output: Include command names in titles in GUI output.
	The command name displayed by the output engine was the current command
	name.  The GUI output was never displayed during the actual execution of a
	command, so GUI titles never included a command name.

	This commit puts the command name into the struct passed into the output
	engine, so that it gets saved and displayed.

2009-06-21  Ben Pfaff  <blp@gnu.org>

	crosstabs: Fix free of bad pointer and use-after-free error in cleanup.
	In free_proc, 'pt' points within an array that is dynamically
	allocated, not to a data structure that is dynamically allocated, so
	we must not try to free it on each iteration.  Instead, free the
	dynamic array itself (proc->pivots) only once.

2009-06-20  Ben Pfaff  <blp@gnu.org>

	output: Use "base" color for background in GUI output window.
	The "base" color in GtkStyle is used as the background color for GTK+
	widgets that display editable text, e.g. GtkEntry.  That's what we're
	aiming for, eventually, with the PSPP GUI output, and the default
	white "base" color looks better than the default gray background
	color, so use it.

	output: Use gtk_widget_show_all instead of gtk_widget_show_now.
	The gtk_widget_show_now function is not supposed to used lightly,
	according to GTK+ documentation.  We don't really need it here, so
	avoid it.

	output: Make GUI output window scrollable.

2009-06-19  Ben Pfaff  <blp@gnu.org>

	output: Implement very rudimentary graphical GUI output for PSPPIRE.
	It's quick and dirty and lacks many important features (such as
	scrolling, and not leaking memory), but it does look a lot better than
	a text editor window.

	output: Make tables reference-counted.
	Adding a reference count to tab_table allows output drivers to retain
	a copy of a table even after the main output engine is done.  This
	will be useful for the GUI output driver.

	output: Improve warnings about negative table dimensions.

	output: Make outp_parse_options slightly more general-purpose.
	This function can be a little more flexible in the interface it offers
	its callers by letting them provide general auxiliary data instead of
	having to provide a struct outp_driver *.

2009-06-19  Ben Pfaff  <blp@gnu.org>

	Make the UTF-8 graphic devices avoid overstriking by default.
	The UTF-8 graphic devices introduced in the previous commit use
	backspaces and overstriking to indicate bold, but most users probably
	won't appreciate that, since it makes it harder to work with the
	output files in many text editors.  Thus, disable this behavior.

	Thanks to John Darrington for pointing out the issue.

2009-06-17  Ben Pfaff  <blp@gnu.org>

	Add Unicode (UTF-8) line-drawing support to device configuration.
	Thanks to jwshipley@jwshipley.karoo.co.uk for the suggestion.

2009-06-17  Ben Pfaff  <blp@gnu.org>

	sys-file-reader: Don't warn if compression bias field is 0.
	Some software writes a value of 0 to the compression bias field.  We
	expect that this field has a value of 100 and warn if we see any other
	value, but there is no real need to do so (because it is very likely
	that we can read the file correctly in any case).  So suppress the
	warning if we see a value of 0 here, because it bothers users.

	Thanks to Tony Reardon <tony@sir.com.au> for reporting this
	unnecessary warning.

2009-06-17  Ben Pfaff  <blp@gnu.org>

	por-file-reader: Tolerate short lines when detecting portable files.
	When the portable file reader reads a file, it assumes that a line
	shorter than 80 bytes should actually be padded out on the right with
	spaces, because this is a fairly common problem in practice, perhaps
	due to text editors or other software that drops spaces at the end of
	a line.

	However, pfm_detect, the function that is supposed to detect whether
	a given file is an SPSS portable file, did not apply this heuristic to
	the data that it read at the beginning of the file, and thus files in
	which the first few lines were truncated this way were not detected
	properly as portable files.

	This commit fixes the problem by making pfm_detect a little bit
	smarter.  It would probably be better to actually unify the
	file-reading logic, instead of implementing it in two separate places,
	but this appears to work adequately too.

	Thanks to Tony Reardon <tony@sir.com.au> for reporting the problem
	and supplying a file that demonstrated it.

2009-06-16  Ben Pfaff  <blp@gnu.org>

	output: Make allocating and freeing drivers independent of configuration.
	Until now, the output subsystem has taken responsibility for
	allocating, freeing, registering, and unregistering output drivers.
	This is usually what we want it to do, but PSPPIRE will soon want to
	register an output driver of its own, independent of the main driver
	configuration mechanism.  This commit refactors the output driver
	subsystem slightly to make this possible.

2009-06-16  Jason H Stover  <jhs@math.gcsu.edu>

	Renamed interaction_variable_get_var to interaction_get_variable.
	Renamed interaction_variable_get_member to interaction_get_member.

	Split update_hash_entry into update_hash_entry and
	update_hash_entry_intr for interactions.

	inner_intr_loop: New function.

	covariance_accumulate_pairwise: Loop separately over variables, then interactions.

	interaction_variable_create: Make interactions type alpha when
	appropriate.

	interaction_value_create: Use value_resize to avoid copying more data than
	necessary into new interaction_value.

2009-06-15  Ben Pfaff  <blp@gnu.org>

	cairo: Use default Cairo scale factor.
	By not using cairo_scale() at all, the rest of the code, especially
	the Pango-related code, seems to make more sense.

	output: Make global variables less global.
	table_num and subtable_num were previously global variables that were
	referred to from multiple files.  Now that we want to make tables
	renderable from arbitrary contexts, though, we need to save the table
	number with the table, so this change implements that.

2009-06-15  John Darrington  <john@darrington.wattle.id.au>

	Add new functions to define subcase orderings.
	Allow subcases to be defined from a index and width,
	rather from a variable.  This avoids much of the
	need for var_create_internal.

2009-06-15  Ben Pfaff  <blp@gnu.org>

	sparse-xarray: Add missing #include <limits.h>.
	Thanks to michel <michel@cecaps.ufmg.br> for reporting the problem.

	sparse-xarray: Add missing #include <limits.h>.
	Thanks to michel <michel@cecaps.ufmg.br> for reporting the problem.

2009-06-14  Ben Pfaff  <blp@gnu.org>

	output: Make table dimension functions work in arbitrary contexts.
	Until now the function passed to tab_dim has only been called at the
	time that the table is	passed to tab_submit.  But in upcoming commits
	the table will be kept around and rendered possibly much later (by the
	GUI), so the function to tab_dim has to be sure to only use data that
	will exist at that time.  Thus, this commit makes it possible to free
	the auxiliary data passed to that function, so that in the few cases
	where it needs to keep around extra data, it can do so without leaking
	memory.  At the same time, convert the few functions that do need this
	feature to use it.

	Allow variables created by var_create_internal to have any width.
	Until now, var_create_internal has always created a numeric variable.
	In the long run we wish to phase out the use of internal variables
	entirely, but this change should help Jason get some work done in the
	short term.

2009-06-14  John Darrington  <john@darrington.wattle.id.au>

	Fix compile warning

2009-06-12  John Darrington  <john@darrington.wattle.id.au>

	Added code to plot the ROC curve

2009-06-12  Ben Pfaff  <blp@gnu.org>

	output: Use "struct string" in tabi_title in place of fixed-size buffer.
	This ensures that extra-long titles provided by the user do not overflow
	the stack.

2009-06-11  Ben Pfaff  <blp@gnu.org>

	Get rid of most global variables in outputting tables.

	cairo: Fix values of prop_em_width, fixed_width.
	For some reason prop_em_width and fixed_width were getting very small
	values, e.g. 5 and 7, when they were being pulled from the font metrics.
	These values should be more like 1024 times larger and  I can't figure
	why they aren't.  But this works around the problem for now.

	output: Get rid of unused SOM_ROW, SOM_COLUMN enums.

	output: Get rid of unused members of struct som_table_class.
	I planned to use these at one point, but no longer do.

	output: Remove static variables from manager code.

	table: Replace macros by inline functions, to improve type safety.

	Fix type mismatch between value_hash prototype and definition.
	Thanks to michel <michel@cecaps.ufmg.br> for pointing out the problem.

	Fix type mismatch between value_hash prototype and definition.
	Thanks to michel <michel@cecaps.ufmg.br> for pointing out the problem.

	Drop call to deleted function value_cnt_from_width (from debug-only code).
	Thanks to Jason for pointing out the problem.

2009-06-11  Jason H Stover  <jhs@math.gcsu.edu>

	Fixed crash caused by regressing with categorical variables

2009-06-10  John Darrington  <john@darrington.wattle.id.au>

	Added code to generate the ROC cutpoint tables.

	Add check that input to casereader_create_distinct are sorted

	Fix bug when positive and negative groups are of different lengths

	Add framework for ROC summary table

	Use the requested method for calculating the ROC AUC standard error

	Added basic calculation and display of area under the curve

	Added test for the ROC command

2009-06-09  John Darrington  <john@darrington.wattle.id.au>

	Added a new casereader translator to consolodate cases.
	This new translator creates a reader which provides
	a list of distinct cases in the input, with the weights
	consolodated, where applicable.

2009-06-09  John Darrington  <john@marilyn.intra>

	Added stub for ROC computation

2009-06-09  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug inserting cases in data sheet.
	Cases were not being inserted in the correct position.

	Added documentation for the ROC command

	Added parser for the ROC command.

	Support mult-data charts and legend.
	Add support for charts to have datasets with seperate
	colours, and a legend to indicate them.

2009-06-08  Ben Pfaff  <blp@gnu.org>

	cairo: Fix header box drawing.

	cairo: Set line width.
	The default Cairo line width is much thinner than the default PSPP line
	width, and made the boxes look too pale and ephemeral.  This fixes it.

2009-06-08  Ben Pfaff  <blp@gnu.org>

	output: Add initial support for PSPP output via Cairo.
	This commit adds some support for PSPP output using Cairo.  For now, that
	means that you can produce PDF, PostScript, and SVG output to files if you
	have Cairo and Pango available.

	The output isn't perfect.  Descenders in text sometimes stick out beyond
	table cell boundaries.  Charts aren't supported.  There is no
	documentation update.  And I've tested it on a grand total of 1 (one!)
	input file.  But I'm pushing out now for anyone who's interested.

2009-06-07  Ben Pfaff  <blp@gnu.org>

	Fix handling of #! at beginning of PSPP syntax file; add regression test.
	Fixes bug #26518.

	Thanks to John Darrington for testing.

2009-06-07  Ben Pfaff  <blp@gnu.org>

	Remove spurious Makefile from src/output.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	crosstabs: Fix chi-square display and add regression test.
	Bug #26739.

	crosstab: Remove struct that was defined but never used.

	crosstabs: Remove write-only variable.

	crosstabs: Fix segfault when chi-square was requested.
	Bug #26739.

	datasheet-test: Add support for testing string backing store columns.

	crosstabs: Trim unsightly spaces from titles in output.
	Unfortunately, none of the tests exercise this code, so it's hard to say
	whether it is correct.

	crosstabs: Fix memory leaks.

	argv-parser: Add assertion to find likely bugs in client code.

	datasheet: Fix bugs in datasheet_resize_column() found with new test.

	datasheet-test: Add test for datasheet_resize_column().

	datasheet-test: Fix printing of string values in error messages.

	datasheet-test: Check duplicate states before discarding them.
	By failing to check states whose hashes already appeared in the model
	checker table, the datasheet test was missing some bugs.  This commit
	changes the datasheet test code to check the state before it checks for
	the hash.

	datasheet-test: Make column widths to test configurable on command line.

	datasheet-test: Don't test null operations.
	By not testing null operations (such as inserting or deleting 0 rows or
	columns) the duration of the test is cut roughly in half, with little if
	any reduction in test coverage.

	sparse-xarray-test: Style and comment fixes.

	value: New function value_swap.

	Move datasheet test out of PSPP into a separate binary.
	When it's not difficult to do so, it is better to put tests in separate
	binaries instead of in the PSPP binaries, so that the binaries are not
	burdened with code that is not of real interest to users and to make the
	main PSPP binaries build faster.

	Make MAX_SHORT_STRING an implementation detail of the "value" code.
	MAX_SHORT_STRING used to be important.  It was referenced all over the
	source tree.  Now, there is little reason for code outside the "value"
	code itself to use it.

	Use MAX_SHORT_STRING in place of MIN_LONG_STRING.
	There is no good reason to have both of these constants, so replace all
	uses of MAX_LONG_STRING by MAX_SHORT_STRING.

	Fix portable file reader use of long strings.
	This code hadn't been converted to the new "union value" representation,
	where a single "union value" always represents a whole data item.  This
	commit fixes that.

	Get rid of uses of MAX_SHORT_STRING in Gnumeric and PostgreSQL readers.
	MAX_SHORT_STRING is now intended to be an implementation detail of the
	value code.  There is no real reason that the Gnumeric or PostgreSQL
	readers need to use it, so make them use their own constants instead.

	Implement missing values for long string variables.

	Fix test failure introduced along with parse_value().

	sys-file-reader: Fix memory leak.

	Add support for value labels on long string variables.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	New function parse_value() for parsing a value of specified width.
	Occasionally a value of a given width needs to be parsed from syntax.
	This commit adds a helper function for doing so and modifies a few pieces
	of code to use it.  Probably there are other places where it would be
	useful that could not easily be found with "grep".

	This commit also renames the range-parser code to value-parser and puts
	the new function in there, as a natural generalization.

	Suggested by John Darrington.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	Make value_set_missing(), etc. tolerate values of width -1.
	In some circumstances a value of width -1 crops up, e.g. when a case is
	made from a dictionary that has had a variable deleted in the middle.
	Such a value has no content at all.  In the long run it should be possible
	to get rid of these values entirely--their presence is a wart--but for now
	the case and value code needs to tolerate them.

	This fixes a segfault in the GUI when inserting a new case when the
	datasheet case has a column with width -1 (due to deletion of a variable),
	which was caused by case_set_missing() calling value_set_missing() for
	the -1 width variable, which in turn was writing through an invalid
	pointer.

2009-06-06  John Darrington  <john@darrington.wattle.id.au>

	Prevent invalid variable widths in variable sheet.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	Remove debug printfs that escaped from my local tree.

	gui: Fix segfault when pushing Del on a long string variable cell.
	Thanks to John Darrington for reporting the problem.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	Change "union value" to dynamically allocate long strings.
	Until now, a single "union value" could hold a numeric value or a short
	string value.  A long string value (one longer than MAX_SHORT_STRING)
	required a number of contiguous "union value"s.  This situation was
	inconvenient sometimes, because any occasion where a long string value
	might be required (even if it was unlikely) required using dynamic
	memory allocation.

	With this change, a value of any type, regardless of whether it is numeric
	or short or long string, occupies a single "union value".  The internal
	representation of short and long strings is now different, however: long
	strings are now internally represented by a pointer to dynamically
	allocated memory.  This means that "union value"s must now be initialized
	and uninitialized properly, to ensure that memory is properly allocated
	and freed behind the scenese.

	This change thus has a ripple effect on PSPP code that works with values.
	In particular, code that deals with cases is greatly changed, because a
	case now needs to know the type of each value that it contains.  Thus, a
	new concept called a "case prototype", which represents the type and
	width of each value within a case, is introduced, and every place in PSPP
	that creates a case must now create a corresponding prototype to go with
	it.  This is why this commit is so big.

	As part of writing up this commit, it became clear that some code was poor
	enough that it needed to be rewritten entirely.  Therefore, CROSSTABS and
	T-TEST are almost completely modified by this commit.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	output: Add auxiliary data parameter to tab_dim.
	Until now, the tab_dim function has not provided any way to pass auxiliary
	data to the table dimensioning function.  This commit adds this ability
	and updates all the callers of tab_dim to do so.

	New data structure sparse_xarray.

	New wrapper for access to temporary files.

	model-checker: Add command-line parser for model checking options.
	This adds a parser for command-line options to configure a set of
	mc_options for running the model checker.  It is used by an upcoming test
	for the sparse_xarray.  It might also make sense to break the datasheet
	tests out of PSPP into a separate program using this parser.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	Implement new command-line argument parser.
	glibc has two option parsers, but neither one of them feels quite
	right:

	  - getopt_long is simple, but not modular, in that there is no
	    easy way to make it accept multiple collections of options
	    supported by different modules.

	  - argp is more sophisticated and more complete, and hence more
	    complex.  It still lacks one important feature for
	    modularity: there is no straightforward way for option groups
	    that are implemented independently to have separate auxiliary
	    data,

	The parser implemented in this commit is meant to be simple and
	modular.  It is based internally on getopt_long.

	The initial use for this option parser is for an upcoming commit of a test
	program that has some of its own options and some from the model checker,
	but it should also be appropriate for PSPP and PSPPIRE if anyone wants to
	adapt them to use it.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	model-checker: Don't discard error states.
	Even if a state with an error is a duplicate, we don't want to discard it,
	because then we lose information about bugs.

	model-checker: Revise advice on checking for duplicates.
	Until now the documentation on the model checker has advised checking for
	a duplicate state before checking for consistency, but in fact this can
	cause bugs to be missed if only some paths to a given state yield
	incorrect results.  So revise the advice to check for consistency before
	checking for a duplicate state.

	model-checker: Add more progress functions.
	The model checker supports "progress functions" that report the current
	status of the model checking run.  Until now the implementation only
	exported a single progress function that printed a line of dots across
	stderr.  This commit moves the "fancy" progress function that was
	previously part of the PSPP language code into the model checker itself
	and adds an even more verbose progress function as well.

	model-checker: Move summary printing function into model checker.
	There is no reason that the model checker itself should not be able to
	print a summary of its results.  Until now, this code was buried in the
	PSPP language code, but the model checker itself is a better place for it.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	model-checker: Kill dependencies and move back to libpspp.
	Commit 95b074ff3 "Moved the datasheet testing code out of
	src/{libspp,data}" moved the model-checker implementation from libpspp
	into language/tests because it depended on math/moments.h and
	data/val-type.h, which violates the dependency structure of the PSPP
	libraries.

	However, now I want to use the model checker in a test that should not
	need to use anything from language/tests, so this commit eliminates these
	dependencies and moves the model checker back to src/libpspp.

2009-06-06  Ben Pfaff  <blp@gnu.org>

	sparse-array: Simplify code slightly.
	Instead of checking whether the key is in range in each caller of
	find_leaf_node, do it in find_leaf_node itself.  This also allows checking
	the cache before checking whether the key is in range, which might be an
	optimization.

	sparse-array: Improve iteration interface.
	The sparse_array_scan function only supports iteration in the forward
	direction and its interface is somewhat awkward.  This commit replaces it
	by four new functions that allow iteration in both forward and reverse
	directions and have a more conventional interface.

	sparse-array: Use __builtin_ctzl on GCC 4.0 or later, as an optimization.
	This should be a worthwhile optimization in many cases, because
	__builtin_ctzl compiles to a single machine instruction on x86, whereas
	the generic implementation compiles to several.

	range-set: New functions range_set_last and range_set_prev.
	These are useful for iterating through a range set in reverse order.

	range-set: Add new function range_set_scan().

	range-set: Inline some simple functions.
	Some of the range-set functions are very simple and worth inlining, so
	move the definitions of those functions into range-set.h.  This required
	moving the definition of struct range_set and struct range_set_node into
	the header.  Some of the functions used internally by those functions had
	to be moved too, and renamed as well since for internal use in range-set.c
	their names did not respect the namespace.

	range-set: Add test coverage for range_set_destroy(NULL).
	"gcov -b" showed that range_set_destroy() was never called with a NULL
	argument.  There's no reason not to test that too (although of course it
	is unlikely to be broken).

	range-set: New function range_set_allocate_fully.

	Delete CORRELATIONS skeletal parser.
	This code didn't do anything useful, it just parsed syntax.  We can
	resurrect it when someone wants to implement CORRELATIONS later.

	pool: New function pool_strdup0.
	This function is the pool analogue of xmemdup0, except that it is only
	appropriate for use with strings.

	datasheet: Drop false dependency on md4.h.
	datasheet-check.c doesn't use anything from md4.h, so there's no point in
	including it.

	perl-module: Better document "make test" requirements.

	t-test: Move 'mode' variable from file scope into cmd_t_test().

	t-test: Move 'cmd' variable from file scope into cmd_t_test().
	This variable was only used inside cmd_t_test() anyhow.

	t-test: Remove write-only variable.

2009-06-03  Jason H Stover  <jhs@math.gcsu.edu>

	Moved static is_origin from design_matrix.c to category.c: cat_is_origin.

2009-05-17  John Darrington  <john@darrington.wattle.id.au>

	Fix incorrect word order

	Remove whitespace before footnotes

	Correct grammar

	Change examples using heights to be all in millimetres

	Delete '*' from DATA LIST examples

	Mention that two juxtapose LIST keywords are intentional

2009-05-16  John Darrington  <john@darrington.wattle.id.au>

	Fix misaligned menu items

	Added a tutorial chapter to the manual.

2009-05-15  John Darrington  <john@darrington.wattle.id.au>

	Fix bug inserting rows and columns and rename state variable.
	The code in psppire-data-editor was inspecting the variable
	called "state" on the GtkWidget class whereas it should have
	been looking at the PsppireSheet class.

	To avoid any future confusion, PsppireSheet's "state" variable
	has been renamed to select_status.

2009-05-15  John Darrington  <john@darrington.wattle.id.au>

	Remove unused code

	Updated dutch translation.  Thanks to unkonwn-1
	Also regenerated en_GB.po

	Correct typo in command line argument string.
	Thanks to Michel Boaventura for reporting this.

2009-05-14  John Darrington  <john@darrington.wattle.id.au>

	Remove gratuitous call to change_active_cell.
	This caused data from the previous cell to
	be transfered to the new cell.  Fixes bug #26568

	Remove unneeded object members

2009-05-13  John Darrington  <john@darrington.wattle.id.au>

	Ensure that windows opens the right file for output.
	Thanks to Michel Boaventura for reporting this problem.
	Fixes bug #26542

	Correct default_output_path function on Windows.

2009-05-12  John Darrington  <john@darrington.wattle.id.au>

	Don't create histograms for string variables.
	Closes bug #26536

	Relocate the locale directory.
	Thanks to Michel Boaventura for reporting this and
	for providing the patch.  Closes bug #26543

2009-05-11  Ben Pfaff  <blp@gnu.org>

	data-parser: Treat " ," the same as ",".
	The data parser (used e.g. by DATA LIST) was unintentionally treating
	soft separators (e.g. white space) followed by a hard separator (e.g.
	a comma) as an empty field, but in fact it should be treated as just a
	single separator.  This fixes it and adds a test.

	Thanks to pascal barbedor <pbarbedor@gmail.com> for reporting the problem.

2009-05-09  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'

	For consistency, use gnulib's memory allocation functions in the gui.

2009-05-08  John Darrington  <john@darrington.wattle.id.au>

	Ensure that NUMERIC's format (if any) is a valid output format.
	Thanks to Pascal Barbedor for reporting this problem.

	Fixed crash calculating trimmed mean with missing values.
	Closes bug  #26404

2009-05-04  Jason H Stover  <jhs@math.gcsu.edu>

	Remove call to var_set_width

2009-05-01  Jason H Stover  <jhs@math.gcsu.edu>

	Allocate adequate space for permutation

2009-04-29  Jason H Stover  <jhs@math.gcsu.edu>

	Moved is_origin and get_exact_subscript to design-matrix.[ch]

2009-04-29  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c: (is_covariance_contributor) Removed unnecessary recursion.
	covariance-matrix.c (is_origin): Do not count a numeric variable as
	the origin. Call is_origin only for categorical variables.

	covariance-matrix.c (ordered_match_nodes): New function.

	covariance-matrix.c (match_nodes): Use bitwise operators and
	ordered_match_nodes for hashing instead of so many ifs.

	covariance-matrix.c (hash_numeric_alpha): Use hash_value_short to hash
	combinations of numeric and categorical variables.

	covariance-matrix.c (get_value_from_subscript): New function to match
	values and columns in a design matrix.

	covariance-matrix.c: Removed unused design matrix struct sums from
	struct covariance matrix. To get the means, use struct moments
	instead.

	covariance-matrix.c (covariance_accumulator_to_matrix): Use
	design_matrix_set_element instead of covariance_matrix_insert. Drop
	unused function covariance_matrix_insert.

	covariance-matrix.c (covariance_accumulator_hash): Use hash_bytes instead of hsh_hash_bytes.

2009-04-28  John Darrington  <john@darrington.wattle.id.au>

	Fix compilation error on Cygwin.
	Fixes bug #26379

2009-04-23  John Darrington  <john@darrington.wattle.id.au>

	Added Dutch translation. Thanks to unknown-1

	Fix bug where data sometimes got erroneously copied between cells

2009-04-22  John Darrington  <john@darrington.wattle.id.au>

	Remove unused code

	Fix GUI bug risizing columns.
	Remove the clip rectangle after showing the cell border so
	that it doesn't interfere with other operations.

	Compensate cell border for gridline thickness

2009-04-22  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		src/ui/gui/output-viewer.c

2009-04-22  John Darrington  <john@darrington.wattle.id.au>

	Replace BORDER_WIDTH macro with appropriate cell_padding parameters

2009-04-20  John Darrington  <john@darrington.wattle.id.au>

	Revert "Made psppire-conf thread safer"
	This reverts commit 2d983f3e5bd2d5f531cbcbdcebe078034ddb8955.

	Revert "Make psppire-axis thread safer"
	This reverts commit 18aa57536d6eac0b0562f31d9a7a01605c3d51ad.

2009-04-19  John Darrington  <john@darrington.wattle.id.au>

	Made psppire-conf thread safer

	Make psppire-axis thread safer

	Separate the execute_syntax function into its own file.

	Whitespace changes only.
	Make this file appear sane when viewed under emacs.

2009-04-16  John Darrington  <john@darrington.wattle.id.au>

	Continue button to grab default on realization

	Grab default for close button on message dialog

	Hide tooltip when leaving sheet

	Unmap tooltip when sheet is unmapped

	remove superfluous tests

2009-04-16  John Darrington  <john@darrington.wattle.id.au>

	Improve the style handling of the column/row title buttons.
	It seems that the style of the button wasn't `attached' before
	it was used.  Further, use of the "buttondefault" detail on
	gtk_paint_box made wierd looking buttons with some themes.

	I don't pretend to fully understand all this, but these changes
	seem to be an improvement.

2009-04-15  John Darrington  <john@darrington.wattle.id.au>

	Update some comments

	Avoid warnings when opening a new system file.

	Hold the thread lock in a timer callback

2009-04-14  John Darrington  <john@darrington.wattle.id.au>

	Make the gui more thread safe

2009-04-13  John Darrington  <john@darrington.wattle.id.au>

	Ensure that setlocale (LC_MESSAGES is called when appropriate.
	The wrong preprocessor macro was being tested before calling
	setlocale (LC_MESSAGES, "") which resulted in translations not
	being loaded.

	Fixed bug in q2c when munging hyphenated strings.
	Q2c wasn't terminating strings generated by its munge
	function, resulting in garbage being placed into generated
	code.  Thanks to Michel Boaventura for reporting this.

	Fixed bug opening the find dialog.
	Thanks to Michel Boaventura for reporting this.

2009-04-12  John Darrington  <john@darrington.wattle.id.au>

	Use replacement rename function from gnulib

2009-04-11  John Darrington  <john@darrington.wattle.id.au>

	Tolerate the inability to convert character encodings

	Change g_print to g_warning

2009-04-09  Ben Pfaff  <blp@gnu.org>

	Use Bob Jenkins lookup3 hash instead of FNV.
	The Jenkins lookup3 hash is superior to FNV in collision resistance,
	avalanching, and performance on systems that do not have fast
	multiplication.  It also provides a good way to combine the result of
	a previous hashing step with the current hash, using its "basis" argument.
	This commit replaces the PSPP implementation of FNV with the Jenkins
	lookup3 hash and updates all the current users.

	In addition, John Darrington pointed out that commit dd2e61b4a
	"Make create_iconv() properly distinguish converters by name"
	unintentionally introduced gratuitous hash collisions, by causing
	all converters where tocode and fromcode were the same to hash to
	value 0, and converters where tocode and fromcode were swapped to
	hash to the same value as each other.  Using the "basis" argument to
	the Jenkins hash properly, instead of just attempting to combine
	hash values with XOR, fixes this problem.

2009-04-09  Ben Pfaff  <blp@gnu.org>

	NPAR TESTS: Consistently order variables in summary statistics.
	The set of variables in the NPAR TESTS specs structure was ordered
	randomly, according to however the hash function happened to arrange them.
	Sort them by variable name, instead, so that they always appear in
	alphabetical order in, e.g., descriptive statistics output.

	The particular hash function PSPP uses now tends to order variables
	alphabetically anyhow.  The next commit changes the PSPP hash functions,
	so fixing this in advance prevents having to update any test output.

2009-04-09  John Darrington  <john@darrington.wattle.id.au>

	Fix some compiler warnings

	Implemented the sign test.
	Added an implementation of the SIGN test for the NPAR TESTS
	command.  Closes patch #6801

2009-04-08  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash on quit

	Use the replacement rename function from gnulib.
	Use the gnulib replacement rename function, to
	overcome problems on certain systems saving a
	file when that filename already exists. Closes bug #25795

2009-04-07  Ben Pfaff  <blp@gnu.org>

	Fix memory leak in cmd_data_list().

	Fix a few typos and capitalization errors in developers guide.

	SET LOCALE: Don't use lex_tokstr() after skipping to next token.
	The return value from lex_tokstr() is only valid until the next call to
	lex_get() (or another function that changes the current token), so don't
	advance past the token until we're done with its string value.

2009-04-07  Ben Pfaff  <blp@gnu.org>

	Make create_iconv() properly distinguish converters by name.
	The code in create_iconv() assumed that every pair of different converters
	had a different hash value.  This is a bad assumption: eventually, we will
	be unlucky, and two different converters will hash to the same value, and
	we will get a bad conversion.  So we have to compare (and store) the
	names of the codes that each converters converts to and from.

	Also, compute the hash value without making an extra copy of fromcode
	and tocode.

2009-04-07  Ben Pfaff  <blp@gnu.org>

	Add "x" prefix to calls to plain malloc(), calloc(), strdup(), realloc().
	In review commit 503f53bfdde "Read dictionary encoding from data files"
	I noticed uses of plain strdup() (not xstrdup()).  Some greps showed that
	there were several other uses of strdup(), as well as calloc(), malloc(),
	and realloc(), in the source tree.  This commit adds "x" prefixes to each
	of them, to ensure proper error handling.

	Remove redundant test in lex_is_idn().
	Commit 90f346cc0 "Made var_is_valid_name more permissive" made characters
	with values above 127 valid in identifiers by allowing them in
	lex_is_id1() and lex_is_idn(), but since the latter includes the former
	in its test the addition there is redundant and can be eliminated.

2009-04-07  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/master' into charset
	Conflicts:

		src/ui/gui/psppire-data-editor.c

2009-04-07  John Darrington  <john@darrington.wattle.id.au>

	Fix problems saving data files with non-ascii filenames.
	Convert filenames to the system encoding before stuffing into
	syntax strings.

	Fixed problem saving syntax files with non-ascii names.
	The function save_editor_to_file now takes a filename
	in Glib filename encoding.

2009-04-07  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		src/language/stats/crosstabs.q
		src/language/stats/examine.q
		src/language/stats/frequencies.q
		src/language/stats/oneway.q
		tests/command/examine-extremes.sh
		tests/command/examine.sh

2009-04-06  John Darrington  <john@darrington.wattle.id.au>

	Issue warning when combining files of distinct encodings

	Implemented the ENCODING subcommand to DATA LIST.
	Implemented the ENCODING subcommand which enables syntax
	authors to tell pspp the encoding of a text file from which
	data is to be read.

	Allow users to set the precision of output statistics.
	Instead of hard coding the width and decimals of output
	numbers, respect the default format in most instances.
	Counts are normally displayed with the format of the weight
	variable, if any.  Closes patch #6785

	Added a cell-padding parameter to the sheet.
	Added a cell-padding paramter of type GtkBorder which specifies the
	space between a cell's contents and the border.  The text is no
	longer squashed right up against the left hand edge.

2009-04-05  John Darrington  <john@darrington.wattle.id.au>

	Merge psppire-axis and psppire-axis-impl
	There's only one implementation of psppire-axis now,
	and having the implementation seperated from the interface
	in a brige configuration just adds too much complexity.

2009-04-03  John Darrington  <john@darrington.wattle.id.au>

	Binomial tests can now be specified by a cutpoint.
	This change extends the NPAR TEST /BINOMIAL subcommand
	so that binomial tests can be specified by cutpoint.
	The manual had previously, incorrectly stated that this
	was supported.  Now it actually is.  Fixes bug #26056

2009-04-02  John Darrington  <john@darrington.wattle.id.au>

	Another one I forgot ...

	Oops.  Add new file.

	Add a dialog box for the reliability command.

	Add PsppireDictView to glade library.
	Make the PsppireDictView widget available to
	users of glade.

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

2009-04-01  John Darrington  <john@darrington.wattle.id.au>

	Update pspp developer's guide with new i18n changes.

	Allow non-ascii characters to be entered as variable names.
	Previously, only ascii could be used in the name of a variable,
	so the variable sheet did not bother converting.  Now we have
	to convert the encoding.

	Use a system file's "character code" to set the encoding.
	When reading a system file, use the "character code" as a
	fallback to set the dictionary's character encoding.  If present,
	record 7, subtype 20 will override this parameter.

	New datasets to use the current default encoding.
	When creating a new dataset, its dictionary is now set
	to the current default encoding (which can be changed
	using SET LOCALE).

	Fixed bug where piecharts with many segments crashed.
	Make sure that we don't index beyond the bounds of the
	data_colour array.

2009-04-01  Jason H Stover  <jhs@math.gcsu.edu>

	covariance_matrix.c (get_n_rows): New function to compute the number of rows in the covariance matrix.

2009-03-31  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/master' into charset

	Implemented the SET LOCALE='...' command.
	Allow the user to set the default character encoding.

	Refactor locale initialisation.
	Created a common i18n_init function that both
	the GUI and terminal can use, instead of each
	doing it their own way.

	Merge commit 'origin/stable'

2009-03-30  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug writing portable files.
	Don't append slash to sysmis values when writing portable
	files.  Fixes bug #26034

2009-03-30  Jason H Stover  <jhs@math.gcsu.edu>

	design_matrix.c: New accessor functions design_matrix_get_element and design_matrix_set_element.
	covariance_matrix.c: New accessor function
	covariance_matrix_get_element. Use new accessor functions
	design_matrix_get_element and design_matrix_set_element.

2009-03-29  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'refs/heads/charset' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into charset

	Add code to read character encoding to dissect-sysfile.

	Document record 7, subtype 20 in system file format.
	Add information about the character encoding record to
	the developer's reference guide.

	Set the dictionary's encoding when reading postgresql data.

2009-03-29  Jason Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c (covariance_accumulator_to_matrix): Use sum_i and sum_j to compute products of means. Store the sums of variables in cov->sums, rather than storing the means.

2009-03-29  John Darrington  <john@darrington.wattle.id.au>

	Set dictionary's encoding when reading gnumeric files

2009-03-28  John Darrington  <john@darrington.wattle.id.au>

	Write encoding to system files.
	Write the encoding to record 7(20) when saving.

	Ensure value labels dialog doesn't grow unreasonably large

	Fix crash running two consecutive examine commands.
	Re-initialise list in the dynamically instead of
	relying on the static initialiser.  Fixes bug #25903

	Avoid calling iconv_open on each conversion.
	Instead of creating a convertor each time a string
	needs to be re-encoded, we now keep a hash of convertors
	keyed by the permutation of input/output encodings.

2009-03-28  Jason Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c (get_sum): New function to compute means during loop over covariance matrix.
	covariance-matrix.c (covariance_accumulator_to_matrix): Use get_sum to
	compute the means.

2009-03-28  John Darrington  <john@darrington.wattle.id.au>

	Display a file's encoding in SYSFILE INFO.
	Add a file's encoding to the information given by SYSFILE INFO.

	Convert encoding even if encodings are identical.
	recode_string must continue, even if the source and
	target encodings are identical, because invalid bytes
	in the source string need to become '?' to avoid
	later problems.

	Pass dict to name_to_string and label_to_string.
	Oops, forgot to replace these NULLs.

2009-03-27  John Darrington  <john@darrington.wattle.id.au>

	Remove LIB_CLOSE variables from linker options.
	Gnulib used to define @LIB_CLOSE@ but no longer does,
	so this variable is no longer needed nor appropriate.

	Convert files named on the command line to filename encoding.
	Files specified on the command line must be converted to the
	"filename" encoding (whatever it may be) otherwise some systems
	will not know they exist.  Tested by Michel Boaventura.
	Partially fixes bug #26023

2009-03-26  John Darrington  <john@darrington.wattle.id.au>

	Test for NULL before calling strdup

	Read dictionary encoding from data files.
	If record 7 subtype 20 exists, use it to set the encoding of the
	dictionary when reading a file.

2009-03-26  Ben Pfaff  <blp@gnu.org>

	Fix memory leak in wilcoxon_execute().

2009-03-26  Ben Pfaff  <blp@gnu.org>

	Fix error message for bad characters in syntax files.
	Before this commit, on systems where "char" is a signed type,
	formatting a char with %o would sign-extend to the width of "int",
	so that a typical error message would look like:
	   Bad character in input: `\37777777605'.

	With this commit, the value gets zero-extended, producing the more
	sensible error mesage:
	   Bad character in input: `\205'.

2009-03-26  John Darrington  <john@darrington.wattle.id.au>

	Made var_is_valid_name more permissive.
	Allowed lex_is_id1 and lex_is_id2 to match non-ascii characters,
	in addition to the others it tests for.

	Redesign the character re-encoding code.
	Remove the statically allocated convertors,
	instead, assume that the encoding of variables,
	data and associated metadata is stored in the dictionary.

	Removed some unused features from src/libpspp/i18n.c and src/libpspp/i18n.h

2009-03-24  John Darrington  <john@darrington.wattle.id.au>

	Added the "Display Data File Information" item.
	Added a menuitem to the File menu which calls either
	DISPLAY DICTIONARY or SYSFILE INFO per spss.

	Set the text import dialog's default button.
	Grab the focus of the appropriate button of the
	text import dialog, when a new page is prepared.
	This makes it much easier to use without a mouse.

	Added #include <config.h> to files as appropriate.
	Thanks to Michel Boaventura for reporting this problem.

2009-03-23  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Fix bug in text-import-dialog

	Convert filename on confirmation dialog

	Show error dialog if syntax file is not readable.
	Popup a dialog box, if a syntax file cannot be
	opened for any reason.

	Convert filename encodings when opening files.
	On w32, filenames have to be converted from utf8 to
	the libc encoding before passing to the lexer.

2009-03-22  John Darrington  <john@darrington.wattle.id.au>

	Initialise description on init.
	Windows' description parameter must not be
	NULL.  So initialize it to the empty string.

	Allow non-ascii characters to be entered into the variable and data sheets.
	Convert strings from utf8 to the pspp (data) locale´s encoding before passing
	to the model.

2009-03-21  John Darrington  <john@darrington.wattle.id.au>

	Avoid potential bugs with setlocale's return value.
	Use strdup to copy all return values from setlocale,
	since it's statically allocated.

2009-03-20  John Darrington  <john@darrington.wattle.id.au>

	Fix crash when running under windows with non-english locale
	Fixed a bug which manifested itself when running a Mingw compiled
	binary with a non-english locale.  setlocale returns a statically
	allocated string, so it's valid only until the next call to setlocale.
	Thanks to Michel Boaventura for reporting and helping to diagnose this
	problem.

2009-03-19  John Darrington  <john@darrington.wattle.id.au>

	Fix corrupted .sav files on w32 builds
	Added the O_BINARY flag to the mode of files
	created with open, so that lines aren't appended
	with extraneous characters, thus corrupting .sav
	files.

	Added missing '#include <config.h>' lines.
	Added these missing #includes at top of *.c files.
	Thanks to Michel Boaventura for reporting this.

2009-03-18  John Darrington  <john@darrington.wattle.id.au>

	Change name of config parameter

	Rename the "model" property to "dictionary"

2009-03-17  John Darrington  <john@darrington.wattle.id.au>

	Fixed crash which occured when deleting dictionaries which had variable labels

	Correct typo in BINOMIAL section of user manual.
	Thanks to Erik Frebold for pointing out this problem.
	Closes bug #25892

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Fix bug saving window positions

	Add a popup menu to the PsppireDictView object.
	Currently this menu contains only one item, which
	lets you choose between labels or values.

	Remove some unnecessary #includes

	Namespace police duty.
	Changed a number of instances of G_TYPE_ to PSPPIRE_TYPE_

	Delete extraneous characters from comment.
	Thanks to Ben Pfaff for pointing this out.

	New object PsppireDictView
	Created a new object PsppireDictView, which derives
	from GtkTreeView for the purpose of displaying a
	dictionary.  Replaces much of the functionality in
	dict-display.c

2009-03-16  John Darrington  <john@darrington.wattle.id.au>

	Remove preprocessor condition

	Make psppire_sheet_get_attributes a private function

	Use GtkHPaned in variable info dialog
	Moved variable info dialog spec from psppire.glade into
	its own file.  Added a "sliding" property to PsppireDialog
	which causes Gtk[VH]Paned to be used instead of Gtk[VH]Box.
	Set the sliding property for the variable info dialog.

2009-03-16  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c: Add matrices to store valid sample sizes and products of means in struct covariance_matrix.
	covariance-matrix.c (update_ssize): New function

	covariance-matrix.c (covariance_accumulator_to_matrix): Store valid
	sample sizes and products of means, then use them to compute the
	entries of the covariance matrix after passing through the
	hash. Return void.

2009-03-16  John Darrington  <john@darrington.wattle.id.au>

	Indicate filtered cases in data sheet.
	Add feature to indicate filtered out cases
	on data sheet.  Closes bug #20828

2009-03-15  John Darrington  <john@darrington.wattle.id.au>

	Prevent wierd focusing issues when changing cell

	Emit variable callback even if label is null.
	When a label was set to null, previously no callback
	was emitted.  Fixes bug #25872

	Focus var/data sheet after switching tabs

	Config option to prefer variable labels vs. names
	Added user config option to select whether dictionary
	treeviews in dialog boxes should prefer variable labels
	over names.   Default is names.

2009-03-14  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Save windows' maximized status as well as their geometry.

2009-03-13  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c (is_origin): New function
	covariance-matrix.c (get_exact_subscript): New function

	covariance-matrix.c (covariance_matrix_insert): Use get_exact_subscript.

	covariance-matrix.c (is_covariance_contributor): New function.

	covariance-matrix.c (covariance_accumulator_to_matrix): Iterate over
	the rows and columns of the covariance matrix, and the hash table to
	accumulate values for each entry of the matrix.

	design-matrix.c (design_matrix_get_n_cols): New function

	design-matrix.c (design_matrix_get_n_rows): New function

2009-03-12  John Darrington  <john@darrington.wattle.id.au>

	Fix critical when opening fonts dialog

	Don't proxy button-open to action_data_open.
	Connect to the clicked signal instead, because we
	don't want the icon, label etc. to assume that of
	the action.  Closes bug #25817

	Fixed problems getting accelerator keys to work in data editor

	Split data-editor.glade into two files.
	Seperated the glade specification of the data editor
	widgets from those of the popup dialogs in the
	variable sheet.

	Re-arrange data-editor widgets.
	Made the data editor somewhat more HIG
	compliant.

2009-03-11  John Darrington  <john@darrington.wattle.id.au>

	Fix generation of email address

	Remove repeated '@setfilename' lines from Texinfo source.
	Remove lines '@setfilename ignored' from .texi files.
	The Texinfo manual doesn't mention that more than
	one @setfilename argument is allowed, and having
	more than one seems to produce confusing docbook
	output.

	A simpler way to avoid one makeinfo bug

	Convert manual to docbook and load that in yelp.
	Instead of yelp loading info files, have it load
	docbook xml files instead.

2009-03-10  John Darrington  <john@darrington.wattle.id.au>

	Include gtk-builder-convert to process .glade files
	The gtk-builder-convert shipped with some older versions
	of gtk+ has proved problematic.  This change includes a
	"known good" version, and builds using it.

	Use double precision floats throughout psppire-axis-*
	Change some instances of float to double, to avoid
	loss of precision when calculating pixel positions.
	Closes bug #25099

2009-03-07  John Darrington  <john@darrington.wattle.id.au>

	Allow make clean to work without perl-module/Makefile

2009-03-07  John Darrington  <john@darrington.wattle.id.au>

	Fixed a bug reading empty strings from Postgres databases.
	Fixed a bug in the Postgresql import feature, where a segfault
	would occur when a reading a database which contained string
	fields with only null, or zero length values.

	Thanks to Joerg Schmengle for reporting this.

2009-03-07  John Darrington  <john@darrington.wattle.id.au>

	Default response to be same as Cancel

	Made the save-before-quit dialog more HIG compliant.
	Thanks to jeff<kiddo> for the suggestion.  Closes patch #6749

	Rename identifier and add timestamp for unsaved flag.

	Better abstraction of the unsaved window status.
	Implementations can now only set unsaved to true.
	Only the abstract base class can set it to false,
	which it does when the window is saved.

2009-03-06  John Darrington  <john@darrington.wattle.id.au>

	Add libpspp-core as a dependency of the perl module

	Remove some unnecessary casts

	Remove some unused variables

2009-03-05  John Darrington  <john@darrington.wattle.id.au>

	Tab key now moves to next row, upon end of line.
	This change alters the behaviour of the tab key
	in the variable and data sheet.  When using the
	tab key, if the last cell in a row is encountered,
	it will now cause the active cell to move to the
	first cell in the next row.  Fixes bug #25168

	Add new dependency to gui-tools

	Fix problem focusing variable sheet

2009-03-04  John Darrington  <john@darrington.wattle.id.au>

	Refactor Data and Syntax Loading

	Improve behaviour of recent file lists.
	The code now deletes an item from the recent list, after
	an unsuccessfull attempt to open it.
	They are now sorted in most recently used order.

2009-03-03  John Darrington  <john@darrington.wattle.id.au>

	Added some spacing between widgets

	Convert variable name to utf8 before displaying in tooltips

	Save and recall window geometry for dialog boxes

	Convenience functions for setting/retrieving window geometry.
	Created a pair of convenience functions in psppire-conf.c to
	perform saving and loading of window geometry.  Updated
	psppire-window.c to use them.

	Added a simple singleton object for user preference storage.

2009-03-02  John Darrington  <john@darrington.wattle.id.au>

	Added stock icon to About menuitem

2009-03-02  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master'; commit 'origin/stable'
	Conflicts:

		src/math/linreg.h
		src/ui/gui/psppire-data-editor.c

2009-03-02  John Darrington  <john@darrington.wattle.id.au>

	Set icon for text import assistant window

	Remove reference to 'struct data_editor' which is a type which no longer exists

	Remove preprocessor condition which could no longer be satistified

	Added a .desktop file.
	Added a desktop file for the benefit of operating systems which use them.
	Thanks to James R. Van Zandt for providing this.

	Rewrote the recent file manager stuff

2009-03-01  John Darrington  <john@darrington.wattle.id.au>

	Rename get_object_assert to get_action_assert

	Save window contents on closing.

2009-02-26  John Darrington  <john@darrington.wattle.id.au>

	Remove references to libglade from config and documentation

2009-02-24  John Darrington  <john@darrington.wattle.id.au>

	Fix crash which occurred under mingw.
	Thanks to Michel Boaventu for reporting and diagnosing this problem.

	Fix display of window icon

	Change argument type of pspp_window_register_foreach

	Prompt for save on closing data window

	Quit the application after closing the last window

	Made button-box an abstract type

	Made psppire-window an abstract type

2009-02-23  John Darrington  <john@darrington.wattle.id.au>

	preregister custom widgets so that GtkBuilder can find them

	Initialise the quote_combobox list manually.
	GtkBuilder seems incapable of setting a GtkListStore
	containing single quote characters.  So do this in C.

	Remove last vestiges of libglade dependencies

	Remove glade version of connect_help

	Remove used #include

	Convert descriptives dialog to GtkBuilder

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

2009-02-23  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c: (covariance_accumulator_hash) For categorical variables, eliminate temporary string by using hsh_hash_bytes and XOR.

2009-02-23  John Darrington  <john@darrington.wattle.id.au>

	remove .glade files from installed file list

	fix warnings

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Remove remaining GladeXML references from psppire-data-window.c

2009-02-23  Jason H Stover  <jhs@math.gcsu.edu>

	Oops

	linreg.c: (pspp_linreg_mse) New accessor function
	regression.q: (reg_stats_r) Report root MSE instead of std. error of
	R-squared. Fixes bug 25677.

2009-02-23  Jason Stover  <jhs@math.gcsu.edu>

	Fix bug 25677

2009-02-23  John Darrington  <john@darrington.wattle.id.au>

	Removed most uses of GladeXML from data window

2009-02-22  John Darrington  <john@darrington.wattle.id.au>

	Set the filename on loading a new file

	Refactor code from psppire.c
	Instead of using custom code for loading files given
	on the command line, instead use code from psppire-data-window.c

	Unsaved indicator for data files.
	Add callback to dictionary and dataset.  Use these callbacks
	to set  a flag for the gui to indicate when a data file is
	saved or not saved.

	Add a set_unsaved method.
	Added a psppire_window_set_unsaved method, which can be
	used to indicate that the contents of a window has been
	modified since it was last saved.
	Use this method for the syntax window.

	Reorder sources list
	Try to keep them alphabetical.

2009-02-21  John Darrington  <john@darrington.wattle.id.au>

	Prevent data sheet from traversing into an invalid column.
	Thanks to James R. Van Zandt for reporting this problem.

	Merge commit 'window-manager/master'

	Fix problems with make distcheck

	Fix signature of connect_help

	Replace "usage" property with a "description" property

2009-02-20  John Darrington  <john@darrington.wattle.id.au>

	Re enable the connect_help function

	convert labels and missing values dialogs to GtkBuilder

	Set more appropriate default names for Syntax and Output windows.
	Syntax windows now default to "Syntax" and output windows to "Output".

	Converted output-viewer.glade to GtkBuilder

2009-02-20  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c (covariance_matrix_init): pass pointer to result->n_variables instead of stack variable n_variables.
	covariance-matrix.c (covariance_hsh_create): Accept pointer to number
	of variables instead of size_t.

2009-02-19  John Darrington  <john@darrington.wattle.id.au>

	Converted syntax-editor definition from libglade to gtkbuilder

2009-02-19  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of /home/john/Development/pspp-window-manager
	Conflicts:

		src/ui/gui/crosstabs-dialog.c
		src/ui/gui/helper.c

2009-02-19  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'HEAD'; commit 'savannah/master'
	Conflicts:

		src/ui/gui/crosstabs-dialog.c
		src/ui/gui/goto-case-dialog.c
		src/ui/gui/helper.c
		src/ui/gui/output-viewer.c
		src/ui/gui/output-viewer.h
		src/ui/gui/psppire.c
		src/ui/gui/regression-dialog.c

2009-02-09  John Darrington  <john@darrington.wattle.id.au>

	Use the sum of weights of only those cases which are valid to calculate percentiles.
	Fixes bug #25522

2009-02-09  Jason H Stover  <jhs@math.gcsu.edu>

	Skip the SAVE subcommand if no valid data are present, instead of crashing. Fix for bug 25523

2009-02-08  John Darrington  <john@darrington.wattle.id.au>

	Use c-ctype functions in lexer.
	Lexical analysis should not depend upon the locale,
	so change is* functions from ctype.h to the c_is*
	counterparts from gnulib.  This should avoid potential
	i18n issues.

	Prevent test failure when non-English language selected

2009-02-07  John Darrington  <john@darrington.wattle.id.au>

	Added a brief description of the --enable-relocatable flag to INSTALL

	Relocate path names when searching for files.
	When searching for configuration files etc. in a
	search path, relocate the filenames before testing
	for their existence.  Closes bug #25508

2009-02-06  John Darrington  <john@darrington.wattle.id.au>

	Added LIB_CLOSE to link flags for test programs.
	This allows all binaries needed by "make check" to be built.

	Add LIB_CLOSE to link command for dissect-sysfile program.

2009-02-06  Ben Pfaff  <blp@gnu.org>

	Link against -lws2_32 on Windows.
	Gnulib commit df1da811, "Fix link errors on Windows when close
	module is used", adds a Makefile variable $(LIB_CLOSE) that expands
	to -lws2_32.  This commit adds that variable to the linker command
	line.

	It might not be necessary to add this to both pspp and psppire,
	but it shouldn't hurt.

2009-02-06  John Darrington  <john@darrington.wattle.id.au>

	Fix minor build issues.
	Remove dependence on lib/misc which no longer exists.
	Add new file src/math/wilcoxon-sig.[ch] to makefile.

2009-02-05  Ben Pfaff  <blp@gnu.org>

	wilcoxon: Drop now-unnecessary timer support.
	Calculating the Wilcoxon significance level now takes only a
	fraction of a second, so there is no need to support a timer.

	Also, report the problem if the significance level cannot be
	calculated.

2009-02-05  Ben Pfaff  <blp@gnu.org>

	Speed up Wilcoxon matched-pairs signed-ranks significance routine.
	The performance of this routine was O(2**N).  This improves it to
	O(N*W).  For N=30, W=120 this reduces calculation time from 6m9s
	to .002s, which is a 123000x speedup.

	Refer to bug #25466 for more information.

2009-02-05  Ben Pfaff  <blp@gnu.org>

	perl-module: fix version mismatch between module and PSPP
	The version number update in the previous Perl module commit
	broke the Perl module's version number checking.  Oops.  This fixes
	it (and updates NEWS).

	perl-module: Document and test PSPP::Dict::get_var_cnt().
	This function was present but not documented or tested.

2009-02-05  Ben Pfaff  <blp@gnu.org>

	perl-module: Make PSPP::Reader::get_next_case() return a list.
	PSPP::Reader::get_next_case() was documented to return a list,
	but actually it returned a reference to a list.  This commit
	changes the behavior to match the documentation.

	This also fixes the behavior on reading past the end of the file.
	Previously this was documented to return undef but caused a
	segfault in practice.  Now it returns an empty list.

	Also increase PSPP version number from 0.7.1 to 0.7.2 at John
	Darrington's request, to alert users of the previous version of
	the Perl interface.

2009-02-05  John Darrington  <john@darrington.wattle.id.au>

	Silently ignore some inrecognised subtypes.
	When reading system files, record subtypes of which the developers are
	aware but which pspp doesn't yet support are silently ignored.  Subtypes
	which the developers are unaware provoke a message requesting the user
	to send us a sample.

2009-02-03  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Don't build the perl module if cross compiling.
	Whilst, in general, it should be possible to cross compile a perl
	module, the current organisation of the module doesn't support it.
	So this has been disabled until somebody has the time and resources
	to fix and test it.

2009-02-02  Ben Pfaff  <blp@gnu.org>

	INSTALL: Add hints about how to obtain root permission.
	Suggested by Nick Thompson <nickadamthompson@gmail.com>.

2009-02-01  Ben Pfaff  <blp@gnu.org>

	perl-module: Document PSPP::Dict::get_var() for too-large index.
	Approved by John Darrington.

2009-01-30  Ben Pfaff  <blp@gnu.org>

	Accept LF, CR LF, and LF as new-line sequences in data files.
	Until now, PSPP has used the host operating system's idea of the
	new-line sequence when reading data files and other text files.
	This means that, when a file with CR LF line ends is read on an OS
	that uses LF as new-line (e.g. an MS-DOS file on Unix), each line
	appears to have a CR at the the end.  This commit fixes the
	problem, by normalizing the new-line sequence at time of reading.

	This commit eliminates a performance optimization from
	ds_read_line(), because the getdelim() function that it used cannot
	be made to stop reading at one of two different delimiters.  If
	this causes a real performance regression, then the getndelim2
	function from gnulib could be used to restore the optimization.

	Also adds a test to make sure that it works.

	Thanks to Rémi Dewitte <remi@gide.net> for pointing out the problem
	and providing an initial patch (which solved the problem in a
	completely different way from this commit).

2009-01-29  John Darrington  <john@darrington.wattle.id.au>

	Updated NEWS

	Correct the directory of the perl module tarball target

	Bump minor version number

2009-01-29  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'savannah/perl-module'
	Conflicts:

		po/en_GB.po
		src/libpspp/automake.mk

2009-01-28  Jason H Stover  <jhs@math.gcsu.edu>

	interaction.c: Introduced interaction_variable and interaction_value structs and associated functions.
	covariance-matrix.c: Altered covariance_accumulate_listwise,
	covariance_accumulate_pairwise, and update_* functions to handle
	interactions.

	glm.q: Added temporary NULL and 0 as final args to call to
	covariance_matrix_accumulate.

2009-01-26  John Darrington  <john@darrington.wattle.id.au>

	Remove pspp-vers.pl which did more harm than good.
	Removed the auto-generated file pspp-vers.pl and all references
	to it.  Instead, use a manually set string for the version.

2009-01-23  John Darrington  <john@darrington.wattle.id.au>

	Change  COPYING from GPLv2 to GPLv3

2009-01-20  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Fix further bug in NPAR BINOMIAL
	Change "break" to "continue", so that if a binomial
	variable was missing, only this single variable is skipped
	rather than all subsequent ones.  Thanks to Ben Pfaff for
	reporting this.

2009-01-19  Jason H Stover  <jhs@math.gcsu.edu>

	Fixed bug in compare_values_short. Reported by Ben Pfaff.

2009-01-18  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug allocating the memory in NPAR BINOMIAL
	Thanks to Ben Pfaff for reporting this problem.

2009-01-16  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'origin/stable'
	Conflicts:

		src/language/utilities/include.c
		src/ui/terminal/automake.mk
		tests/command/insert.sh

2009-01-13  Ben Pfaff  <blp@cs.stanford.edu>

	Put unique dictionary indexes into internal variables
	Code that Jason is working on creates some internal variables, using
	var_create_internal(), and wants to hash those variables based
	on their dictionary indexes, along with some other variables that
	are actually in a dictionary.  Thus, the internal variables need to
	have unique dictionary indexes.

2009-01-12  Jason H Stover  <jhs@math.gcsu.edu>

	fixed update of moments

	Rewrote interaction.[ch]

2009-01-11  John Darrington  <john@darrington.wattle.id.au>

	Added module file to PM entry

	Fix syntax errors in pod

2009-01-10  John Darrington  <john@darrington.wattle.id.au>

	Updated copyright notices with the year 2009

	Add the perl module tarball to the build target

	Merge branch 'master' of /home/john/Development/pspp-bare

2009-01-09  John Darrington  <john@darrington.wattle.id.au>

	Add short entry to Examples.pod describing Reader

	Merge commit 'origin/master'; commit 'savannah/master'

	Move .ui files to build directory
	The .ui files had been inadvertently put in the src directory.
	This change moves them to the build directory, since they're
	(currently) generated from the .glade files.

	Replaced call to g_strcmp0 with strcmp, since the former is available only in glib 2.16+.
	Thanks to unknown-1 for reporting this.

	Link the perl module against the shared library instead of the static one

2009-01-08  Ben Pfaff  <blp@gnu.org>

	Fix assertion in case_copy().
	This is an apparent cut-and-paste error.

2009-01-08  John Darrington  <john@darrington.wattle.id.au>

	Ensure that perl module tests work before pspp has been installed

2009-01-07  John Darrington  <john@darrington.wattle.id.au>

	Added method to get the custom variable attributes

	Update module to reflect new case API

	Merge commit 'savannah/master'

	Merge branch 'master' of /home/john/Development/pspp-bare

2009-01-06  Ben Pfaff  <blp@gnu.org>

	Make cases simpler, faster, and easier to understand.
	Cases (struct ccase) is reference-counted to avoid copying more
	data than necessary.  But the existing implementation that uses
	separate structures for references to cases (struct ccase) and
	the cases themselves (struct case_data) has a number of issues:

	   - The semantics of struct ccase are tricky to remember; one
	     has to remember to treat struct ccase as essentially a
	     pointer type.  I get confused sometimes myself.

	     (One of the symptoms of this was the existence of
	      the case_nullify and case_is_null functions, which are
	      exactly analogous to setting a pointer to null and comparing
	      one against null, respectively.)

	   - Every reference to data in a case involves two levels of
	     indirection, which is one more than actually necessary.

	   - The implementation is somewhat complicated.

	This commit simplifies things, by dropping a level of indirection.
	Now, a case is just a pointer to a struct ccase, which contains
	the actual data.  Reference counting is still present, but it is
	simplified.  The only thing that must be remembered is that, before
	modifying a case that may be shared, it must be passed through
	case_unshare() to make a new unshared copy if necessary.

2009-01-06  John Darrington  <john@darrington.wattle.id.au>

	Ensure that dict survives sysfile
	Make sure that the dict of a sysfile survives for the
	lifetime of that sysfile.  Thanks to Rob Messer for
	reporting this bug.

2009-01-04  John Darrington  <john@darrington.wattle.id.au>

	Write message to status bar on saving syntax files

2009-01-04  John Darrington  <john@darrington.wattle.id.au>

	Merge commit 'HEAD'; commit 'master/master'
	Conflicts:

		src/ui/gui/crosstabs-dialog.c
		src/ui/gui/goto-case-dialog.c
		src/ui/gui/helper.c
		src/ui/gui/regression-dialog.c

2009-01-03  John Darrington  <john@darrington.wattle.id.au>

	Remove inappropriate include directives

	Remove invalid property

	Fix pointer types as appropriate

	Convert psppire.glade to psppire.ui

	Converted T-Test dialogs to GtkBuilder

	Add *.ui to .gitignore

	Convert Regression dialog to GtkBuilder

	Convert MessageDialog to GtkBuilder

	Convert Crosstabs dialog to GtkBuilder

	Convert Examine dialog to GtkBuilder

	Convert Frequencies dialog to GtkBuilder

	Migrated rank and recode dialogs to GtkBuilder

	Added infrastructure for GtkBuilder and change oneway-dialog to use it.

2009-01-02  John Darrington  <john@darrington.wattle.id.au>

	Fix warnings

2009-01-01  John Darrington  <john@darrington.wattle.id.au>

	Make sure finalizers are called properly

	Add menushell initialiser to output viewer

	Set default name on File->New

	Set the window title when opening a file on the command line

	Remove obsoleted files from build rules

	Re-enable reporting of filename in syntax errors

2008-12-31  John Darrington  <john@darrington.wattle.id.au>

	Refactor common code in dialog implementations

	Add actions to the menuitem signals

	New (singleton) object psppire-window-register

2008-12-30  John Darrington  <john@darrington.wattle.id.au>

	Fixed bug finalizing window

	Move data-editor.c to psppire-data-window.c
	Made data-editor.c into a widget (derived from GtkWindow), called
	PsppireDataWindow.  Removed window-manager.c and window-manager.h

2008-12-29  John Darrington  <john@darrington.wattle.id.au>

	Enabled the minimise_all menu, and set the title bar to reflect the usage of the window

	Rewrite output-viewer.c --> psppire-output-window.c

	New objects psppire-window and psppire-syntax-window.
	Moved most of the functionality from syntax-editor into syntax-window,
	and window-manager into psppire-window.  Eventually window-manager.c will
	 be superseeded.

2008-12-24  John Darrington  <john@darrington.wattle.id.au>

	New subroutine PSPP::Dict::get_var_by_name

	Merge branch 'master' of /home/john/Development/pspp-bare

	Automatically detect src dir from build dir

	Update abstract

	correct documentation

2008-12-23  John Darrington  <john@darrington.wattle.id.au>

	Update documentation of perl module

	Ensure that module version agrees with pspp version

	Added functions to enable reading data files from perl
	Extended the perl module so that existing data files
	can be read using the perl bindings.

2008-12-22  John Darrington  <john@darrington.wattle.id.au>

	Read version header from source

2008-12-21  John Darrington  <john@darrington.wattle.id.au>

	Change the perl module's distname to be more distinct from that of the main distribution

2008-12-20  John Darrington  <john@darrington.wattle.id.au>

	Integrated the perl module into the pspp build system.

2008-12-19  John Darrington  <john@darrington.wattle.id.au>

	Add perl parseable line to src/libpspp/version.c
	Cause a line of the form $VERSION='x.y.z' to be added
	to the file src/libpspp/version.c so that recent versions
	of Perl's MakeMaker recognises it.

2008-12-14  John Darrington  <john@darrington.wattle.id.au>

	Rename lib/gtksheet to lib/gtk-contrib

	Created new directory src/ui/gui/sheet
	Moved files from lib/gtksheet to src/ui/gui/sheet except those whose
	copyright is not FSF owned.

	Adjusted packing properties as appropriatate

	Remove expand property from inappropriate widget

2008-12-13  John Darrington  <john@darrington.wattle.id.au>

	Readd lost files

	Moved marshallers to src/ui/gui

	Rename GtkSheet to PsppireSheet

	Rename gsheetmodel to psppiresheetmodel

	Merge commit 'HEAD'; branch 'rewrite-sheet'

2008-12-12  John Darrington  <john@darrington.wattle.id.au>

	Fix warning

	Re-enabled display of global sheet button

	More runtime warnings fixed

	Fix some runtime warnings

	Don't set row/column to zero when selecting

2008-12-11  John Darrington  <john@darrington.wattle.id.au>

	Fix compiler warning

	Fixed bug which manifested itself in the text import dialog

	Redraw cells when a row/column is resize

2008-12-10  John Darrington  <john@darrington.wattle.id.au>

	Prevent updates to the model from feeding back to the current sheet

	Fix problem where entry strings got mangled

	Fix some warnings

2008-12-09  John Darrington  <john@darrington.wattle.id.au>

	Improve reliability of active cell border rendering

	Fixed a problem redrawing the active cell.
	Disabled double buffering on the sheet body since this
	seemed to interfere with things.

	Simplify expose callback

	Merge commit 'HEAD'; branch 'master' into rewrite-sheet

	Fix up include path for generated source file

2008-12-08  John Darrington  <john@darrington.wattle.id.au>

	Added a chapter to the developers' manual about i18n.

	Removed that rather kludgy idle callback

	Fix bug resizing rows/columns

	Don't crash when resizing columns with no associated variable

	Draw the boundary line when resizing rows/columns

	Prevent widths less than 1

2008-12-07  John Darrington  <john@darrington.wattle.id.au>

	Free the elements from the pool

	Make the axes members of the data editor object

2008-12-06  John Darrington  <john@darrington.wattle.id.au>

	Written a proper implementation of psppire_axis_impl_delete

	Trap some bad usage

	Set variable display width when datasheet's columns are resized.

	Add a resize method to the axis

2008-12-06  Ben Pfaff  <blp@gnu.org>

	Remove unused match-files.c.
	This has been supplanted by combine-files.c, but I forgot to delete
	it when I added that file.

	Thanks to John Darrington for pointing out the problem.

2008-12-05  John Darrington  <john@darrington.wattle.id.au>

	Improved robustness of axis implementation

	Make the axis implementation more tolerant of boundary conditions

	Canonicalise identifier names

	Made the datasheets share axes

	(re)enabled dragging of row boundaries

	Replaced implementation of psppire-axis.
	Deleted psppire-axis-hetero.* and psppire-axis-uniform.* and
	replaced with psppire-axis-impl.[ch] which combines the benefits
	of both.

2008-12-04  John Darrington  <john@darrington.wattle.id.au>

	Improve rendering of active cell border

	Improve reliability of active cell border display

2008-12-03  John Darrington  <john@darrington.wattle.id.au>

	Allow variables to be entered beyond the end of sheet.
	Several changes to fix the problem where variables beyond
	the vertical size of the var sheet couldn't be added.

	1. Undo the effect of commit 8c9fae384585163197685e684e62e49a6b922f0c
	since it seems to cause problems and need to be rethought.

	2. On the traverse callback, don't clamp the range of the requested
	   destination cell.  Clamp it only after the signal returns.

	3. Add one more row than there are variables.

2008-12-03  John Darrington  <john@darrington.wattle.id.au>

	Remove {rows,columns}_resizeable function

2008-12-03  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into rewrite-sheet
	Conflicts:

		src/ui/gui/psppire-case-file.c
		src/ui/gui/psppire-case-file.h

2008-12-03  John Darrington  <john@darrington.wattle.id.au>

	Use value_compare_3way instead of compare_values_short in find dialog

	Remove unused sheetmodel function

2008-12-02  Ben Pfaff  <blp@gnu.org>

	Implement ADD FILES and UPDATE.

2008-12-02  Ben Pfaff  <blp@gnu.org>

	Replace case_ordering with subcase.
	The case_ordering data structure was useful for comparing cases,
	but that is all that it did.  In fact, the same data structure
	can be used, at least, for extracting data from cases into arrays
	of values, stuffing values back into cases, and for more general
	comparisons than case_ordering anticipated.

	This commit adds those abilities to case_ordering.  It also renames
	it to "subcase", because it is useful for more than just sorting
	cases, which is all that case_ordering was designed for.

	This commit also changes the allocation pattern for subcase from
	having the implementation allocate all of the memory, to having
	the subcase client allocate "struct subcase".  This saves a
	memory allocation without making life harder for anyone.

	  - Naming: the "case_ordering" name implied that it was
	    only useful for ordering (comparing cases).

	  - Interface: the interface

2008-12-02  Ben Pfaff  <blp@gnu.org>

	Break get.c up into multiple files in a logical fashion.
	get.c implemented GET, IMPORT, SAVE, XSAVE, EXPORT, XEXPORT,
	and MATCH FILES, which seems like too much for one file.

2008-12-02  Ben Pfaff  <blp@gnu.org>

	Allow MATCH FILES before an active file has been defined.
	Except when it has the active file as an input, MATCH FILES does
	not require an active file, and produces an active file, so it
	makes sense to allow it anywhere.

	Thanks to John Darrington for pointing out the bug.

2008-12-02  Ben Pfaff  <blp@gnu.org>

	Rename compare_values, hash_values with "_short" suffix.
	The compare_values and hash_values functions do not compare an
	entire value.  Rather, they compare only the short string prefix
	of long string values.  I have a feeling that this misnaming was
	confusing people (it certainly confused me) so this commit renames
	them.

	It also adds a new function value_compare_3way() that does what
	one what expect such a function to do.

2008-12-02  John Darrington  <john@darrington.wattle.id.au>

	Keep adjustment values in their relative positions on resizing sheet

	Only grab the focus when appropriate

	Whitespace change

	Remove extraneous code moving sheet adjustments on updates

	Add range_changed callbacks as appropriate

2008-12-01  John Darrington  <john@darrington.wattle.id.au>

	Update model on inserting/deleting cases

	Added static qualifier

	Add handlers for inserting/deleteing cases

	Destroy datasheet, but not if we've made a reader of it

	Deleted psppire-case-file.[ch]
	This module was nothing more than a wrapper around
	src/data/datasheet.c Moved its guts into
	psppire-data-store.c

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Fixed some boundary conditions displaying row/column data

	Remove marshaller from helper.c and use a generated one instead

	Removed an unsed variable and used an unused macro

	Deleted some superflous nonsense

	Replaced extern "C" with G_BEGIN_DECLS

	Remove flicker drawing cell ranges

2008-12-01  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet
	Conflicts:

		src/ui/gui/psppire-var-store.h

2008-11-30  John Darrington  <john@darrington.wattle.id.au>

	Added popup menu to row titles in variable sheet

	Add cast to avoid warning

	Rename properties so as to be more specific

	Calculate the width of M based on the current font

	Remove unused variable

	Remove font information from cell attributes and sheet model.
	Deleted the font_desc member from the GtkSheetCellAttr struct
	and also all font related stuff from the GSheetModel interface.
	Instead, fonts are now considered strictly a parameter of the
	viewing widget instead of data in the model.

2008-11-30  Ben Pfaff  <blp@gnu.org>

	Fix memory leak in get_system_decimal().

	Add PKG_CHECK_MODULES to forbidden m4 patterns.
	This should help to catch running autoconf on systems that lack
	pkg-config earlier in the build process.

2008-11-29  John Darrington  <john@darrington.wattle.id.au>

	Remove unused property from var-sheet

	Add mutual links to VARIABLE/DATAFILE ATTRIBUTE documentation

	When adding variables in varsheet, add at the current position.
	Previously variables could only be inserted at the start of the dictionary.
	Fixes bug #24502

	Fixed problem when double clicking on column header

	Improve drawing of active cell border

2008-11-28  John Darrington  <john@darrington.wattle.id.au>

	Make close button grab the focus on popup

	Improve useability of value label dialog.
	Make the value entry widget grab the keyboard focus whenever
	the dialog is updated, and on showing the dialog.  Fixes
	bug #24929

	Fixed crash when scrolling

	Fixed bug redrawing row/column title windows

	Dont try to draw cells outside the valid range

2008-11-27  John Darrington  <john@darrington.wattle.id.au>

	Fix problem redrawing old active cell

	Draw active cell on adjustment changes

	Fixed problem displaying the active cell.

	Removed unsed is_visible from sheetmodel

	Remove unused auxvalues variable

	Removed internal_allocation member which was assigned but never used

	Made the active cell border a lot more noticeable

	Use BUILT_SOURCES to ensure that marshallers get built

	Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet

2008-11-26  John Darrington  <john@darrington.wattle.id.au>

	Removed condition which was always true

	Disabled sheet entry for non-editable cells

	Change return type of gtk_sheet_get_entry and removed an unused function.

	Remove sheet_container member which served no useful purpose

	Remove [hv]geo arguments to gtksheet which no longer do anything

	Removed reference to row-geometry property which no longer exists

	Added g_return_if_fail to new methods

	Added extra include path necessary when building outside the source dir

	Generate marshaller functions instead of using prebuilt ones.
	Use the glib-genmarshal program (distributed with glib) to
	build the marshaller functions that came with gtkxpaned and
	gtksheet.

	Remove obscure pango_font_description munging which caused criticals

2008-11-25  John Darrington  <john@darrington.wattle.id.au>

	Oops

2008-11-25  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet
	Conflicts:

		lib/gtksheet/automake.mk

2008-11-25  John Darrington  <john@darrington.wattle.id.au>

	Remove the gsheet-row-* modules and replaced with psppire-axis-*

	Remove gtkextrafeatures.h from file manifest

2008-11-24  John Darrington  <john@darrington.wattle.id.au>

	Set the minimum-extent property from the size_allocate handler of the sheet

	Fixed minor bug getting the extent of the last unit

	Added "min-extent" and "default-size" properties.
	Before rows/columns have been added, which are sufficient to
	cover "min-extent", there will be implicit rows/columns of "default-size".

	Fix problem inserting variables at end of var sheet

2008-11-24  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet
	Conflicts:

		lib/gtksheet/gtksheet.c

2008-11-23  John Darrington  <john@darrington.wattle.id.au>

	Don't redraw buttons in size_allocate callback
	I've no idea why this was here but it is clearly wrong, and
	caused lots of annoying flicker.

	Removed the STRING_WIDTH function

	Removed feature relating to multiline column button labels which we never use

	Removed the autoresize-column feature which was unused

	Remove flicker when redrawing row/column titles

	Replace gsheet-column interface by psppire-axis
	Created a new object psppire-axis, which is a thinish
	wrapper around src/libpspp/tower.c, and can be used
	to maintain the positions and widths of rows/columns
	in the data/variable sheets.
	This change also deletes the lib/gtksheet/*-column-*
	modules, and uses a psppire-axis in their place.
	Some functions previously performed by gsheet-column-iface
	have been moved to gsheetmodel.
	This change doesn't touch lib/gtksheet/*-row-* but it
	will be straightforward to replace that too.

2008-11-22  John Darrington  <john@darrington.wattle.id.au>

	Ben's patches to tower.[ch]

2008-11-21  John Darrington  <john@darrington.wattle.id.au>

	Fix crash

	Remove unused signal

	Change traverse signal to take GtkSheetCell instead of gint,gint

	Remove inline qualifiers

	Removed function default_row_height

2008-11-21  Jason H Stover  <jhs@math.gcsu.edu>

	pspp_linreg_with_cov: Accept struct covariance_matrix as first argument.
	rearrange_covariance_matrix: Accept struct covariance_matrix as
	first argument.

2008-11-21  John Darrington  <john@darrington.wattle.id.au>

	Avoid annoying double line at beginning of rows/columns

	Avoid critical when renewing dataset

	Remove gtk_sheet_move_query function

	Avoid runtime warning

2008-11-20  John Darrington  <john@darrington.wattle.id.au>

	Block entry change handler whilst traversing cells
	Prevent the "changed" signal from invoking a handler
	whilst the cells are changing.  This sometimes resulted
	in data erroneously getting entered into the new cell.

	Prevent double-click signal from being emitted when the row/column is insensitive

	Prevent traversing to cells for which there is no variable

	Prevent sheet from stepping outside its valid cell range.

	Fixed the scrolling of the sheet when the active cell changes.

2008-11-19  John Darrington  <john@darrington.wattle.id.au>

	Improved behaviour of arrow keys

	Rename functions

	Removed unused return value from cell activation features

	Improve the behaviour of the moveto function

	Reduce flicker on scrolling

	Combine cell_draw_bg and cell_draw_label into a single function

	Fix entry widget size allocation.

	Deleted lib/gtksheet/gtkextrafeatures.h

	Deleted gtkitementry
	Removed the (custom) widget gtkitementry and use a standard
	GtkEntry widget instead.

2008-11-19  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet
	Conflicts:

		lib/gtksheet/gtksheet.c

2008-11-18  John Darrington  <john@darrington.wattle.id.au>

	Fixed problems with justification

	Made everything except gtkitementry.c multi-head safe

	Added event handler for the Delete key

2008-11-17  John Darrington  <john@darrington.wattle.id.au>

	Made attributes justification default to GTK_JUSTIFY_LEFT

	Fix vertical alignment of text.

	Fixed horizontal alignment of text within cells.

	Use rectangle_from_cell where appropriate.

	New function rectangle_from_range.
	Generalised rectangle_from_cell into a new function
	rectangle_from_range, and implemented the former in terms of the latter.

	New function rectangle_from_cell
	Factored out a bit of common code by adding this new function.

	Fixed problem where the old active cell wasn't hidden.

	Removed the visibility predicate from the row/column models.
	These predicates have never been used, and just complicate things.

	Correct scrollbar adjustments for row/column titles width.

	Whitespace changes

2008-11-16  John Darrington  <john@darrington.wattle.id.au>

	Fixed the tooltips/hover feature

2008-11-15  John Darrington  <john@darrington.wattle.id.au>

	Fixed some other little bugs which kept in.

	Remove "backing pixmap".
	Removed the backing pixmap, which didn't serve any useful
	purpose, and draw directly onto the widget's GdkWindow
	instead.

2008-11-14  John Darrington  <john@darrington.wattle.id.au>

	Added .libs to .gitignore

	Whitespace changes, and function refactoring.

	More unused code deleted.

	Removed some unused code.

	Add useful test/example file.

2008-11-13  John Darrington  <john@darrington.wattle.id.au>

	Removed some unused gtksheet features.

	Delete gtkextra.c
	Use the standard g_signal_emit instead of the one from gtkextra.
	Sort out confusion over the "veto" variable.

2008-11-12  John Darrington  <john@darrington.wattle.id.au>

	Make the arrow keys behave more like what popular spreadsheets do.

	Simplified the scrolling behaviour
	Made all the scrolling take place via the horizontal or vertical GtkAdjustments
	instead of directly.  Some key events have been removed.
	We'll add them back again as and when necessary.

	Replaced macros with static inline functions

	Add prototype for gtk_xpaned_compute_position

	Remove calls to gdk_pointer_ungrab
	Replace gdk_pointer_ungrab with gdk_display_pointer_ungrab

	Remove calls to gdk_cursor_new
	Replace gdk_cursor_new with gdk_cursor_new_for_display.

	Remove unsafe colormap operations.

	Change bg_color and grid_color to an array of two colors

2008-11-11  John Darrington  <john@darrington.wattle.id.au>

	Added a set of per binary LDFLAGS parameters.
	Added two optional variables PSPP_LDFLAGS and PSPPIRE_LDFLAGS for the convenience of package creators who need to be able to pass flags to one program but not the other.

	Merge branch 'master' into rewrite-sheet

	Made some gui functions multi-head safe.

2008-11-10  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' into rewrite-sheet
	Conflicts:

		lib/gtksheet/automake.mk
		po/en_GB.po

2008-11-08  John Darrington  <john@darrington.wattle.id.au>

	Fail more gracefully when the file specified on the command line is neither system nor portable file.

	Fixed problems when configured with --without-libplot

	Don't canonicalise pathnames of included files.
	Fixes bug #24553

2008-11-07  John Darrington  <john@darrington.wattle.id.au>

	Corrected problem with mismatched linefeed characters.

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Updated British translations.

	Rewrote the command line parser using argp.
	Reimplemented the command line parser using argp.
	Removed some unimplemented options and added the ability
	for the gui to open system or portable files whose names
	are specified on the command line.

2008-11-06  Jason H Stover  <jhs@math.gcsu.edu>

	covariance-matrix.c: Added one-pass algorithm to compute covariance matrices.  New structure covariance_matrix contains the covariance matrix, related data and member functions. Added different routines to handle pairwise or listwise deletion of missing values.  Added many new functions.
	glm.q: Changed run_glm to use the new interface to the covariance
	matrix. Removed unused function data_pass_one().

2008-11-03  Ben Pfaff  <blp@gnu.org>

	Use gnulib 'close' module, for compatibility with newest Gnulib.
	Otherwise at link we get an undefined reference to symbol
	_close_used_without_requesting_gnulib_module_close.

	Thanks to Michel Boaventura for reporting the problem.

2008-10-31  John Darrington  <john@darrington.wattle.id.au>

	Move definition of OUTPUT_FILE_NAME to before first use.
	Problem manifested itself when building with cygwin.
	Reported by unknown-1

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Remove reference to sa_restorer, because it's not part of POSIX.
	Prevented compilation on Cygwin.  Reported by unknown-1

2008-10-17  John Darrington  <john@darrington.wattle.id.au>

	Marked CORRELATIONS and PEARSON CORRELATIONS as unimplemented.
	These commands were defined in command.def, but only the parser
	was actually implemented; they didn't actually do anything.
	Marking them as unimplemented until they're finished.

	Added (source) configurable default output directory.
	Some systems expect files to be dumped in the home directory
	instead of the current directory.  This change makes that
	easier.

2008-10-16  John Darrington  <john@darrington.wattle.id.au>

	New .gitignore file

2008-10-15  Ben Pfaff  <blp@gnu.org>

	Fix crash in tabulating long-string variables in CROSSTABS.
	Fixes bug #24557.

	Do not assume that canonicalize_file_name() always returns non-null.
	Fixes bug #24569.

2008-10-15  John Darrington  <john@darrington.wattle.id.au>

	Fixed return type of design_matrix_get_case_count.
	design_matrix_get_case_count was declared as returning a void
	but it tried to return a value.  Changed it to returning size_t

2008-10-15  Jason H Stover  <jhs@math.gcsu.edu>

	glm.q: Removed code to us QR decomposition, which requires the entire data set to be stored in a matrix.
	glm.q: fit_model: New function.

	design-matrix.[ch]: Added array of size_t's to store the number of
	data for each variable in struct design_matrix. Added accessor
	functions design_matrix_increment_case_count,
	design_matrix_set_case_count and design_matrix_get_case_count.

2008-10-15  Jason H Stover  <jhs@math.gcsu.edu>

	covariance_accumulate: New function for one-pass computation of the covariance matrix.
	Added hash table to temporarily store the elements that will be in the
	covariance matrix. The hash consists of the new data structure
	covariance_accumulator. New functions hash_numeric_alpha,
	covariance_accumulator_compare, match_nodes,
	covariance_accumulator_free, covariance_hsh_create,
	covariance_accumulator_hash, to assist with the hashing.

	update_product: New function.

	covariance_accumulator_to_matrix: New function to put hash elements
	into the covariance matrix.

	get_center: New function to center a value prior to adding it to
	the covariance matrix.

	covariance_matrix_insert: New function to add a value to the
	covariance matrix.

2008-10-14  John Darrington  <john@darrington.wattle.id.au>

	Set the DECIMAL point character from the LC_NUMERIC component of the current locale.

	Allow value labels for non integer values.

	Mark variables as unused

2008-10-13  Ben Pfaff  <blp@gnu.org>

	Make src/libpspp/version.c depend on Makefile.
	This ensures that re-running "configure" with different settings causes
	version.c to be rebuilt.

	Thanks to Ivy Foster <ivy.foster@gmail.com> for reporting the problem.

2008-10-11  Ben Pfaff  <blp@gnu.org>

	Make pspp_linreg_with_cov() void, since it doesn't actually return a value.

	Use const consistently in linreg routines, to avert warnings.

	Fix GCC 4.3 warning about uninitialized structure member.

	Fix warning due to unmunge() returning a const string that needs to be freed.

	Advise not to build in a directory whose name contains a space or apostrophe.
	Thanks to Richard Brittain <Richard.Brittain@dartmouth.edu> for pointing
	out the problem.

	Add prototype for design_matrix_clone() to design-matrix.h.

	Eliminate unused variable.

	Fix typo in comment.

	Parenthesize more defensively in macro definition.

	Eliminate unused code in glm.q, regression.q.

	Fix GCC 4.3 warnings about parameters of incomplete type.

	Implement variable and data file attributes.

	Make str_copy_rpad() behave properly with a DST_SIZE of 0.

	Make [ and ] valid tokens in the lexer.
	The VARIABLE ATTRIBUTE and DATAFILE ATTRIBUTE commands use [ and ]
	to designate array elements.  This is the first use for these tokens
	in the language implemented by PSPP, so until now these characters
	were rejected with an error whenever they appeared in a syntax file
	outside a comment or a quoted string.

	Fix build when build and source directories are separate.

2008-10-09  Ben Pfaff  <blp@gnu.org>

	Merge commit 'origin/stable'
	Conflicts:

		tests/automake.mk

2008-10-09  Ben Pfaff  <blp@gnu.org>

	Update NEWS for 0.6.1.

2008-10-09  John Darrington  <john@darrington.wattle.id.au>

	Fixed problems when building with --enable-relocatable
	Added the INSTALLDIR macro to tests/dissect-sysfile.
	Relocated the pathname of the splash screen graphic.

2008-10-05  John Darrington  <john@darrington.wattle.id.au>

	Allow hyphens in {sub}command names.
	Extend the lexer so as to allow hypens to appear
	in the identifiers which of subcommands.

	Add generated c files to .gitignore

2008-10-05  Ben Pfaff  <blp@gnu.org>

	Use Gnulib module "regex", to fix linking on Mingw.
	The GUI code uses POSIX regular expressions, which Mingw has in a separate
	library (-lregex).  We could just search for that library, but by including
	our own implementation (via Gnulib) we also work around known bugs in
	system regular expression implementations.

2008-10-05  John Darrington  <john@darrington.wattle.id.au>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

2008-10-04  John Darrington  <john@darrington.wattle.id.au>

	Moved the datasheet testing code out of src/{libspp,data}
	Avoids high level things (such as moments) from appearing
	in libpspp-core, which prevented it from being used standalone.

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Update NEWS for 0.6.1-rc2.

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Add ".sav" or ".por" suffix to filename when saving with Save_As
	Closes bug #23137

	(This is a cross-port of commit 169887f6d6d7bf5c10d5b05786aa3fd252040c93
	from the master branch, originally authored and committed by John
	Darrington.)

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Only use -fgnu89-inline if the compiler actually supports it.
	Jason Stover pointed out that we were using -fgnu89-inline even when the
	compiler didn't support it.  Obviously that's not good.

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Also warn about missing prerequisites as we encounter them (bug #24445).
	It can happen that configure bails out in the middle due to some issue
	that PSPP cannot directly control; for example, AC_CHECK_SIZEOF exits
	unconditionally if it fails.  If this happens then, before, we would fail
	to warn about missing required prerequisites that could well have been
	the actual cause of the failure, because we only warn about these at
	the end of the run.

	Now, we warn about missing prerequisites both at time of detection and
	in a summary at the end, to head off this problem.

	Thanks to Jim Orr for allowing me to notice the problem.

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Add note to INSTALL explaining how to use libraries from /usr/local.
	Several users have had trouble building PSPP with self-built GSL, etc.
	that were installed to /usr/local.  Explain how to do it here to be
	more friendly to Unix novices.

	Thanks to Jim Orr for making me realize that this was important.

2008-10-03  Ben Pfaff  <blp@gnu.org>

	Add pspp-dev.dvi to CLEANFILES.
	Automake does not seem to clean this file automatically.  (Is this an
	Automake bug?)

	Append $(EXEEXT_FOR_BUILD) to output file name when building q2c.
	Thanks to "Michel Boaventura" <michel.boaventura@gmail.com> for reporting
	this problem and to John Darrington for assisting with the solution.

2008-10-02  Ben Pfaff  <blp@gnu.org>

	Update NEWS for 0.6.1 release.

2008-10-02  John Darrington  <john@darrington.wattle.id.au>

	Enable recode unsupported RECODE mappings.
	Fixes bug #21578

2008-09-30  Ben Pfaff  <blp@gnu.org>

	Avoid the C99-only feature of declaring a variable as part of a for statement.

	Avoid bug in GCC 4.3 in hmap-test.  Add comment warning about the bug.
	See patch #6637 for additional commentary.

2008-09-30  Ben Pfaff  <blp@gnu.org>

	New hmap and hmapx hash table implementations.
	These new hash table implementations should yield better performance
	than the older one, for at least two reasons.  First, they are based
	on "separate chaining" rather than "open addressing", and thus do not
	suffer from clustering, which is likely to be an issue with the hash
	functions that we have been using.  Second, they are carefully written
	to generate simple code that should inline well.

	Also, move the existing hash functions into a new pair of files,
	src/lib/hash-functions.[ch].  This allows users of the new hash tables
	to use them without including the older hash table header.

2008-09-29  John Darrington  <john@darrington.wattle.id.au>

	Updated the description of the --with-gui-tools flag.
	Some users were misunderstanding the purpose of this flag,
	and using it in normal builds, and suffering the consequences.
	This description, hopefully, makes it clear that they don't
	need it.

2008-09-26  John Darrington  <john@darrington.wattle.id.au>

	Whitespace changes only

	Avoid forcing an int into a void *

	Add .la to gitignore

2008-09-22  John Darrington  <jmd@pc-188.(none)>

	Fixed minor build problems.
	Fixed two build problems which crept in when moving to
	libtool libraries. One manifested itslef when building
	on a system with ncurses in a non-standard place.  The
	other when building after configured with --enable-debug

2008-09-20  John Darrington  <john@darrington.wattle.id.au>

	Avoid crash when recovering from syntax error in RELIABILITY.

	Mark variable as unused.

2008-09-19  John Darrington  <john@darrington.wattle.id.au>

	Moved all static libraries to libtool libraries.
	By default, this means that both pspp and psppire
	will use two shared libraries.  If static libraries
	are desired, then this can be achieved by configuring
	with LDFLAGS=-static-libtool-libs

	Closes patch #6633

2008-09-19  John Darrington  <john@darrington.wattle.id.au>

	Used pow2(x) instead of x * x where appropriate.

	Added the /WILCOXON subcommand to NPAR TESTS
	Implemented wilcoxon signed rank test.  Thanks to Ben
	for review.  Closes patch #6635

	Added the MEDIAN function to AGGREGATE.
	Users can now aggregate data by the median.
	Closes bug #11975

2008-09-17  Jason H Stover  <jhs@math.gcsu.edu>

	coeff_init: Do not use coeff[0] as the intercept. rearrange_covariance_matrix: Fix permutation of rows/columns. run_glm: Account for categorical values. cmd_glm: Drop double-allocation of model linreg.h: Declare pspp_linreg_with_cov().

2008-09-15  Jason H Stover  <jhs@math.gcsu.edu>

	pspp_coeff_var_to_coeff: Guard against a null pointer in coefs[i]->v_info. regression.q: Pass variable lists to pspp_linreg_cache_alloc. pspp_linreg_cache_alloc: Take variable lists as arguments to allow easier access 			 later and computation of number of coefficients during allocation. rearrange_covariance_matrix: Use the new stored list of variables in the linreg_cache 			     instead of calling pspp_linreg_get_vars(). cache_init: Move computation of n_coeffs to pspp_linreg_cache_alloc().

2008-09-15  John Darrington  <john@marilyn.intra>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
	Conflicts:

		po/en_GB.po

2008-09-14  John Darrington  <jmd@pc-188.(none)>

	Added some error checking to casereader_create_append_rank
	Thanks to Ben Pfaff for this suggestion.

	Use pow2 function instead of SQR macro.
	Thanks to Ben Pfaff for this suggestion.

2008-09-14  John Darrington  <john@darrington.wattle.id.au>

	Don't append % to count totals.
	There was an erroneous '%' appended to the totals for count
	values. This change removes it.  Fixes bug #24003

	Don't destroy dictionary on error if we didn't create it.
	Avoid assertion failure on bad input.  Closes bug #24031

2008-09-14  John Darrington  <john@cyane.csse.uwa.edu.au>

	Fixed bug which caused a crash if "end data." was not left aligned.

2008-09-12  John Darrington  <john@marilyn.intra>

	Added src/math/statistic.h to dist files.

	Added README to distributed files

2008-09-12  John Darrington  <jmd@pc-188.(none)>

	Added new casetranslator for appending ranks.
	New function casereader_create_append_rank, which
	returns a translating casereader which appends the
	rank of the variable upon which the casereader is
	sorted.

	New function: var_create_internal.
	Added a new function for creating "internal" variables.
	Ie, those which don't appear in any dictionary, and
	are for the purposes of internal calculations.

2008-09-12  John Darrington  <john@marilyn.intra>

	Downgraded mismatched gtk warning.
	Changed the notice about mismatched gtk version from g_critical
	to g_warning, since usually it's not particularly serious.

	Implemented the reliability command.
	Added a cut down version of the reliability command.
	This version supports calculation of the Cronbach alpha
	statistic.  Closes bug #24021

2008-09-12  Jason H Stover  <jhs@math.gcsu.edu>

	Do not use const in pspp_linreg_get_vars. Use correct covariance matrix in pspp_linreg_with_cov. Initialize model cache in glm.q

2008-09-08  John Darrington  <john@marilyn.intra>

	Add ".sav" or ".por" suffix to filename when saving with Save_As
	Closes bug #23137

2008-09-05  John Darrington  <john@marilyn.intra>

	Add n_missing argument to casereader_create_filter_missing
	Add a new argument to casereader_create_filter_missing, which,
	if non-null, receives the number of cases filtered out by the
	new reader.  Update all callers of this function.

	Fixed some issues calculating percentiles when missing values are involved.
	Added an extra argument to order_stats_accumulate, to indicate which classes
	of missing values should be excluded.  Added an internal cumulative weight
	counter, to ensure that the declared total weight agrees with that which is
	encountered.

	Fixed some breakage in comment lines.

	Rewrote the EXAMINE command.
	Made use of the new casegrouper construct instead of relying on hashes.
	Rewrote the percentiles calculations so as not to require dynamically
	allocating memory for all the data. Encapsulated many of the other statistics'
	calculations, so as to have similar interfaces.

2008-09-05  Jason H Stover  <jhs@math.gcsu.edu>

	Added design_matrix_clone() to clone a design matrix.

2008-09-04  John Darrington  <jmd@pc-188.(none)>

	Added some common glob patterns to .gitignore

	Oops.  Neglected to add new files.
	Actually I'm *sure* that I did do "git add" on all these,
	but for whatever reason git didn't check them in.
	Hopefully it's right this time.  One day I'll work out
	how to use git effectively.  One day ...

2008-09-04  John Darrington  <john@marilyn.intra>

	Add casereader_create_append_numeric function.
	This change provides a new casereader translator which
	appends a numeric value to casereader; the value to be
	determined by a user supplied function.

	Added a n_missing parameter to casereader_create_filter_missing.
	Also update all callers.  Thanks to Ben for reviewing this patch.

2008-09-04  John Darrington  <john@marilyn.intra>

	Complete re-implementation of the EXAMINE command.
	The implementation now avoids storing large amounts of data on the
	heap.  Instead it uses the casereader functionality and
	the casegrouper structure instead of hashes to store group data.
	Added documentation for the /ID subcommand which was missing.

	Better encapsulated the calculation of boxplot data, extreme
	values, histograms, NP plots and percentiles and others. Made
	the start of a common base interface for statistic calculations.
	Also updated the frequencies code to fit new interfaces.

	Added a test for bug #23852

2008-09-04  John Darrington  <john@marilyn.intra>

	Renumber development branch (master) to 0.7.0

2008-08-22  John Darrington  <john@marilyn.intra>

	Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp

	Work around bug #24033 (appending to output in cygwin).
	Cygwin (and perhaps other w32 platforms) cannot write to a file
	whilst it is open for reading.  This kludge therefore closes the
	output after pasting into the output viewer and re-opens when new
	data is appended.  It'll be slow if the output file becomes large.

2008-08-18  Ben Pfaff  <blp@gnu.org>

	Start generating ChangeLog automatically from Git commit messages.
	Thus, at the same time we rename the existing ChangeLog files to
	OChangeLog and add them to EXTRA_DIST to make sure that they get
	distributed.

2008-08-17  Jason H Stover  <jhs@math.gcsu.edu>

	Estimate parameters. Moved some code to re-usable functions.

2008-08-16  Jason H Stover  <jhs@math.gcsu.edu>

	Pointer DEPVAR is now required to be set correctly in linreg.c

	Initial versions of functions to estimate parameters via the covariance matrix

2008-08-07  John Darrington  <jmd@pc-188.(none)>

	Initialise label for piechart slices. (Closes bug #24014

	Bump minor version number so that git builds are distinct from released version

2008-07-28  Ben Pfaff  <blp@gnu.org>

	Use standard C99 isfinite, isnan, isinf in place of GSL substitutes.
	In change a9afcdd22, "Use gsl_isnan instead of isnan, ...," isfinite,
	isnan, and isinf were changed to use the GSL substitutes because of
	lack of portability of the C99 versions.  Now, gnulib has portable
	versions of all of these, so change them back.

	This commit changes calls to gsl_finite() to call isfinite() instead
	of the equivalent finite().  isfinite() is correct here: both gsl_finite()
	and finite() return true for NaNs, which is a surprising result given
	that a NaN is definitely not finite, but isfinite() returns false and,
	more importantly, behaves as actually wanted in each place it is used
	in PSPP code.

	This commit requires upgrading gnulib to at least change 5183a0e3c,
	"Add missing dependencies on new m4/exponent[fdl].m4 files," or later,
	and re-running "make -f Smake".
