Ben Pfaff [Mon, 18 Jan 2010 23:59:56 +0000 (15:59 -0800)]
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.
Ben Pfaff [Mon, 18 Jan 2010 23:13:02 +0000 (15:13 -0800)]
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.
Ben Pfaff [Mon, 18 Jan 2010 21:21:24 +0000 (13:21 -0800)]
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.
Ben Pfaff [Sun, 17 Jan 2010 22:37:45 +0000 (14:37 -0800)]
Fix use of uninitialized data in table_casereader_get_cell().
Thanks to John Darrington for pointing out the problem.
Ben Pfaff [Sun, 17 Jan 2010 06:11:47 +0000 (22:11 -0800)]
psppire: Reimplement overview pane for output viewer window.
Ben Pfaff [Sun, 17 Jan 2010 03:48:57 +0000 (19:48 -0800)]
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.
Ben Pfaff [Sun, 17 Jan 2010 02:07:31 +0000 (18:07 -0800)]
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.
Ben Pfaff [Sun, 17 Jan 2010 00:06:38 +0000 (16:06 -0800)]
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.
Ben Pfaff [Sat, 16 Jan 2010 21:09:48 +0000 (13:09 -0800)]
Distribute some files that were forgotten.
Ben Pfaff [Tue, 22 Dec 2009 01:11:47 +0000 (17:11 -0800)]
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.
Ben Pfaff [Mon, 21 Dec 2009 04:05:24 +0000 (20:05 -0800)]
str: New function ds_steal_cstr.
Ben Pfaff [Mon, 21 Dec 2009 04:00:47 +0000 (20:00 -0800)]
Add new SENTINEL macro to compiler.h, for GCC's __attribute__((sentinel)).
John Darrington [Fri, 25 Dec 2009 18:18:13 +0000 (19:18 +0100)]
FACTOR: Added "Scree Plots"
John Darrington [Fri, 25 Dec 2009 09:59:17 +0000 (10:59 +0100)]
Remove obsolete file
John Darrington [Fri, 25 Dec 2009 09:51:01 +0000 (10:51 +0100)]
Merge branch 'master' into output
Conflicts:
configure.ac
John Darrington [Thu, 24 Dec 2009 16:05:12 +0000 (17:05 +0100)]
Fix fault XML in documentation.
Avoid broken XML generated by Texinfo. Add a make rule
to check for this in the future.
John Darrington [Thu, 24 Dec 2009 12:37:53 +0000 (13:37 +0100)]
New translations from translationproject.org
John Darrington [Thu, 24 Dec 2009 12:33:45 +0000 (13:33 +0100)]
FACTOR: Implemented the /PRINT=CORRELATIONS SIG DETERMINANT subcommands
John Darrington [Wed, 23 Dec 2009 19:11:06 +0000 (20:11 +0100)]
FACTOR: Remove diagnostic messages
John Darrington [Wed, 23 Dec 2009 17:39:31 +0000 (18:39 +0100)]
First attempt at FACTOR command
John Darrington [Fri, 18 Dec 2009 19:34:12 +0000 (20:34 +0100)]
Merge branch 'master' into output
Conflicts:
NEWS
configure.ac
src/output/charts/dummy-chart.c
John Darrington [Fri, 18 Dec 2009 18:48:44 +0000 (19:48 +0100)]
Remove gettext markup from g_param_spec arguments.
These strings are never seen by users, so there's little
point in translating them.
John Darrington [Fri, 18 Dec 2009 18:15:56 +0000 (19:15 +0100)]
Added the Catalan translation from translationproject.org
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 20:09:55 +0000 (21:09 +0100)]
Merge commit 'origin/stable'
Conflicts:
NEWS
configure.ac
po/nl.po
src/ui/gui/dict-display.c
John Darrington [Wed, 16 Dec 2009 19:52:33 +0000 (20:52 +0100)]
Fix bug in ROC parsing long string variables
John Darrington [Wed, 16 Dec 2009 19:30:08 +0000 (20:30 +0100)]
Properly escape marked up text in dictionary views
John Darrington [Wed, 16 Dec 2009 19:08:22 +0000 (20:08 +0100)]
Ensure all symbols in glade library are resolved
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 [Tue, 15 Dec 2009 18:18:51 +0000 (19:18 +0100)]
Remove unused GtkAdjustment objects
Ben Pfaff [Mon, 14 Dec 2009 05:39:18 +0000 (21:39 -0800)]
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].
Ben Pfaff [Mon, 14 Dec 2009 05:37:08 +0000 (21:37 -0800)]
Get rid of superfluous Makefile in src/output/charts.
John Darrington [Mon, 14 Dec 2009 19:01:38 +0000 (20:01 +0100)]
Fix missing menu label
John Darrington [Mon, 14 Dec 2009 18:51:16 +0000 (19:51 +0100)]
Don't allow string variables in ROC dialog as dependent variable
John Darrington [Mon, 14 Dec 2009 18:28:46 +0000 (19:28 +0100)]
Remove unused code
John Darrington [Mon, 14 Dec 2009 18:21:51 +0000 (19:21 +0100)]
Show only numeric variables in correlations dialog
John Darrington [Sun, 13 Dec 2009 19:40:38 +0000 (20:40 +0100)]
Merge branch 'master' of ssh://john@cellform.com/home/john/Development/pspp-selector
John Darrington [Sun, 13 Dec 2009 19:39:35 +0000 (20:39 +0100)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Sun, 13 Dec 2009 19:37:13 +0000 (20:37 +0100)]
Added a dialog box for the CORRELATION command
John Darrington [Sun, 13 Dec 2009 14:50:09 +0000 (15:50 +0100)]
New function psppire_var_view_contains_var
Added a function to test whether a variable is currently
contained within a PsppireVarView widget.
John Darrington [Sun, 13 Dec 2009 14:45:34 +0000 (15:45 +0100)]
Change psppire_dicts pointers from G_POINTER to PSPPIRE_VAR_PTR_TYPE
John Darrington [Sun, 13 Dec 2009 12:19:27 +0000 (13:19 +0100)]
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.
John Darrington [Sat, 12 Dec 2009 20:35:23 +0000 (21:35 +0100)]
ROC dialog: Disable reference button when curve is not drawn
John Darrington [Sat, 12 Dec 2009 15:48:02 +0000 (16:48 +0100)]
Implemented a dialog box for the ROC command
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 [Sat, 12 Dec 2009 09:29:43 +0000 (10:29 +0100)]
Remove unused code
John Darrington [Sat, 12 Dec 2009 09:26:31 +0000 (10:26 +0100)]
Rework the recode-dialog to fit new selector / psppire-var-view objects.
Ben Pfaff [Tue, 8 Dec 2009 05:01:41 +0000 (21:01 -0800)]
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.
Ben Pfaff [Sun, 6 Dec 2009 04:44:01 +0000 (20:44 -0800)]
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.
Ben Pfaff [Sun, 6 Dec 2009 04:32:35 +0000 (20:32 -0800)]
file-name: Generalize fn_interp_vars().
This more general-purpose version of fn_interp_vars() will be useful in an
upcoming commit.
Ben Pfaff [Sun, 6 Dec 2009 04:19:58 +0000 (20:19 -0800)]
casereader: New function casereader_select().
Ben Pfaff [Sun, 6 Dec 2009 04:12:54 +0000 (20:12 -0800)]
casereader: New functions casereader_project() and casereader_project_1().
Ben Pfaff [Sun, 6 Dec 2009 04:04:30 +0000 (20:04 -0800)]
casereader: New function casereader_translate_stateless().
Ben Pfaff [Sun, 6 Dec 2009 02:30:51 +0000 (18:30 -0800)]
casereader: New function casereader_create_empty().
Ben Pfaff [Sat, 5 Dec 2009 22:49:07 +0000 (14:49 -0800)]
casereader: New function casereader_advance().
Ben Pfaff [Sat, 5 Dec 2009 20:32:59 +0000 (12:32 -0800)]
casereader: New function casereader_truncate().
Ben Pfaff [Thu, 26 Nov 2009 05:27:17 +0000 (21:27 -0800)]
subcase: Add more useful functions.
Ben Pfaff [Sat, 5 Dec 2009 19:56:50 +0000 (11:56 -0800)]
New data type string_map, a string-to-string map.
John Darrington [Thu, 3 Dec 2009 20:50:15 +0000 (21:50 +0100)]
Update to reflect latest copy of Gnulib
Conflicts:
README.Git
src/data/make-file.c
Ben Pfaff [Thu, 26 Nov 2009 05:21:03 +0000 (21:21 -0800)]
New data type string_set, a set of unique strings.
Ben Pfaff [Thu, 26 Nov 2009 05:19:04 +0000 (21:19 -0800)]
hmapx: New function hmapx_is_empty().
Ben Pfaff [Thu, 26 Nov 2009 05:18:50 +0000 (21:18 -0800)]
hmap: New function hmap_is_empty().
Ben Pfaff [Fri, 27 Nov 2009 18:57:49 +0000 (10:57 -0800)]
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.
John Darrington [Tue, 24 Nov 2009 18:50:01 +0000 (19:50 +0100)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Tue, 24 Nov 2009 18:31:05 +0000 (19:31 +0100)]
Search for a gettext implementation at configure time
John Darrington [Mon, 23 Nov 2009 19:03:05 +0000 (20:03 +0100)]
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.
John Darrington [Thu, 19 Nov 2009 18:37:37 +0000 (19:37 +0100)]
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.
John Darrington [Wed, 18 Nov 2009 19:41:06 +0000 (20:41 +0100)]
Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
John Darrington [Wed, 18 Nov 2009 19:40:25 +0000 (20:40 +0100)]
Update to reflect latest copy of Gnulib
John Darrington [Wed, 18 Nov 2009 19:00:45 +0000 (20:00 +0100)]
Fix problem building with --without-libplot
John Darrington [Wed, 18 Nov 2009 18:10:48 +0000 (19:10 +0100)]
Fix property erroneously altered in commit
a9a69251edd625a50f271af5d64c157533b5fe48
John Darrington [Tue, 17 Nov 2009 18:29:56 +0000 (19:29 +0100)]
Separated psppire_selector_set_subjects into two individual functions
John Darrington [Mon, 16 Nov 2009 21:23:54 +0000 (22:23 +0100)]
Updated the Dutch translation at the translator's request
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.
John Darrington [Sun, 15 Nov 2009 14:40:29 +0000 (15:40 +0100)]
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
John Darrington [Sat, 14 Nov 2009 19:24:56 +0000 (20:24 +0100)]
Fix some minor problems with the reliability dialog
John Darrington [Fri, 13 Nov 2009 20:55:07 +0000 (21:55 +0100)]
Properly display ampersand characters in dictionary view widgets
John Darrington [Sun, 8 Nov 2009 17:17:04 +0000 (18:17 +0100)]
Use significance_of_correlation function in t-test.
Use the new function in src/math/correlation.c instead
of doing it ourselves.
John Darrington [Sun, 8 Nov 2009 15:33:52 +0000 (16:33 +0100)]
New module src/math/correlation
Created a new module to hold some common routines pertaining
to correlation coefficients.
John Darrington [Sat, 7 Nov 2009 07:39:07 +0000 (08:39 +0100)]
Remove inappropriate call to gtk_window_set_keep_above
Thanks to Hugo Florentino for reporting this problem.
Ben Pfaff [Sat, 24 Oct 2009 15:42:33 +0000 (08:42 -0700)]
Merge "master" into "output".
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 [Mon, 12 Oct 2009 04:03:50 +0000 (21:03 -0700)]
Revert "INSTALL: Mention that GNU make is required."
BSD make is now supported.
Ben Pfaff [Tue, 13 Oct 2009 03:41:37 +0000 (20:41 -0700)]
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.
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:56:29 +0000 (13:56 -0700)]
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.
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 [Sun, 11 Oct 2009 20:33:27 +0000 (13:33 -0700)]
Avoid nonportable -i option in sed invocation.
POSIX sed only has -e, -f, and -n options.
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.
John Darrington [Sat, 10 Oct 2009 14:36:02 +0000 (16:36 +0200)]
Converted psppire.glade to psppire.ui
John Darrington [Sat, 10 Oct 2009 14:25:29 +0000 (16:25 +0200)]
Converted some additional .glade files .ui
John Darrington [Sat, 10 Oct 2009 13:22:27 +0000 (15:22 +0200)]
Allow xgettext to extract strings from .ui files
John Darrington [Sat, 10 Oct 2009 12:43:39 +0000 (14:43 +0200)]
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.
John Darrington [Sat, 10 Oct 2009 07:43:13 +0000 (09:43 +0200)]
Avoid use of $* in Makefile since it's problematic
Thanks to Ben Pfaff for reporting this.
Ben Pfaff [Wed, 7 Oct 2009 03:49:31 +0000 (20:49 -0700)]
Release PSPP 0.6.2-rc1.