John Darrington [Thu, 7 Jul 2011 10:14:29 +0000 (12:14 +0200)]
GLM: Fix memory leaks
John Darrington [Thu, 7 Jul 2011 09:39:21 +0000 (11:39 +0200)]
Categoricals: remove var member which is no longer required
John Darrington [Wed, 6 Jul 2011 18:56:42 +0000 (20:56 +0200)]
Categoricals: Replace single value by a case, so that interactions can be supported
John Darrington [Wed, 6 Jul 2011 15:54:32 +0000 (17:54 +0200)]
Change interaction functions to use cases rather than value arrays
John Darrington [Tue, 5 Jul 2011 17:45:31 +0000 (19:45 +0200)]
Categoricals to take interactions instead of variables.
This change alters the API of categoricals_create, so as to
accept an array of interactions instead of an array of variables.
Currently, however only interactions which contain exactly one
variable will run correctly.
John Darrington [Tue, 5 Jul 2011 13:14:18 +0000 (15:14 +0200)]
GLM: Rewrite interactions module and update glm.c to use it in some places
John Darrington [Mon, 4 Jul 2011 15:03:26 +0000 (17:03 +0200)]
GLM: Prepare the lexer to accept nested variables
John Darrington [Mon, 25 Jul 2011 19:40:27 +0000 (21:40 +0200)]
Added dialog for the NPAR RUNS subcommand
John Darrington [Mon, 25 Jul 2011 17:15:20 +0000 (19:15 +0200)]
K-means dialog only should accept numeric variables
John Darrington [Mon, 25 Jul 2011 14:01:48 +0000 (16:01 +0200)]
Add some "mnemonic_widget" refs which had been forgotten
John Darrington [Mon, 25 Jul 2011 12:38:42 +0000 (14:38 +0200)]
Added dialog box for quick cluster command
Ben Pfaff [Sun, 24 Jul 2011 04:38:53 +0000 (21:38 -0700)]
Updated the Lithuanian translation from translationproject.org.
Ben Pfaff [Mon, 4 Jul 2011 21:49:22 +0000 (14:49 -0700)]
variable: Simplify var_set_display_width().
I don't see a reason to keep old_width or to call
dict_var_changed() if nothing changed.
Ben Pfaff [Mon, 4 Jul 2011 21:47:35 +0000 (14:47 -0700)]
format: Use max width for over-max decimals in fmt_fix().
In fmt_fix(), requesting more decimals than are possible did
not increase the width at all. It makes better sense to use
the maximum width and maximum decimals for this case, so this
commit makes that change.
Ben Pfaff [Mon, 4 Jul 2011 21:12:42 +0000 (14:12 -0700)]
format: Honor width step in fmt_fix().
This ensures that hexadecimal format widths will be a multiple
of 2 after fmt_fix() finishes with them.
This function is used only by the GUI, which doesn't generally
work with hexadecimal formats, so it might not fix a real bug
in practice.
Ben Pfaff [Wed, 13 Jul 2011 05:06:37 +0000 (22:06 -0700)]
GLM: Allow +/- .001 for Corrected Total Type III Sum of Squares.
Jeremy Lavergne <jeremy@lavergne.gotdns.org> reported that on
Mac OS X this value is calculated as 329.628 instead of
329.627. John Darrington said that he's seen the same on
GNU/Linux depending on compiler optimization flags.
Ben Pfaff [Sun, 10 Jul 2011 22:51:13 +0000 (15:51 -0700)]
tests: Avoid nonportable "mktemp" usage.
Jeremy Lavergne <jeremy@lavergne.gotdns.org> reported that
mktemp on Mac OS X does not have a -p option. But I don't see
a reason to use mktemp at all here, so this commit uses a fixed
name instead.
Ben Pfaff [Sun, 10 Jul 2011 22:24:45 +0000 (15:24 -0700)]
tests: Fix Perl module tests on Mac OS X.
Tested by Jeremy Lavergne <jeremy@lavergne.gotdns.org>.
John Darrington [Sat, 9 Jul 2011 07:54:15 +0000 (09:54 +0200)]
QUICK CLUSTER: Add documentation
John Darrington [Sat, 9 Jul 2011 07:53:53 +0000 (09:53 +0200)]
QUICK CLUSTER: Add MISSING=EXCLUDE for consistency with other commands
John Darrington [Fri, 8 Jul 2011 14:32:30 +0000 (16:32 +0200)]
QUICK CLUSTER: Implement pairwise missing option
John Darrington [Fri, 8 Jul 2011 13:53:37 +0000 (15:53 +0200)]
Merge remote branch 'savannah/master'
John Darrington [Wed, 6 Jul 2011 09:55:11 +0000 (11:55 +0200)]
Remove redundant files in test sources, that apparently caused link problems
John Darrington [Wed, 6 Jul 2011 08:47:19 +0000 (10:47 +0200)]
Fix compiler warnings
John Darrington [Sun, 3 Jul 2011 13:54:27 +0000 (15:54 +0200)]
Added dialog box for the AUTORECODE command. Closes bug #30009
John Darrington [Sat, 2 Jul 2011 15:32:16 +0000 (17:32 +0200)]
Quick Cluster: Avoid crash when presented with missing values
John Darrington [Sat, 2 Jul 2011 14:12:57 +0000 (16:12 +0200)]
QUICK-CLUSTER: Seperate const from non-const data and make it handle splits
John Darrington [Sat, 2 Jul 2011 12:01:09 +0000 (14:01 +0200)]
For consistency with other files use <> instead of ""
John Darrington [Sat, 2 Jul 2011 12:00:17 +0000 (14:00 +0200)]
Remove some gnulib modules whichare being flagges as obsolete
John Darrington [Sat, 2 Jul 2011 09:05:16 +0000 (11:05 +0200)]
Use PACKAGE_URL from config.h instead of literal string
Ben Pfaff [Tue, 28 Jun 2011 05:13:35 +0000 (22:13 -0700)]
doc: Fix order of NUMERIC and MRSETS sections.
The sections were out of alphabetical order.
Found by texi2html.
John Darrington [Fri, 1 Jul 2011 18:05:20 +0000 (20:05 +0200)]
Update NEWS file
John Darrington [Fri, 1 Jul 2011 18:04:58 +0000 (20:04 +0200)]
Implemented the POSTHOC subcommand for the ONEWAY command.
Currently, only LSD, Tukey, Bonferroni, Scheffe, Games-Howell
and Sidak are supported. These are presented as Multiple
Comparisons - the Homogeneous Subsets are not yet implemented.
John Darrington [Fri, 1 Jul 2011 16:43:58 +0000 (18:43 +0200)]
Fix bug where recent data files were not added
John Darrington [Fri, 1 Jul 2011 16:41:05 +0000 (18:41 +0200)]
Replace the t-test paired options dialog with a simpler implementation.
This makes use of some commonality with the npar 2 sample related dialog.
John Darrington [Fri, 1 Jul 2011 16:40:30 +0000 (18:40 +0200)]
Add the /BLANK subcommand to AUTORECODE
John Darrington [Fri, 1 Jul 2011 16:39:55 +0000 (18:39 +0200)]
Implement dialog box for the non-parametric 2-related-samples tests
John Darrington [Fri, 1 Jul 2011 16:39:40 +0000 (18:39 +0200)]
Move the glade definition for the paired samples dialog box to its own file
John Darrington [Fri, 1 Jul 2011 16:39:25 +0000 (18:39 +0200)]
Added COUNT dialog box. Addresses one part of bug #29869
John Darrington [Fri, 1 Jul 2011 16:39:10 +0000 (18:39 +0200)]
New widget PsppireValChooser.
This widget provides a user interface allowing the user to input the
a value, or range of values. This was previously done "by hand" in
the recode dialog, but was awkward to maintain, and clumsy. Upcoming
dialogs will need something very similar. So now seemed like a good
time to encapsulate it.
John Darrington [Fri, 1 Jul 2011 16:38:56 +0000 (18:38 +0200)]
Use variable labels in DESCRIPTIVES output. Fixes bug #31565
John Darrington [Fri, 1 Jul 2011 16:38:05 +0000 (18:38 +0200)]
Avoid GtkCritical in recode dialog
John Darrington [Fri, 1 Jul 2011 16:37:51 +0000 (18:37 +0200)]
Fix incorrect conditional
John Darrington [Fri, 1 Jul 2011 16:37:39 +0000 (18:37 +0200)]
Fix GUI issues in K-Related NPAR dialog box.
John Darrington [Fri, 1 Jul 2011 16:21:47 +0000 (18:21 +0200)]
Mark get_rule function as inline.
John Darrington [Fri, 1 Jul 2011 16:21:32 +0000 (18:21 +0200)]
Use greater-than-or-equal to sign instead of '>='.
Now that the "ascii" driver supports non-ascii, we can use these
unicode characters to give more elegent output.
John Darrington [Fri, 1 Jul 2011 16:21:13 +0000 (18:21 +0200)]
Implemented the McNemar test. Closes bug #33242
John Darrington [Fri, 1 Jul 2011 16:20:42 +0000 (18:20 +0200)]
Fix bugs deleting temporary files and their containing directory.
The clean_temp module provided by gnulib doesn't cleanup on program
exit. We must do that ourselves. Secondly, the close_temp_file function
was supposed to remove the file, but didn't do that. Thirdly, files
were not being registered with the clean_temp module on creation.
This change fixes these problems.
John Darrington [Fri, 1 Jul 2011 16:19:39 +0000 (18:19 +0200)]
Make the value labels dialog resizable
John Darrington [Fri, 1 Jul 2011 16:19:16 +0000 (18:19 +0200)]
Replace deprecated function call
John Darrington [Fri, 1 Jul 2011 16:18:59 +0000 (18:18 +0200)]
Remove action member from PsppireSelector
John Darrington [Fri, 1 Jul 2011 16:18:45 +0000 (18:18 +0200)]
Replace some deprecated GTK macros
John Darrington [Fri, 1 Jul 2011 16:18:27 +0000 (18:18 +0200)]
Change the order of the reported NPAR values in two sample related tests.
This change makes the order of the reported values follow the order in
which they were entered in the syntax. The changes to the tests affect
only the order. The numbers are unchanged.
John Darrington [Fri, 1 Jul 2011 16:01:27 +0000 (18:01 +0200)]
Remove duplicated functions
John Darrington [Fri, 1 Jul 2011 16:01:11 +0000 (18:01 +0200)]
Remove unused functions
John Darrington [Fri, 1 Jul 2011 16:00:49 +0000 (18:00 +0200)]
Filter the data file list by mime type instead of file extension
John Darrington [Fri, 1 Jul 2011 16:00:32 +0000 (18:00 +0200)]
Set the show-tips property on the recent chooser menus
John Darrington [Fri, 1 Jul 2011 16:00:14 +0000 (18:00 +0200)]
Use local include paths instead of relative to $top_builddir/src
The old method appeared not to work with some gcc versions.
John Darrington [Fri, 1 Jul 2011 15:59:10 +0000 (17:59 +0200)]
Replace some obsolete Gtk macro calls
John Darrington [Fri, 1 Jul 2011 15:58:33 +0000 (17:58 +0200)]
Fix building when readline library is not present
John Darrington [Fri, 1 Jul 2011 15:27:26 +0000 (17:27 +0200)]
Added support to read OpenDocument spreadsheet files
John Darrington [Fri, 1 Jul 2011 15:22:02 +0000 (17:22 +0200)]
Implemented a zip-writer to correspond to zip-reader
John Darrington [Fri, 1 Jul 2011 15:04:50 +0000 (17:04 +0200)]
Perl Module - Add function to count cases in a reader.
Closes bug #33381
John Darrington [Fri, 1 Jul 2011 14:48:32 +0000 (16:48 +0200)]
Remove some files which are no longer used
John Darrington [Fri, 1 Jul 2011 14:48:19 +0000 (16:48 +0200)]
Fix bug parsing T-TEST
John Darrington [Fri, 1 Jul 2011 14:47:33 +0000 (16:47 +0200)]
Re-implemented the T-TEST command and the levene calculation.
Also updated the ONEWAY command to use the new levene test.
The changes to t-test.at in this changeset affect only whitespace
or the order of reported significance. The numbers remain unchanged.
John Darrington [Mon, 27 Jun 2011 10:58:48 +0000 (12:58 +0200)]
Fixed the categoricals such that now both GLM and ONEWAY work
John Darrington [Mon, 27 Jun 2011 07:13:11 +0000 (09:13 +0200)]
GLM: Add unimplemented subcommands, and add a test.
This change adds a basic GLM test for the "Latin Square" use case.
It also implements the more common subcommands that might occur in
a real life example of such usage. The /DESIGN subcommand differs
slightly from spss. In spss, it is optional, and if given can be
empty. In this change, /DESIGN is mandatory and may not be empty.
The rational for that, is that spss's default is to include interactions
for all the factors. We don't (yet) support interactions, so it's
better to refuse to run a syntax which relies upon the default
rather than to run it with different semantics.
John Darrington [Sun, 26 Jun 2011 20:25:55 +0000 (22:25 +0200)]
First working GLM command
Jason H Stover [Fri, 24 Jun 2011 14:05:51 +0000 (10:05 -0400)]
Added type 3 sums of squares to GLM
Ben Pfaff [Tue, 21 Jun 2011 14:00:33 +0000 (07:00 -0700)]
gui: Move some formatting functions into PSPP core.
Ben Pfaff [Tue, 14 Jun 2011 02:17:27 +0000 (19:17 -0700)]
gui: Strip numerics and strings differently in value_to_text().
Otherwise a long string value that only contains a few
characters followed by all spaces is hard to read.
Ben Pfaff [Sat, 11 Jun 2011 17:40:43 +0000 (10:40 -0700)]
gui: Eliminate some dependencies on the dictionary.
Previously all of the dialog boxes used by the variable sheet
kept around a pointer to the dictionary solely to obtain the
dictionary's encoding. Previous commits have eliminated that
use, so this commit gets rid of the dictionary members.
Ben Pfaff [Tue, 21 Jun 2011 02:06:11 +0000 (19:06 -0700)]
gui: Simplify value_to_text() parameters.
Both the format and the dictionary can be inferred from the
variable being formatted in every case in the tree but one, so
use that as the calling convention. In the one remaining case,
it's just as easy to call data_out() directly.
Ben Pfaff [Sat, 11 Jun 2011 16:42:22 +0000 (09:42 -0700)]
gui: Consistently use print format instead of write format.
In syntax, only the WRITE command uses write formats. Other
commands all use print formats. I don't see why the GUI should
act differently.
Ben Pfaff [Sat, 11 Jun 2011 04:55:47 +0000 (21:55 -0700)]
gui: Drop 'dict' parameter from text_to_value().
This parameter is used only to obtain the dictionary's
encoding, which may also be obtained through the variable.
Ben Pfaff [Thu, 23 Jun 2011 05:13:40 +0000 (22:13 -0700)]
sys-file-reader: Reduce invalid format from error to warning.
gaby jongenelen <geebie21@gmail.com> provided a .sav file
written by "MS Windows Release 13.0 spssio32.dll" that had
zeros in the "write" format field for several numeric
variables. Until now, PSPP treated this as an error and
rejected the file. This commit changes the error to a warning
and suppresses the diagnostic entirely for this case of a
zero value.
Ben Pfaff [Sat, 18 Jun 2011 05:21:38 +0000 (22:21 -0700)]
sys-file-writer: Write identical sets of value labels only once.
The .sav file format can save space by writing a single set of
value labels once and assigning it to multiple variables. PSPP
has never taken advantage of this, instead writing the value
labels for each variable separately. This commit adopts the
strategy for avoiding duplicates apparently used by SPSS, based
on observing a .sav file that had many groups of variables with
the same labels.
Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery.
Ben Pfaff [Sat, 18 Jun 2011 05:18:27 +0000 (22:18 -0700)]
variable: Do not trim trailing whitespace from variable labels.
Until now, PSPP has trimmed trailing whitespace from variable
labels. SPSS does not do this, which led to gratuitous changes
in variable labels when reading and then writing back a .sav
file, so this commit stops stripping trailing whitespace from
variable labels.
Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery.
Ben Pfaff [Sat, 18 Jun 2011 05:16:44 +0000 (22:16 -0700)]
sys-file-writer: Omit empty multiple response sets records.
Multiple response sets are divided into two records in a .sav
file: one record with subtype 7 and one with subtype 19. PSPP
was incorrectly writing both records even if one of them was
empty. This commit makes it omit the empty record.
Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery.
Ben Pfaff [Sat, 18 Jun 2011 05:12:45 +0000 (22:12 -0700)]
sys-file-writer: Write variable names in mrsets in lowercase.
SPSS appears to write the short names of the variables in a
multiple response set in lowercase, so this commit make PSPP
do the same.
Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery.
Ben Pfaff [Thu, 16 Jun 2011 06:13:12 +0000 (23:13 -0700)]
sys-file-reader, sys-file-writer: Use codepage numbers.
PSPP has had a library for converting between encoding names
and codepage numbers for a while, but the system file reader
and writer code has not taken advantage of it. This commit
make them use it.
Ben Pfaff [Thu, 16 Jun 2011 06:08:13 +0000 (23:08 -0700)]
Update code that assumed a dictionary's encoding could be NULL.
Until recently, I think, it was possible for dict_get_encoding()
to return NULL. It is no longer possible as far as I can see,
so this commit adds a comment that says so to the definition
of dict_get_encoding(). It also updates a few callers that
had checks for null pointers.
Ben Pfaff [Thu, 16 Jun 2011 05:15:10 +0000 (22:15 -0700)]
sys-file-writer: Write encoding names in all-uppercase.
SPSS appears to write encoding names in all-upperacse, so PSPP
should too.
Ben Pfaff [Thu, 16 Jun 2011 01:55:54 +0000 (18:55 -0700)]
sys-file-writer: Put long variable name in variable attributes.
Otherwise, PSPP cannot read back .sav files that it writes, if
they contain variable attributes for variables with long names.
Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery and to John
Darrington for helping to investigate.
Ben Pfaff [Wed, 15 Jun 2011 05:38:13 +0000 (22:38 -0700)]
CD: Fix a bug and add a regression test.
Ben Pfaff [Wed, 15 Jun 2011 05:10:24 +0000 (22:10 -0700)]
GET DATA /TYPE=TXT: Also allow full format to be specified.
The implementation of fixed-format mode only allowed a format
type (e.g. DOLLAR) to be specified. SPSS also allowed a full
format specification (e.g. DOLLAR12.2), so this implements that
feature.
Reported-by: Ronaldo Baltar <ronaldo.baltar@gmail.com>
Ben Pfaff [Thu, 26 May 2011 17:48:09 +0000 (10:48 -0700)]
tests: Remove unused old shell-based test files.
Somehow I forgot to delete these when I switched everything over
to use Autotest. Nothing refers to them any longer.
Ben Pfaff [Thu, 26 May 2011 04:31:33 +0000 (21:31 -0700)]
gui: Clean generated gtk.h wrapper on "make clean".
Fixes "make distcheck".
Reported by John Darrington.
Ben Pfaff [Sat, 14 May 2011 03:56:05 +0000 (20:56 -0700)]
gui: Fix temporary filtering by a variable's value.
Problem reported by Mindaugus.
Bug #33088.
Ben Pfaff [Fri, 13 May 2011 05:10:07 +0000 (22:10 -0700)]
gui: Make AGGREGATE dialog initially show all of the right pane.
The AGGREGATE dialog initially had a very narrow left pane, so
commit
2e6cffa44ef5 "Aggregate dialog: Initialize HPane widget width
on opening" added a callback function to adjust the position of the
divider between the panes to half the window's width. But this
happens after the window has been laid out, which means that unless
the window is very wide to begin with, it will cause part of the
right pane to disappear.
I was able to get more consistently good results by forcing a minimum
width for the left pane with a width_request, and making the right
pane shrinkable below the minimum size needed to show all of it. A
final tweak was to make the left pane automatically grow with the
window.
If you've already used the Aggregate dialog then your preferences for
the window size have been saved, so for testing this it is best to
remove $HOME/.config/psppire before each experiment.
Bug #31126.
Ben Pfaff [Fri, 13 May 2011 05:55:29 +0000 (22:55 -0700)]
SORT CASES: Don't delete filtered-out cases.
This was first noticed by users in the GUI, but it is a problem with
the implementation of SORT CASES, not a problem with the GUI.
Bug #33089.
Thanks to Mindaugus for reporting the problem.
Ben Pfaff [Thu, 12 May 2011 05:36:45 +0000 (22:36 -0700)]
gui: Make File|Recent Files remember the correct encoding.
It's no good to have File|Open... able to open a file in any encoding
if later pulling up the same file with File|Recent Files screws that
up, so this commit fixes the problem by noting the charset in the
file's mime-type.
Ben Pfaff [Fri, 13 May 2011 04:07:12 +0000 (21:07 -0700)]
gui: Recode syntax files on load and save.
This adds a new widget that allows an encoding to be selected to the
File|Open dialog box, as well as to the File|Save As... dialog box
for syntax files only. Files are recoded to UTF-8 on load and back
to the original encoding on save.
File|Recent Files doesn't yet properly save the encoding information.
That's coming up in the next commit.
Bug #33254.
Thanks to John Darrington for reporting this problem.
Ben Pfaff [Thu, 12 May 2011 05:38:57 +0000 (22:38 -0700)]
gui: Refactor checking for .sav and .por suffixes.
It seems reasonable to allow, e.g., .Sav as well as .SAV and .sav, so
this does that. It also splits name_has_suffix() into smaller
pieces that will individually be used in an upcoming commit.
Ben Pfaff [Thu, 12 May 2011 05:27:00 +0000 (22:27 -0700)]
gui: Move null_if_empty_param() from psppire-window to helper.
An upcoming commit will introduce a new user of this function in a
different source file, so it seems best to have this defined in a
common header file.
Ben Pfaff [Thu, 12 May 2011 05:25:35 +0000 (22:25 -0700)]
i18n: New function is_encoding_supported().
This will be used for the first time in an upcoming commit.
Ben Pfaff [Thu, 12 May 2011 05:24:59 +0000 (22:24 -0700)]
encoding-guesser: New function encoding_guess_whole_file().
This will be used for the first time in an upcoming commit.
Ben Pfaff [Thu, 12 May 2011 03:21:38 +0000 (20:21 -0700)]
pspp-dump-sav: Add #include <limits.h> to get INT_MAX definition.
Problem reported by Harry Thijssen <pspp@sjpaes.nl>.
Ben Pfaff [Thu, 12 May 2011 02:31:22 +0000 (19:31 -0700)]
configure: Use $LIB<x> for linking a program, not $LTLIB<x>.
The gettext manual says:
`@LIBINTL@' is for use without `libtool', `@LTLIBINTL@' is for
use with `libtool'
It has similar wording for libiconv.
Since there's lots of libtool-related stuff in the PSPP makefiles, I
assumed that PSPP needed $LTLIB<x>. But it now appears that this is
only correct for linking a libtool library, not for linking a
program that links against libtool libraries.
On GNU/Linux, both $LIB<x> and $LTLIB<x> expand to the empty string,
so I couldn't tell from experimenting there.
This should fix link failures with Mingw, reported by Harry Thijssen
<pspp@sjpaes.nl>.