Ben Pfaff [Sat, 6 Aug 2022 19:31:19 +0000 (12:31 -0700)]
doc: Improve description of extension subtype 5.
Ben Pfaff [Sat, 6 Aug 2022 17:55:12 +0000 (10:55 -0700)]
dictionary: Introduce SPLIT_NONE for dictionaries without split variables.
Ben Pfaff [Sat, 6 Aug 2022 17:12:19 +0000 (10:12 -0700)]
CTABLES
Ben Pfaff [Sat, 6 Aug 2022 17:11:59 +0000 (10:11 -0700)]
FREQUENCIES: Fix memory leak with percentiles and split file.
Ben Pfaff [Fri, 5 Aug 2022 23:46:15 +0000 (16:46 -0700)]
docs
Ben Pfaff [Fri, 5 Aug 2022 23:20:04 +0000 (16:20 -0700)]
work on docs
Ben Pfaff [Fri, 5 Aug 2022 21:46:45 +0000 (14:46 -0700)]
work on areas
Ben Pfaff [Fri, 5 Aug 2022 21:13:33 +0000 (14:13 -0700)]
improve error messages for scale variable summaries
Ben Pfaff [Fri, 5 Aug 2022 01:26:45 +0000 (18:26 -0700)]
titles
Ben Pfaff [Fri, 5 Aug 2022 01:01:01 +0000 (18:01 -0700)]
sort orders
Ben Pfaff [Fri, 5 Aug 2022 00:40:51 +0000 (17:40 -0700)]
test NEGPAREN & friends
Ben Pfaff [Fri, 5 Aug 2022 00:40:41 +0000 (17:40 -0700)]
dataset: Fix measure guesser.
Ben Pfaff [Thu, 4 Aug 2022 23:59:12 +0000 (16:59 -0700)]
TODO update
Ben Pfaff [Thu, 4 Aug 2022 23:58:59 +0000 (16:58 -0700)]
MINCOLWIDTH
Ben Pfaff [Thu, 4 Aug 2022 23:58:53 +0000 (16:58 -0700)]
render: Coding style fix.
Ben Pfaff [Thu, 4 Aug 2022 23:39:48 +0000 (16:39 -0700)]
HIDESMALLCOUNTS
Ben Pfaff [Thu, 4 Aug 2022 23:22:54 +0000 (16:22 -0700)]
typos
Ben Pfaff [Thu, 4 Aug 2022 23:22:36 +0000 (16:22 -0700)]
FORMAT
Ben Pfaff [Thu, 4 Aug 2022 23:11:52 +0000 (16:11 -0700)]
FORMAT=EMPTY
Ben Pfaff [Thu, 4 Aug 2022 23:01:18 +0000 (16:01 -0700)]
test vlabels
Ben Pfaff [Thu, 4 Aug 2022 20:58:19 +0000 (13:58 -0700)]
more tests
Ben Pfaff [Thu, 4 Aug 2022 20:58:12 +0000 (13:58 -0700)]
pspp-output: Improve usage message.
Ben Pfaff [Thu, 4 Aug 2022 17:44:07 +0000 (10:44 -0700)]
no leaks?
Ben Pfaff [Thu, 4 Aug 2022 17:03:44 +0000 (10:03 -0700)]
leaks
Ben Pfaff [Thu, 4 Aug 2022 06:29:58 +0000 (23:29 -0700)]
work on memory leaks
Ben Pfaff [Thu, 4 Aug 2022 06:13:03 +0000 (23:13 -0700)]
work on memory leaks
Ben Pfaff [Thu, 4 Aug 2022 05:35:20 +0000 (22:35 -0700)]
ctables fixes
Ben Pfaff [Wed, 3 Aug 2022 23:53:53 +0000 (16:53 -0700)]
Use rsvg-convert instead of GIMP for converting SVG to PNG.
rsvg-convert is much faster and more commonly installed.
Ben Pfaff [Tue, 2 Aug 2022 05:46:58 +0000 (22:46 -0700)]
string ranges work
Ben Pfaff [Tue, 2 Aug 2022 05:19:09 +0000 (22:19 -0700)]
CTABLES strings work
Ben Pfaff [Tue, 2 Aug 2022 00:25:49 +0000 (17:25 -0700)]
FREQUENCIES: Fix use-after-free error.
Ben Pfaff [Tue, 2 Aug 2022 00:18:34 +0000 (17:18 -0700)]
todo
Ben Pfaff [Tue, 2 Aug 2022 00:18:01 +0000 (17:18 -0700)]
tests
Ben Pfaff [Mon, 1 Aug 2022 04:18:37 +0000 (21:18 -0700)]
Bug fixes.
Ben Pfaff [Mon, 1 Aug 2022 04:18:21 +0000 (21:18 -0700)]
str: New function ds_put_substring_multiple().
Ben Pfaff [Mon, 1 Aug 2022 04:16:49 +0000 (21:16 -0700)]
lexer: Fix negative 'n0' and 'n1' in lex_source_contains_macro_call().
Ben Pfaff [Mon, 1 Aug 2022 04:16:24 +0000 (21:16 -0700)]
lexer: Support more options in lex_error_expecting_array().
Ben Pfaff [Sat, 30 Jul 2022 18:40:38 +0000 (11:40 -0700)]
start writing tests
Ben Pfaff [Fri, 29 Jul 2022 23:15:42 +0000 (16:15 -0700)]
work
Ben Pfaff [Fri, 29 Jul 2022 22:55:30 +0000 (15:55 -0700)]
more work
Ben Pfaff [Fri, 29 Jul 2022 22:41:35 +0000 (15:41 -0700)]
work
Ben Pfaff [Mon, 27 Dec 2021 00:01:47 +0000 (16:01 -0800)]
work on CTABLES
Ben Pfaff [Fri, 29 Jul 2022 21:09:59 +0000 (14:09 -0700)]
Automatically infer variables' measurement level from format and data.
Ben Pfaff [Thu, 21 Jul 2022 01:15:34 +0000 (18:15 -0700)]
syntax-gen: Test the category properly.
This code was testing the format type against a collection of format type
categories, which doesn't make any sense. This commit fixes the problem.
Found by inspection.
Friedrich Beckmann [Sun, 10 Jul 2022 21:19:55 +0000 (23:19 +0200)]
g_memdup2: added src/ui/gui/glibfix.h to the distribution file list
I forgot to include the new header file for the previous fix in the
list of files for the distribution.
Friedrich Beckmann [Sun, 10 Jul 2022 20:33:24 +0000 (22:33 +0200)]
supply g_memdup2() for glib before 2.68.
The previous commit did not work on debian. I followed the ideas from
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1927
and
https://github.com/mdbtools/gmdb2/commit/
62ce520a9c5
So this commit provides g_memdup2 for glib versions which do not
provide g_memdup2.
Friedrich Beckmann [Sun, 10 Jul 2022 19:40:39 +0000 (21:40 +0200)]
Revert "Add header wrapper for glib to supply g_memdup2() for glib before 2.68."
This reverts commit
652517f6e99bca918bf2275003f5d51fe5f2f0c6.
Ben Pfaff [Sat, 9 Jul 2022 15:37:02 +0000 (08:37 -0700)]
Add header wrapper for glib to supply g_memdup2() for glib before 2.68.
Friedrich Beckmann reported that some of our build targets have glib as
old as 2.58.
Ben Pfaff [Fri, 8 Jul 2022 22:45:40 +0000 (15:45 -0700)]
SPLIT FILE: Add LAYERED vs. SEPARATE distinction to the dictionary.
Ben Pfaff [Fri, 8 Jul 2022 22:45:54 +0000 (15:45 -0700)]
attributes: New macro ATTRSET_INITIALIZER.
Ben Pfaff [Fri, 8 Jul 2022 22:44:43 +0000 (15:44 -0700)]
gui: Use g_memdup2() instead of deprecated g_memdup().
Ben Pfaff [Fri, 8 Jul 2022 22:22:24 +0000 (15:22 -0700)]
configure: Update autoconf and libtool macro use to fix warnings.
Ben Pfaff [Fri, 8 Jul 2022 17:51:59 +0000 (10:51 -0700)]
Fix use-after-free errors.
Found by GCC 12.1.1.
Ben Pfaff [Fri, 8 Jul 2022 17:51:23 +0000 (10:51 -0700)]
Suppress GCC 12.1.1 warnings.
I don't think these warnings are for real problems, so just suppress them.
I don't understand why the change to datasheet-test.c suppresses a warning,
but it does.
Ben Pfaff [Sat, 2 Jul 2022 03:56:07 +0000 (20:56 -0700)]
Release version 1.6.2.
Ben Pfaff [Thu, 30 Jun 2022 21:25:57 +0000 (14:25 -0700)]
gui: Fix icon names.
Using icon-name "org.gnu.pspp" makes the window manager show the PSPP
icon instead of a generic one.
Reported by Friedrich Beckmann.
Friedrich Beckmann [Sun, 26 Jun 2022 07:07:18 +0000 (09:07 +0200)]
tests/atlocal.in - switched from which to command -v
Sam James reported a possible future build problem due to the
usage of the "which" command:
https://savannah.gnu.org/bugs/?62675
I replace "which" with "command -v" as proposed. Thanks for your
support.
Closes: 62675
Friedrich Beckmann [Sat, 25 Jun 2022 19:59:24 +0000 (21:59 +0200)]
pspp specific icon not shown in about menu
The changes of the pspp icon name in
commit
52ba15f3dce
were missing in the help about menu such that the icons were not
shown.
Ben Pfaff [Sat, 25 Jun 2022 03:37:04 +0000 (20:37 -0700)]
DESCRIPTIVES: Fix bad error message.
Ben Pfaff [Fri, 24 Jun 2022 23:37:36 +0000 (16:37 -0700)]
Smake: Fix icon rendering by using correct application ID.
PSPP-specific icons were not showing up properly in the GUI because
the compiled-in resources were looking in gnu.pspp whereas the name
is now org.gnu.pspp. This fixes the problem.
Fixes: a421d8d9f61b ("Change application ID from org.fsf.pspp to org.gnu.pspp.")
Ben Pfaff [Fri, 24 Jun 2022 16:40:10 +0000 (09:40 -0700)]
Release version 1.6.1.
Ben Pfaff [Fri, 24 Jun 2022 16:34:05 +0000 (09:34 -0700)]
Smake: Fix dependencies for src/ui/gui/resources.xml.
This file is a list of all the icon files, but generating it doesn't use
icon files themselves, so depending on them isn't useful. On the other
hand, the file does need to be regenerated if the icon list changes, and
that icon list is in Smake itself, so this target does need to depend on
the Makefiles.
Ben Pfaff [Fri, 24 Jun 2022 16:22:05 +0000 (09:22 -0700)]
po: Update Hungarian translation.
Thanks to Meskó Balázs for updating this translation.
Ben Pfaff [Sun, 19 Jun 2022 21:01:09 +0000 (14:01 -0700)]
Change application ID from org.fsf.pspp to org.gnu.pspp.
This includes changing the argument of gtk_application_new() from
"gnu.pspp" to "org.gnu.pspp" for consistency.
Suggested by Hubert Figuière at https://github.com/flathub/flathub/pull/3275.
Friedrich Beckmann [Sun, 19 Jun 2022 15:17:48 +0000 (17:17 +0200)]
perl: remove references to Memory::Usage module for perl module tests
The perl memory test was removed with commits
https://git.savannah.gnu.org/cgit/pspp.git/commit/?id=
20934a68593edbd52577f1ba0ea93c74eb018af5
and
https://git.savannah.gnu.org/cgit/pspp.git/commit/?id=
05297509d237dc99ba7504ccf260e995586bc3b4
This commit removes the remaining references to the perl memory test.
The configure step still asked for optional Memory::Usage perl module
which is not used without the perl memory test.
Friedrich Beckmann [Sun, 19 Jun 2022 14:30:42 +0000 (16:30 +0200)]
gui: make import assistant window a modal window
I changed the import assistant window to a modal window such that
the other windows cannot be changed while the import is ongoing.
There are problems when the main window is closed during the import.
Closing: https://savannah.gnu.org/bugs/?62448
Ben Pfaff [Sat, 18 Jun 2022 23:29:17 +0000 (16:29 -0700)]
Implement SET LEADZERO.
Ben Pfaff [Sat, 18 Jun 2022 23:30:03 +0000 (16:30 -0700)]
configure: Increase version number to 1.6.1.
Friedrich Beckmann [Fri, 17 Jun 2022 14:23:32 +0000 (16:23 +0200)]
po: Update ca,es,de,nl,uk translations from translationproject.org.
Many thanks to Francesc Josep Miguel Quesada, Jaap Verhage,
Yuri Chornoivan and the other members of the translation team!
Friedrich Beckmann [Fri, 17 Jun 2022 13:49:23 +0000 (15:49 +0200)]
perl-module: Remove loading of memory:usage module
The memory leakage/usage test was removed with commit
https://git.savannah.gnu.org/cgit/pspp.git/commit/?id=
20934a68593edbd52577f1ba0ea93c74eb018af5
but the memory module was still loaded. On debian this
memory module requires an additional dependency
libmemory-usage-perl which is not required. As the
memory module is not used inside the test I removed it.
Ben Pfaff [Fri, 3 Jun 2022 22:12:57 +0000 (15:12 -0700)]
Update to newest Gnulib.
Ben Pfaff [Fri, 3 Jun 2022 22:01:19 +0000 (15:01 -0700)]
line-reader: Avoid undefined behavior in printf utility in test.
The test used
printf '\"'
assuming that it would print just a double-quote, but on at least one
system it printed a backslash followed by a double-quote. This commit
changes it to
print '"'
which should be reliable everywhere.
Thanks to Michael Orlitzky <michael@orlitzky.com> for reporting this bug.
Ben Pfaff [Wed, 1 Jun 2022 19:09:43 +0000 (12:09 -0700)]
tests: Add test for doubled parentheses.
I can't reproduce the problem reported in a bug report, but it seems
worthwhile to add a test for it anyway.
Bug #62557.
Ben Pfaff [Sun, 13 Feb 2022 19:07:22 +0000 (11:07 -0800)]
lexer: New function lex_ofs_representation().
This interface is more convenient for situations where it's easier to
consume tokens before getting their representations.
Ben Pfaff [Sun, 30 Jan 2022 00:56:30 +0000 (16:56 -0800)]
mode: New order statistic.
Ben Pfaff [Sun, 30 Jan 2022 00:56:18 +0000 (16:56 -0800)]
math: Make 'accumulate' a feature of order statistics, not all stats.
Ben Pfaff [Sat, 29 Jan 2022 20:21:13 +0000 (12:21 -0800)]
subcase: Rename subcase_destroy() to subcase_uninit().
This reflects the convention that "destroy" frees the pointer passed in
while "uninit" only frees the internals.
Ben Pfaff [Sat, 29 Jan 2022 20:01:16 +0000 (12:01 -0800)]
math: Coding style updates in some order-stat implementations.
I generally find structure assignments clearer than individual assignments
to each of their members these days.
Ben Pfaff [Sat, 29 Jan 2022 20:00:16 +0000 (12:00 -0800)]
math: Improve comments.
This includes some changes to parameter names and coding style in
order-stats that I think clarify the code and modernize it.
Ben Pfaff [Sat, 29 Jan 2022 18:52:49 +0000 (10:52 -0800)]
math: Avoid unneeded extra allocations for fixed-size data structures.
This seems generally a bit cleaner to me.
Ben Pfaff [Tue, 18 Jan 2022 03:19:27 +0000 (19:19 -0800)]
spv-legacy-decoder: Always give the pivot table a title.
A pivot table must have a title. Some parts of PSPP rely on that. The
legacy SPV decoder didn't ensure this, and one SPV in my corpus didn't have
one, which led to null pointer dereferences, so this commit fixes the
problem.
Ben Pfaff [Tue, 18 Jan 2022 01:39:37 +0000 (17:39 -0800)]
output-item: Add missing new-line printing tables in output_item_dump().
This only affects "pspp-output dump".
Ben Pfaff [Sat, 1 Jan 2022 21:31:39 +0000 (13:31 -0800)]
output-item: Fix memory leak in output_item_dump().
Ben Pfaff [Sun, 2 Jan 2022 03:27:31 +0000 (19:27 -0800)]
pivot-table: New functions for setting captions, etc.
Ben Pfaff [Mon, 17 Jan 2022 22:05:09 +0000 (14:05 -0800)]
pivot-table: Fix pivot_table_dump() null pointer dereference in special case.
This function only gets called from "pspp-output dump", so it's not a very
important bug.
Ben Pfaff [Wed, 1 Jun 2022 04:34:19 +0000 (21:34 -0700)]
Release version 1.6.0.
Ben Pfaff [Mon, 30 May 2022 18:05:45 +0000 (11:05 -0700)]
perl-module: Copy Perl module from srcdir to builddir before distributing.
I ran into an issue where the Perl tests were failing in distcheck, but
not in check. I changed the sources for the Perl module, but distcheck
still used the old ones. It turns out that "make dist" uses files from
the builddir, which "make dist" wasn't updating from the srcdir because
that only happened when the Perl module was actually built, which "make
dist" and "make distcheck" don't do.
This commit fixes the problem by ensuring that the Perl module files get
updated in the builddir on "make dist".
Ben Pfaff [Mon, 30 May 2022 17:28:19 +0000 (10:28 -0700)]
perl-module: Remove test for memory usage.
This test only works if you're lucky. It doesn't work with Address
Sanitizer and it doesn't seem to work with current versions of Perl.
(It might be that there's a real leak, but I don't know how to debug
it in that case.)
Ben Pfaff [Mon, 30 May 2022 16:28:39 +0000 (09:28 -0700)]
po: Update translations from translationproject.org.
Many thanks to our translators!
Ben Pfaff [Sat, 28 May 2022 01:29:20 +0000 (18:29 -0700)]
gui: For text data import, use the same parser for preview as for import.
There were odd discrepancies between the preview code in the GUI for
text data import and the code in GET DATA /TYPE=TXT that implemented the
eventual import. This commit unifies the two parsers, dropping the one
that was used only for preview. This should prevent further discrepancies.
Bug #61809.
Thanks to Friedrich Beckmann for reporting this bug.
Ben Pfaff [Sat, 28 May 2022 00:15:02 +0000 (17:15 -0700)]
data-parser: Make data parser not require a dictionary.
An upcoming commit will make the GUI's text import use this code too, in
a context where a dictionary isn't yet available. The data parser only
uses the dictionary for one specific purpose that isn't relevant for the
GUI, so remove the need for it.
Ben Pfaff [Fri, 27 May 2022 22:37:10 +0000 (15:37 -0700)]
gui: Make text import assistant accept only one quote character.
This aligns with what SPSS does.
Ben Pfaff [Fri, 27 May 2022 21:38:58 +0000 (14:38 -0700)]
gui: Always use the most comma text import settings.
The heuristic did not perform well in practice according to user reports,
and most files use the defaults.
Ben Pfaff [Fri, 27 May 2022 19:55:47 +0000 (12:55 -0700)]
gui: Honor quotes in the text data import dialog.
The text data import dialog's preview of the data to be read
didn't honor the quotes but always treated " and ' and (weirdly)
parentheses as quotes. This makes it honor the user's settings.
Bug #61809.
Thanks for Friedrich Beckmann for reporting this bug.
Ben Pfaff [Sat, 21 May 2022 21:56:49 +0000 (14:56 -0700)]
New command SHOW SYSTEM to easily print information useful in bug reports.
Ben Pfaff [Mon, 11 Apr 2022 15:12:25 +0000 (08:12 -0700)]
po: Update translations from translationproject.org.
Friedrich Beckmann [Mon, 11 Apr 2022 09:22:53 +0000 (11:22 +0200)]
po: Update de translation from translationproject.org
Ben Pfaff [Sun, 10 Apr 2022 23:41:58 +0000 (16:41 -0700)]
Release version 1.5.5.
Ben Pfaff [Sun, 10 Apr 2022 23:30:29 +0000 (16:30 -0700)]
po: Update translations from translationproject.org.
Ben Pfaff [Sun, 10 Apr 2022 15:47:00 +0000 (08:47 -0700)]
expressions: Convert SYSMIS into int as INT_MIN during optimization too.
In an expression like LPAD('abc', $sysmis), the LPAD function is evaluated
using a C function that takes an 'int' as its second argument. During
expression evaluation, out-of-range values get converted into SYSMIS by
the NUM_TO_INTEGER operator that gets automatically inserted to ensure
that, and then SYSMIS gets converted into INT_MIN to pass to the C
function. This worked OK for runtime evaluation, but the optimizer failed
to do the conversion of SYSMIS to INT_MIN, which yielded undefined
behavior. Some platforms (e.g. GCC on x86) converted SYSMIS (which is
the second-smallest 'double' value) into INT_MIN, so no problem showed up
there, but other platforms yielded INT_MAX, causing unexpected failures.
This commit fixes the problem by explicitly converting SYSMIS into INT_MIN
during optimization.
Thanks to Friedrich Beckmann for reporting and uncovering the problem.
Bug #62267.