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>
John Darrington [Sat, 18 Feb 2012 11:18:23 +0000 (12:18 +0100)]
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.
John Darrington [Tue, 14 Feb 2012 10:13:15 +0000 (11:13 +0100)]
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.
John Darrington [Mon, 13 Feb 2012 18:16:37 +0000 (19:16 +0100)]
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.
Ben Pfaff [Sat, 11 Feb 2012 18:16:25 +0000 (10:16 -0800)]
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>
Ben Pfaff [Sat, 11 Feb 2012 18:09:28 +0000 (10:09 -0800)]
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.)
Ben Pfaff [Wed, 8 Feb 2012 06:08:41 +0000 (22:08 -0800)]
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.
John Darrington [Sat, 4 Feb 2012 07:44:05 +0000 (08:44 +0100)]
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.
Ben Pfaff [Fri, 27 Jan 2012 06:06:02 +0000 (22:06 -0800)]
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.
Ben Pfaff [Fri, 27 Jan 2012 05:27:36 +0000 (21:27 -0800)]
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.
John Darrington [Thu, 12 Jan 2012 20:21:54 +0000 (21:21 +0100)]
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
John Darrington [Wed, 11 Jan 2012 21:04:14 +0000 (22:04 +0100)]
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.
Ben Pfaff [Wed, 11 Jan 2012 04:52:11 +0000 (20:52 -0800)]
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>
Ben Pfaff [Sat, 7 Jan 2012 21:14:02 +0000 (13:14 -0800)]
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>