Ben Pfaff [Tue, 28 May 2013 04:28:32 +0000 (21:28 -0700)]
INPUT PROGRAM: Avoid infinite loop for trivially empty input program.
Bug #38782.
Reported by John Darrington.
Ben Pfaff [Sun, 26 May 2013 23:43:01 +0000 (16:43 -0700)]
Avoid letting data fields overflow in output and GUI.
When the output for data_out() is too big for the field width, it produces
output that consists of just asterisks: ******. This is OK when the
output is really going into a fixed-width space, such as the output for
PRINT and WRITE. But it is obnoxious if the output is going into PSPP
output or the GUI. This commit introduces a new function that typically
does not do this, and starts using it in output and the GUI.
Bug #35829.
Reported by John Darrington.
Bug #30731.
Reported by lavila <la@jump23.com>.
John Darrington [Sun, 26 May 2013 06:42:23 +0000 (08:42 +0200)]
Whitespace changes only
John Darrington [Sun, 26 May 2013 05:11:08 +0000 (07:11 +0200)]
Fix memory leak in error path of RECODE
John Darrington [Sun, 26 May 2013 05:00:02 +0000 (07:00 +0200)]
Fix memory leak in error path of LOGISTIC REGRESSION
John Darrington [Sat, 25 May 2013 18:53:31 +0000 (20:53 +0200)]
Fix memory leak in LOGISTIC command
John Darrington [Sat, 25 May 2013 18:43:45 +0000 (20:43 +0200)]
Fixed memory leak in examine command
John Darrington [Sat, 25 May 2013 18:37:14 +0000 (20:37 +0200)]
Fix leak check in oneway command
John Darrington [Sat, 25 May 2013 16:45:18 +0000 (18:45 +0200)]
Remove "slash" property from psppire_button_editable, which is not used
John Darrington [Sat, 25 May 2013 11:06:49 +0000 (13:06 +0200)]
Linear Regression Test: Provide more decimal places in test results.
This test previously had only 2 decimal places displayed, which
limited its ability to detect numerical errors. This change increases
the decimal places to 3.
The results for this test were checked against a pattern provided
by Olaf Nöhring.
John Darrington [Sat, 25 May 2013 10:54:57 +0000 (12:54 +0200)]
Regression: Use alternative formula for adjusted R-square
This is the formula given in SPSS Statistical Algorithms Ed 20.
John Darrington [Sat, 25 May 2013 10:00:12 +0000 (12:00 +0200)]
Corrected the Degrees of Freedom in the Regression Coefficient Significance
Reported and Tested by: Olaf Nöhring.
John Darrington [Sat, 18 May 2013 15:08:23 +0000 (17:08 +0200)]
Open imported files in new data window instead of overwriting the old
John Darrington [Sat, 18 May 2013 14:36:16 +0000 (16:36 +0200)]
Add hint paramater to Window Load method
Ben Pfaff [Wed, 22 May 2013 03:32:27 +0000 (20:32 -0700)]
Smake: Use glibtoolize instead of libtoolize, if it is available.
Requested by Teppo Jussmäki <jussmaki@fastmail.fm>.
Tested by Teppo Jussmäki <jussmaki@fastmail.fm>.
Ben Pfaff [Tue, 21 May 2013 06:49:54 +0000 (23:49 -0700)]
DELETE VARIABLES: Fix crash with FILTER.
FILTER has the surprising property that it introduces a temporary
transformation, even if proc_make_temporary_transformations_permanent()
was previously called. This causes a crash if the procedure implementation
really relies on there being no temporary transformations.
This commit fixes the problem in the procedures I was able to identify as
having it, adds a comment to proc_make_temporary_transformations_permanent()
to make it a little less likely to happen again, and adds a test
specifically to check for regression on DELETE VARIABLES.
Reported by John Darrington.
Bug #38843.
Ben Pfaff [Tue, 21 May 2013 05:20:18 +0000 (22:20 -0700)]
REGRESSION: Avoid use-after-free error with TEMPORARY and SAVE.
This should fix the use-after-free error, although I am not sure whether it
makes REGRESSION do exactly what it should do.
Bug #38787.
Ben Pfaff [Tue, 21 May 2013 05:14:54 +0000 (22:14 -0700)]
DESCRIPTIVES: Avoid use-after-free with TEMPORARY and Z scores.
This is not an ideal fix, but it avoids the use-after-free error that we
have had until now.
Bug #38786.
Ben Pfaff [Tue, 21 May 2013 05:54:31 +0000 (22:54 -0700)]
FLIP: Fix use-after-free and double frees with temporary transformations.
I originally thought this was a bug in FLIP, but it turned out that in
fact we just hadn't ever really tested
proc_make_temporary_transformations_permanent() properly with actual
transformations, and especially with adding a transformation after calling
proc_make_temporary_transformations_permanent().
The modified test should avoid regression for the bug.
Bug #38832.
Ben Pfaff [Tue, 21 May 2013 05:35:35 +0000 (22:35 -0700)]
DESCRIPTIVES: Fix a pair of memory leaks.
John Darrington [Mon, 20 May 2013 07:30:52 +0000 (09:30 +0200)]
Work around change in signature of the switch page callback in GtkNoteBook
John Darrington [Mon, 20 May 2013 05:00:49 +0000 (07:00 +0200)]
Fix constness problem in spreadsheet reader dialog
John Darrington [Sun, 19 May 2013 09:40:02 +0000 (11:40 +0200)]
version.c: Make the build date/time independent of locale and timezone
John Darrington [Sun, 19 May 2013 05:20:52 +0000 (07:20 +0200)]
Remove unused function
John Darrington [Sat, 18 May 2013 17:06:55 +0000 (19:06 +0200)]
Implement import dialog to import spreadsheet files.
Reviewed-by: Ben Pfaff
John Darrington [Fri, 17 May 2013 14:24:31 +0000 (16:24 +0200)]
Sort items in datasheets dropdown box.
Before this change, the values in the data sheets dropdown
box appeared in a non-deterministic order (the order in
the underlying hash), which was inconvenient to users.
This change produces the values in sorted order.
Closes bug #38921
John Darrington [Fri, 17 May 2013 08:08:49 +0000 (10:08 +0200)]
Documentation: Explain more emphatically that UPDATE/MATCH/ADD do not mutate input files.
Closes bug #38682.
John Darrington [Fri, 17 May 2013 07:55:21 +0000 (09:55 +0200)]
Cairo output: Add a bit of horizontal between table columns.
Fixes bug #34798
John Darrington [Wed, 15 May 2013 17:09:11 +0000 (19:09 +0200)]
Spreadsheet Import Dialog: Implement reset button
John Darrington [Wed, 15 May 2013 17:02:45 +0000 (19:02 +0200)]
Merge remote branch 'origin/master' into import-gui
Conflicts:
src/ui/gui/page-assistant.c
John Darrington [Wed, 15 May 2013 17:00:37 +0000 (19:00 +0200)]
Import Assistant: Fix broken reset buttons
John Darrington [Wed, 15 May 2013 16:55:29 +0000 (18:55 +0200)]
Import Assistant: Fix broken reset buttons
John Darrington [Tue, 14 May 2013 17:05:20 +0000 (19:05 +0200)]
Merge remote branch 'origin/master' into import-gui
John Darrington [Tue, 14 May 2013 11:00:37 +0000 (13:00 +0200)]
Avoid use of deprecated GtkNotebookPage
John Darrington [Tue, 14 May 2013 09:52:27 +0000 (11:52 +0200)]
PsppireButtonBox: Do not use the GtkBoxChild structure.
Avoid using Gtk features which are (soon to be) deprecated.
John Darrington [Tue, 14 May 2013 04:46:57 +0000 (06:46 +0200)]
Merge remote branch 'origin/master' into import-gui
John Darrington [Mon, 13 May 2013 17:10:29 +0000 (19:10 +0200)]
PsppSheetViewColumn: Remove inappropriate #ifndef
John Darrington [Mon, 13 May 2013 07:30:30 +0000 (09:30 +0200)]
Replaced some obsolete GTK symbols with the recommended modern ones
John Darrington [Mon, 13 May 2013 06:44:20 +0000 (08:44 +0200)]
GtkXPaned: Whitespace changes only
John Darrington [Mon, 13 May 2013 07:29:25 +0000 (09:29 +0200)]
Avoid compiler warning
John Darrington [Sun, 12 May 2013 13:40:36 +0000 (15:40 +0200)]
Update INSTALL file
John Darrington [Sun, 12 May 2013 05:41:49 +0000 (07:41 +0200)]
Updated localisations from translation-project.org
John Darrington [Sat, 11 May 2013 07:39:08 +0000 (09:39 +0200)]
Merge branch 'master' into import-gui
John Darrington [Sat, 11 May 2013 07:31:12 +0000 (09:31 +0200)]
Made _xml_char_to_int less prone to crashing
John Darrington [Sat, 11 May 2013 07:21:01 +0000 (09:21 +0200)]
Gnumeric Reader: Use symbolic value instead of literal integer
John Darrington [Sat, 11 May 2013 07:31:12 +0000 (09:31 +0200)]
Made _xml_char_to_int less prone to crashing
John Darrington [Sat, 11 May 2013 07:21:01 +0000 (09:21 +0200)]
Gnumeric Reader: Use symbolic value instead of literal integer
John Darrington [Sat, 11 May 2013 05:21:46 +0000 (07:21 +0200)]
Merge remote branch 'origin/master' into import-gui
John Darrington [Fri, 10 May 2013 11:46:13 +0000 (13:46 +0200)]
Fix corner case in calculation of trimmed mean.
The calculation of the trimmed mean was not quite correct. This
change fixes it, and adds a test.
Reported by: Olaf Nöhring.
John Darrington [Thu, 9 May 2013 17:39:15 +0000 (19:39 +0200)]
Merge branch 'master' into import-gui
Conflicts:
src/ui/gui/psppire-cell-renderer-button.c
John Darrington [Thu, 9 May 2013 09:40:03 +0000 (11:40 +0200)]
Revert "Work-around bug in GCC 4.4.5"
This reverts commit
c7711e39f523f206a74f5d0f52480ad10267e0ca.
The claim of a bug in GCC proved to be unfounded. The problem which
this change tried to work-around has in fact been fixed in
commit
19bf192a093527bf10b1de95fbe8798ba156f960
John Darrington [Thu, 9 May 2013 09:28:12 +0000 (11:28 +0200)]
Fix stack corruption in ODS reader.
zip_reader_create takes a pointer to a struct string, which
is used to store error messages during zip operations. I had
been passing the address of a string declared as local variable
in ods_probe. However since the zip reader survives ods_probe,
this caused stack corruption in later read operations.
This change makes the string a member of the reader created (if any).
John Darrington [Thu, 9 May 2013 09:28:12 +0000 (11:28 +0200)]
Fix stack corruption in ODS reader.
zip_reader_create takes a pointer to a struct string, which
is used to store error messages during zip operations. I had
been passing the address of a string declared as local variable
in ods_probe. However since the zip reader survives ods_probe,
this caused stack corruption in later read operations.
This change makes the string a member of the reader created (if any).
John Darrington [Wed, 8 May 2013 07:42:00 +0000 (09:42 +0200)]
Update test to include new warning
John Darrington [Tue, 7 May 2013 13:50:02 +0000 (15:50 +0200)]
ods reader: Report cells which cannot be converted
John Darrington [Sat, 4 May 2013 05:10:37 +0000 (07:10 +0200)]
Gnumeric reader: Report cells which cannot be converted
John Darrington [Tue, 7 May 2013 13:52:44 +0000 (15:52 +0200)]
Spreadsheetreader: new function create_cell_ref and rename existing function with that name.
Rename convert_cell_ref to convert_cell_range which is a more accurate
description of the function, and add a new function, with the original
name of the function we've just renamed.
The new function (create_cell_ref) does just that.
Ben Pfaff [Thu, 9 May 2013 04:10:24 +0000 (21:10 -0700)]
psppire-cell-renderer-button: Don't use gdk_window_coords_to_parent().
It was introduced in GDK 2.22, which is newer than we require.
Reported by John Darrington.
Ben Pfaff [Thu, 9 May 2013 04:07:39 +0000 (21:07 -0700)]
psppire-cell-renderer-button: Do not update 'event->window'.
Commit
5b59146f8d0 (psppire-cell-renderer-button: Translate coords before
propagating event.) caused GDK and GTK+ warnings and criticals and a crash
if the scenario described in the bug report were repeated a number of
times. This change appears to fix the problem.
Reported by John Darrington.
Bug #38922.
John Darrington [Thu, 9 May 2013 01:49:27 +0000 (03:49 +0200)]
Revert "psppire-cell-renderer-button: Translate coords before propagating event."
This reverts commit
5b59146f8d060754b14eba415dcc9066d8bc7b02.
John Darrington [Thu, 9 May 2013 01:49:06 +0000 (03:49 +0200)]
Remove include directives for non-existant files
John Darrington [Thu, 9 May 2013 01:40:54 +0000 (03:40 +0200)]
Merge remote branch 'origin/master' into import-gui
Ben Pfaff [Wed, 8 May 2013 05:29:50 +0000 (22:29 -0700)]
psppire-cell-renderer-button: Translate coords before propagating event.
When propagating a right-click upward, the x and y coordinates in the
event are those for the button, not for the parent window, but the parent
window's signal handlers will expect that they are relative to the parent
window. This commit makes that so.
Without this commit, the following scenario occurs:
1. Open a dataset with at least two cases.
2. Switch to the Data View
3. Place the pointer over (say) the tenth row header button.
4. Click the left mouse button.
5. Click the right mouse button.
6. The popup menu appears (as it should), but row 1 gets selected instead
of row 10.
With this commit, in step 6 the correct row is selected.
Bug #38922.
Reported by John Darrington.
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.
John Darrington [Mon, 6 May 2013 18:45:40 +0000 (20:45 +0200)]
Remove unused variable assigned in expression.
Found by clang analayzer
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.
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.
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.
Ben Pfaff [Sun, 5 May 2013 23:03:07 +0000 (16:03 -0700)]
psppire-data-sheet: Remove stray debug printf.
Reported by John Darrington.
John Darrington [Sat, 4 May 2013 15:08:06 +0000 (17:08 +0200)]
Updated gnulib version
John Darrington [Mon, 29 Apr 2013 15:57:03 +0000 (17:57 +0200)]
Merge remote branch 'origin/master' into import-gui
John Darrington [Sun, 28 Apr 2013 14:47:02 +0000 (16:47 +0200)]
Add necessary initialisation to spreadsheet-test.c
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.
John Darrington [Sun, 28 Apr 2013 15:48:16 +0000 (17:48 +0200)]
Fixed crash in error path of MEANS command
John Darrington [Sun, 28 Apr 2013 14:47:02 +0000 (16:47 +0200)]
Add necessary initialisation to spreadsheet-test.c
John Darrington [Sun, 28 Apr 2013 13:40:42 +0000 (15:40 +0200)]
Merge remote branch 'origin/master' into import-gui
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.
John Darrington [Sun, 28 Apr 2013 07:34:43 +0000 (09:34 +0200)]
Fix constness warnings
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.
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
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.
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
John Darrington [Fri, 26 Apr 2013 16:52:05 +0000 (18:52 +0200)]
Added missing headers to terminal-reader.c
John Darrington [Fri, 26 Apr 2013 16:37:53 +0000 (18:37 +0200)]
Update ABOUT-NLS from gettext
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.
John Darrington [Thu, 25 Apr 2013 10:10:36 +0000 (12:10 +0200)]
convert list.q to list.c
Reviewed-by: Ben Pfaff
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.
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>
Ben Pfaff [Thu, 25 Apr 2013 05:10:41 +0000 (22:10 -0700)]
encoding-guesser: New function encoding_guess_bom_length().
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.
John Darrington [Wed, 24 Apr 2013 18:30:48 +0000 (20:30 +0200)]
Fixed crash with EXAMINE vs. SPLIT
Partial fix for bug #38820
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
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.
John Darrington [Wed, 24 Apr 2013 11:44:26 +0000 (13:44 +0200)]
Avoid test failures due to wrong terminal settings
John Darrington [Wed, 24 Apr 2013 10:49:58 +0000 (12:49 +0200)]
Added test for known split file problems
John Darrington [Tue, 23 Apr 2013 17:42:36 +0000 (19:42 +0200)]
Fixed crash in error path for GET DATA
John Darrington [Tue, 23 Apr 2013 14:09:04 +0000 (16:09 +0200)]
Added strcasestr to list of gnulib modules
John Darrington [Mon, 22 Apr 2013 18:04:04 +0000 (20:04 +0200)]
Use the select and pipe2 modules from gnulib
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.
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