John Darrington [Sun, 8 Apr 2012 15:59:10 +0000 (17:59 +0200)]
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.
Ben Pfaff [Wed, 4 Apr 2012 04:14:03 +0000 (21:14 -0700)]
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’
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.
John Darrington [Sun, 25 Mar 2012 08:47:27 +0000 (10:47 +0200)]
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.
John Darrington [Sat, 24 Mar 2012 06:42:51 +0000 (07:42 +0100)]
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.
Ben Pfaff [Mon, 19 Mar 2012 04:40:49 +0000 (21:40 -0700)]
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.
John Darrington [Fri, 16 Mar 2012 19:37:21 +0000 (20:37 +0100)]
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
John Darrington [Wed, 14 Mar 2012 18:42:49 +0000 (19:42 +0100)]
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.
John Darrington [Sat, 3 Mar 2012 10:33:38 +0000 (11:33 +0100)]
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.
Ben Pfaff [Fri, 2 Mar 2012 07:11:22 +0000 (23:11 -0800)]
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.
Ben Pfaff [Fri, 2 Mar 2012 06:32:42 +0000 (22:32 -0800)]
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.
Ben Pfaff [Thu, 1 Mar 2012 06:43:22 +0000 (22:43 -0800)]
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.
John Darrington [Thu, 1 Mar 2012 20:21:44 +0000 (21:21 +0100)]
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.
John Darrington [Tue, 28 Feb 2012 20:47:09 +0000 (21:47 +0100)]
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.
John Darrington [Wed, 29 Feb 2012 17:32:20 +0000 (18:32 +0100)]
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.
John Darrington [Sun, 26 Feb 2012 17:11:43 +0000 (18:11 +0100)]
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.
Ben Pfaff [Sat, 18 Feb 2012 19:03:01 +0000 (11:03 -0800)]
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>