John Darrington [Wed, 16 Dec 2009 20:52:17 +0000 (21:52 +0100)]
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.
John Darrington [Wed, 16 Dec 2009 18:49:22 +0000 (19:49 +0100)]
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.
John Darrington [Sat, 12 Dec 2009 11:55:57 +0000 (12:55 +0100)]
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.
John Darrington [Mon, 16 Nov 2009 18:29:25 +0000 (19:29 +0100)]
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.
John Darrington [Sun, 15 Nov 2009 21:30:18 +0000 (22:30 +0100)]
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.
Ben Pfaff [Thu, 15 Oct 2009 04:20:44 +0000 (21:20 -0700)]
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.
Ben Pfaff [Thu, 15 Oct 2009 03:41:25 +0000 (20:41 -0700)]
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.
Ben Pfaff [Mon, 12 Oct 2009 04:31:18 +0000 (21:31 -0700)]
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.
Ben Pfaff [Mon, 12 Oct 2009 04:26:30 +0000 (21:26 -0700)]
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.
Ben Pfaff [Sun, 11 Oct 2009 21:07:00 +0000 (14:07 -0700)]
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.
Ben Pfaff [Sun, 11 Oct 2009 20:53:50 +0000 (13:53 -0700)]
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.
Ben Pfaff [Sat, 10 Oct 2009 21:35:55 +0000 (14:35 -0700)]
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.
Ben Pfaff [Fri, 9 Oct 2009 02:50:59 +0000 (19:50 -0700)]
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.
Ben Pfaff [Mon, 5 Oct 2009 03:37:10 +0000 (20:37 -0700)]
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.
Ben Pfaff [Mon, 5 Oct 2009 03:27:30 +0000 (20:27 -0700)]
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.
Ben Pfaff [Thu, 1 Oct 2009 04:50:13 +0000 (21:50 -0700)]
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.
Ben Pfaff [Thu, 1 Oct 2009 04:45:47 +0000 (21:45 -0700)]
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
Ben Pfaff [Thu, 1 Oct 2009 03:33:34 +0000 (20:33 -0700)]
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.
Ben Pfaff [Wed, 30 Sep 2009 04:47:09 +0000 (21:47 -0700)]
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.
Ben Pfaff [Wed, 30 Sep 2009 04:33:34 +0000 (21:33 -0700)]
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.
John Darrington [Mon, 28 Sep 2009 18:27:04 +0000 (20:27 +0200)]
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.
Ben Pfaff [Sat, 26 Sep 2009 04:14:31 +0000 (21:14 -0700)]
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.
Ben Pfaff [Sat, 26 Sep 2009 03:38:07 +0000 (20:38 -0700)]
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.
Ben Pfaff [Fri, 25 Sep 2009 04:38:09 +0000 (21:38 -0700)]
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.
Ben Pfaff [Thu, 24 Sep 2009 02:45:56 +0000 (19:45 -0700)]
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.
Ben Pfaff [Wed, 23 Sep 2009 05:19:17 +0000 (22:19 -0700)]
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.
Ben Pfaff [Mon, 21 Sep 2009 04:38:12 +0000 (21:38 -0700)]
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.