pspp
11 years agoMerge 'psppsheet' into 'master'. 20130507010505/pspp
Ben Pfaff [Tue, 7 May 2013 05:09:59 +0000 (22:09 -0700)]
Merge 'psppsheet' into 'master'.

This merge required considerable manual resolution in
text-data-import-dialog.c because that file was split into multiple files
on master.

11 years agoRemove unused variable assigned in expression.
John Darrington [Mon, 6 May 2013 18:45:40 +0000 (20:45 +0200)]
Remove unused variable assigned in expression.

Found by clang analayzer

11 years agopsppire-window: Disconnect signal handlers before unregistering. 20130506011838/pspp
Ben Pfaff [Mon, 6 May 2013 04:48:06 +0000 (21:48 -0700)]
psppire-window: Disconnect signal handlers before unregistering.

Otherwise, the call to psppire_window_register_remove() calls back into
remove_menuitem() via the "remove" signal, but window->menu referenced in
that callback has already been freed.

Found by valgrind.

11 years agopsppire-data-sheet: Disconnect clipboard owner-change signal on dispose.
Ben Pfaff [Mon, 6 May 2013 04:39:16 +0000 (21:39 -0700)]
psppire-data-sheet: Disconnect clipboard owner-change signal on dispose.

Otherwise, any clipboard change in ownership (e.g. clicking on some cells
and typing Control+C), even after a given PsppireDataSheet closes, still
calls into on_owner_change() and commits a use-after-free error.

Reported by John Darrington.

11 years agopsppire-data-sheet: Obtain data sheet targets via callback.
Ben Pfaff [Mon, 6 May 2013 01:04:03 +0000 (18:04 -0700)]
psppire-data-sheet: Obtain data sheet targets via callback.

Calling gtk_clipboard_wait_is_target_available() within on_owner_change()
seems to cause Window|Split to act oddly (the right panes were empty),
perhaps because gtk_clipboard_wait_is_target_available() has a nested main
loop.  Switching to gtk_clipboard_request_targets() fixes the problem.

Reported by John Darrington.

11 years agopsppire-data-sheet: Remove stray debug printf.
Ben Pfaff [Sun, 5 May 2013 23:03:07 +0000 (16:03 -0700)]
psppire-data-sheet: Remove stray debug printf.

Reported by John Darrington.

11 years agoUpdated gnulib version 20130505010502/pspp 20130506010507/pspp
John Darrington [Sat, 4 May 2013 15:08:06 +0000 (17:08 +0200)]
Updated gnulib version

11 years agoAdd necessary initialisation to spreadsheet-test.c 20130430010503/pspp 20130501010508/pspp 20130502010508/pspp 20130503010503/pspp 20130504010502/pspp
John Darrington [Sun, 28 Apr 2013 14:47:02 +0000 (16:47 +0200)]
Add necessary initialisation to spreadsheet-test.c

11 years agolist.c Use "long" instead of "int" for command parameters.
John Darrington [Mon, 29 Apr 2013 11:40:06 +0000 (13:40 +0200)]
list.c Use "long" instead of "int" for command parameters.

Commit 4e5a6cc044c6c82e6c4d842bf056579b6bc47d48 used int instead of long for the
parameters of the LIST command.  This caused compiler warnings and problems on
64 bit machines.  This change fixes that.

11 years agoFixed crash in error path of MEANS command 20130429010502/pspp
John Darrington [Sun, 28 Apr 2013 15:48:16 +0000 (17:48 +0200)]
Fixed crash in error path of MEANS command

11 years agoODS reader: Make the destroy method safer.
John Darrington [Sun, 28 Apr 2013 12:24:21 +0000 (14:24 +0200)]
ODS reader: Make the destroy method safer.

It seems this was causing use after delete errors when there was an empty reader.

11 years agoFix constness warnings 20130428010503/pspp
John Darrington [Sun, 28 Apr 2013 07:34:43 +0000 (09:34 +0200)]
Fix constness warnings

11 years agoFix recently introduces bug in LIST /CASES
John Darrington [Sun, 28 Apr 2013 07:15:28 +0000 (09:15 +0200)]
Fix recently introduces bug in LIST /CASES

Commit 4e5a6cc044c6c82e6c4d842bf056579b6bc47d48 contained a bug.  This change
corrects the bug, and updates a test, such that the bug will be caught, should
it ever reappear.

11 years agoFix invalid read in ROC vs. TEMP
John Darrington [Sat, 27 Apr 2013 09:17:22 +0000 (11:17 +0200)]
Fix invalid read in ROC vs. TEMP

Partial fix for bug #38833

11 years agoCorrect error message from previous commit. 20130427010504/pspp
John Darrington [Sat, 27 Apr 2013 05:38:54 +0000 (07:38 +0200)]
Correct error message from previous commit.

Commit 49b3e593c078b40d7c72379b4f8622a1ea8d7ea1 produced a misleading
and non-sensical error message.  This change fixes that.

11 years agoFixed a crash when RECODE attempted to increase the length of a string beyond the...
John Darrington [Sat, 27 Apr 2013 05:21:24 +0000 (07:21 +0200)]
Fixed a crash when RECODE attempted to increase the length of a string beyond the width of the variable.

Reported-by: Cristoph Amthor
11 years agoAdded missing headers to terminal-reader.c
John Darrington [Fri, 26 Apr 2013 16:52:05 +0000 (18:52 +0200)]
Added missing headers to terminal-reader.c

11 years agoUpdate ABOUT-NLS from gettext
John Darrington [Fri, 26 Apr 2013 16:37:53 +0000 (18:37 +0200)]
Update ABOUT-NLS from gettext

11 years agoFLIP: Fix use-after-free error with temporary transformations. 20130426010504/pspp
Ben Pfaff [Fri, 26 Apr 2013 06:03:45 +0000 (23:03 -0700)]
FLIP: Fix use-after-free error with temporary transformations.

The FLIP procedure keeps a reference to the  dictionary from before running
a procedure and then uses that reference after calling proc_commit().  When
temporary transformations are present, this dictionary disappears.  The
"SPLIT FILE  - vs procedures" test triggers this issue because it uses
FILTER, which is implemented as a temporary transformation.

This commit fixes the problem by avoiding a reference to the old
dictionary after proc_commit().

Reported by John Darrington.
Bug #38820.

11 years agoconvert list.q to list.c
John Darrington [Thu, 25 Apr 2013 10:10:36 +0000 (12:10 +0200)]
convert list.q to list.c

Reviewed-by: Ben Pfaff
11 years agou8-istream: Fix reading UTF-16 and UTF-32 files. 20130425010503/pspp
Ben Pfaff [Thu, 25 Apr 2013 05:26:06 +0000 (22:26 -0700)]
u8-istream: Fix reading UTF-16 and UTF-32 files.

Before this commit, u8_istream_for_fd() would obtain the correct encoding
from encoding_guess_head_encoding() for UTF-16 and UTF-32 files, and then
it would ignore it and use the default encoding returned by
encoding_guess_parse_encoding().  This commit fixes the problem.

11 years agou8-istream: Fix handling of UTF-8 byte order marks.
Ben Pfaff [Thu, 25 Apr 2013 05:14:01 +0000 (22:14 -0700)]
u8-istream: Fix handling of UTF-8 byte order marks.

The UTF-8 special case state didn't skip over an initial byte order mark.
This fixes it.

Reported by Dr. Holger Handstein <post@handundstein.de>.
Signed-off-by: Ben Pfaff <blp@cs.stanford.edu>
11 years agoencoding-guesser: New function encoding_guess_bom_length().
Ben Pfaff [Thu, 25 Apr 2013 05:10:41 +0000 (22:10 -0700)]
encoding-guesser: New function encoding_guess_bom_length().

11 years agotests: Make "read ISO-8859-1 as Auto,ISO-8859-1" failures easier to read.
Ben Pfaff [Thu, 25 Apr 2013 05:15:05 +0000 (22:15 -0700)]
tests: Make "read ISO-8859-1 as Auto,ISO-8859-1" failures easier to read.

By putting new-lines in the input and output, it becomes unnecessary to
scroll thousands of columns to the right to spot the differences.

11 years agoFixed crash with EXAMINE vs. SPLIT
John Darrington [Wed, 24 Apr 2013 18:30:48 +0000 (20:30 +0200)]
Fixed crash with EXAMINE vs. SPLIT

Partial fix for bug #38820

11 years agoFixed crash with GLM and MEANS vs. SPLIT
John Darrington [Wed, 24 Apr 2013 17:05:59 +0000 (19:05 +0200)]
Fixed crash with GLM and MEANS vs. SPLIT

Partial fix for bug #38820

11 years agoDo not try to set box=unicode if the driver is not the text driver.
John Darrington [Wed, 24 Apr 2013 16:00:09 +0000 (18:00 +0200)]
Do not try to set box=unicode if the driver is not the text driver.

11 years agoAvoid test failures due to wrong terminal settings
John Darrington [Wed, 24 Apr 2013 11:44:26 +0000 (13:44 +0200)]
Avoid test failures due to wrong terminal settings

11 years agoAdded test for known split file problems
John Darrington [Wed, 24 Apr 2013 10:49:58 +0000 (12:49 +0200)]
Added test for known split file problems

11 years agoFixed crash in error path for GET DATA 20130424010505/pspp
John Darrington [Tue, 23 Apr 2013 17:42:36 +0000 (19:42 +0200)]
Fixed crash in error path for GET DATA

11 years agoAdded strcasestr to list of gnulib modules
John Darrington [Tue, 23 Apr 2013 14:09:04 +0000 (16:09 +0200)]
Added strcasestr to list of gnulib modules

11 years agoUse the select and pipe2 modules from gnulib 20130423010504/pspp
John Darrington [Mon, 22 Apr 2013 18:04:04 +0000 (20:04 +0200)]
Use the select and pipe2 modules from gnulib

11 years agoWiden the criteria for assuming the terminal is utf capable. 20130422010503/pspp
John Darrington [Sun, 21 Apr 2013 19:44:24 +0000 (21:44 +0200)]
Widen the criteria for assuming the terminal is utf capable.

Assume the terminal is UTF-8 capable if the TERM and XTERM_LOCALE environment
variables seem to suggest that.

11 years agoUpdate documentation for the STRING command. 20130421010505/pspp
John Darrington [Sat, 20 Apr 2013 10:00:22 +0000 (12:00 +0200)]
Update documentation for the STRING command.

The text wasn't entirely clear.  Hopefully this is an improvement.

Reported by: Ronald Crichton

11 years agoChanged "Text files" to "Text Files" 20130419010508/pspp 20130420010514/pspp
John Darrington [Thu, 18 Apr 2013 17:28:17 +0000 (19:28 +0200)]
Changed "Text files" to "Text Files"

Reported-By: Jack Tanner
11 years agoterminal-reader.c: Added missing #include directive
John Darrington [Wed, 17 Apr 2013 17:23:24 +0000 (19:23 +0200)]
terminal-reader.c: Added missing #include directive

11 years agoTerminal reader: Interruptable command line interface 20130417010503/pspp
John Darrington [Sun, 14 Apr 2013 11:36:42 +0000 (13:36 +0200)]
Terminal reader: Interruptable command line interface

This change alters the behaviour of the command line interface such that
upon receiving SIGINT, instead of immediately aborting, the current command
being read will be interrupted and a new PSPP> prompt appears.

Reviewed-by: Ben Pfaff
11 years agoAscii driver: Default to box=unicode iff the charset is UTF8 20130410010506/pspp 20130411010506/pspp 20130415100536/pspp 20130416010502/pspp
John Darrington [Tue, 9 Apr 2013 20:32:04 +0000 (22:32 +0200)]
Ascii driver: Default to box=unicode iff the charset is UTF8

11 years agoAUTORECODE: Avoid use-after-free error with TEMPORARY. 20130408010504/pspp 20130409010502/pspp
Ben Pfaff [Sun, 7 Apr 2013 22:06:35 +0000 (15:06 -0700)]
AUTORECODE: Avoid use-after-free error with TEMPORARY.

When TEMPORARY is in effect, proc_commit() destroys the temporary
dictionary.  This means that any procedure that does not somehow disable
temporary transformations and refers to a variable following proc_commit()
has a use-after-free error.

Until now, AUTORECODE had this problem.  This commit fixes it and adds a
test.

Bug #32757.

11 years agoAUTORECODE: Trim trailing white space correctly.
Ben Pfaff [Sun, 7 Apr 2013 21:14:25 +0000 (14:14 -0700)]
AUTORECODE: Trim trailing white space correctly.

The existing code trimmed off everything starting at the first space.
The new version trims off only trailing spaces.

Found by inspection.

11 years agopo: Update Dutch translation from translationproject.org.
Ben Pfaff [Sun, 26 Feb 2012 18:01:26 +0000 (10:01 -0800)]
po: Update Dutch translation from translationproject.org.

11 years agoascii: Omit whitespace at the end of a line.
Ben Pfaff [Sun, 7 Apr 2013 19:57:32 +0000 (12:57 -0700)]
ascii: Omit whitespace at the end of a line.

Long string variables tend not to be completely filled with data, which
means that they end in a lot of spaces.  The ASCII output driver didn't
handle these well.  Instead, it put a blank line in the cell for each
trailing space.

This fixes the problem and adds a test.

Reported by Ronald Crichton.
Bug #38672.

11 years agoFixed crash when processing regression with bad syntax
John Darrington [Sun, 7 Apr 2013 17:56:44 +0000 (19:56 +0200)]
Fixed crash when processing regression with bad syntax

11 years agoRename some identifiers for consistency
John Darrington [Sun, 7 Apr 2013 13:32:50 +0000 (15:32 +0200)]
Rename some identifiers for consistency

11 years agoCORRELATIONS: Fix crash with separate sets of row and column variables.
Ben Pfaff [Sun, 7 Apr 2013 17:06:23 +0000 (10:06 -0700)]
CORRELATIONS: Fix crash with separate sets of row and column variables.

When WITH is specified, the column variables start at offset corr->n_vars1
within corr->vars.  The calculation previously used here was incorrect and
caused an access beyond the end of the corr->vars array.

The code would be clearer if there were separate row_vars and col_vars
arrays, but that would be a larger change.

Bug #38661.
Reported by William Rogers.

11 years agoascii.c: Use symbol instead of constant literal 20130405030516/pspp 20130406010505/pspp 20130407010512/pspp
John Darrington [Wed, 3 Apr 2013 07:37:17 +0000 (09:37 +0200)]
ascii.c: Use symbol instead of constant literal

11 years agoFixed bug displaying unicode box characters.
John Darrington [Wed, 3 Apr 2013 07:20:13 +0000 (09:20 +0200)]
Fixed bug displaying unicode box characters.

Also added a test for this.  Closes bug #38647

11 years agoRELIABILITY: Fix memory leaks and dereferences of uninitialized pointers.
Ben Pfaff [Thu, 4 Apr 2013 16:26:03 +0000 (11:26 -0500)]
RELIABILITY: Fix memory leaks and dereferences of uninitialized pointers.

The 'total' struct and 'm' array in struct reliability were allocated once
per case group, but freed exactly once.  If there were no case groups,
this caused a null dereference.  If there was more than one case group,
this caused a memory leak.  This commit fixes both problems.

This commit also fixes a related crash on bad syntax due to dereferencing
a null pointer in reliability_destroy().

Bug #38660.
Reported by William Rogers.

11 years agoFix compiler warning in gnumeric-reader.c 20130401030511/pspp 20130402030504/pspp 20130403030507/pspp
John Darrington [Mon, 1 Apr 2013 06:06:32 +0000 (08:06 +0200)]
Fix compiler warning in gnumeric-reader.c

11 years agoWork-around bug in GCC 4.4.5
John Darrington [Mon, 1 Apr 2013 05:34:28 +0000 (07:34 +0200)]
Work-around bug in GCC 4.4.5

Gcc 4.4.5 seems to be buggy.  For some reason it miscompiles the code in
casereader_count_cases__ when compiled with -O2 by not allocating enough
stack.  This commit works around that problem by putting a dummy variable
on the stack.

Reviewed-by Ben Pfaff.

11 years agoods-reader: Fix GCC warning.
Ben Pfaff [Sun, 31 Mar 2013 18:13:57 +0000 (11:13 -0700)]
ods-reader: Fix GCC warning.

ods-reader.c: In function 'ods_file_casereader_read':
ods-reader.c:941:3: error: ISO C90 forbids mixed declarations and code

11 years agoONEWAY /POSTHOC: Annotate output with dependent variable
John Darrington [Sun, 31 Mar 2013 17:27:34 +0000 (19:27 +0200)]
ONEWAY /POSTHOC: Annotate output with dependent variable

The Multiple Comparisons table did not specify the variable to which it refered.  This could be confusing
if more than one variable was specified.
Fixes bug #38635

11 years agoUpdated lt.po from translationproject.org
John Darrington [Sun, 31 Mar 2013 16:51:48 +0000 (18:51 +0200)]
Updated lt.po from translationproject.org

11 years agoFixed some memory allocation issues in the Gnumeric import code
John Darrington [Sun, 31 Mar 2013 16:36:21 +0000 (18:36 +0200)]
Fixed some memory allocation issues in the Gnumeric import code

11 years agoFix memory allocation issues in ods-reader 20130331030503/pspp
John Darrington [Sat, 30 Mar 2013 11:16:14 +0000 (12:16 +0100)]
Fix memory allocation issues in ods-reader

11 years agoImported new lt.po file from translation-project. 20130330030503/pspp
John Darrington [Sat, 30 Mar 2013 07:40:56 +0000 (08:40 +0100)]
Imported new lt.po file from translation-project.

11 years agoFix order of text-import subdialogs.
John Darrington [Fri, 29 Mar 2013 11:13:43 +0000 (12:13 +0100)]
Fix order of text-import subdialogs.

Commit 29c1450251805417aacb9cecc84b03c81137c137 inadvertently reversed the
order of display of the the first-line and seperator subdialogs.  Amoung
other problems, this meant that controls of the former were no longer
respected.  This change restores the original order.

11 years agoMATCH FILES: Fix bugs along error path. 20130327030508/pspp 20130328030507/pspp 20130329030505/pspp
Ben Pfaff [Wed, 27 Mar 2013 05:35:59 +0000 (22:35 -0700)]
MATCH FILES: Fix bugs along error path.

Also add test to prevent later regression.

Reported by Ronald Crichton <Ronald.Crichton@cit.edu.au>.

11 years agogui: Fix GCC warning in page-file source file.
Ben Pfaff [Wed, 27 Mar 2013 04:35:17 +0000 (21:35 -0700)]
gui: Fix GCC warning in page-file source file.

src/ui/gui/page-file.c: In function 'init_file':
src/ui/gui/page-file.c:84:35: warning: variable 'opts' set but not
    used

11 years agoUpdated NEWS to match the version number
John Darrington [Tue, 26 Mar 2013 18:29:51 +0000 (19:29 +0100)]
Updated NEWS to match the version number

11 years agoReorganised the text-data import assistant into separate files for each page 20130324030505/pspp 20130325030503/pspp 20130326030506/pspp
John Darrington [Wed, 20 Mar 2013 17:28:44 +0000 (18:28 +0100)]
Reorganised the text-data import assistant into separate files for each page

This will hopefully make it easier to add new functionality.
Reviewed-by: Ben Pfaff
11 years agoconfigure: Increase version number to 0.7.10.
Ben Pfaff [Fri, 22 Mar 2013 15:38:05 +0000 (08:38 -0700)]
configure: Increase version number to 0.7.10.

Suggested by John Darrington.

11 years agoFILE HANDLE: Use system native line ends by default. 20130322030508/pspp
Ben Pfaff [Fri, 22 Mar 2013 04:42:23 +0000 (21:42 -0700)]
FILE HANDLE: Use system native line ends by default.

Requested by Ronald Crichton.

11 years agoFILE HANDLE: Add new ENDS subcommand to control new-lines in output.
Ben Pfaff [Fri, 22 Mar 2013 04:42:03 +0000 (21:42 -0700)]
FILE HANDLE: Add new ENDS subcommand to control new-lines in output.

Requested by Ronald Crichton.

11 years agoSET: Fix format specifier in show_workspace(). 20130318075540/pspp 20130319030509/pspp 20130320030504/pspp 20130321030507/pspp
Ben Pfaff [Mon, 18 Mar 2013 06:25:48 +0000 (23:25 -0700)]
SET: Fix format specifier in show_workspace().

GCC reported that %ld is not the correct format specifier for a size_t.

11 years agoFix confusion over workspace units.
John Darrington [Sun, 17 Mar 2013 17:15:04 +0000 (18:15 +0100)]
Fix confusion over workspace units.

11 years agoAdded the SHOW WORKSPACE command which was absent.
John Darrington [Sun, 17 Mar 2013 13:03:41 +0000 (14:03 +0100)]
Added the SHOW WORKSPACE command which was absent.

Reported-by: Stefan Tzeggai
11 years agoDocumentation: Mention the units of the WORKSPACE setting 20130317030503/pspp
John Darrington [Sat, 16 Mar 2013 20:02:13 +0000 (21:02 +0100)]
Documentation:  Mention the units of the WORKSPACE setting

11 years agopsppire-data-sheet: Implement primary selection. 20130313031917/pspp 20130314031856/pspp 20130315031852/pspp 20130316031903/pspp 20130317031838/pspp 20130318080921/pspp 20130319031915/pspp 20130320031916/pspp 20130321031916/pspp 20130322031845/pspp 20130324031856/pspp 20130325031801/pspp 20130326031813/pspp 20130327031814/pspp 20130328031834/pspp 20130329031819/pspp 20130330031809/pspp 20130331032538/pspp 20130401031835/pspp 20130402031823/pspp 20130403032145/pspp 20130406012425/pspp 20130407011836/pspp 20130408011806/pspp 20130409011820/pspp 20130410011813/pspp 20130411011817/pspp 20130415101854/pspp 20130416011812/pspp 20130417011815/pspp 20130419011830/pspp 20130420011848/pspp 20130421011813/pspp 20130422011805/pspp 20130423011821/pspp 20130424011827/pspp 20130425011825/pspp 20130426011824/pspp 20130427011839/pspp 20130428011827/pspp 20130429011826/pspp 20130430011827/pspp 20130501011843/pspp 20130502011842/pspp 20130503011843/pspp 20130504011836/pspp 20130505011852/pspp
Ben Pfaff [Wed, 13 Mar 2013 06:10:08 +0000 (23:10 -0700)]
psppire-data-sheet: Implement primary selection.

I didn't realize that this was important.

Reported by John Darrington.

11 years agoMerge 'master' into 'psppsheet'.
Ben Pfaff [Wed, 13 Mar 2013 04:56:49 +0000 (21:56 -0700)]
Merge 'master' into 'psppsheet'.

11 years agoRANK: Fix crash ranking multiple variables without any rank specs. 20130312030503/pspp 20130313030511/pspp 20130314030502/pspp 20130315030502/pspp 20130316030504/pspp
Ben Pfaff [Tue, 12 Mar 2013 05:08:34 +0000 (22:08 -0700)]
RANK: Fix crash ranking multiple variables without any rank specs.

Incidentally fixes a small memory leak in the same situation.

Bug #38482.
Reported by John Darrington.

11 years agoFix warnings introduced by minor type errors in recently added code.
Ben Pfaff [Tue, 12 Mar 2013 04:54:20 +0000 (21:54 -0700)]
Fix warnings introduced by minor type errors in recently added code.

11 years agoAdded a (non-shipped) gui test-program to test spreadsheet readers. 20130310030504/pspp 20130311030504/pspp
John Darrington [Sat, 9 Mar 2013 15:05:37 +0000 (16:05 +0100)]
Added a (non-shipped) gui test-program to test spreadsheet readers.

This program is usefull for testing the behaviour of the ods_reader and the gnumeric_reader.

11 years agoRef count the gnumeric reader
John Darrington [Fri, 8 Mar 2013 15:10:14 +0000 (16:10 +0100)]
Ref count the gnumeric reader

11 years agomain.c: Replaced macro with a static const
John Darrington [Sat, 9 Mar 2013 12:13:11 +0000 (13:13 +0100)]
main.c: Replaced macro with a static const

This is the GNU recommended way, and ensures that not-compiled code does not become out
of date.

11 years agoNew module: psppire-spreadsheet-model.c 20130309030511/pspp
John Darrington [Fri, 8 Mar 2013 13:03:12 +0000 (14:03 +0100)]
New module: psppire-spreadsheet-model.c

 Provides an implementation of a GtkTreeModel which can be used to
display the meta data of Gnumeric or Opendocument spreadsheet files.
Potentially, other spreadsheet files could be added too.
Used for upcomming gui features.

11 years agoFix remaining leaks in Gnumeric reader
John Darrington [Fri, 8 Mar 2013 12:47:31 +0000 (13:47 +0100)]
Fix remaining leaks in Gnumeric reader

11 years agoFixed some more errors in the spreadsheet readers
John Darrington [Fri, 8 Mar 2013 08:59:07 +0000 (09:59 +0100)]
Fixed some more errors in the spreadsheet readers

11 years agozip-reader.c: Fix memory leak 20130308030505/pspp
John Darrington [Thu, 7 Mar 2013 20:45:43 +0000 (21:45 +0100)]
zip-reader.c: Fix memory leak

11 years agozip-test.c: Remove erroneous call to zip_member_unref
John Darrington [Thu, 7 Mar 2013 10:22:38 +0000 (11:22 +0100)]
zip-test.c: Remove erroneous call to zip_member_unref

11 years agozip-reader.c: Replace [cm]alloc by their x*alloc counterparts
John Darrington [Thu, 7 Mar 2013 10:21:40 +0000 (11:21 +0100)]
zip-reader.c: Replace [cm]alloc by their x*alloc counterparts

11 years agoFixed crash reading ODS spreadsheets and added a test case 20130305030502/pspp 20130306030504/pspp 20130307030505/pspp
John Darrington [Tue, 5 Mar 2013 08:15:35 +0000 (09:15 +0100)]
Fixed crash reading ODS spreadsheets and added a test case

11 years agoAdded a feature to read the meta data from spreadsheet files.
John Darrington [Mon, 4 Mar 2013 19:09:41 +0000 (20:09 +0100)]
Added a feature to read the meta data from spreadsheet files.

This is in preparation for upcoming features.

11 years agopspp-sheet-view: Make Ctrl+Up and Ctrl+Down go to top and bottom. 20130303031902/pspp 20130304031653/pspp 20130305031845/pspp 20130306031859/pspp 20130307031905/pspp 20130308031859/pspp 20130309031907/pspp 20130310031857/pspp 20130311031859/pspp 20130312031842/pspp
Ben Pfaff [Sun, 3 Mar 2013 06:28:35 +0000 (22:28 -0800)]
pspp-sheet-view: Make Ctrl+Up and Ctrl+Down go to top and bottom.

These keybindings match those implemented by Gnumeric.

Suggested by John Darrington.

11 years agopspp-sheet-view: Get rid of ctrl_pressed and shift_pressed.
Ben Pfaff [Sun, 3 Mar 2013 06:28:09 +0000 (22:28 -0800)]
pspp-sheet-view: Get rid of ctrl_pressed and shift_pressed.

Having these as member variables made it hard to keep key
press status separate from whether we want to extend or
toggle row selection.  Most of the time, these are the
same, but there are some cases (e.g. Shift+Tab) where they
don't coincide, and an upcoming commit will add another
case.

11 years agopspp-sheet-view: Rename GtkTreeSelectMode to PsppSheetSelectMode.
Ben Pfaff [Sun, 3 Mar 2013 04:47:24 +0000 (20:47 -0800)]
pspp-sheet-view: Rename GtkTreeSelectMode to PsppSheetSelectMode.

This avoids invading GTK+ reserved namespace.

11 years agoZip Reader: Take members from the index if they exist. 20130218030502/pspp 20130219030502/pspp 20130220030503/pspp 20130221030502/pspp 20130222030502/pspp 20130223030503/pspp 20130224030502/pspp 20130225030503/pspp 20130226030506/pspp 20130227030504/pspp 20130228030505/pspp 20130301030502/pspp 20130302030503/pspp 20130303030506/pspp 20130304030502/pspp
John Darrington [Mon, 18 Feb 2013 08:35:53 +0000 (09:35 +0100)]
Zip Reader: Take members from the index if they exist.

This allows readers to be iterated more than once.

11 years agoFixed a bug reading gnumeric files. 20130217030503/pspp
John Darrington [Sat, 16 Feb 2013 13:44:31 +0000 (14:44 +0100)]
Fixed a bug reading gnumeric files.

Importing  gnumeric spreadsheets would assert-fail if there were empty columns at the start of the sheet.

11 years agoExamine vs. Boxplots: Avoid labels overlapping one another 20130214030508/pspp 20130215030508/pspp 20130216030504/pspp
John Darrington [Wed, 13 Feb 2013 12:03:00 +0000 (13:03 +0100)]
Examine vs. Boxplots: Avoid labels overlapping one another

One factored boxplots remove the name of the factor variables, since
these can be inferred from the chart title.  Also trim off any
leading whitespace from the values.  This reduces the chances of the
labels clashing with one another when many boxplots appear on the
same chart.

Closes bug #38132

11 years agoOutput Viewer Export: Automatically append filename suffix 20130213030508/pspp
John Darrington [Tue, 12 Feb 2013 14:07:11 +0000 (15:07 +0100)]
Output Viewer Export: Automatically append filename suffix

When exporting the output viewer using the file chooser, automatically append
a . and a three letter suffix indicating the format of the export.
Closes bug #38133

11 years agoREGRESSION: Added mention of the dependent variable to table titles. 20130210030503/pspp 20130211030502/pspp 20130212030504/pspp
John Darrington [Sat, 9 Feb 2013 16:19:58 +0000 (17:19 +0100)]
REGRESSION: Added mention of the dependent variable to table titles.

Closes #34732

11 years agoFixed compiler warning placement-parser.c 20130206030505/pspp 20130207030503/pspp 20130208030503/pspp 20130209030504/pspp
John Darrington [Tue, 5 Feb 2013 17:39:46 +0000 (18:39 +0100)]
Fixed compiler warning placement-parser.c

11 years agopsppire-window: Avoid doubled separator in Windows menu. 20130205032134/pspp 20130206032048/pspp 20130207032111/pspp 20130208032126/pspp 20130209032123/pspp 20130210032050/pspp 20130211032108/pspp 20130212032112/pspp 20130213032105/pspp 20130214032106/pspp 20130215032137/pspp 20130216032128/pspp 20130217032054/pspp 20130218032052/pspp 20130219032106/pspp 20130220032108/pspp 20130221032107/pspp 20130222032012/pspp 20130223032034/pspp 20130224032110/pspp 20130225032119/pspp 20130226031903/pspp 20130227031905/pspp 20130228031906/pspp 20130301031844/pspp 20130302032046/pspp
Ben Pfaff [Tue, 5 Feb 2013 06:40:50 +0000 (22:40 -0800)]
psppire-window: Avoid doubled separator in Windows menu.

John Darrington noticed that sometimes the separator was doubled in the
Windows menu.  It seems that the code for detecting that we've already
added the separator was unreliable, because it would re-add the separator
if the number of windows increased from zero, dropped to zero, and then
increased again.

11 years agopspp-sheet-view: Make Control+Left, Control+Right go to ends of lines. 20130204032125/pspp
Ben Pfaff [Mon, 4 Feb 2013 08:03:56 +0000 (00:03 -0800)]
pspp-sheet-view: Make Control+Left, Control+Right go to ends of lines.

John Darrington reported that, in Gnumeric, Control+Left goes to the first
column and Control+Right goes to the last column.  This commit changes
the data sheet to do the same

11 years agoMerge 'master' into 'psppsheet'.
Ben Pfaff [Sun, 3 Feb 2013 20:16:49 +0000 (12:16 -0800)]
Merge 'master' into 'psppsheet'.

11 years agocasereader: Remove casereader_split() function. 20130203030502/pspp 20130204030505/pspp 20130205030507/pspp
Ben Pfaff [Sat, 2 Feb 2013 16:52:54 +0000 (08:52 -0800)]
casereader: Remove casereader_split() function.

It no longer has any users.

Reported by John Darrington.

11 years agoRANK: Add support for temporary transformations.
Ben Pfaff [Fri, 1 Feb 2013 06:02:08 +0000 (22:02 -0800)]
RANK: Add support for temporary transformations.

Bug #37999.
Reported by Zoltan Fabian.

11 years agoRANK: Adopt a new ranking implementation.
Ben Pfaff [Thu, 31 Jan 2013 07:03:29 +0000 (23:03 -0800)]
RANK: Adopt a new ranking implementation.

Before this commit, the implementation of RANK made multiple passes
through the active file, opening and closing it (with proc_open()
and proc_commit()) as many times as there were input variables.
This worked in simple cases, but it could never work with
TEMPORARY since the second proc_open() will see a different set
of data from the first one.

This commit rewrites RANK to open and read the active file only
once.  It does not make RANK properly work with TEMPORARY, but
it brings it much closer.  It may also be faster in some cases
because, although it makes the same number of passes through
the input data (necessarily), each pass discards all the input
columns except the ones that are really need for that pass.

11 years agoRANK: Create all variables together, in order.
Ben Pfaff [Thu, 31 Jan 2013 06:51:02 +0000 (22:51 -0800)]
RANK: Create all variables together, in order.

An upcoming commit will rewrite the RANK implementation so that the
new variables are not created until after a pass through the data.
(This makes sense because their values cannot actually be determined
until that pass is complete, so there is no point in allocating space
for them in cases.)  To do that, it is necessary to figure out the
variable names (and that they will be valid variable names) in
advance.  This commit switches to that approach in advance.

This approach has another small advantage: the order of the variables
added by RANK to the dictionary does not depend on whether the
variables are named by the user or by generating a name.  (This
is why the rank.at test case changes.)

11 years agoRANK: Simplify rank_sorted_file() with new function sum_weights().
Ben Pfaff [Thu, 31 Jan 2013 05:19:53 +0000 (21:19 -0800)]
RANK: Simplify rank_sorted_file() with new function sum_weights().

This makes the code easier to read and possibly even faster.