The variable insert procedure inserted new variables
via the datasheet window even if the variable
window was visible. Directly after startup the
dataview is not realized and that prevents a correct
update of the variable view. I changed the procedure
such that the ssw items_changed_cb is called for
the widgets in the variable view and the window
is correctly updated.
Makefile.am - added check for debian package directory
The debian package is now also maintained via git
https://salsa.debian.org/science-team/pspp
but that repository contains the distribution package. Due to the
.git directory the make process assumes that we are building
a distribution file and adds a check for some missing files. That
check fails if the distribution is under git control. I checked
for the existance of the debian directory as an indicator that
we are building the debian package and disable the check.
The SET WIDTH setting was ignored. This makes the code honor it for
output to a file. For output to a terminal, the terminal's width is
used instead.
Honor changes to SET WIDTH as well.
The code to detect terminal size changes wasn't properly signal safe,
and it was scattered across multiple files. This centralizes it and
makes it signal safe.
There were bugs in updates to min_hbreak in corner cases. This fixes
them.
Thanks to Frans Houweling and John Darrington for reporting these
bugs.
Ben Pfaff [Mon, 30 Dec 2019 06:42:02 +0000 (06:42 +0000)]
spv: Run Python at build time via $PYTHON variable.
This was accidentally being run as literal "python" rather than through
a variable, so it failed on systems where there is no "python" binary
but only python2 or python3.
Ben Pfaff [Sun, 29 Dec 2019 16:25:57 +0000 (16:25 +0000)]
cairo: Fix font scaling.
It's really a mystery why a 9-point font doesn't appear 9 points tall
in PDF (etc.) output, but it doesn't. I guess we're doing something
wrong somewhere. But until we figure out the underlying issue, we need
to scale down font sizes for PDF and not for on-screen use.
This is a slightly better fix for font sizes than the previous commit 3c15b41c036 (pivot-table: Kluge dropping default 9-point font to make
output readable.)
Ben Pfaff [Sun, 29 Dec 2019 15:53:25 +0000 (15:53 +0000)]
pivot-table: Kluge dropping default 9-point font to make output readable.
The default font size for SPV output is normally 9 points, but that
makes the output window hard to read. This drops that default entirely,
which seems to make the output use a system or Pango default. This is
probably not the right thing to do--probably we need a way to magnify
the fonts for on-screen display.
This reverts part of commit e3c3fbe8b, which wasn't intended to have a
visible effect but did because it inadvertently introduced a 9-point
default.
Ben Pfaff [Thu, 26 Dec 2019 00:52:33 +0000 (00:52 +0000)]
table: Get rid of TAB_* for horizontal and vertical alignment.
Until now, either TAB_LEFT, TAB_RIGHT, etc. could be used or the
area_style mechanism could be used. The latter has a superset of the
former's features, so this commit eliminates the former.
Ben Pfaff [Sat, 19 Oct 2019 05:41:25 +0000 (05:41 +0000)]
driver: Do not accumulate marked-up text.
The output engine accumulates lines of text into blocks and outputs them
all at once. This doesn't currently work for text with markup, so this
commit disables it. It might be better to make it work, hence this
commit also adds an XXX marker.
Ben Pfaff [Sun, 10 Nov 2019 18:29:17 +0000 (18:29 +0000)]
LOOP: Limit number of iterations when IF clauses present.
The LOOP command is limited by the MXLOOPS setting in some cirumstances.
Until now, if an IF clause was present, MXLOOPS was disregarded.
However, this behavior does not match SPSS behavior. This commit makes
LOOP honor MXLOOPS even when IF is present, for compatibility.
With this commit, only the presence of an index clause makes LOOP
disregard MXLOOPS.
Ben Pfaff [Mon, 17 Jul 2017 18:38:13 +0000 (11:38 -0700)]
zip-reader: Improve error messages.
With this change, the zip-reader's error messages always include the zip
file name and, when relevant, the member name. Otherwise it wasn't always
clear what a message liek "No such file or directory" was talking about.
Ben Pfaff [Sun, 16 Jul 2017 03:22:10 +0000 (20:22 -0700)]
zip-reader: Read the whole central directory at .zip open time.
By reading the whole central directory when we open the .zip file, rather
than one entry at a time, we make it easier to get a list of entries and
make it available to the client. (This will be implemented in an upcoming
commit.)
This commit also fixes memory leaks in the error case in zip_member_open().
This commit also changes the usage model. Previously, if the caller opened
a single member more than once, all the members shared a single copy of
the member and read each other's data. Now, each caller that opens a
member gets a separate copy and a separate file pointer. Callers now need
to call zip_member_finish() when they're done with a member.
With this commit, the code only keeps an open FILE for a member if the
caller opened that member. Previously, it kept an open FILE for any
member that had been encountered.