John Darrington [Sun, 8 Aug 2010 15:46:02 +0000 (17:46 +0200)]
Allow undo/redo of pasted text as a single item
John Darrington [Sun, 8 Aug 2010 15:23:25 +0000 (17:23 +0200)]
Added basic undo/redo to syntax window
John Darrington [Sun, 8 Aug 2010 13:12:22 +0000 (15:12 +0200)]
Added basic print capability to the syntax window
John Darrington [Sun, 8 Aug 2010 11:58:08 +0000 (13:58 +0200)]
Enable the bracket matching
John Darrington [Sat, 7 Aug 2010 13:01:17 +0000 (15:01 +0200)]
Use GtkSourceView and implement simple syntax highlighting
Ben Pfaff [Mon, 9 Aug 2010 05:36:21 +0000 (22:36 -0700)]
tests: Ignore testsuite.at since it is now a generated file.
Ben Pfaff [Mon, 9 Aug 2010 05:34:11 +0000 (22:34 -0700)]
COUNT: Convert tests to use Autotest.
Ben Pfaff [Mon, 9 Aug 2010 05:34:48 +0000 (22:34 -0700)]
BEGIN DATA: Convert tests to use Autotest.
Ben Pfaff [Mon, 9 Aug 2010 05:16:05 +0000 (22:16 -0700)]
ADD FILES: Convert testsuite to use Autotest.
Ben Pfaff [Mon, 9 Aug 2010 05:35:37 +0000 (22:35 -0700)]
tests: Rewrite attributes tests to use Autotest.
Ben Pfaff [Sun, 8 Aug 2010 23:32:08 +0000 (16:32 -0700)]
SET: Add test to avoid regression on bug #30682.
Ben Pfaff [Sun, 8 Aug 2010 20:50:49 +0000 (13:50 -0700)]
Implement SAVE TRANSLATE to comma- and tab-delimited text formats.
Ben Pfaff [Sat, 7 Aug 2010 20:47:33 +0000 (13:47 -0700)]
SAVE: Fix UNSELECTED=RETAIN with a filter variable.
Apparently this had never been tested. It assert-failed consistently
because the filter variable being saved was from the dictionary before
reading the data, but the dictionary after reading the data was
different due to the temporary transformation used to drop the
filtered data.
Ben Pfaff [Fri, 6 Aug 2010 23:32:04 +0000 (16:32 -0700)]
DATA LIST: Don't report an error for an empty final field in LIST format.
Also add test to prevent inadvertent regressions.
Ben Pfaff [Sun, 8 Aug 2010 02:34:24 +0000 (19:34 -0700)]
DATA LIST: Fix output column reporting for FREE and LIST formats.
Also, add tests to prevent inadvertent regressions.
Ben Pfaff [Sun, 8 Aug 2010 01:42:07 +0000 (18:42 -0700)]
DATA LIST: Convert tests to use Autotest.
Ben Pfaff [Tue, 3 Aug 2010 05:41:19 +0000 (22:41 -0700)]
sys-file-writer: Consistently use "goto error" to exit.
Ben Pfaff [Tue, 3 Aug 2010 05:40:57 +0000 (22:40 -0700)]
sys-file-writer: Make write_error(), close_writer() static.
These functions were never meant to be public (and they were not declared
in a header file).
Ben Pfaff [Tue, 3 Aug 2010 05:11:57 +0000 (22:11 -0700)]
sys-file-writer: Fix comment.
Ben Pfaff [Tue, 3 Aug 2010 05:11:13 +0000 (22:11 -0700)]
Replace S_I[RWX]{USR,GRP,OTH} macros by their values.
POSIX 2008 guarantees that these macros have their traditional Unix values,
so it should no be longer necessary to use the macros for portability's
sake. Personally, I find the values easier to read, especially when
several of them are OR'd together.
Ben Pfaff [Mon, 2 Aug 2010 04:19:50 +0000 (21:19 -0700)]
i18n: Make a few strings more generic for translators.
This should reduce the amount of work required by translators, by reducing
the number of unique strings to be translated.
John Darrington [Sun, 8 Aug 2010 18:10:04 +0000 (20:10 +0200)]
Aggregate-dialog: Preselect summary function and variable name.
Apparently the most common use of aggregate is to count cases.
Therefore we set the default summary function and variable
name controls, so that the user has fewer keystrokes/mouse
clicks in order to achieve this.
John Darrington [Sun, 8 Aug 2010 13:48:41 +0000 (15:48 +0200)]
SET FORMAT: Flag an error if an invalid format is given.
Fixes bug #30682
John Darrington [Sun, 8 Aug 2010 09:39:16 +0000 (11:39 +0200)]
Aggregate: Fixed bug when attempting to create duplicate variable
This change fixes a segfault which occured if AGGREGATE MODE=ADDVARIABLES
attempted to create a variable which already exists in the dictionary.
Added a test to check for this bug.
John Darrington [Sat, 7 Aug 2010 15:18:53 +0000 (17:18 +0200)]
Aggregate dialog: Initialize HPane widget width on opening.
Set the HPane position to 50% of maximum, when the widget is
realized. Thanks to Fredrik Clementz for suggesting this.
John Darrington [Fri, 6 Aug 2010 18:19:16 +0000 (20:19 +0200)]
ONEWAY: Add explicit tests for the homogeneity and descriptives subcommands
John Darrington [Fri, 6 Aug 2010 17:06:40 +0000 (19:06 +0200)]
Migrate the tests for the ONEWAY command to autotest style
John Darrington [Fri, 6 Aug 2010 14:01:43 +0000 (16:01 +0200)]
Avoid duplicating the list of autotest files.
Reviewed by Ben Pfaff
John Darrington [Thu, 5 Aug 2010 15:07:42 +0000 (17:07 +0200)]
Replace oneway.q with a manually crafted oneway.c file
John Darrington [Thu, 5 Aug 2010 15:06:01 +0000 (17:06 +0200)]
Documentation: Add explanation of ONEWAY/MISSING
John Darrington [Sun, 1 Aug 2010 08:24:28 +0000 (10:24 +0200)]
Avoid compiler warning
John Darrington [Sat, 31 Jul 2010 09:55:18 +0000 (11:55 +0200)]
FACTOR: prevent crash if the dataset is empty.
The FACTOR command crashed if there were no cases
which had non-missing values for all variables.
This change emits a warning in this case and does
no analysis.
John Darrington [Fri, 30 Jul 2010 21:41:01 +0000 (23:41 +0200)]
Deallocate memory from pool using the correct function
Memory allocated using pool_alloc was being deallocated using
the standard free function instead of pool_free. This change
fixes that. Thanks to Andras Muranyi for reporting this problem.
John Darrington [Fri, 30 Jul 2010 17:49:03 +0000 (19:49 +0200)]
Flush the journal after every write.
Unexpected bugs in the parser, engine or in procedures can cause crashes
in the GUI. If the journal is not flushed *before* running the syntax, then
no record of that syntax exists, and the bug can be hard to reproduce.
This change ensures that the syntax is written to the journal before it is
processed.
John Darrington [Fri, 30 Jul 2010 17:40:36 +0000 (19:40 +0200)]
Removed the gnulib modules which are being flagged as obsolete
Ben Pfaff [Fri, 30 Jul 2010 05:34:24 +0000 (22:34 -0700)]
AGGREGATE: Add .h file to Makefile (fixing "make distcheck").
Ben Pfaff [Fri, 30 Jul 2010 05:15:15 +0000 (22:15 -0700)]
FLIP: Convert tests to use Autotest.
Ben Pfaff [Fri, 30 Jul 2010 05:09:08 +0000 (22:09 -0700)]
make-file: Remove superfluous fflush().
Probably introduced during debugging and accidentally left in.
Ben Pfaff [Fri, 30 Jul 2010 05:08:33 +0000 (22:08 -0700)]
temp-file: New functions for creating temporary files honoring $TMPDIR.
The tmpfile() function is useful, but it doesn't necessarily honor
the $TMPDIR environment variable. Some of our users find that a problem,
so this commit replaces tmpfile() usage by a new pair of functions
create_temp_file() and close_temp_file() that do honor $TMPDIR.
Bug #30530.
Ben Pfaff [Fri, 30 Jul 2010 04:16:06 +0000 (21:16 -0700)]
temp-file: Rename "ext-array" (for "external array").
I want to introduce a new source module for general creation of temporary
files and this module's name conflicts.
John Darrington [Thu, 29 Jul 2010 16:15:59 +0000 (18:15 +0200)]
AGGREGATE: Fixed a bug with MEDIAN vs. MODE=ADDVARIABLES
John Darrington [Thu, 29 Jul 2010 14:35:56 +0000 (16:35 +0200)]
Added dialog box for the aggregate command
John Darrington [Wed, 28 Jul 2010 14:32:00 +0000 (16:32 +0200)]
AGGREGATE: New file aggregate.h containing the summary function specifications
Added a header file containing the declaration and type of the agr_func_tab
table, and expanded that type to contain a description of the function and
an explicit declaration of whether a source variable is permitted/needed.
This change is primarily for the benefit of the forthcoming dialog box for
the aggregate command. However it also (in my opinion) makes the existing
implementation a little easier to understand.
John Darrington [Mon, 26 Jul 2010 13:16:03 +0000 (15:16 +0200)]
Remove URL from translatable string
John Darrington [Mon, 26 Jul 2010 12:34:58 +0000 (14:34 +0200)]
AGGREGATE: Add MODE=ADDVARIABLES subcommand.
Instead of replacing the current dataset with the aggregated
data, this subcommand appends newvariables to the data with the
aggregated values.
Jason H Stover [Sun, 25 Jul 2010 16:34:46 +0000 (12:34 -0400)]
Fix upper bound for subscript in ordered_cols.
John Darrington [Sat, 24 Jul 2010 16:21:15 +0000 (18:21 +0200)]
Fix memory leak in crosstabs
John Darrington [Sat, 24 Jul 2010 15:54:55 +0000 (17:54 +0200)]
Fix memory leak in MRSETS
John Darrington [Sat, 24 Jul 2010 14:37:00 +0000 (16:37 +0200)]
Avoid unused function warning
John Darrington [Tue, 20 Jul 2010 07:26:47 +0000 (09:26 +0200)]
Replaced relibility.q with relibility.c
Replaced the reliability autogenerated parser
with a handcrafted one.
Jason H Stover [Tue, 20 Jul 2010 22:32:35 +0000 (18:32 -0400)]
Add argument specifying column containing dependent variable.
John Darrington [Mon, 19 Jul 2010 18:47:05 +0000 (20:47 +0200)]
Delete file "means.q"
This file contained only the skeleton of the parser.
John Darrington [Mon, 19 Jul 2010 16:47:38 +0000 (18:47 +0200)]
Remove unnecessary include directives of hash.h
John Darrington [Sun, 18 Jul 2010 17:19:53 +0000 (19:19 +0200)]
Fix memory leak in data_in
John Darrington [Fri, 16 Jul 2010 20:53:18 +0000 (22:53 +0200)]
Reliability dialog: Add checkbox for summary subcommand
John Darrington [Fri, 16 Jul 2010 20:44:10 +0000 (22:44 +0200)]
add missing source file to glade support library
John Darrington [Fri, 16 Jul 2010 14:18:07 +0000 (16:18 +0200)]
Fix memory leak
John Darrington [Fri, 16 Jul 2010 13:42:40 +0000 (15:42 +0200)]
Remove const qualifiers from encoding converter components.
These elements have to be freed. Therefore const is not
appropriate.
Jason H Stover [Thu, 15 Jul 2010 17:11:33 +0000 (13:11 -0400)]
Do not rely on user to specify all variables in VARIABLE subcommand. Fixes bug 30389.
John Darrington [Thu, 8 Jul 2010 13:24:11 +0000 (15:24 +0200)]
Replace unknown XML entities with their numerical counterpart.
Texinfo seems to produce XML entities (such as ©) which
are not valid (although they are valid for HTML). We work
around such problems by post-processing with sed. Here, we
replace these unknown entities with their numeric counterparts.
Such is the advice given at
http://www.dwheeler.com/essays/quotes-in-html.html
John Darrington [Sun, 4 Jul 2010 15:17:32 +0000 (17:17 +0200)]
Fix various memory leaks
John Darrington [Sun, 4 Jul 2010 12:50:16 +0000 (14:50 +0200)]
Fix memory leak in tab_destroy
John Darrington [Sun, 4 Jul 2010 12:49:54 +0000 (14:49 +0200)]
Fix memory leak in examine
John Darrington [Sun, 4 Jul 2010 12:17:32 +0000 (14:17 +0200)]
Fix uninitialized variable
John Darrington [Sun, 4 Jul 2010 11:16:54 +0000 (13:16 +0200)]
Fix invalid reference
Ben Pfaff [Tue, 29 Jun 2010 23:59:42 +0000 (16:59 -0700)]
cairo: Fix handling of font sizes.
Until now this code used pango_font_description_set_absolute_size() to set
the font size. This sets the font size in device units, e.g. pixels on a
display. But font sizes are actual specified by the user in points, so
we should instead use pango_font_description_get_size(). This commit
makes that change.
That change is simple, but it necessitates a larger change.
Until now the cairo driver has just assumed that the size of a font is
the size that we assigned it. But this is no longer the case, since
points and pixels are now different. So now we measure the actual width
and height of characters and use those as the font size. At the same
time, the code no longer ignores font sizes included as part of font
description strings, and allows different fonts to have different sizes.
With plenty of help from John Darrington.
Ben Pfaff [Wed, 23 Jun 2010 05:36:57 +0000 (22:36 -0700)]
cairo: Remove support for printed headers.
The printed headers on each page do not very attractive, and the
information that they contain by default is not very useful. Because an
upcoming commit makes them harder to properly implement, simply remove
them for now.
With this commit, the cairo driver no longer prints titles and subtitles
at all. This needs to be fixed.
Ben Pfaff [Sat, 26 Jun 2010 19:38:39 +0000 (12:38 -0700)]
gui: Fix spelling error in user-visible string.
Ben Pfaff [Sat, 26 Jun 2010 19:28:28 +0000 (12:28 -0700)]
output: Fix logic error in table_select_slice().
z1 is a row or column number, not a count of header rows or columns, so it
only makes sense to compare it against another row or column number, not
against a count of rows or columns.
John Darrington [Sat, 26 Jun 2010 18:04:40 +0000 (20:04 +0200)]
perl-module: Further corrections to dependencies
Ben Pfaff [Sat, 26 Jun 2010 17:19:39 +0000 (10:19 -0700)]
Revert unintended change to tests_libpspp_str_test_LDADD.
When I was preparing the previous commit I tested a change to
tests_libpspp_str_test_LDADD and then (I thought) reverted it. But my
revert actually changed the order. Oops.
John Darrington reports that the new order causes link problems for him, so
I'm putting the order back to the original, with this commit.
Ben Pfaff [Sat, 26 Jun 2010 04:33:18 +0000 (21:33 -0700)]
Avoid redundant linking against libtool convenience libraries.
Both libpspp.la and libpspp-core.la linked directly against libgl.la, and
the UI linked against both libpspp.la and libpspp-core.la. This works fine
on ELF systems, but with Mach-O on Mac OS X it silently causes duplicate
symbols at runtime. In particular there are two different copies of
rpl_optarg from libgl.la. Different code sees different copies of these,
which causes a segfault at runtime whenever anyone invokes pspp with an
option that takes an argument.
Reported by Jeremy Lavergne <jeremy@lavergne.gotdns.org>, with debugging
assistance by Jeremy and by John Darrington.
John Darrington [Wed, 23 Jun 2010 15:49:15 +0000 (17:49 +0200)]
Move compute dialog definition to its own file
John Darrington [Wed, 23 Jun 2010 15:24:57 +0000 (17:24 +0200)]
Move select cases into its own definition file
John Darrington [Wed, 23 Jun 2010 15:10:02 +0000 (17:10 +0200)]
(Re)enable select cases dialog.
The handler for this action seemed to have gone missing.
Fixing it.
John Darrington [Wed, 23 Jun 2010 14:21:06 +0000 (16:21 +0200)]
Seperate the goto-case dialog into its own definition file
John Darrington [Tue, 22 Jun 2010 12:39:56 +0000 (14:39 +0200)]
Correct makefile dependencies for perl module
Ben Pfaff [Thu, 17 Jun 2010 03:28:29 +0000 (20:28 -0700)]
README.Git: Upgrade to latest Gnulib.
In particular this incorporates commit
39bdc0a99 "strtod: Stop using
AC_FUNC_STRTOD", which should fix problems with the strtod() replacement
when cross-compiling to Mingw. For more information, see the thread at
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/22091 and PSPP bug
#29965.
John Darrington [Wed, 16 Jun 2010 14:59:16 +0000 (16:59 +0200)]
Ensure that psppire's --help and --version options work even without an X server.
Ben Pfaff [Wed, 16 Jun 2010 05:27:13 +0000 (22:27 -0700)]
lexer: Fix funny indentation.
Ben Pfaff [Wed, 16 Jun 2010 05:19:17 +0000 (22:19 -0700)]
psppire: Fix insecure temporary file creation in clipboard_get_cb().
Ben Pfaff [Wed, 16 Jun 2010 04:30:12 +0000 (21:30 -0700)]
pspp: Mark the pspp --help text as translatable.
Ben Pfaff [Wed, 16 Jun 2010 04:29:50 +0000 (21:29 -0700)]
psppire: Re-implement --help and --version options.
Commit
f51ecb4802 "Greatly simplify PSPP configuration." accidentally
removed PSPPIRE support for the --help and --version options. This commit
restores it (and improves upon the text previously displayed).
Ben Pfaff [Wed, 16 Jun 2010 03:41:12 +0000 (20:41 -0700)]
Do not treat isolated CR in input data as new-line.
User "tvw" on IRC reported that PSPP failed to parse data that SPSS 18
accepted. We found that the problem was carriage return (CR) characters
in the middle of a line. PSPP treated these as new-lines, but SPSS did
not. This commit adopts the SPSS behavior in PSPP and adjusts one test
that checks this behavior.
This will break reading some old Mac OS files, since Mac OS before version
10 used CR without LF as new-line. Time will tell whether this is a real
problem for our users.
John Darrington [Tue, 15 Jun 2010 18:31:02 +0000 (20:31 +0200)]
Remove unused functions make_temp_file and make_unique_file_stream
Ben Pfaff [Sat, 12 Jun 2010 03:40:35 +0000 (20:40 -0700)]
tests: Fix test failures in calendar and expressions tests.
Ben Pfaff [Fri, 11 Jun 2010 04:31:59 +0000 (21:31 -0700)]
tmpfile: Rename "struct tmpfile" to "struct temp_file".
Mingw builds were failing because Gnulib was replacing "tmpfile" by
"rpl_tmpfile", and this was visible only to some users of "struct tmpfile".
The safest fix seems to be just renaming struct tmpfile, so that's what
this commit does.
Thanks to Harry Thijssen <pspp@sjpaes.nl> for reporting the problem.
Bug #29965.
John Darrington [Wed, 9 Jun 2010 19:50:10 +0000 (21:50 +0200)]
Remove unnecessary translatiosn of stock items.
Stock items have their own translations, so it's counter
productive to ask pspp's translators to re-translate them
without good reason.
John Darrington [Wed, 9 Jun 2010 18:22:43 +0000 (20:22 +0200)]
perl-module/Makefile.PL: Change DLEXT to SO
Apparently the former is for dynamically loaded modules,
whereas the latter is for shared libraries. So SO is
appropriate here. Thanks to Jeremy Lavergne for reporting
this.
Ben Pfaff [Wed, 9 Jun 2010 17:26:55 +0000 (10:26 -0700)]
README.Git: Update to latest Gnulib.
The newest Gnulib fixes problems building the relocation wrapper used on
some OSes (e.g. OpenBSD) when PSPP is configured with --enable-relocatable.
Ben Pfaff [Wed, 9 Jun 2010 17:10:03 +0000 (10:10 -0700)]
configure.ac: Do not define DEPENDS_ON_LIBINTL.
If <config.h> defines DEPENDS_ON_LIBINTL, then the relocation wrapper fails
to link at install time when --enable-relocatable is used on a system that
requires the relocation wrapper (e.g. OpenBSD), because the relocation
wrapper does not link against libintl.
Ben Pfaff [Wed, 9 Jun 2010 04:36:51 +0000 (21:36 -0700)]
inexactify: #include <config.h>
This fixes a problem with redefined "struct option" under OpenBSD 4.7.
Ben Pfaff [Tue, 8 Jun 2010 05:57:26 +0000 (22:57 -0700)]
Smake: Don't create .cvsignore files.
Clearly these files aren't useful anymore, since we no longer use CVS.
Ben Pfaff [Tue, 8 Jun 2010 16:36:08 +0000 (09:36 -0700)]
gui: Fix permissions when creating configuration directory.
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html says
that the configuration directory should have mode 0700, so use that.
Reported by John Darrington.
Ben Pfaff [Tue, 8 Jun 2010 04:45:33 +0000 (21:45 -0700)]
gui: Create user settings directory if it doesn't already exist.
The user settings directory doesn't necessarily exist. Some program has to
create it, and PSPPIRE might be the first program that wants it, so it
should try to create it.
Discovered on OpenBSD.
Ben Pfaff [Tue, 8 Jun 2010 04:42:25 +0000 (21:42 -0700)]
po: Avoid passing nonportable -D option to "install" program.
OpenBSD "install" and "install-sh" distributed with Autoconf do not
support -D, so we should not try to use it.
Ben Pfaff [Sun, 6 Jun 2010 19:45:01 +0000 (12:45 -0700)]
DEBUG EVALUATE: Eliminate lexical corner case, rewrite tests in Autotest.
The DEBUG EVALUATE command, used only for testing, used the
lex_rest_of_line() function. I'd like to eventually get rid of all of the
uses of this function and other unusual lexical corner cases, so this
commit starts off by removing this one.
Ben Pfaff [Sun, 6 Jun 2010 19:23:33 +0000 (12:23 -0700)]
expressions: Improve error message for bad quarter argument to DATE.QYR.
The error message issued by DATE.QYR for an invalid "quarter" argument
referred instead to a "month" value. This makes the error message more
understandable.
Ben Pfaff [Sun, 6 Jun 2010 19:19:19 +0000 (12:19 -0700)]
expressions: Improve error messages evaluating invalid Boolean values.
The error message used for an invalid Boolean value was terribly generic.
This commit adds the name of the operator to the error message.
Ben Pfaff [Sun, 6 Jun 2010 19:14:19 +0000 (12:14 -0700)]
expressions: Don't abbreviate "number" as "num" in error messages.