John Darrington [Sun, 27 Dec 2009 18:04:59 +0000 (19:04 +0100)]
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.
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.