Ben Pfaff [Wed, 25 Jan 2012 06:09:18 +0000 (22:09 -0800)]
pspp-dump-sav: Add manpage.
Ben Pfaff [Tue, 24 Jan 2012 05:28:53 +0000 (21:28 -0800)]
gui: Use $(INSTALL_DATA), not $(INSTALL), to install data files.
Plain $(INSTALL) always adds the executable bit to the installed
files, which has the wrong effect for data files.
Found by lintian.
John Darrington [Mon, 23 Jan 2012 18:47:01 +0000 (19:47 +0100)]
Moved rank.q to rank.c
John Darrington [Sun, 22 Jan 2012 19:37:46 +0000 (20:37 +0100)]
Reimplemented the logo as a svg image and converted to a 64x64 bit icon
Ben Pfaff [Sat, 21 Jan 2012 17:37:26 +0000 (09:37 -0800)]
README: Update.
Suggested-by: John Darrington <john@darrington.wattle.id.au>
John Darrington [Wed, 18 Jan 2012 19:32:57 +0000 (20:32 +0100)]
Added documentation for the MEANS command
John Darrington [Mon, 16 Jan 2012 19:06:43 +0000 (20:06 +0100)]
Improve behaviour of resizing the value chooser widget
John Darrington [Mon, 16 Jan 2012 13:23:35 +0000 (14:23 +0100)]
MEANS: Added further tests for missing value behaviour
John Darrington [Mon, 16 Jan 2012 09:47:18 +0000 (10:47 +0100)]
MEANS: Implemented /MISSING=TABLE subcommand
John Darrington [Mon, 16 Jan 2012 08:49:50 +0000 (09:49 +0100)]
MEANS: implemented the /CELLS={ALL,NONE,DEFAULT} options and added a test
Ben Pfaff [Sun, 15 Jan 2012 17:53:42 +0000 (09:53 -0800)]
Add German translation from translationproject.org.
This translation is by Matthias Keil <matthias.keil@uni-jena.de> and
the German translation team.
John Darrington [Sun, 15 Jan 2012 14:26:11 +0000 (15:26 +0100)]
Remove stray include directive
John Darrington [Sat, 14 Jan 2012 17:45:10 +0000 (18:45 +0100)]
Corrected various misspellings in the documentation
John Darrington [Sat, 14 Jan 2012 12:40:35 +0000 (13:40 +0100)]
MEANS: remove arguments to callbacks which were always unused
John Darrington [Sat, 14 Jan 2012 12:21:55 +0000 (13:21 +0100)]
Fix warnings
John Darrington [Sat, 14 Jan 2012 12:01:12 +0000 (13:01 +0100)]
MEANS: This command is IMO now stable enough to be used. Adding to command.def
Also added some tests.
John Darrington [Sat, 14 Jan 2012 11:54:51 +0000 (12:54 +0100)]
Categoricals cleanup: New structure 'payload' which reduces the
number of arguments to categoricals_create
John Darrington [Thu, 12 Jan 2012 20:21:54 +0000 (21:21 +0100)]
Avoid deprecated Perl syntax.
Apparently new perl versions don't like qw(x y z) without outer parentheses. See
http://search.cpan.org/~flora/perl-5.14.2/pod/perl5140delta.pod#Use_of_qw%28...%29_as_parentheses
This change adds these parentheses.
Reported-by: bojo42 <bojo42@gmail.com>
John Darrington [Wed, 11 Jan 2012 21:04:14 +0000 (22:04 +0100)]
Use idle callback to write to the local config directory
When the users config directory is on a filesystem with high latency,
moving a dialog box resulted in many writes and thus an unacceptable
delay. This change fixes that by consolidating the writes into a
low priority idle callback.
Ben Pfaff [Wed, 11 Jan 2012 04:52:11 +0000 (20:52 -0800)]
Fix PSPP link on OpenSUSE and possibly Ubuntu 11.10.
Reported-by: friedrich nietzsche <f_nietsje@hotmail.com>
at http://comments.gmane.org/gmane.comp.statistics.pspp.devel/4850
Reported-by: Luis Cebamanos <luiceur@gmail.com>
at http://comments.gmane.org/gmane.comp.statistics.pspp.devel/4869
Reported-by: Mindaugus <embar@super.lt>
Tested-by: Mindaugus <embar@super.lt>
Ben Pfaff [Sat, 7 Jan 2012 21:14:02 +0000 (13:14 -0800)]
cairo: Only apply options to table items, to avoid crash.
Most of the members of struct xr_rendering, including the 'xr'
member, are used only for table items. In chart items, these
members are zeroed. But xr_rendering_apply_options() attempted to
use the 'xr' member even for chart items, which caused a crash.
This reverts and replaces the provisional fix already applied by
John Darrington in commit
ee7b576822f (Avoid crash rendering charts
in the gui interface.), which also fixed the crash but added extra
unnecessary work.
Reported-by: Nick Macdonald <nick@nickmacdonald.net>
John Darrington [Thu, 5 Jan 2012 20:01:20 +0000 (21:01 +0100)]
online_help: use g_spawn_async instead of g_spawn_command_line_async
This change avoids potential problems caused by metacharacters in the
constructed command arguments.
Suggested by Ben Pfaff.
John Darrington [Thu, 5 Jan 2012 19:11:54 +0000 (20:11 +0100)]
Avoid crash rendering charts in the gui interface.
Reported-by: Nick Macdonald <nick@nickmacdonald.net>
Provisionally Reviewed-by: Ben Pfaff <blp@gnu.org>
John Darrington [Thu, 5 Jan 2012 14:39:23 +0000 (15:39 +0100)]
Fix memory leaks parsing string expressions
John Darrington [Thu, 5 Jan 2012 09:55:29 +0000 (10:55 +0100)]
Fix memory leaks
John Darrington [Thu, 5 Jan 2012 06:47:58 +0000 (07:47 +0100)]
lex_get_text_buffer_read: Avoid potential buffer overflow.
John Darrington [Tue, 3 Jan 2012 19:49:33 +0000 (20:49 +0100)]
Add files to manifest, inadvertantly omitted from previous commit.
John Darrington [Tue, 3 Jan 2012 19:41:35 +0000 (20:41 +0100)]
New file: builder-wrapper.h and builder-wrapper.c
Move the functions wrapping GtkBuilder out of helper.c
and into their own file.
John Darrington [Thu, 22 Dec 2011 19:57:23 +0000 (20:57 +0100)]
Set the output driver parameters dynamically from the output window style.
This change allows the output driver options to be changed after the driver
has been created. This is necessary in the GUI to follow the style changes
(eg from theme engines etc)
Ben Pfaff [Wed, 21 Dec 2011 03:12:19 +0000 (19:12 -0800)]
psppire-dialog: Add missing prototype for psppire_dialog_help() to header.
John Darrington [Sun, 18 Dec 2011 17:44:35 +0000 (18:44 +0100)]
doc/automake.mk: Added eacute to the list of docbook entities which need to be mutated
John Darrington [Sun, 18 Dec 2011 07:40:13 +0000 (08:40 +0100)]
Correct packing properties of sort cases dialog.
John Darrington [Sat, 17 Dec 2011 21:14:11 +0000 (22:14 +0100)]
Escape # character in call to g_spawn_command_line_async
It seems that this character was being treated as a comment start.
John Darrington [Sat, 17 Dec 2011 17:00:47 +0000 (18:00 +0100)]
Added a callback to the dialog help buttons, and a handler to call
the manual when clicked.
John Darrington [Sat, 17 Dec 2011 11:38:29 +0000 (12:38 +0100)]
Fix errors in the Texinfo source discovered by makeinfo 4.13.90
John Darrington [Sat, 17 Dec 2011 07:31:03 +0000 (08:31 +0100)]
Output Viewer: Try to adapt to changes in style
Set the fg and bg of viewer's container and its children to the
text and base of the output window upon style change. This means that
the output viewer will respond to changes in style once even after the
program has been started.
We still need some way to set the foreground colours of the cairo output
after the driver has been created, but that doesn't seem to be currently
possible.
Ben Pfaff [Tue, 13 Dec 2011 05:35:01 +0000 (21:35 -0800)]
gui: Make Enter work in the Goto Case dialog.
Without this change, Enter does nothing in the dialog that Edit|Goto Case
brings up. With this change, Enter activates the Goto button.
John Darrington [Sun, 11 Dec 2011 18:48:07 +0000 (19:48 +0100)]
Output viewer: use the widget's style to set the colors of the
output driver.
John Darrington [Sun, 11 Dec 2011 13:09:33 +0000 (14:09 +0100)]
Cairo output driver: Added options to set the foreground and background
colours.
John Darrington [Sun, 11 Dec 2011 11:39:42 +0000 (12:39 +0100)]
Remove xr_draw_chart from cairo.h and make static
The function xr_draw_chart is used only in cairo.c, so it seems there
is little point in having it public.
John Darrington [Sat, 10 Dec 2011 13:25:46 +0000 (14:25 +0100)]
Added basic framework for the MEANS command.
Not much here yet. Just the parser and framework
for the output.
John Darrington [Fri, 9 Dec 2011 10:24:56 +0000 (11:24 +0100)]
Added a function to clone an interaction.
John Darrington [Wed, 7 Dec 2011 18:38:30 +0000 (19:38 +0100)]
Value Labels Dialog: Fix packing properties
Ben Pfaff [Sun, 4 Dec 2011 18:44:07 +0000 (10:44 -0800)]
gui: Fix behavior of print preview in psppire-output-window.
Print preview only showed one page because the GtkPrintOperation emits
"paginate" again even after it returns TRUE once and our "paginate"
implementation was not prepared for that.
Also fixes a memory leak in paginate(): the driver used for pagination was
not being freed.
Reported-by: John Darrington <john@darrington.wattle.id.au>
John Darrington [Sat, 3 Dec 2011 12:06:32 +0000 (13:06 +0100)]
ONEWAY: Fixed crash when the dependent variable contained only missing values.
When forming a struct categoricals, there is no way in advance to know if the
given categorical variables will actually contain any values. If one or more
of them contains no non-missing values, then it's not meaningfull to talk
about categories.
Such cases were causing oneway to crash. Thanks to Dave Purdy
<David_Purdy@btinternet.com> for reporting this problem.
John Darrington [Sat, 3 Dec 2011 09:59:07 +0000 (10:59 +0100)]
Remove unused global variables
Ben Pfaff [Fri, 2 Dec 2011 06:06:48 +0000 (22:06 -0800)]
gui: Fix printing of tables split across pages in psppire-output-window.
xr_driver_output_item() expects the caller to call xr_driver_next_page()
as long as xr_driver_need_new_page() returns true, but the printing code
didn't do that, so tables split across pages in printouts caused an
assertion failure at the next call to xr_driver_output_item().
Reported-by: John Darrington <john@darrington.wattle.id.au>
Ben Pfaff [Fri, 2 Dec 2011 05:25:18 +0000 (21:25 -0800)]
Avoid declaring variables in the middle of a block, to avoid requiring C99.
John Darrington [Mon, 28 Nov 2011 20:27:41 +0000 (21:27 +0100)]
categoricals.c: Rename function to more accurately reflect its purpose
John Darrington [Mon, 28 Nov 2011 20:23:24 +0000 (21:23 +0100)]
Remove unused function
John Darrington [Sat, 26 Nov 2011 13:42:27 +0000 (14:42 +0100)]
GLM: Mimic spss output with /INTERCEPT=EXCLUDE
John Darrington [Sat, 26 Nov 2011 11:51:53 +0000 (12:51 +0100)]
Fix memory leak
John Darrington [Fri, 25 Nov 2011 10:07:42 +0000 (11:07 +0100)]
GLM: Added implementation for the Type 3 sums of squares.
This seems to match expectations, except for the Intercept term.
John Darrington [Fri, 25 Nov 2011 09:52:50 +0000 (10:52 +0100)]
GLM: Added test for type II sums of squares
John Darrington [Fri, 25 Nov 2011 09:35:15 +0000 (10:35 +0100)]
Whitespace changes only
John Darrington [Fri, 25 Nov 2011 09:01:42 +0000 (10:01 +0100)]
categoricals.c: Effects coding.
Implemented Effects (also called Contrast) coding instead of Dummy Coding
and corrected logic error.
John Darrington [Thu, 24 Nov 2011 20:48:29 +0000 (21:48 +0100)]
GLM test: Remove redundant transformations and reorder.
This change does not affect the test or its result, but makes it
easier to understand.
John Darrington [Wed, 23 Nov 2011 13:47:35 +0000 (14:47 +0100)]
GLM: Implemented the Type I sums of squares and added a test for that.
John Darrington [Wed, 23 Nov 2011 13:23:17 +0000 (14:23 +0100)]
GLM: Update logic for choosing types of sums of squares
John Darrington [Wed, 23 Nov 2011 12:59:36 +0000 (13:59 +0100)]
glm.c: Allow parser to accept METHOD=SSTYPE(n) subcommand
John Darrington [Wed, 23 Nov 2011 12:41:28 +0000 (13:41 +0100)]
glm.c:get_ssq Remove unnecessary assignment
John Darrington [Sun, 20 Nov 2011 12:25:50 +0000 (13:25 +0100)]
categoricals.c Fix the calculation of the per encoding sums
John Darrington [Sat, 19 Nov 2011 19:01:04 +0000 (20:01 +0100)]
Rename df --> df_prod and comment accordingly
John Darrington [Sat, 19 Nov 2011 18:33:03 +0000 (19:33 +0100)]
categoricals.c: Reimpliment the get_binary_by subscript function
Instead of making ad hoc encodings for interactions, use the product
of the encodings of the individual variables. This should not affect
the outcome of any current test cases, but makes the data flow easier
to follow and to debug.
John Darrington [Tue, 15 Nov 2011 14:47:10 +0000 (15:47 +0100)]
sweep.c: Use gsl_matrix_memcpy instead of element by element copying.
Although only the upper triangle needs to be copied, there is no
disadvantage copying the entire matrix (the lower triangle is never read)
and the expense of using two loops is likely to outweigh the saving achieved
by avoiding the other triangle.
John Darrington [Tue, 15 Nov 2011 14:20:59 +0000 (15:20 +0100)]
sweep.c: Move repeated call out of if ... else
This line is identical for all cases, so it only needs to appear once.
John Darrington [Tue, 15 Nov 2011 14:14:30 +0000 (15:14 +0100)]
sweep.c: Reduce scope of local variables and avoid reusing them.
This makes the code easier to follow, and helps the compiler with
optimisation.
John Darrington [Tue, 15 Nov 2011 13:57:34 +0000 (14:57 +0100)]
sweep.c: Reverse sense of consistency tests.
This avoids numerous levels of indentation.
John Darrington [Tue, 15 Nov 2011 13:51:49 +0000 (14:51 +0100)]
sweep.c: swap rows/columns instead of using indirection for last_col
This makes the code shorter, and I believe should make it faster too.
John Darrington [Mon, 14 Nov 2011 17:19:37 +0000 (18:19 +0100)]
GLM: Add debugging option /SHOWCODES
John Darrington [Sun, 13 Nov 2011 19:26:29 +0000 (20:26 +0100)]
Remove useless code
John Darrington [Thu, 10 Nov 2011 20:13:32 +0000 (21:13 +0100)]
File Open: Don't try to analyse the file if it's a directory.
The File Open dialog box looks at the contents of the selected file
in order to decide whether to set the sensitivity of the encoding
selector. But if the file was a directory this caused error messages
on windoze. Closes bug #34773
Ben Pfaff [Thu, 10 Nov 2011 05:27:41 +0000 (21:27 -0800)]
GET: Fix confusion over the type of the 'type' parameter.
The 'type' parameter was being used to pass in an "enum reader_command" but
it was then later assigned a value of "enum pfm_type". This renames 'type'
to 'command' for clarity and just deletes the assignment of the "enum
pfm_type" value entirely because the value was not used.
Found by Clang.
Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>
Ben Pfaff [Thu, 10 Nov 2011 05:23:46 +0000 (21:23 -0800)]
DO REPEAT: Properly convert lex_syntax_mode to segmenter_mode.
Clang reported that "enum lex_syntax_mode" was being implicitly converted
to "enum segmenter_mode". Luckily, equal values in each enum have the
same meaning, but it seems better to convert by hand, so this patch
implements that.
Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>
Ben Pfaff [Thu, 10 Nov 2011 05:16:19 +0000 (21:16 -0800)]
hmap: Mark definition of hmap_node_hash() "static inline".
This suppresses a Clang warning. The prototype earlier in the file
was already marked "static inline", so I don't think that this is a
functional change.
Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>
Ben Pfaff [Thu, 10 Nov 2011 05:02:06 +0000 (21:02 -0800)]
str: Mark definition of ss_empty() "static inline".
This suppresses a Clang warning. The prototype earlier in the file
was already marked "static inline", so I don't think that this is a
functional change.
Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>
Ben Pfaff [Wed, 9 Nov 2011 05:07:38 +0000 (21:07 -0800)]
ONEWAY: Fix printf format specifier.
Reported-by: Jeremy Lavergne <jeremy@lavergne.gotdns.org>
Ben Pfaff [Sun, 6 Nov 2011 21:22:16 +0000 (13:22 -0800)]
configure: Add option --enable-Werror to add -Werror to CFLAGS.
-Werror is useful for development, but it screws up configure because it's
impossible to guess what new warnings compilers will add in the future.
This commit adds a new configure option to add CFLAGS after the configure
checks are done.
The use of AC_CONFIG_COMMANDS_PRE is based on Eric Blake's suggestion on
the autoconf mailing list: "AC_CONFIG_COMMANDS_PRE probably fits the bill
as the ideal macro to use for guaranteeing that you inject your shell code
at the last possible moment."
The Autoconf code added in this commit, as well as this commit message,
come from Open vSwitch.
Ben Pfaff [Sun, 6 Nov 2011 20:55:27 +0000 (12:55 -0800)]
crosstabs-dialog: Remove unused vars from on_format_clicked().
Ben Pfaff [Sat, 5 Nov 2011 19:59:46 +0000 (12:59 -0700)]
q2c: Remove gettext.h #include from generated code.
The generated code no longer uses any of the gettext symbols.
Ben Pfaff [Sat, 5 Nov 2011 19:46:21 +0000 (12:46 -0700)]
q2c: Remove final untranslated strings from q2c.c.
The "restrictions" that could be specified in q2c put strings
in the output that needed to be translated but could not. This
commit drops the feature and removes all of its prior users.
Some of the users required new validation code to be added, but
many of them in the SET command did not because the value was
not actually used anywhere.
Ben Pfaff [Sat, 5 Nov 2011 19:52:06 +0000 (12:52 -0700)]
q2c: Use new subc_list_error() to report too many subcommands.
This removes one string from q2c.c that needs translation but
cannot currently be translated.
Ben Pfaff [Sun, 6 Nov 2011 03:02:54 +0000 (20:02 -0700)]
lexer: New function lex_force_string_or_id().
This new function removes a string from q2c.c that requires
translation but currently cannot be translated.
Ben Pfaff [Sat, 5 Nov 2011 23:34:56 +0000 (16:34 -0700)]
lexer: New functions lex_spec_missing(), lex_spec_only_once().
These functions don't have many users yet but they make logical
sense to me.
Ben Pfaff [Sat, 5 Nov 2011 23:23:05 +0000 (16:23 -0700)]
lexer: Use error helper functions in more situations.
The error helpers print error messages that are just as helpful
as handwritten error messages in most cases, especially now
that the error messages include column numbers. They also
have advantages for i18n.
One important purpose of this commit is to remove several
strings from q2c.c that require translation but currently are
not translatable.
Ben Pfaff [Sat, 5 Nov 2011 20:07:44 +0000 (13:07 -0700)]
lexer: Drop lexer parameter from lex_sbc_missing().
There's no point in passing in the lexer and using lex_error(),
because the extra information that lex_error() outputs does
not help the user find the error.
Ben Pfaff [Sat, 5 Nov 2011 18:23:23 +0000 (11:23 -0700)]
lexer: New function lex_error_expecting().
This centralizes some fairly common strings into lexer.c.
Ben Pfaff [Sat, 5 Nov 2011 23:11:59 +0000 (16:11 -0700)]
LOOP: Correctly implement MXLOOPS and add a test.
Previously the MXLOOPS value was implemented incorrectly: the
loop would actually iterate MXLOOPS+1 times. This commit fixes
the problem.
Ben Pfaff [Sat, 5 Nov 2011 23:10:54 +0000 (16:10 -0700)]
settings: Implement MXLOOPS subcommand.
It had been overlooked.
The following commit adds a test.
Ben Pfaff [Sat, 5 Nov 2011 23:09:18 +0000 (16:09 -0700)]
settings: Update default MXLOOPS and document.
MXLOOPS should be 40 by default, for compatibility.
Ben Pfaff [Sat, 5 Nov 2011 19:44:27 +0000 (12:44 -0700)]
SET: Warn for more obsolete subcommands.
Ben Pfaff [Sun, 6 Nov 2011 03:22:40 +0000 (20:22 -0700)]
doc: Remove reference to unimplemented SET PAGER command.
Bug #33632.
Reported by John Darrington.
Ben Pfaff [Sat, 5 Nov 2011 04:45:49 +0000 (21:45 -0700)]
lexer: Rename 'close' to 'destroy' in struct lex_reader_class.
This seems like a cleaner solution to the problem of Gnulib
sometimes defining 'close' as a macro than to add an extra
include file and a big comment.
Ben Pfaff [Wed, 2 Nov 2011 05:04:02 +0000 (22:04 -0700)]
gui: Fix spelling error in macro name.
Ben Pfaff [Wed, 2 Nov 2011 05:02:56 +0000 (22:02 -0700)]
gui: Make .csv available for output export with File|Export.
The hard-coded 6 here was wrong: there are 7 file formats.
It's better to use the n_FT constant.
Ben Pfaff [Wed, 2 Nov 2011 04:54:46 +0000 (21:54 -0700)]
gui: Fix configuring Unicode box characters.
Commit
14b3603043 "ascii: Add support for multibyte characters"
changed how the box characters are configured but failed to
update psppire-output-window.c, so attempting to paste a table
into an application that accepts UTF-8 text would output many
warnings like "unknown option `box[0201]'" and not actually use
Unicode box characters.
This fixes the problem.
John Darrington [Sun, 23 Oct 2011 17:44:42 +0000 (19:44 +0200)]
New object: psppire-lex-reader
This object reads lexer input direct from a GtkBuffer instead of converting to a string first.
John Darrington [Sun, 23 Oct 2011 12:42:51 +0000 (14:42 +0200)]
Remove duplicate #include lines
John Darrington [Mon, 24 Oct 2011 18:06:04 +0000 (20:06 +0200)]
Remove labelling options from Crosstabs GUI
The previous change removed the label options from the crosstabs commmand,
but didn't update the gui accordingly. This change fixes that.
John Darrington [Wed, 19 Oct 2011 17:55:00 +0000 (19:55 +0200)]
Use variable labels in crosstabs.
Use a variable's label instead of its name (if it has one) in the crosstabs
output. Removed the FORMAT=LABEL subcommand which is no longer supported
by spss. Updated documentation to reflect the code.