Ben Pfaff [Sun, 12 Dec 2010 06:07:56 +0000 (22:07 -0800)]
expressions: Make extract_min_valid() parameter const.
This fixes the following warning:
parse.c: In function ‘parse_function’:
parse.c:1213: warning: passing argument 1 of ‘extract_min_valid’ discards qualifiers from pointer target type
Ben Pfaff [Sun, 12 Dec 2010 06:07:14 +0000 (22:07 -0800)]
categoricals: Make parameter to categoricals_done() const.
From a high-level point of view, categoricals_done() does not actually
mutate any data in a categoricals object. Instead, it just computes a
cache. So it seems reasonable to make it take a "const" parameter, and
this fixes a warning:
oneway.c: In function ‘run_oneway’:
oneway.c:502: warning: initialization discards qualifiers from pointer target type
Ben Pfaff [Sun, 12 Dec 2010 05:29:55 +0000 (21:29 -0800)]
covariance: Fix const-ness of covariance_calculate[_unnormalized] retval.
The covariance_calculate() and covariance_calculate_unnormalized()
functions documented that their return values were owned by the covariance
object itself and thus should not be freed by the caller. However, this
documentation was incorrect, because in fact the covariance object did not
retain the pointer at all. This commit fixes the comments, updates
the return values to be non-"const", and changes the callers to free the
returned "gsl_matrix" objects.
Ben Pfaff [Sun, 12 Dec 2010 05:13:03 +0000 (21:13 -0800)]
ONEWAY: Fix warning for passing "const" pointer as non-const parameter.
Ben Pfaff [Sun, 12 Dec 2010 05:09:45 +0000 (21:09 -0800)]
mann-whitney: Suppress GCC warning about unused parameter.
Ben Pfaff [Sun, 12 Dec 2010 05:09:17 +0000 (21:09 -0800)]
friedman: Fix GCC warning about uninitialized fr.w.
On my machine GCC 4.4 complains:
friedman.c: In function ‘friedman_execute’:
friedman.c:106: warning: ‘fr.w’ may be used uninitialized in this function
This appears to be because GCC can't see that the assignment to fr.w and
its later use (in show_sig_box()) both have the same condition. At any
rate, this commit suppresses the warning by always initializing fr.w.
Ben Pfaff [Sun, 5 Dec 2010 14:43:51 +0000 (06:43 -0800)]
gui: Factor out duplicated code for executing and pasting syntax.
Reducing code duplication is good on its own. This will also make it
easier in upcoming patches to swap out "getl_interface" with a new
structure, by eliminating most of the references to getl_interface.
Ben Pfaff [Sat, 4 Dec 2010 19:11:51 +0000 (11:11 -0800)]
command: Don't allow SORT as an abbreviation for SORT CASES.
This abbreviation has never been documented, and I don't see a reason to
keep it.
Ben Pfaff [Sun, 21 Nov 2010 20:00:32 +0000 (12:00 -0800)]
Remove the PROMPT, CPROMPT, and DPROMPT settings.
These settings will be insufficient to configure prompting for the new
lexer, which is able to detect more special cases in syntax and report
them through the prompt. (However, if users actually want this feature,
then we could add it; it's not difficult.)
Ben Pfaff [Sun, 21 Nov 2010 19:16:10 +0000 (11:16 -0800)]
Remove the NULLINE and ENDCMD settings.
These settings change the lexical structure of the language, which makes
lexical analysis difficult.
Ben Pfaff [Sat, 4 Dec 2010 19:10:02 +0000 (11:10 -0800)]
VALUE LABELS: Relax limit on value label length from 60 bytes to 255.
Requested by friedrich nietzsche <f_nietsje@hotmail.com>.
With improvements by John Darrington.
Ben Pfaff [Sat, 20 Nov 2010 05:05:04 +0000 (21:05 -0800)]
lexer: Change the functions for retrieving token strings.
Until now, lex_tokid() has been for T_ID tokens only and lex_tokstr() has
been for T_ID and T_STRING tokens. For T_ID tokens, lex_tokid() and
lex_tokstr() had slightly different semantics.
This doesn't entirely make sense, and these particular functions are not
the ones wanted most by clients, so this commit removes these functions
in favor of lex_tokcstr() and lex_tokss(), which are both applicable
to both T_ID and T_STRING tokens, with the same semantics in each case.
These functions are also easier for the upcoming reimplementation of the
lexer.
Ben Pfaff [Tue, 20 Jul 2010 05:52:18 +0000 (22:52 -0700)]
lexer: Get rid of lex_negative_to_dash().
This function stands in the way of replacing the lexer in a
straightforward way, because it disrupts the stream of tokens: the
lexer can't tell in advance whether, e.g., "-4" is one token or
two. Fortunately, it is not used in very many places and is
relatively easy to remove.
Ben Pfaff [Mon, 20 Sep 2010 00:37:30 +0000 (17:37 -0700)]
lexer: New type enum token_type.
It seems useful to have a type that indicates that a value is a token.
Furthermore, being able to enumerate all of the possible tokens in a
straightforward way seems worthwhile. It also makes it possible for
GCC to check "switch" statements on token types and to build arrays
indexed by token.
Ben Pfaff [Fri, 19 Nov 2010 06:19:58 +0000 (22:19 -0800)]
command: Factor command name matching out of command.c.
Making command parsing into a library will allow other code to use
the same functionality, which will be useful later in the lexer.
It also simplifies parsing command names and allows us to easily
add tests for command name parsing.
The new command name parsing code supports UTF-8. This is not useful yet,
because its only client does not feed it UTF-8 strings, but it will be
useful later when the rest of the lexer is rewritten, where it will gain
another client that does feed it UTF-8.
Ben Pfaff [Fri, 19 Nov 2010 05:30:24 +0000 (21:30 -0800)]
identifier: Add some functions for Unicode syntax.
Ben Pfaff [Fri, 19 Nov 2010 05:25:39 +0000 (21:25 -0800)]
str: Add some functions for handling UTF-8.
Ben Pfaff [Thu, 18 Nov 2010 04:03:26 +0000 (20:03 -0800)]
str: Change "char" to "byte" in function names.
As PSPP moves toward using UTF-8 pervasively for command syntax, a
character is no longer always a byte, so this naming is clearer.
Ben Pfaff [Fri, 19 Nov 2010 06:17:31 +0000 (22:17 -0800)]
str: Inline some trivial functions.
Ben Pfaff [Wed, 17 Nov 2010 17:07:57 +0000 (09:07 -0800)]
Updated the Lithuanian translation from translationproject.org.
Jason H Stover [Wed, 17 Nov 2010 15:40:13 +0000 (10:40 -0500)]
Fixed degrees of freed in t-stat for intercept
Ben Pfaff [Fri, 5 Nov 2010 05:10:19 +0000 (22:10 -0700)]
sys-file: Add functions for converting between codepage numbers and names.
Ben Pfaff [Mon, 15 Nov 2010 06:13:37 +0000 (22:13 -0800)]
perl-module: Fix return value of append_case subroutine.
The casewriter_write() function does not have a return value (it is
declared as "void"), but the append_case subroutine tried to use its
return value anyway. This cannot work properly, of course, and in fact
caused problems on 64-bit builds in particular.
I don't know why there is no C compiler warning about this problem. I
guess the Perl module build must somehow turn off a lot of GCC warnings.
Reported by bojo42 <bojo42@gmail.com> in bug #31611.
Ben Pfaff [Mon, 15 Nov 2010 06:01:07 +0000 (22:01 -0800)]
INSTALL: Update to mention test-only dependencies.
Ben Pfaff [Mon, 15 Nov 2010 05:58:28 +0000 (21:58 -0800)]
perl-module: Only run the combined test if Text::Diff is present.
The combined test using Pspp.t only works if Text::Diff is installed
(although the broken-out tests don't require it), so only try that test if
Text::Diff is available.
Ben Pfaff [Mon, 15 Nov 2010 05:42:34 +0000 (21:42 -0800)]
tests: Only attempt to run PostgreSQL tests if the server is installed.
PSQL_SUPPORT only indicates that PSPP was compiled against the PostgreSQL
client library, but the test also requires the PostgreSQL server and
utilities to be installed, so skip the test if they are not.
Ben Pfaff [Mon, 15 Nov 2010 05:21:50 +0000 (21:21 -0800)]
ONEWAY: Accept 3.88 instead of 3.87 in multiple variables test.
Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on bug-gnu-pspp.
Also reported by bojo42@gmail.com in bug #31611.
Ben Pfaff [Mon, 15 Nov 2010 05:16:29 +0000 (21:16 -0800)]
NPAR TESTS: Accept .313 instead of .312 for point probability in SIGN test.
Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on bug-gnu-pspp.
Also reported by bojo42@gmail.com in bug #31611.
Ben Pfaff [Sat, 6 Nov 2010 04:20:55 +0000 (21:20 -0700)]
csv: Make the character used for quoting configurable.
Requested by Björn Manke <bjoernmanke@gmx.net>.
Ben Pfaff [Sat, 6 Nov 2010 04:11:24 +0000 (21:11 -0700)]
csv: Add ability to suppress table captions.
Requested by Björn Manke <bjoernmanke@gmx.net>.
Ben Pfaff [Fri, 5 Nov 2010 16:11:51 +0000 (09:11 -0700)]
Added the Lithuanian translation from translationproject.org.
Ben Pfaff [Fri, 5 Nov 2010 04:04:05 +0000 (21:04 -0700)]
csv: Better support separators other than comma or tab.
Before this commit, although any separator could be specified for cvs
output, the set of characters that triggered quoting was fixed, and only
really suitable for comma and tab separators. This commit fixes the
problem, making sure that whenever the specified separator appears in a
field, that field will be quoted.
Problem noticed during a discussion with Björn Manke <bjoernmanke@gmx.net>
on pspp-users.
Ben Pfaff [Fri, 5 Nov 2010 03:37:54 +0000 (20:37 -0700)]
Add tut.texi to gitignore file.
Ben Pfaff [Fri, 5 Nov 2010 03:37:01 +0000 (20:37 -0700)]
CACHE: Implement command as no-op.
Requested by Matej Kovacic <matej.kovacic@owca.info>.
Ben Pfaff [Thu, 4 Nov 2010 04:00:52 +0000 (21:00 -0700)]
sparse-array: Fix accidental assumption that "long" is exactly 32 bits.
Debugged with help from Jeremy Lavergne <jeremy@lavergne.gotdns.org>.
Ben Pfaff [Thu, 4 Nov 2010 03:24:55 +0000 (20:24 -0700)]
po: Update Catalan translation from translation-project.org.
Ben Pfaff [Wed, 3 Nov 2010 03:36:30 +0000 (20:36 -0700)]
sys-file: Make test writing compressed system file more portable.
The format of "od" output varies among platforms, so avoid using it.
Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on Darwin 10.4.0.
Ben Pfaff [Wed, 3 Nov 2010 03:35:23 +0000 (20:35 -0700)]
data-out: Make MONTH, WKDAY tests more portable.
The amount of leading whitespace output by "uniq -c" varies among
platforms, so remove all of it for comparison.
Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org> on Darwin 10.4.0.
Ben Pfaff [Tue, 2 Nov 2010 13:39:05 +0000 (06:39 -0700)]
Improve failure output of tests that use wc.
Commit
37c5ded73 "Make tests which use wc more robust." made these tests
tolerate slightly different output formats, but at the same time, if the
tests fail we don't find out why. This commit should retain the fix but
also provide more feedback in the log on failure.
Ben Pfaff [Sun, 31 Oct 2010 23:24:52 +0000 (16:24 -0700)]
Stop building src/language/stats/glm.c for now.
This code is not currently used. It causes problems for some builders, so
stop building it for now.
This commit adds the file to EXTRA_DIST so that it is still included in
distributions.
Bug #30811.
Ben Pfaff [Sun, 31 Oct 2010 23:19:45 +0000 (16:19 -0700)]
po: Update Catalan translation from translation-project.org.
Ben Pfaff [Sat, 30 Oct 2010 17:31:06 +0000 (10:31 -0700)]
executor: Execute pending transformations after processing syntax.
Bug #30689.
John Darrington [Sat, 30 Oct 2010 16:16:32 +0000 (18:16 +0200)]
Make tests which use wc more robust.
It appears that some systems' "wc" command format their output
differently. So this change uses a numeric comparison rather
than a string comparison.
Ben Pfaff [Sat, 30 Oct 2010 17:30:03 +0000 (10:30 -0700)]
datasheet: Add a few assertions.
These made the problem a bit more obvious while tracking down bug #30689.
John Darrington [Sat, 30 Oct 2010 15:11:48 +0000 (17:11 +0200)]
Fix typo
John Darrington [Sat, 30 Oct 2010 15:09:41 +0000 (17:09 +0200)]
NPAR: Implemented the /KENDALL subcommand.
John Darrington [Sat, 30 Oct 2010 12:06:51 +0000 (14:06 +0200)]
Added a dialog box for the k-related-sample non-parametric tests.
Ben Pfaff [Sat, 30 Oct 2010 03:12:00 +0000 (20:12 -0700)]
cairo: Fix rendering of wide titles for GUI rendering.
The width of the title was not being taken into account in calculating the
size of a table_item in the code path used by the GUI, so titles wider
than their tables were truncated at the width of the table. This commit
fixes the problem.
John Darrington [Fri, 29 Oct 2010 18:18:12 +0000 (20:18 +0200)]
Conditionally compile in the SIGWINCH handler
Not all systems have SIGWINCH. But this isn't an essential
feature so only compile it in if its available.
John Darrington [Thu, 28 Oct 2010 13:41:55 +0000 (15:41 +0200)]
Add test for the Cochran Q
John Darrington [Thu, 28 Oct 2010 13:34:52 +0000 (15:34 +0200)]
Added very basic documentation for the Cochran Q test
John Darrington [Thu, 28 Oct 2010 13:24:05 +0000 (15:24 +0200)]
Added implementation for the Cochran Q test
Ben Pfaff [Wed, 27 Oct 2010 04:58:14 +0000 (21:58 -0700)]
psppire-output-window: Insert a half-line of space between output items.
Before, the lack of table titles put some vertical space into the output
window. Now that table titles are shown, there's no white space left, so
this commit reintroduces some by putting half a line of vertical white
space between output items.
Ben Pfaff [Wed, 27 Oct 2010 04:56:37 +0000 (21:56 -0700)]
cairo: Draw table titles in xr_rendering_draw() too.
xr_rendering_draw() didn't draw table titles. It seems that this was just
an oversight, so this commit fixes the problem.
xr_rendering_draw() is used by the GUI output viewer window, so this makes
the GUI output viewer display table titles now.
Bug #30554.
Ben Pfaff [Wed, 27 Oct 2010 04:53:53 +0000 (21:53 -0700)]
cairo: Always save output item in xr_rendering_create().
Currently xr_rendering_create() only saves the output item passed in if it
is a chart. However an upcoming commit will have a need for table output
items too, so this commit always saves them.
Ben Pfaff [Tue, 26 Oct 2010 14:34:45 +0000 (07:34 -0700)]
case: Add support for debugging case reference count leaks.
John Darrington [Wed, 27 Oct 2010 12:58:02 +0000 (14:58 +0200)]
Smake: Add a rule to update the gl directory without doing all the other stuff
John Darrington [Wed, 27 Oct 2010 11:13:19 +0000 (13:13 +0200)]
Make ascii driver's length and width parameters fit the terminal.
If the driver's output is a tty, then handle SIGWINCH to adjust
the length and width according to the size of the terminal.
John Darrington [Tue, 26 Oct 2010 15:11:04 +0000 (17:11 +0200)]
Allow perl module to enter non-ascii data
John Darrington [Tue, 26 Oct 2010 14:07:54 +0000 (16:07 +0200)]
INSTALL: Add note about (non)installation of the perl module
John Darrington [Tue, 26 Oct 2010 07:53:39 +0000 (09:53 +0200)]
Added a test for the mann-whitney test
John Darrington [Tue, 26 Oct 2010 07:28:55 +0000 (09:28 +0200)]
Mann-Whitney: Use value names in rank table.
Use the values or labels of the groups instead of
a literal "group1" or "group2".
Ben Pfaff [Tue, 26 Oct 2010 05:52:10 +0000 (22:52 -0700)]
CROSSTABS: Handle case where all cases in a crosstabulation are missing.
Thanks to Michel Boaventura for reporting the problem.
Bug #31260.
Ben Pfaff [Tue, 26 Oct 2010 04:49:10 +0000 (21:49 -0700)]
data-reader: Correct spelling.
Ben Pfaff [Tue, 26 Oct 2010 04:45:42 +0000 (21:45 -0700)]
render: Fix cells spanning otherwise completely empty rows/columns.
When adjacent rows or columns contain only spanned cells and no rules give
the rows or columns a natural minimum height or width, this triggers a
special case in distribute_spanned_width(). This special case had not been
tested and (therefore) was broken. This commit fixes the problem and adds
test cases to prevent it from recurring.
Bug #31346.
Ben Pfaff [Tue, 26 Oct 2010 03:50:05 +0000 (20:50 -0700)]
tests: Add keywords to render tests.
This makes it easy to run just the rendering tests with:
make check TESTSUITEFLAGS='-k render'
John Darrington [Mon, 25 Oct 2010 19:25:16 +0000 (21:25 +0200)]
Added manual entry for the Mann-Whitney test
John Darrington [Mon, 25 Oct 2010 18:54:54 +0000 (20:54 +0200)]
Mann-Whitney: Change the rank sum used for Wilcoxon W
John Darrington [Mon, 25 Oct 2010 18:40:14 +0000 (20:40 +0200)]
First attempt at Mann-Whitney U test.
Currently only assymptotic significance is calculated.
John Darrington [Mon, 25 Oct 2010 11:24:31 +0000 (13:24 +0200)]
CROSSTABS: (Re)implemented the format=DVALUE option.
This was documented as implemented but in fact, wasn't.
John Darrington [Mon, 25 Oct 2010 09:50:08 +0000 (11:50 +0200)]
Ensure tests have unique names
John Darrington [Mon, 25 Oct 2010 09:30:28 +0000 (11:30 +0200)]
Remove various duplicated #include directives
John Darrington [Mon, 25 Oct 2010 08:55:11 +0000 (10:55 +0200)]
Use sort instead of qsort thus avoiding compiler warning
John Darrington [Mon, 25 Oct 2010 08:23:04 +0000 (10:23 +0200)]
Avoid compiler warnings
John Darrington [Sat, 23 Oct 2010 12:06:05 +0000 (14:06 +0200)]
Documentation: Make subsection order alphabetical
John Darrington [Sat, 23 Oct 2010 09:51:13 +0000 (11:51 +0200)]
Properly handle weights in Friedman test
John Darrington [Sat, 23 Oct 2010 09:43:06 +0000 (11:43 +0200)]
Add test for friedman test and fix problem with missing values
John Darrington [Sat, 23 Oct 2010 09:25:40 +0000 (11:25 +0200)]
remove unused variable
John Darrington [Sat, 23 Oct 2010 09:25:19 +0000 (11:25 +0200)]
fix memory leak
John Darrington [Sat, 23 Oct 2010 09:16:30 +0000 (11:16 +0200)]
Documentation for the Friedman test
John Darrington [Sat, 23 Oct 2010 09:00:15 +0000 (11:00 +0200)]
en_GB.po: Fix fuzzy translation
John Darrington [Sat, 23 Oct 2010 08:58:40 +0000 (10:58 +0200)]
First attempt at the Friedman test
John Darrington [Sat, 23 Oct 2010 08:56:14 +0000 (10:56 +0200)]
Whitespace changes only
John Darrington [Sat, 23 Oct 2010 08:54:48 +0000 (10:54 +0200)]
Remove redundant whitespace
John Darrington [Thu, 21 Oct 2010 20:01:34 +0000 (22:01 +0200)]
Fix memory deallocation bug
John Darrington [Thu, 21 Oct 2010 18:34:25 +0000 (20:34 +0200)]
Implemented the /RUNS subcommand for NPAR TESTS.
Ben Pfaff [Mon, 18 Oct 2010 03:31:02 +0000 (20:31 -0700)]
str: Remove unused functions.
Ben Pfaff [Sun, 17 Oct 2010 17:08:53 +0000 (10:08 -0700)]
format-parser: Fix parse_format_specifier() failure case.
When the current token is an identifier that takes the abstract syntax
of a format specifier, but its "name" part is not a valid format name,
parse_format_specifier() returned false but still consumed the token.
This is a potential issue for callers that want to report an error that
mentions the identifier, e.g. parse_primary(), although the current lexer
tends to retain the same identifier when the new token is not an
identifier.
John Darrington [Sun, 17 Oct 2010 20:30:10 +0000 (22:30 +0200)]
Update en_GB.po
John Darrington [Sun, 17 Oct 2010 20:12:48 +0000 (22:12 +0200)]
Fix typos in printed strings
John Darrington [Sun, 17 Oct 2010 14:55:43 +0000 (16:55 +0200)]
Update en_GB.po and remerge
John Darrington [Sun, 17 Oct 2010 14:50:47 +0000 (16:50 +0200)]
Fix test failures on T-TEST command.
The t-test command is documented to ignore cases
which are not in a valid group.
The new levene function does not have any awareness
of the group criteria. Therefore we must remove any
values which are not in a valid group.
John Darrington [Sun, 17 Oct 2010 12:03:41 +0000 (14:03 +0200)]
Re-implemented the levene calculation
Ben Pfaff [Sun, 17 Oct 2010 14:00:08 +0000 (07:00 -0700)]
po: Update Dutch translation from translation-project.org.
John Darrington [Sun, 17 Oct 2010 13:04:26 +0000 (15:04 +0200)]
Fixed bug in oneway /descriptives subcommand vs. weights.
The descriptives option was misinterpreting the weight
value when calculating max and min. This change fixes
the bug and adds a test to check for it.
Ben Pfaff [Sat, 16 Oct 2010 20:49:57 +0000 (13:49 -0700)]
Increment version number to 0.7.6 for translationproject.org.
Ben Pfaff [Sat, 16 Oct 2010 20:49:37 +0000 (13:49 -0700)]
doc: Always build ni.texi, tut.texi in source directory.
When the source and build directories are different, ni.texi and tut.texi
were being built in the build directory. This meant that, since
$(builddir)/doc is not in the TeX search path, but $(builddir) is (because
it is the working directory when TeX is invoked), the @include commands
that include ni.texi and tut.texi had to specify doc/ explicitly.
However, doing that broke the case where the source and build directories
were different but ni.texi or tut.texi were in the source directory (which
happens when building from a tarball or, similarly, running "make
distcheck"), because $(top_srcdir) is not in the TeX search path (only
$(top_srcdir)/doc is).
The easiest solution appears to be to always make sure that ni.texi and
tut.texi are in the source directory. Then they are always in the TeX
search path (as long as we drop the doc/ prefix) and everything should
work out OK.
Reported by Michel Boaventura <michel@michelboaventura.com>.
Ben Pfaff [Sat, 16 Oct 2010 20:02:18 +0000 (13:02 -0700)]
tests: Avoid reading $HOME/.pspprc inside the testsuite.
This solution was suggested by John Darrington.
Ben Pfaff [Sat, 16 Oct 2010 20:01:50 +0000 (13:01 -0700)]
tests: Put atlocal.in in a logical order.
This is intended to have no semantic change.
Ben Pfaff [Sat, 16 Oct 2010 19:09:23 +0000 (12:09 -0700)]
po: Update Spanish translation from translation-project.org.