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.
Reported by John Darrington.
Ben Pfaff [Sun, 29 Dec 2019 15:38:57 +0000 (15:38 +0000)]
pspp-convert: Add --labels, --recode to usage message.
Ben Pfaff [Sun, 29 Dec 2019 07:50:47 +0000 (07:50 +0000)]
pspp-convert: Add --labels and --recode options.
Requested by Dave Trollope <dave@knowledgehound.com>.
Ben Pfaff [Sun, 29 Dec 2019 07:33:37 +0000 (07:33 +0000)]
pspp-output: Correct manpage.
This was a cut-and-paste error made without thinking.
Ben Pfaff [Sat, 19 Oct 2019 05:30:43 +0000 (05:30 +0000)]
Add support for reading and writing SPV files.
Ben Pfaff [Sun, 29 Dec 2019 05:46:31 +0000 (05:46 +0000)]
pivot-table: Add support for hiding footnotes.
This will get its first real user in an upcoming commit.
Ben Pfaff [Sun, 29 Dec 2019 05:50:39 +0000 (05:50 +0000)]
pivot-table: Add support for hiding the caption.
This will receive its first real user in an upcoming commit that adds
support for SPV files.
Ben Pfaff [Sun, 29 Dec 2019 05:39:50 +0000 (05:39 +0000)]
output: Refine support for footnotes, subscripts, and superscripts.
The code for all this wasn't fully plumbed through from the pivot table
code down to the drivers. This commit fixes all that up.
Ben Pfaff [Thu, 26 Dec 2019 17:34:14 +0000 (17:34 +0000)]
table: Factor out common code and improve comments.
Ben Pfaff [Thu, 26 Dec 2019 05:50:41 +0000 (05:50 +0000)]
table: Replace table_joined_cell by table_cell.
This eliminates some special cases.
Ben Pfaff [Thu, 26 Dec 2019 01:14:32 +0000 (01:14 +0000)]
render: Fix up layer violation in add_footnote_page().
The layering violation came from having to look up the default style
for a footer, so we fix it by forbidding footnotes from using the
default style.
Ben Pfaff [Thu, 26 Dec 2019 01:02:43 +0000 (01:02 +0000)]
table: Get rid of TAL_* constants.
These were the same as TABLE_STROKE_* so get rid of the extras.
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 [Thu, 26 Dec 2019 00:43:45 +0000 (00:43 +0000)]
pivot-table: Make pivot_area_get_default_style() return a static copy.
The existing callers all want to make their own copy, but an upcoming
new caller wants an existing one, so refactor the interface a bit.
Ben Pfaff [Thu, 26 Dec 2019 00:41:22 +0000 (00:41 +0000)]
table: Add pool parameter to area_style_copy(), font_style_copy().
This was inconsistent since the clone functions took them but the
copy functions didn't.
Ben Pfaff [Wed, 25 Dec 2019 23:21:05 +0000 (23:21 +0000)]
table: Move tab.h into table.h and rename tab_*() to table_*().
Ben Pfaff [Wed, 25 Dec 2019 23:13:35 +0000 (23:13 +0000)]
table: Merge tab.c into table.c.
Ben Pfaff [Wed, 25 Dec 2019 23:02:42 +0000 (23:02 +0000)]
tab: Merge struct tab_table into struct table.
Ben Pfaff [Wed, 25 Dec 2019 22:33:37 +0000 (22:33 +0000)]
table: Require headers to be set at table creation.
It used to be important for these to be adjustable, but no longer.
Ben Pfaff [Wed, 25 Dec 2019 22:26:25 +0000 (22:26 +0000)]
table: Get rid of table_class.
There is only one provider now, so we can slowly get rid of the extra
layer.
Ben Pfaff [Wed, 25 Dec 2019 21:38:49 +0000 (21:38 +0000)]
table: Simplify interface for number of rows and columns.
Nothing ever changes the number of rows or columns in a table after
initializing it anymore, so the more complicated interface is not needed.
Ben Pfaff [Wed, 25 Dec 2019 21:28:32 +0000 (21:28 +0000)]
tab: Fix overlap between table enumerations.
These enumerations overlapped with TAB_STYLE_MASK.
Ben Pfaff [Wed, 25 Dec 2019 17:01:49 +0000 (17:01 +0000)]
table: Get rid of table_cell destructors, which were unused.
Ben Pfaff [Sat, 7 Dec 2019 23:54:50 +0000 (23:54 +0000)]
pivot-table: Initialize subtype, command_id for pivot tables.
Ben Pfaff [Mon, 21 Oct 2019 03:04:22 +0000 (03:04 +0000)]
pivot-table: Make template pivot_values localized.
This will be used in an upcoming commit.
Ben Pfaff [Sat, 19 Oct 2019 05:55:47 +0000 (05:55 +0000)]
pivot-table: Also dump sizing info in pivot_table_dump().
Ben Pfaff [Sat, 19 Oct 2019 05:53:00 +0000 (05:53 +0000)]
pivot-table: Minor comment and style improvements.
No behavioral changes.
Ben Pfaff [Sat, 19 Oct 2019 05:51:10 +0000 (05:51 +0000)]
pivot-table: Make struct pivot_cell public.
Ben Pfaff [Sat, 19 Oct 2019 05:49:11 +0000 (05:49 +0000)]
pivot-table: New public functions for default area and border styles.
These will have additional users in upcoming commits.
Ben Pfaff [Sat, 19 Oct 2019 05:41:58 +0000 (05:41 +0000)]
render: Change style for footnote blocks.
This better matches the style output by SPSS.
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 [Sat, 19 Oct 2019 05:20:02 +0000 (05:20 +0000)]
table-item: Generalize support for layer info.
This adds support for an arbitrary number of layer text items and allows
the layer text items to have footnotes.
Ben Pfaff [Mon, 2 Dec 2019 03:29:31 +0000 (03:29 +0000)]
bit-vector: Add new functions for working with bit vectors.
These will receive their first users in an upcoming commit.
Ben Pfaff [Tue, 25 Dec 2018 04:53:09 +0000 (20:53 -0800)]
zip-reader: New function zip_reader_contains_member().
This function will have its first user in an upcoming commit.
Ben Pfaff [Mon, 26 Nov 2018 00:20:29 +0000 (16:20 -0800)]
zip-reader: New function zip_member_read_all().
This will have its first user in an upcoming commit.
Ben Pfaff [Fri, 11 Oct 2019 05:09:13 +0000 (05:09 +0000)]
table: Make table_collect_footnotes() not return NULL footnotes.
This simplifies the callers a bit.
Ben Pfaff [Fri, 11 Oct 2019 04:57:45 +0000 (04:57 +0000)]
cairo: Make footnote markers smaller than normal text size.
Ben Pfaff [Fri, 11 Oct 2019 04:15:45 +0000 (04:15 +0000)]
pivot-table: Add reference counts.
This will be more useful in an upcoming commit.
Ben Pfaff [Sun, 8 Dec 2019 02:13:37 +0000 (02:13 +0000)]
string-array: New function string_array_parse().
This will acquire its first user in an upcoming commit.
Ben Pfaff [Sun, 29 Dec 2019 04:51:50 +0000 (04:51 +0000)]
spv-file-format: Update.
John Darrington [Sun, 15 Dec 2019 08:57:40 +0000 (09:57 +0100)]
Ensure that PRAGMA_COLUMNS etc can be overridden
John Darrington [Sun, 15 Dec 2019 08:57:40 +0000 (09:57 +0100)]
Remove unused #include directives
John Darrington [Sun, 15 Dec 2019 08:57:40 +0000 (09:57 +0100)]
Remove trailing whitespace from files
Ben Pfaff [Sun, 15 Dec 2019 04:26:55 +0000 (04:26 +0000)]
spv-file-format: Improve documentation.
Ben Pfaff [Sat, 14 Dec 2019 22:28:10 +0000 (22:28 +0000)]
ascii: Open output file immediately instead of deferring it.
I do not know of a good reason to defer it, and it can be surprising to
the user if there is no output file at all if there is no output.
Ben Pfaff [Sun, 8 Dec 2019 15:46:25 +0000 (15:46 +0000)]
Smake: Add unicase/u8-totitle module.
Should fix link error caused by commit
80bafa137 (i18n: New function
utf8_to_title().)
Reported by John Darrington.
Ben Pfaff [Sat, 7 Dec 2019 19:07:11 +0000 (19:07 +0000)]
command: Put command_ids in output into title case.
This is closer to compatibility.
Ben Pfaff [Sun, 8 Dec 2019 00:51:44 +0000 (00:51 +0000)]
i18n: New function utf8_to_title().
Ben Pfaff [Sat, 7 Dec 2019 23:55:24 +0000 (23:55 +0000)]
doc: Correct documentation for pspp-convert.
Ben Pfaff [Sun, 10 Nov 2019 23:53:05 +0000 (23:53 +0000)]
string-array: Drop unused parameter from STRING_ARRAY_INITIALIZER.
This macro had no users.
Ben Pfaff [Sun, 1 Dec 2019 23:52:06 +0000 (23:52 +0000)]
spv-file-format.texi: Updates.
Ben Pfaff [Sun, 1 Dec 2019 23:52:47 +0000 (23:52 +0000)]
doc: Remove useless local variables from top-level texi files.
Ben Pfaff [Sun, 1 Dec 2019 23:45:45 +0000 (23:45 +0000)]
pspp-convert: Support decrypting SPV files.
Also, now properly understands and documents the PKCS #7 padding used
for all encrypted files.
Special thanks to Alan Mead for assistance.
John Darrington [Sat, 30 Nov 2019 12:49:03 +0000 (13:49 +0100)]
Documentation: Correct some inappropriate uses of @xref
John Darrington [Sat, 30 Nov 2019 12:37:07 +0000 (13:37 +0100)]
Update copyright notice for doc/pspp.texi
John Darrington [Fri, 29 Nov 2019 06:56:25 +0000 (07:56 +0100)]
remove stray spaces from po/automake.mk
John Darrington [Thu, 28 Nov 2019 09:09:50 +0000 (10:09 +0100)]
Remove #include <assert.h> from files which don't need it
John Darrington [Wed, 27 Nov 2019 09:14:01 +0000 (10:14 +0100)]
Delete trailing whitespace at line endings.
John Darrington [Sun, 24 Nov 2019 06:41:07 +0000 (07:41 +0100)]
Fix typos in comments
* src/ui/gui/memorandum.txt: Fix typo.
* tests/language/command.at: Remove doubled word.
John Darrington [Sun, 24 Nov 2019 06:41:07 +0000 (07:41 +0100)]
Documentation: Fix various typos
* doc/statistics.texi: Fix typos.
* doc/utilities.texi: filesystem -> file system
John Darrington [Sun, 24 Nov 2019 06:41:07 +0000 (07:41 +0100)]
Remove stray semicolon
* src/ui/gui/psppire-dialog-action-select.c: Remove extra ;
John Darrington [Sun, 24 Nov 2019 06:41:07 +0000 (07:41 +0100)]
acinclude.m4: Quote arguments to AC_DEFINE
John Darrington [Sun, 24 Nov 2019 06:41:07 +0000 (07:41 +0100)]
Update perl-module to GPLv3+
* perl-module/PSPP.xs:
* perl-module/README:
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.
Thanks to Frans Houweling for reporting this bug.
John Darrington [Tue, 5 Nov 2019 15:49:35 +0000 (16:49 +0100)]
Fixed incorrect syntax generated by the Select Random Cases dialog.
Reported by: Eric E Graig
Ben Pfaff [Sat, 19 Oct 2019 05:57:32 +0000 (05:57 +0000)]
pivot-table: Use ctime_r() instead of ctime(), for thread safety.
Ben Pfaff [Fri, 11 Oct 2019 04:32:31 +0000 (04:32 +0000)]
ascii: Avoid buffer overread outputting page longer than allocated lines.
This does seem like an odd case but I triggered it at one point and it
costs little to check for it.
Ben Pfaff [Sat, 19 Oct 2019 05:46:03 +0000 (05:46 +0000)]
pivot-table: Fix memory leaks in pivot_table_dump().
# Conflicts:
# src/output/pivot-table.c
Ben Pfaff [Mon, 21 Oct 2019 02:57:58 +0000 (02:57 +0000)]
pivot-table: Fix memory leak in pivot_value_destroy().
Ben Pfaff [Fri, 11 Oct 2019 05:03:54 +0000 (05:03 +0000)]
driver: Fix memory leak in output_submit().
John Darrington [Tue, 22 Oct 2019 09:56:42 +0000 (11:56 +0200)]
perl-module/automake.mk (perl_module_tarball): Make build dir writable.
It seems that recent perl tries to write them.
John Darrington [Sat, 31 Aug 2019 13:35:03 +0000 (15:35 +0200)]
po/Makevars: Add copyright and licence notices
Ben Pfaff [Fri, 11 Oct 2019 04:22:14 +0000 (04:22 +0000)]
zip-writer: New functions for adding members.
These will have additional users in an upcoming commit.
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:41:08 +0000 (20:41 -0700)]
zip-reader: New function zip_reader_get_member_name().
This allows the caller to obtain a list of .zip members.
Ben Pfaff [Sun, 16 Jul 2017 03:26:31 +0000 (20:26 -0700)]
zip-reader: Don't keep .zip file open for lifetime of zip_reader.
The zip_reader no longer uses the .zip file after it opens it, so close it
when it's no longer needed.
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.
Ben Pfaff [Sun, 16 Jul 2017 00:08:10 +0000 (17:08 -0700)]
zip-reader: Fix memory leak on error path in zip_reader_create().
Ben Pfaff [Sat, 15 Jul 2017 23:47:34 +0000 (16:47 -0700)]
zip-reader: Better hide implementation details from clients.
By integrating the "inflate" code with the zip reader code, it is no
longer necessary to expose the zip_member or decompressor details.
Ben Pfaff [Wed, 2 Jan 2019 05:11:20 +0000 (21:11 -0800)]
output: Move text_item and group_item usage closer to the SPV model.
Ben Pfaff [Sat, 9 Feb 2019 22:58:37 +0000 (14:58 -0800)]
output: Reimplement table_from_string in terms of tab.
With this change, there is only a single table_class in the tree.
Ben Pfaff [Sat, 9 Feb 2019 22:45:11 +0000 (14:45 -0800)]
output: Remove table_unshare.
It was unused.
Ben Pfaff [Sat, 9 Feb 2019 22:51:33 +0000 (14:51 -0800)]
output: Remove table_select and table_paste.
table_select() was unused, and it was in turn the last user of
table_paste().
Ben Pfaff [Sat, 9 Feb 2019 18:34:18 +0000 (10:34 -0800)]
render: Drop use of table_select().
This is the last use of table_select() in the tree.
Ben Pfaff [Sat, 9 Feb 2019 17:26:00 +0000 (09:26 -0800)]
render: Modernize coding style.
Ben Pfaff [Fri, 11 Oct 2019 03:48:14 +0000 (03:48 +0000)]
Update gitignore.
Ben Pfaff [Fri, 11 Oct 2019 03:46:50 +0000 (03:46 +0000)]
doc: Update SPV file format documentation.
Ben Pfaff [Sat, 5 Oct 2019 03:18:34 +0000 (03:18 +0000)]
pivot-table: Improve comments.
Ben Pfaff [Sat, 5 Oct 2019 03:18:18 +0000 (03:18 +0000)]
AUTORECODE: Implement PRINT subcommand.
Ben Pfaff [Mon, 2 Sep 2019 06:53:23 +0000 (06:53 +0000)]
AUTORECODE: Use minimum width output format for new variables.
The target variables don't need any decimals, since they are always
integers, and only need to be as wide as their largest value, which is
known in advance.
Ben Pfaff [Mon, 2 Sep 2019 06:43:50 +0000 (06:43 +0000)]
AUTORECODE: Style update.
Ben Pfaff [Mon, 2 Sep 2019 06:37:19 +0000 (06:37 +0000)]
AUTORECODE: Properly handle variable labels.
Ben Pfaff [Mon, 2 Sep 2019 06:37:02 +0000 (06:37 +0000)]
AUTORECODE: Properly handle value labels.
Value labels are supposed to be copied from source variables, where they
are present. Also, it's better to format the source values using the
print format rather than just assuming that %g is the right format.
Ben Pfaff [Mon, 2 Sep 2019 06:28:08 +0000 (06:28 +0000)]
variable: New function var_append_value_name__().
This variation on var_append_value_name() allows the caller to pass in the
parameter specifying how to show the value, which will be useful in an
upcoming commit.
Ben Pfaff [Mon, 2 Sep 2019 06:27:11 +0000 (06:27 +0000)]
variable: Make var_append_value_name() omit trailing white space.
This seems to be desirable in the cases where it's actually used. It only
affects one test case in the current testsuite, but it's an improvement for
an upcoming change too.
Ben Pfaff [Mon, 2 Sep 2019 05:18:58 +0000 (05:18 +0000)]
AUTORECODE: Fix whitespace.
A previous commit introduced tab indentation. Oops.
Ben Pfaff [Mon, 2 Sep 2019 05:14:52 +0000 (05:14 +0000)]
AUTORECODE: Fix treatment of missing values.
User-missing values are supposed to be recoded to a separate range above
the non-missing values. The system-missing value is supposed to not be
recoded at all. This fixes and documents that behavior.
Ben Pfaff [Sun, 1 Sep 2019 19:45:48 +0000 (19:45 +0000)]
INSTALL: Mention that Python 3 is supported.
It worked fine but the INSTALL doc claimed that it didn't.
Ben Pfaff [Sun, 1 Sep 2019 19:23:02 +0000 (19:23 +0000)]
AUTORECODE: Do not create value labels when they would be empty.
Ben Pfaff [Sun, 1 Sep 2019 18:13:21 +0000 (18:13 +0000)]
AUTORECODE: Code style update.