pspp
5 days agoInitial work on Rust implementation of PSPP. rust2
Ben Pfaff [Sun, 19 Mar 2023 00:50:19 +0000 (17:50 -0700)]
Initial work on Rust implementation of PSPP.

To run what's here, use `cargo run` inside the `rust` directory to run
it in place, or `cargo install` to install it to a local directory.  The
`convert` command is the only thing that really works so far.

Signed-off-by: Ben Pfaff <blp@cs.stanford.edu>
5 weeks agoext-array: Use fseeko64 instead of fseeko, if available.
Ben Pfaff [Thu, 5 Jun 2025 20:18:02 +0000 (13:18 -0700)]
ext-array: Use fseeko64 instead of fseeko, if available.

5 weeks agoDESCRIPTIVES: Fix calculation of Z-scores with listwise missing values.
Ben Pfaff [Wed, 4 Jun 2025 21:34:03 +0000 (14:34 -0700)]
DESCRIPTIVES: Fix calculation of Z-scores with listwise missing values.

6 weeks agoMacOS: Adapt Readme and initialization for bundle
Friedrich Beckmann [Fri, 30 May 2025 11:51:29 +0000 (13:51 +0200)]
MacOS: Adapt Readme and initialization for bundle

I changed the way the bundle is build to allow codesigning.
The binary is moved to Content/MacOS and therefore the location
of the resources like icons is changed with respect to the
binary location.

4 months agopo: Update 'sv' translation from translationproject.org.
Ben Pfaff [Fri, 7 Mar 2025 00:44:07 +0000 (16:44 -0800)]
po: Update 'sv' translation from translationproject.org.

4 months agoFix order of variables in error message.
Ben Pfaff [Mon, 17 Feb 2025 17:39:54 +0000 (09:39 -0800)]
Fix order of variables in error message.

Thanks to Frans Houweling for reporting the bug.

4 months agopo: Add sv (Swedish) translation from translationproject.org.
Ben Pfaff [Tue, 11 Feb 2025 16:40:24 +0000 (08:40 -0800)]
po: Add sv (Swedish) translation from translationproject.org.

5 months agoIndependent Samples T-Test Dialog: Fix Crash
John Darrington [Mon, 3 Feb 2025 16:27:05 +0000 (17:27 +0100)]
Independent Samples T-Test Dialog: Fix Crash

Only unref the existing grouping variable, if the new one is non-null.
Otherwise it gets unreffed too many times.

Fixes bug 66747

5 months agoQUICK CLUSTER: Use fixed format for cluster centers.
Ben Pfaff [Tue, 28 Jan 2025 22:22:51 +0000 (14:22 -0800)]
QUICK CLUSTER: Use fixed format for cluster centers.

This command used the variables' own formats for their centers.  This was
a bad idea for at least two reasons.  First, the variables might have a
format that does not show any decimal places, but clusters wouldn't
ordinarily have integer centers, so this is confusing.  Second, if a
cluster center happens to have a value label, it could be shown instead,
which is even more confusing.  This fixes the problem by using a fixed
format instead.

Thanks to Andreas Hammer for reporting the problem.

7 months agotests: Make it harder to run the testsuite outside of "make check".
Ben Pfaff [Wed, 4 Dec 2024 22:28:31 +0000 (14:28 -0800)]
tests: Make it harder to run the testsuite outside of "make check".

This confused a user.

7 months agopo: Update translations.
Ben Pfaff [Sun, 1 Dec 2024 23:33:55 +0000 (15:33 -0800)]
po: Update translations.

7 months agopo: Update translations.
Ben Pfaff [Tue, 26 Nov 2024 19:28:10 +0000 (11:28 -0800)]
po: Update translations.

7 months agoREADME.Git: More MacOS build and debug infos. Switch to brew
Friedrich Beckmann [Fri, 22 Nov 2024 13:50:43 +0000 (14:50 +0100)]
README.Git: More MacOS build and debug infos. Switch to brew

I modified the build instructions from macports to brew because
I use brew now. I added some instructions for debugging with lldb.

7 months agoREADME.Git: Just Whitespace
Friedrich Beckmann [Fri, 22 Nov 2024 13:35:16 +0000 (14:35 +0100)]
README.Git: Just Whitespace

7 months agomessage: check if location is present before accessing it
Friedrich Beckmann [Fri, 22 Nov 2024 13:21:27 +0000 (14:21 +0100)]
message: check if location is present before accessing it

The message location is accessed without checking if the
location is actually present. I added a check if the message
location is there. Thanks to Simon Jacobs for reporting the
bug!

Closes: https://savannah.gnu.org/bugs/?66239
7 months agoimport assistant: fix variable width after guesser with output constraints
Friedrich Beckmann [Thu, 21 Nov 2024 12:25:10 +0000 (13:25 +0100)]
import assistant: fix variable width after guesser with output constraints

The current code fixes the guessed variable width according to
input constraints. But the data output stages checks the
width against output constraints. The minimum width for FMT_E
is 1 for input and 6 for output. When the guesser proposes FMT_E
with width 5, then 5 is chosen. With this patch, the width is
fixed to 6.

Thanks to Fatemeh Ilkhani for reporting the bug and providing a
csv that triggers the crash.

Closes: https://savannah.gnu.org/bugs/?66456
8 months agoMATRIX: Fix test for very large matrix.
Ben Pfaff [Mon, 21 Oct 2024 17:49:00 +0000 (10:49 -0700)]
MATRIX: Fix test for very large matrix.

I kept getting processes killed as out-of-memory for the "MATRIX - very
large matrices" test.  Somehow, GSL was really trying to allocate a
matrix with 230,000,000,000 elements, which would require 1.84 PB of
memory, which I don't have.

This makes the matrix allocator report out-of-memory if a sequence would
have more than about 2 billion elements, fixing my OOM killer problem.

8 months agoAdd translation context for statistical "Error"
Theppitak Karoonboonyanan [Fri, 11 Oct 2024 09:46:06 +0000 (16:46 +0700)]
Add translation context for statistical "Error"

Since gnulib's gettext.h defines pgettext() as macro with string
catenation, it's impossible to add pgettext version API for
pivot_value_new_text().  Rather, the pivot_value creation part is
split into pivot_value_new_text_translate() and let's expand
pgettext() upon calling it.

With this, C_() and NC_() macros are defined for translation with
context.

Fixing bug #66244.

8 months agogui: Fix translatability of tip meant for non-free operating systems.
Ben Pfaff [Mon, 21 Oct 2024 16:42:52 +0000 (09:42 -0700)]
gui: Fix translatability of tip meant for non-free operating systems.

Thanks to Theppitak Karoonboonyanan for reporting this bug.

8 months agowindows: update spreadsheet build dependency from 0.8 to 0.10
Friedrich Beckmann [Sun, 13 Oct 2024 14:47:05 +0000 (16:47 +0200)]
windows: update spreadsheet build dependency from 0.8 to 0.10

The windows build on cais.etech.fh-augsburg.de failed because
the windows build dependencies script build spread-sheet 0.8
while pspp now insists on 0.10.

9 months agopo: Update translations from translationproject.org.
Ben Pfaff [Fri, 27 Sep 2024 14:49:21 +0000 (07:49 -0700)]
po: Update translations from translationproject.org.

10 months agodoc: Document FILTER on REGRESSION.
Ben Pfaff [Mon, 19 Aug 2024 22:08:01 +0000 (15:08 -0700)]
doc: Document FILTER on REGRESSION.

Thanks to Andreas Hammer for the suggestion.

13 months agoAvoid a crash when attempting to allocate very large matrices.
John Darrington [Sun, 9 Jun 2024 10:16:38 +0000 (12:16 +0200)]
Avoid a crash when attempting to allocate very large matrices.

Partial fix for bug #65545

13 months agoClipboard: psppire-output-view - Adapt advertised target formats
Friedrich Beckmann [Sun, 2 Jun 2024 17:45:01 +0000 (19:45 +0200)]
Clipboard: psppire-output-view - Adapt advertised target formats

When charts are copied to the clipboard, then also text formats
were advertised. This patch restricts the advertised clipboard
formats such that applications choose the correct format.

See: https://savannah.gnu.org/bugs/?65288

The preferred format for charts/images is svg or some image format
For tables no image format is advertised such that John can paste
html as editable table in libreoffice.

13 months agoFix a crash when attempting to add vectors whose names differed only in case.
John Darrington [Sun, 2 Jun 2024 15:11:36 +0000 (17:11 +0200)]
Fix a crash when attempting to add vectors whose names differed only in case.

Partial fix for bug #65545

13 months agoFix an assertion failure when running PERMISSIONS with the --safer option
John Darrington [Sun, 2 Jun 2024 09:43:27 +0000 (11:43 +0200)]
Fix an assertion failure  when running PERMISSIONS with the --safer option

Partial fix for bug #65545

13 months agoRecent ssw to 0.10
John Darrington [Sat, 14 Oct 2023 04:56:51 +0000 (06:56 +0200)]
Recent ssw to 0.10

14 months agodoc: set LC_ALL=C for building tutorial images
Friedrich Beckmann [Sat, 11 May 2024 15:20:46 +0000 (17:20 +0200)]
doc: set LC_ALL=C for building tutorial images

The previous commit to fix the "make install" problem in shells which
have a locale setting different from "US" did not work for Bernd on
archlinux. Thanks for reporting the problem!

Closes: https://savannah.gnu.org/bugs/?65124
14 months agoLOOP: Fix null pointer dereference for errors with index expressions.
Ben Pfaff [Sun, 5 May 2024 19:35:25 +0000 (12:35 -0700)]
LOOP: Fix null pointer dereference for errors with index expressions.

Thanks to Zhou Geng for reporting this bug as poc8 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoNPAR: Fix order of arguments to xnmalloc().
Ben Pfaff [Sun, 5 May 2024 18:40:40 +0000 (11:40 -0700)]
NPAR: Fix order of arguments to xnmalloc().

14 months agopivot-output: Fix crash when layers axis has no leaves.
Ben Pfaff [Fri, 3 May 2024 21:45:11 +0000 (14:45 -0700)]
pivot-output: Fix crash when layers axis has no leaves.

Thanks to Zhou Geng for reporting this bug as poc6 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoMCONVERT: Prevent from appearing inside DO IF or LOOP.
Ben Pfaff [Fri, 3 May 2024 16:25:10 +0000 (09:25 -0700)]
MCONVERT: Prevent from appearing inside DO IF or LOOP.

Also, fix a typo in a user string.

Thanks to Zhou Geng for reporting this bug as poc5 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoMATRIX: Prevent from appearing inside DO IF or LOOP.
Ben Pfaff [Fri, 3 May 2024 16:21:05 +0000 (09:21 -0700)]
MATRIX: Prevent from appearing inside DO IF or LOOP.

Thanks to Zhou Geng for reporting this bug as poc3 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoMATRIX: Avoid assertion failure when DO IF has multiple ELSEs.
Ben Pfaff [Fri, 3 May 2024 00:36:07 +0000 (17:36 -0700)]
MATRIX: Avoid assertion failure when DO IF has multiple ELSEs.

Thanks to Zhou Geng for reporting this bug as poc42 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoexpressions: Fix crash on type mismatch corner case.
Ben Pfaff [Thu, 2 May 2024 19:59:12 +0000 (12:59 -0700)]
expressions: Fix crash on type mismatch corner case.

Thanks to Zhou Geng for reporting this bug as poc37 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoascii: Avoid assertion failure on width underflow in text_draw().
Ben Pfaff [Fri, 19 Apr 2024 16:46:05 +0000 (09:46 -0700)]
ascii: Avoid assertion failure on width underflow in text_draw().

Thanks to Zhou Geng for reporting this bug as poc33 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agotransformations: Fix memory error in trns_chain_prepend().
Ben Pfaff [Fri, 19 Apr 2024 00:27:12 +0000 (17:27 -0700)]
transformations: Fix memory error in trns_chain_prepend().

This only worked if the transformation chain had one element.

Thanks to Zhou Geng for reporting this bug as poc30 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoLIST: Fix bug listing duplicate variables.
Ben Pfaff [Sun, 14 Apr 2024 17:07:16 +0000 (10:07 -0700)]
LIST: Fix bug listing duplicate variables.

Thanks to Zhou Geng for reporting this bug as poc28 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agoSHOW: Fix memory leak on error path.
Ben Pfaff [Sun, 14 Apr 2024 16:51:58 +0000 (09:51 -0700)]
SHOW: Fix memory leak on error path.

14 months agoSHOW: Fix crash in SHOW TITLE and SHOW SUBTITLE if there is no (sub)title.
Ben Pfaff [Sun, 14 Apr 2024 16:48:23 +0000 (09:48 -0700)]
SHOW: Fix crash in SHOW TITLE and SHOW SUBTITLE if there is no (sub)title.

Thanks to Zhou Geng for reporting this bug as poc14 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agopo: Update translations from translationproject.org.
Ben Pfaff [Sun, 14 Apr 2024 16:44:44 +0000 (09:44 -0700)]
po: Update translations from translationproject.org.

14 months agou8-line: Fix handling of double-width characters in u8_line_reserve().
Ben Pfaff [Sun, 14 Apr 2024 16:14:43 +0000 (09:14 -0700)]
u8-line: Fix handling of double-width characters in u8_line_reserve().

This code was terribly confusing.  This adds a little redundancy but it is
easier to understand.

This is difficult logic and more bugs may lurk.

Thanks to Zhou Geng for reporting this bug as poc13 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

14 months agou8-line: Fix read past end of buffer in u8_line_find_pos().
Ben Pfaff [Sun, 14 Apr 2024 16:11:12 +0000 (09:11 -0700)]
u8-line: Fix read past end of buffer in u8_line_find_pos().

15 months agoFix bug found by fuzzer.
Ben Pfaff [Thu, 4 Apr 2024 20:53:36 +0000 (13:53 -0700)]
Fix bug found by fuzzer.

Thanks to Zhou Geng for reporting this bug as poc9 in the report here:
https://lists.gnu.org/archive/html/bug-gnu-pspp/2024-03/msg00015.html

15 months agopo: Update translations from translationproject.org.
Ben Pfaff [Wed, 3 Apr 2024 20:11:38 +0000 (13:11 -0700)]
po: Update translations from translationproject.org.

15 months agopo: Update translations from translationproject.org.
Ben Pfaff [Mon, 1 Apr 2024 17:38:23 +0000 (10:38 -0700)]
po: Update translations from translationproject.org.

15 months agopo: Update translations from translationproject.org.
Ben Pfaff [Fri, 29 Mar 2024 15:47:09 +0000 (08:47 -0700)]
po: Update translations from translationproject.org.

15 months agopo: Update translations from translationproject.org.
Ben Pfaff [Thu, 28 Mar 2024 17:17:11 +0000 (10:17 -0700)]
po: Update translations from translationproject.org.

15 months agopo: Update translations from translationproject.org.
Ben Pfaff [Mon, 25 Mar 2024 16:26:18 +0000 (09:26 -0700)]
po: Update translations from translationproject.org.

15 months agogui: Translate names of aggregation functions in bar chart dialog.
Ben Pfaff [Mon, 25 Mar 2024 16:24:25 +0000 (09:24 -0700)]
gui: Translate names of aggregation functions in bar chart dialog.

Thanks to Mindaugus for reporting the problem.

15 months agoRelease version 2.0.1.
Ben Pfaff [Thu, 21 Mar 2024 23:32:43 +0000 (16:32 -0700)]
Release version 2.0.1.

15 months agodoc: Document how to run command-line PSPP from the Flatpak.
Ben Pfaff [Thu, 21 Mar 2024 20:28:25 +0000 (13:28 -0700)]
doc: Document how to run command-line PSPP from the Flatpak.

15 months agoREADME.Git: Update to latest version of Gnulib branch stable-202307.
Ben Pfaff [Thu, 21 Mar 2024 14:01:04 +0000 (07:01 -0700)]
README.Git: Update to latest version of Gnulib branch stable-202307.

15 months agoREPEATING DATA: Remove documentation for unimplemented command.
Ben Pfaff [Thu, 21 Mar 2024 13:44:03 +0000 (06:44 -0700)]
REPEATING DATA: Remove documentation for unimplemented command.

This command once had a buggy implementation, which was removed, but the
documentation remained.

Thanks to Frans Houweling for reporting the inconsistency.

15 months agogui: Mark "Show tips at startup" for translation.
Ben Pfaff [Thu, 21 Mar 2024 13:40:39 +0000 (06:40 -0700)]
gui: Mark "Show tips at startup" for translation.

Thanks to Mindaugus for reporting that it was missing.

15 months agopo: Update translations from translationproject.org
Ben Pfaff [Thu, 21 Mar 2024 13:38:14 +0000 (06:38 -0700)]
po: Update translations from translationproject.org

15 months agoDO REPEAT: Accept duplicate names as substitution variables.
Ben Pfaff [Thu, 21 Mar 2024 13:32:56 +0000 (06:32 -0700)]
DO REPEAT: Accept duplicate names as substitution variables.

Thanks to Frans Houweling for reporting the bug.

16 months agoCROSSTABS: Fix tabular output when columns or rows are empty.
Ben Pfaff [Wed, 6 Mar 2024 22:32:41 +0000 (14:32 -0800)]
CROSSTABS: Fix tabular output when columns or rows are empty.

Thanks to Andreas Hammer for reporting the bug.

16 months agoAUTORECODE: Fix crash if scratch variables created before source variables.
Ben Pfaff [Sun, 3 Mar 2024 20:05:05 +0000 (12:05 -0800)]
AUTORECODE: Fix crash if scratch variables created before source variables.

Thanks to Frans Houweling for reporting this bug.

16 months agodictionary: Remove unused functions and prototypes.
Ben Pfaff [Sat, 2 Mar 2024 19:08:29 +0000 (11:08 -0800)]
dictionary: Remove unused functions and prototypes.

16 months agopsppire: Sort by name or label case-insensitively in dictionary view.
Ben Pfaff [Fri, 1 Mar 2024 19:20:38 +0000 (11:20 -0800)]
psppire: Sort by name or label case-insensitively in dictionary view.

Thanks to Elio Spinello for reporting the bug.

16 months agoSORT VARIABLES: Add test case for case sensitivity.
Ben Pfaff [Fri, 1 Mar 2024 18:45:23 +0000 (10:45 -0800)]
SORT VARIABLES: Add test case for case sensitivity.

16 months agoCTABLES: Fix crash with single nesting level, no label, and moving labels.
Ben Pfaff [Sat, 24 Feb 2024 18:50:02 +0000 (10:50 -0800)]
CTABLES: Fix crash with single nesting level, no label, and moving labels.

This fixes a crash for the following input:

DATA LIST LIST NOTABLE /year (F4.0).
BEGIN DATA
2020
2021
2022
2020
2020
END DATA.

CTABLES
  /VLABELS VARIABLES=year DISPLAY=NONE
  /TABLE year [C]
  /CLABELS ROWLABELS=OPPOSITE.

Thanks to Frans Houweling for reporting this bug and providing the test
case.

18 months agotests: Remove two tests that proved problematic cross-OS and cross-arch.
Ben Pfaff [Sun, 7 Jan 2024 19:09:07 +0000 (11:09 -0800)]
tests: Remove two tests that proved problematic cross-OS and cross-arch.

The test "journal enabled by default interactively" failed in Debian
testing on s390x, powerpc, and ppc64.  I can't reproduce the problem on
x86_64.  This commit removes it.

The test "interactive output appears immediately" failed in Debian testing
on s390x, hppa, powerpc, and ppc64.  It also previously failed on Mac OS.
I can reproduce the problem on x86_64 if readline isn't available, but not
if it is.  (I think it would always be available for Debian).  This commit
removes it.

Thanks to Friedrich Beckmann for reporting the Debian build problems.

18 months agodoc: set LANG=C for building the tutorial images
Friedrich Beckmann [Thu, 4 Jan 2024 11:04:15 +0000 (12:04 +0100)]
doc: set LANG=C for building the tutorial images

The build process fails if the shell has set a different language
setting the us. This patch sets the language during the generation
of the documentation images.

Closes: https://savannah.gnu.org/bugs/?65124
18 months agoUpdate releases in appstream metadata to make flathub happy.
Ben Pfaff [Mon, 1 Jan 2024 00:48:56 +0000 (16:48 -0800)]
Update releases in appstream metadata to make flathub happy.

18 months agoRelease version 2.0.0.
Ben Pfaff [Sun, 31 Dec 2023 23:13:35 +0000 (15:13 -0800)]
Release version 2.0.0.

20 months agoMacOS: Fix skipped test "convert invalid UTF-8 to ISO-8859-1"
Friedrich Beckmann [Sun, 5 Nov 2023 19:59:37 +0000 (20:59 +0100)]
MacOS: Fix skipped test "convert invalid UTF-8 to ISO-8859-1"

The skipping worked, but the non-skipped test failed on linux
systems.

20 months agoRevert "Revert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1"""
Ben Pfaff [Sun, 5 Nov 2023 19:12:18 +0000 (11:12 -0800)]
Revert "Revert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1"""

This reverts commit bcc19d9457129559b836a0cc6cd81e2c71d42bb5.
Just letting Mac OS crash on invalid conversions seems like the
most reasonable path for now.  Maybe Apple will fix their buggy
iconv.

20 months agoRevert "i18n.c: added EOPNOTSUPP error code for MacOS"
Ben Pfaff [Sun, 5 Nov 2023 19:11:41 +0000 (11:11 -0800)]
Revert "i18n.c: added EOPNOTSUPP error code for MacOS"

This reverts commit 1799abc8539bd1a49c72c5723d1fa89ff4463e3f.
Handling EOPNOTSUPP like EILSEQ produced a hang rather than
the expected results, so this was a failed experiment.

20 months agoUpgrade to stable Gnulib branch stable-202307.
Ben Pfaff [Sun, 5 Nov 2023 18:10:06 +0000 (10:10 -0800)]
Upgrade to stable Gnulib branch stable-202307.

Suggested by Bruno Haible.

20 months agoi18n.c: added EOPNOTSUPP error code for MacOS
Friedrich Beckmann [Sat, 4 Nov 2023 22:28:40 +0000 (23:28 +0100)]
i18n.c: added EOPNOTSUPP error code for MacOS

With MacOS 14 the iconv library was changed by Apple. pspp uses
the native iconv library. There is a different error code
returned when an illegal 0xc0 UTF-8 code is converted. This
results in a failed "convert invalid UTF-8 to ISO-8859-1" test in
the regression. This patch now handles also EOPNOTSUPP.

20 months agoRevert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1""
Friedrich Beckmann [Sat, 4 Nov 2023 22:11:57 +0000 (23:11 +0100)]
Revert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1""

This reverts commit 579295f8b15068b121807168e84330c1f99361e9. Ben
has an idea how to fix this in libpspp to handle the different
error code on MacOS.

20 months agoMacOS: skip test "convert invalid UTF-8 to ISO-8859-1"
Friedrich Beckmann [Sat, 4 Nov 2023 18:40:50 +0000 (19:40 +0100)]
MacOS: skip test "convert invalid UTF-8 to ISO-8859-1"

Starting with MacOS 14 Sonoma Apple has changed the behaviour
of the iconv library. The test tests the behaviour for invalid
UTF-8 sequence 0xC0. The native Apple iconv library responds with
a different error number than expected. This patch skips the
test on MacOS until this is hopefully fixed on MacOS.

20 months agoUnconditionally replace g_string_free_and_steal().
Ben Pfaff [Sat, 4 Nov 2023 00:29:14 +0000 (17:29 -0700)]
Unconditionally replace g_string_free_and_steal().

It's a persistent problem and I don't understand why.  I hope this fixes
the issue for good.

Thanks to Ali Alhaidary for reporting this bug.

Bug #64848.

20 months agoRelease version 2.0.0-pre3.
Ben Pfaff [Thu, 2 Nov 2023 21:27:39 +0000 (14:27 -0700)]
Release version 2.0.0-pre3.

20 months agotests: Fall back to running the interactive output test on GNU/Linux only.
Ben Pfaff [Thu, 2 Nov 2023 15:55:28 +0000 (08:55 -0700)]
tests: Fall back to running the interactive output test on GNU/Linux only.

It fails on Mac OS for unclear reasons.

20 months agotests: Refine the last change.
Ben Pfaff [Thu, 2 Nov 2023 02:31:03 +0000 (19:31 -0700)]
tests: Refine the last change.

The remaining failures might be attributable to journal file creation
errors.

20 months agotests: Try another strategy to check for immediate output.
Ben Pfaff [Thu, 2 Nov 2023 01:41:57 +0000 (18:41 -0700)]
tests: Try another strategy to check for immediate output.

The previous strategy hung on some machines and failed on others.  The
failures are sometimes sensitive to whether libreadline is available.  I
hope that this avoids the problem.

20 months agotests: Stop using squish-pty.
Ben Pfaff [Wed, 1 Nov 2023 16:40:02 +0000 (09:40 -0700)]
tests: Stop using squish-pty.

squish-pty seems to break easily, so switch to using another way to
simulate interactive behavior.  This way requires a small source code
change to PSPP itself but it should be more portable.

Thanks to Friedrich Beckmann for reporting the problem.  The problem that
Friedrich reported was a hang in the "interactive output appears
immediately" test on Debian sid.  I couldn't reproduce that problem on
Fedora or Debian testing, but I did get failures on Debian testing.  I
guess it's best to just avoid ptys at all.

20 months agoFix typo in user string.
Ben Pfaff [Wed, 1 Nov 2023 14:35:31 +0000 (07:35 -0700)]
Fix typo in user string.

Thanks to Benno Schulenberg for reporting this bug.

20 months agopo: Update translations from translationproject.org.
Ben Pfaff [Wed, 1 Nov 2023 14:26:22 +0000 (07:26 -0700)]
po: Update translations from translationproject.org.

20 months agoRelease version 2.0.0-pre2.
Ben Pfaff [Wed, 1 Nov 2023 03:26:27 +0000 (20:26 -0700)]
Release version 2.0.0-pre2.

20 months agoEnable journaling by default and add GUI feature for configuring it.
Ben Pfaff [Sat, 7 Oct 2023 21:31:50 +0000 (14:31 -0700)]
Enable journaling by default and add GUI feature for configuring it.

21 months agoMATCH FILES: Fix crash in string variable resizing.
Ben Pfaff [Sat, 30 Sep 2023 20:19:21 +0000 (13:19 -0700)]
MATCH FILES: Fix crash in string variable resizing.

Commmit 638bf380e550 ("combine-files: Allow matching string
variables to have different widths.") introduced a bug in the
case where the variables in data files being combined didn't
have the same variable order.  This is kind of an
embarrassing bug since the input files having the same order
of variables is an exceptional case anyhow.  This commit
should fix the problem.

The test as updated will crash if the bug regresses.

Thanks to Frans Houweling for reporting the bug.

21 months agosettings: Make PRESERVE, RESTORE, and SHOW handle TLOOK.
Ben Pfaff [Sat, 30 Sep 2023 19:21:53 +0000 (12:21 -0700)]
settings: Make PRESERVE, RESTORE, and SHOW handle TLOOK.

Thanks to Frans Houweling for reporting the issue.

21 months agopsppire-import-textfile: Default to using column names from imported file.
Ben Pfaff [Sat, 30 Sep 2023 18:27:08 +0000 (11:27 -0700)]
psppire-import-textfile: Default to using column names from imported file.

We speculate that users will find this less surprising.

Suggested by Alan Mead.

21 months agoONEWAY: Improve handling of missing values in ONEWAY multiple comparisons.
Ben Pfaff [Sat, 30 Sep 2023 17:48:39 +0000 (10:48 -0700)]
ONEWAY: Improve handling of missing values in ONEWAY multiple comparisons.

Thanks to Andreas Hammer for the bug report and example data.

22 months agopspp-dump-sav: Number variables in cases starting from 1.
Ben Pfaff [Tue, 5 Sep 2023 15:34:52 +0000 (08:34 -0700)]
pspp-dump-sav: Number variables in cases starting from 1.

The variables are numbered starting from 1 elsewhere in the output, so they
should be in the cases as well.

Bug #64621.
Thanks to Daniel for reporting this bug.

2 years agoFixed an assertion failure in psppire-dump-sav when reading a corrupt file.
John Darrington [Sun, 25 Jun 2023 16:20:39 +0000 (18:20 +0200)]
Fixed an assertion failure in psppire-dump-sav when reading a corrupt file.

Closes bug #62980

2 years agoSimplify drag-drop target settings in CTABLES dialog
John Darrington [Sun, 25 Jun 2023 04:17:14 +0000 (06:17 +0200)]
Simplify drag-drop target settings in CTABLES dialog

2 years agohtml: Include generic font-family name "sans-serif" as a fallback.
Ben Pfaff [Sat, 24 Jun 2023 17:04:48 +0000 (10:04 -0700)]
html: Include generic font-family name "sans-serif" as a fallback.

https://developer.mozilla.org/en-US/docs/Web/CSS/font-family recommends
that a font-family specification should always include one of the generic
font-family names to serve as a fallback.  For PSPP, sans-serif is a
reasonable fixed fallback.

This addresses bug #63020, which asks for "Sans Serif" to mean sans-serif.
It obviously doesn't generalize to other font name translations, but it
does address the case that the bug filer complained about.  If we need a
more general mechanism, we can invent it later.

Thanks to Frans Houweling for reporting this issue.

2 years agoAdd localisations for ar and ta domains
John Darrington [Sat, 24 Jun 2023 04:48:29 +0000 (06:48 +0200)]
Add localisations for ar and ta domains

2 years agoRemove Find and Close from the list of default button box buttons
John Darrington [Fri, 23 Jun 2023 12:22:51 +0000 (14:22 +0200)]
Remove Find and Close from the list of default button box buttons

Commit e1a2cf577fac791c79cd531e688a48efab9b7c0c inappropiratly added the FIND
and CLOSE buttons to the default list of buttons to be shown.  This change
fixes that error.

2 years agoWhitespace changes only.
John Darrington [Fri, 23 Jun 2023 06:09:47 +0000 (08:09 +0200)]
Whitespace changes only.

2 years agoFix the cleanup of the pivot table in the CTABLES dialog
John Darrington [Wed, 21 Jun 2023 14:49:11 +0000 (16:49 +0200)]
Fix the cleanup of the pivot table in the CTABLES dialog

2 years agoProperly dispose of psppire_dialog_action objects when the data editor is closed
John Darrington [Wed, 21 Jun 2023 13:41:29 +0000 (15:41 +0200)]
Properly dispose of psppire_dialog_action objects when the data editor is closed

2 years agoFixed a crash when trying to insert variables into the datasheet
John Darrington [Wed, 21 Jun 2023 10:02:06 +0000 (12:02 +0200)]
Fixed a crash when trying to insert variables into the datasheet

2 years agoFix cut-and-paste error in comment
John Darrington [Wed, 21 Jun 2023 09:44:23 +0000 (11:44 +0200)]
Fix cut-and-paste error in comment

2 years agoChange TAB characters to spaces
John Darrington [Tue, 20 Jun 2023 20:11:51 +0000 (22:11 +0200)]
Change TAB characters to spaces

Most of our code is indented with four spaces.  However some files had been
using tabs.  Some code used both tabs and spaces in the same file!.  This
change replaces all tabs with eight spaces.