John Darrington [Sat, 11 May 2013 07:21:01 +0000 (09:21 +0200)]
Gnumeric Reader: Use symbolic value instead of literal integer
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 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 [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.
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 [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 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
John Darrington [Thu, 18 Apr 2013 17:28:17 +0000 (19:28 +0200)]
Changed "Text files" to "Text Files"
Reported-By: Jack Tanner
John Darrington [Wed, 17 Apr 2013 17:23:24 +0000 (19:23 +0200)]
terminal-reader.c: Added missing #include directive
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
John Darrington [Tue, 9 Apr 2013 20:32:04 +0000 (22:32 +0200)]
Ascii driver: Default to box=unicode iff the charset is UTF8
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.
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.
Ben Pfaff [Sun, 26 Feb 2012 18:01:26 +0000 (10:01 -0800)]
po: Update Dutch translation from translationproject.org.
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.
John Darrington [Sun, 7 Apr 2013 17:56:44 +0000 (19:56 +0200)]
Fixed crash when processing regression with bad syntax
John Darrington [Sun, 7 Apr 2013 13:32:50 +0000 (15:32 +0200)]
Rename some identifiers for consistency
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.
John Darrington [Wed, 3 Apr 2013 07:37:17 +0000 (09:37 +0200)]
ascii.c: Use symbol instead of constant literal
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
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.
John Darrington [Mon, 1 Apr 2013 06:06:32 +0000 (08:06 +0200)]
Fix compiler warning in gnumeric-reader.c
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.
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
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
John Darrington [Sun, 31 Mar 2013 16:51:48 +0000 (18:51 +0200)]
Updated lt.po from translationproject.org
John Darrington [Sun, 31 Mar 2013 16:36:21 +0000 (18:36 +0200)]
Fixed some memory allocation issues in the Gnumeric import code
John Darrington [Sat, 30 Mar 2013 11:16:14 +0000 (12:16 +0100)]
Fix memory allocation issues in ods-reader
John Darrington [Sat, 30 Mar 2013 07:40:56 +0000 (08:40 +0100)]
Imported new lt.po file from translation-project.
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.
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>.
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
John Darrington [Tue, 26 Mar 2013 18:29:51 +0000 (19:29 +0100)]
Updated NEWS to match the version number
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
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.
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.
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.
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.
John Darrington [Sun, 17 Mar 2013 17:15:04 +0000 (18:15 +0100)]
Fix confusion over workspace units.
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
John Darrington [Sat, 16 Mar 2013 20:02:13 +0000 (21:02 +0100)]
Documentation: Mention the units of the WORKSPACE setting
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.
Ben Pfaff [Wed, 13 Mar 2013 04:56:49 +0000 (21:56 -0700)]
Merge 'master' into 'psppsheet'.
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.
Ben Pfaff [Tue, 12 Mar 2013 04:54:20 +0000 (21:54 -0700)]
Fix warnings introduced by minor type errors in recently added code.
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.
John Darrington [Fri, 8 Mar 2013 15:10:14 +0000 (16:10 +0100)]
Ref count the gnumeric reader
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.
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.
John Darrington [Fri, 8 Mar 2013 12:47:31 +0000 (13:47 +0100)]
Fix remaining leaks in Gnumeric reader
John Darrington [Fri, 8 Mar 2013 08:59:07 +0000 (09:59 +0100)]
Fixed some more errors in the spreadsheet readers
John Darrington [Thu, 7 Mar 2013 20:45:43 +0000 (21:45 +0100)]
zip-reader.c: Fix memory leak
John Darrington [Thu, 7 Mar 2013 10:22:38 +0000 (11:22 +0100)]
zip-test.c: Remove erroneous call to zip_member_unref
John Darrington [Thu, 7 Mar 2013 10:21:40 +0000 (11:21 +0100)]
zip-reader.c: Replace [cm]alloc by their x*alloc counterparts
John Darrington [Tue, 5 Mar 2013 08:15:35 +0000 (09:15 +0100)]
Fixed crash reading ODS spreadsheets and added a test case
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.
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.
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.
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.
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.
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.
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