Ben Pfaff [Sun, 6 Dec 2009 04:12:54 +0000 (20:12 -0800)]
casereader: New functions casereader_project() and casereader_project_1().
Ben Pfaff [Sun, 6 Dec 2009 04:04:30 +0000 (20:04 -0800)]
casereader: New function casereader_translate_stateless().
Ben Pfaff [Sun, 6 Dec 2009 02:30:51 +0000 (18:30 -0800)]
casereader: New function casereader_create_empty().
Ben Pfaff [Sat, 5 Dec 2009 22:49:07 +0000 (14:49 -0800)]
casereader: New function casereader_advance().
Ben Pfaff [Sat, 5 Dec 2009 20:32:59 +0000 (12:32 -0800)]
casereader: New function casereader_truncate().
Ben Pfaff [Thu, 26 Nov 2009 05:27:17 +0000 (21:27 -0800)]
subcase: Add more useful functions.
Ben Pfaff [Sat, 5 Dec 2009 19:56:50 +0000 (11:56 -0800)]
New data type string_map, a string-to-string map.
Ben Pfaff [Thu, 26 Nov 2009 05:21:03 +0000 (21:21 -0800)]
New data type string_set, a set of unique strings.
Ben Pfaff [Thu, 26 Nov 2009 05:19:04 +0000 (21:19 -0800)]
hmapx: New function hmapx_is_empty().
Ben Pfaff [Thu, 26 Nov 2009 05:18:50 +0000 (21:18 -0800)]
hmap: New function hmap_is_empty().
Ben Pfaff [Fri, 27 Nov 2009 18:57:49 +0000 (10:57 -0800)]
hmap: Remove shadowed variable from inner scope.
'j' is also declared at the top level of the function so there is no
need to declare it inside the 'for' loop.
Ben Pfaff [Sat, 24 Oct 2009 15:42:33 +0000 (08:42 -0700)]
Merge "master" into "output".
Ben Pfaff [Thu, 15 Oct 2009 03:41:25 +0000 (20:41 -0700)]
Enhance dissect-sysfile utility to print compressed data also.
This proved useful in investigating a report that PSPP failed to read a
.sav file that contained compressed data, so it seems worthwhile to include
it in the PSPP tree.
Ben Pfaff [Mon, 12 Oct 2009 04:31:18 +0000 (21:31 -0700)]
Don't delete .po files from source directory in "make clean".
Running "make clean" when the source directory is configured as a build
directory shouldn't delete the .po files, but the rule as written did so.
This fixes the problem.
Ben Pfaff [Mon, 12 Oct 2009 04:26:30 +0000 (21:26 -0700)]
Eliminate too-expansive "clean" rule kluge by requiring fixed Automake.
The NEWS for Automake 1.10.1 mentions the following bug fix:
- All directories `.libs'/`_libs' used by libtool are cleaned now,
not only those in which libraries are built.
This describes the situation for the kluged "clean" rule in
tests/automake.mk, so by requiring Automake 1.10.1 or later we can also
eliminate the clean rule.
Ben Pfaff [Mon, 12 Oct 2009 04:03:50 +0000 (21:03 -0700)]
Revert "INSTALL: Mention that GNU make is required."
BSD make is now supported.
Ben Pfaff [Tue, 13 Oct 2009 03:41:37 +0000 (20:41 -0700)]
Don't use $< in target rules, for portability to POSIX make.
POSIX only requires $< to be defined for implicit rules, so don't use it
in target rules.
With this commit, PSPP builds properly from a tarball with NetBSD make
version 1.111 on Debian GNU/Linux.
Ben Pfaff [Sun, 11 Oct 2009 21:07:00 +0000 (14:07 -0700)]
Use @VARIABLE@ instead of $(VARIABLE) consistently in Makefiles.
The $(VARIABLE) syntax is usually preferred, because it is possible for the
user to override it at "make" time, whereas @VARIABLE@ is hardwired at
"configure" time.
There was some discussion of this on bug-gnulib@gnu.org:
http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/18588
The summary is that Bruno Haible sometimes prefers @VARIABLE@ but most
others generally prefer $(VARIABLE), for the reason given above.
Ben Pfaff [Sun, 11 Oct 2009 20:56:29 +0000 (13:56 -0700)]
Remove redundant variable declarations from Makefile.am.
Autoconf's AC_SUBST ensures that Automake will declare the corresponding
Makefile variables, so there is no need to declare them ourselves.
Ben Pfaff [Sun, 11 Oct 2009 20:53:50 +0000 (13:53 -0700)]
Drop double suffixes from makefiles to improve POSIX make compliance.
POSIX says that suffixes must contain only a single dot, e.g. ".inc.pl"
is not allowed. So this commit renames files and adjusts the makefiles
to comply with this rule.
Ben Pfaff [Sun, 11 Oct 2009 20:33:27 +0000 (13:33 -0700)]
Avoid nonportable -i option in sed invocation.
POSIX sed only has -e, -f, and -n options.
Ben Pfaff [Sat, 10 Oct 2009 21:35:55 +0000 (14:35 -0700)]
Avoid GNU make extension $(RM) in makefiles.
Automake uses "rm -f" literally so there is not much point in PSPP trying
to use $(RM). At any rate it's a GNU make extension so it's best to avoid
it for portability.
Ben Pfaff [Fri, 9 Oct 2009 02:50:59 +0000 (19:50 -0700)]
Declare Makefile suffixes, to be a little closer to POSIX make compliance.
POSIX requires that suffixes used in implicit rules be declared. Automake
allows one to do that by adding the suffixes to a variable named SUFFIXES.
We weren't doing that consistently, and this commit fixes that up.
POSIX doesn't allow suffixes to contain more than one period, so this isn't
a complete fix, since the Makefiles still use .h.pl and .inc.pl as
suffixes. There are other reasons, too, why the PSPP Makefiles are not
POSIX-compliant.
John Darrington [Sat, 10 Oct 2009 14:36:02 +0000 (16:36 +0200)]
Converted psppire.glade to psppire.ui
John Darrington [Sat, 10 Oct 2009 14:25:29 +0000 (16:25 +0200)]
Converted some additional .glade files .ui
John Darrington [Sat, 10 Oct 2009 13:22:27 +0000 (15:22 +0200)]
Allow xgettext to extract strings from .ui files
John Darrington [Sat, 10 Oct 2009 12:43:39 +0000 (14:43 +0200)]
Started transition to a .glade-less system.
Converted some of the .glade files to .ui in the
source tree instead of using the convertor script.
John Darrington [Sat, 10 Oct 2009 07:43:13 +0000 (09:43 +0200)]
Avoid use of $* in Makefile since it's problematic
Thanks to Ben Pfaff for reporting this.
John Darrington [Tue, 6 Oct 2009 16:36:40 +0000 (18:36 +0200)]
Update NEWS file
Jason H Stover [Tue, 6 Oct 2009 14:33:03 +0000 (10:33 -0400)]
New function check_interactions to specify all possible interactions
in the absence of the DESIGN subcommand.
Remove calls to covariance_matrix routines as preparation to rewrite
src/math/covariance-matrix.c.
Ben Pfaff [Mon, 5 Oct 2009 03:37:10 +0000 (20:37 -0700)]
hmap-test: Skip test instead of reporting success on GCC 4.3.
Commit
1dfc6b1 "hmap-test: Disable tests that GCC 4.3 miscompiles."
disabled some of the hmap-tests, the ones that GCC 4.3 miscompiles.
However, it still reported "success" if the remaining tests succeeded.
John Darrington suggested that reporting that the test was skipped was
more accurate, so this commit does so.
Ben Pfaff [Mon, 5 Oct 2009 03:27:30 +0000 (20:27 -0700)]
Upgrade gtk-builder-convert to newer version that adds useful warnings.
The notes on "Migrating from libglade to GtkBuilder" in the GTK+
Reference Manual at, e.g.
http://library.gnome.org/devel/gtk/unstable/gtk-migrating-GtkBuilder.html
say that "While libglade can often tolerate multiple widgets having the
same id in a glade file, GtkBuilder will not accept duplicate object ids."
The version of gtk-builder-convert that we had previously didn't warn about
duplicate ids; the new version checked in by this commit does.
John Darrington [Sun, 4 Oct 2009 16:58:39 +0000 (18:58 +0200)]
Canonicalise orthography of Big/Little Endian
John Darrington [Sun, 4 Oct 2009 16:52:15 +0000 (18:52 +0200)]
Remove duplicate entry from command.def
John Darrington [Sun, 4 Oct 2009 15:46:14 +0000 (17:46 +0200)]
Update INSTALL file
John Darrington [Sun, 4 Oct 2009 14:51:57 +0000 (16:51 +0200)]
CORRELATIONS: Properly deal with case weights.
Corrected a bug in the weighted covariance calculations,
and add a test to check that weights are properly
handled.
John Darrington [Sun, 4 Oct 2009 14:25:04 +0000 (16:25 +0200)]
CORRELATIONS: Fix bug parsing /STATISTICS=ALL
John Darrington [Sun, 4 Oct 2009 14:06:14 +0000 (16:06 +0200)]
CORRELATIONS: Documented the /STATISTICS subcommand
John Darrington [Sun, 4 Oct 2009 13:54:00 +0000 (15:54 +0200)]
CORRELATIONS: Added support for /STATISTICS=XPROD
John Darrington [Sun, 4 Oct 2009 12:59:34 +0000 (14:59 +0200)]
CORRELATIONS: Added support for the STATISTICS subcommand
John Darrington [Sat, 3 Oct 2009 20:46:11 +0000 (22:46 +0200)]
Add a manual entry for the CORRELATIONS command
John Darrington [Sat, 3 Oct 2009 19:52:01 +0000 (21:52 +0200)]
First working version of CORRELATIONS.
This commit includes a new module, src/math/covariance.[ch],
which may eventually replace src/math/covariance-matrix.[ch]
John Darrington [Sat, 3 Oct 2009 06:42:44 +0000 (08:42 +0200)]
Initial framework for CORRELATIONS command
Ben Pfaff [Thu, 1 Oct 2009 04:50:13 +0000 (21:50 -0700)]
Fix numerous warnings about an unknown attribute rpl_malloc on mingw32.
On mingw32, Gnulib replaces malloc by defining it as a macro that expands
to rpl_malloc. Since MALLOC_LIKE used malloc as an identifier, even though
it didn't refer to the malloc function per se, this instance of malloc
also expanded to rpl_malloc, confusing GCC.
GCC also accepts __malloc__ here, so this commit uses that spelling
instead, which avoids the warning.
Ben Pfaff [Thu, 1 Oct 2009 04:45:47 +0000 (21:45 -0700)]
Upgrade to latest Gnulib version and fix resulting FreeBSD build failures.
Upgrading the Gnulib version exposed a couple of failures to #include
<config.h> at the very top of a source file via build failures on
FreeBSD 7.2-RELEASE, fixed by this commit.
This probably also fixes a similar OpenBSD issue reported by Jason Stover
at http://lists.gnu.org/archive/html/pspp-dev/2009-09/msg00095.html
Ben Pfaff [Thu, 1 Oct 2009 03:40:22 +0000 (20:40 -0700)]
README.Git: Fix syntax of suggested commands.
Ben Pfaff [Thu, 1 Oct 2009 03:38:26 +0000 (20:38 -0700)]
INSTALL: Mention that GNU make is required.
In my experience with the autobuilder, in particular the system "make"
program on FreeBSD 7.2-RELEASE will not work.
Ben Pfaff [Thu, 1 Oct 2009 03:33:34 +0000 (20:33 -0700)]
Rewrite README.Git to mention the Gnulib commit number and explain better.
This commit has three purposes. First, I think that the new version of this
file explains the bootstrapping process a little better. Second, I want
to mention a Gnulib commit number that I have been using, so that other
people can easily figure out a version of Gnulib that will work. Third,
I want the PSPP autobuilder to be able to automatically pick out a working
Gnulib commit.
Ben Pfaff [Wed, 30 Sep 2009 04:47:09 +0000 (21:47 -0700)]
perl-module: Fix build on FreeBSD 7.2
config.h must be included first, otherwise the build fails on FreeBSD 7.2
in gl/string.h at the first instance of "restrict", which <config.h>
#defines as empty.
Ben Pfaff [Wed, 30 Sep 2009 04:33:34 +0000 (21:33 -0700)]
Don't use nonportable "mktemp" utility in perl-module/automake.mk.
In porting to FreeBSD, I noticed that perl-module/automake.mk tries to use
the "mktemp" utility. FreeBSD happens to have this utility, but it
requires an argument, and at any rate it is nonportable and we can avoid
using it here, so do so.
John Darrington [Mon, 28 Sep 2009 18:27:04 +0000 (20:27 +0200)]
Added a new target "programs" to the makefile.
When a source file is changed, the "all" target (correctly) rebuilds
the po/pspp.pot file and remerges the PO files for all supported translations,
and then builds .gmo files for each of them. Whilst this is correct behaviour,
it will become an unmitigated nuisance for developers as more and more
translations are added.
This change adds a new target called "programs" which builds the binaries, but
not the ancilliary targets. This target is more convienient for working on
changes to the source code, when translations are not of interest.
John Darrington [Mon, 28 Sep 2009 18:12:54 +0000 (20:12 +0200)]
Correct printf conversion specifiers for size_t types.
John Darrington [Sun, 27 Sep 2009 14:11:25 +0000 (16:11 +0200)]
Add necessary #include stddef.h directive
Ben Pfaff [Sat, 26 Sep 2009 04:14:31 +0000 (21:14 -0700)]
perl-module: Additional fixes for Perl version number on PSPP autobuilder.
Commit
30f21302 "perl-module: Tolerate minor PSPP version number
differences" tried to improve the behavior of the PSPP Perl module when
the PSPP version number includes a suffix such as -build40. But it didn't
entirely work, since it overlooked some uses of $(VERSION) in
perl-module/automake.mk. This commit fixes those too.
Ben Pfaff [Sat, 26 Sep 2009 03:38:07 +0000 (20:38 -0700)]
Fix missing @clicksequence problem for building Docbook output also.
Commit
770f21f5 "Fix missing @clicksequence problem with older Texinfo
versions." fixed the problem of missing @clicksequence for building the
main PSPP documentation, partly by adding to $(AM_MAKEINFOFLAGS). However,
$(AM_MAKEINFOFLAGS) wasn't used in building the Docbook output for use by
Yelp as the GUI help. This commit adds $(AM_MAKEINFOFLAGS) to that
command, fixing the problem.
Ben Pfaff [Fri, 25 Sep 2009 04:38:09 +0000 (21:38 -0700)]
perl-module: Tolerate minor PSPP version number differences.
The PSPP autobuilder that I'm working on appends a build number to the PSPP
version number, e.g. "0.7.2-build40". The Perl module has two problems
with this:
1. Perl won't parse version numbers that contain anything other than
digits and periods, so "-build" causes an error. So this commit
drops everything from the hyphen onward from the PSPP version number
passed along to Perl.
2. The Perl module itself does a string comparison operation between the
number it expects and the number that PSPP reports. When we drop
the hyphen onward, the comparison fails. So this commit also relaxes
the comparison to one that does pass.
John Darrington [Thu, 24 Sep 2009 18:43:42 +0000 (20:43 +0200)]
Merge commit 'origin/stable'
Conflicts:
AUTHORS
NEWS
configure.ac
lib/gtksheet/gtkitementry.c
po/LINGUAS
po/nl.po
src/data/file-name.c
src/data/sys-file-writer.c
src/language/stats/crosstabs.q
src/language/stats/examine.q
src/language/stats/t-test.q
src/output/charts/box-whisker.c
src/output/charts/plot-hist.c
src/ui/gui/output-viewer.c
src/ui/gui/psppire.c
src/ui/gui/psppire.h
src/ui/terminal/main.c
Ben Pfaff [Thu, 24 Sep 2009 02:45:56 +0000 (19:45 -0700)]
Make GtkItemEntry compatible with GTK+ 2.17.4 and later.
GTK+ 2.17.4 breaks GtkEntry's buffer into a separate class named
GtkEntryBuffer and eliminates the associated members from GtkEntry.
The GtkItemEntry code in lib/gtksheet attempted to use some of those
members directly, which no longer works, so this commit changes that
code to use public function interfaces instead. Some of these public
function interfaces were introduced in GTK+ 2.17.4, so those pieces
are conditionalized on the version of GTK+ detected at build time.
This commit makes PSPPIRE compiled with GTK+ before 2.17.4 work properly
only when used with GTK+ before 2.17.4, and similarly when PSPPIRE is
compiled with GTK+ 2.17.4 or later. There may be a way to avoid that, but
it is not entirely obvious.
With feedback from John Darrington.
Ben Pfaff [Wed, 23 Sep 2009 14:40:26 +0000 (07:40 -0700)]
Rename README.CVS to README.Git and update to refer to Git instead of CVS.
Ben Pfaff [Wed, 23 Sep 2009 05:19:17 +0000 (22:19 -0700)]
Fix "make install" with --enable-relocatable.
When PSPP added support for --enable-relocatable back in 2007, PSPP did
not install any shared libraries. Now it does, which requires us to
set RELOCATABLE_LIBRARY_PATH in configure.ac. Otherwise, the installed
binaries will not work automatically but require some manual user
intervention.
Also set RELOCATABLE_STRIP as recommended by the gnulib documentation.
Ben Pfaff [Mon, 21 Sep 2009 04:38:12 +0000 (21:38 -0700)]
hmap-test: Disable tests that GCC 4.3 miscompiles.
Commit
ac58b3c51 "Avoid bug in GCC 4.3 in hmap-test." attempted to work
around a bug in GCC 4.3 that was causing test failures in hmap-test.
Unfortunately, the problem has started resurfacing again, probably due to
changes elsewhere, so this commit simply disables the tests in question
when PSPP is built with GCC 4.3.
Ben Pfaff [Sun, 20 Sep 2009 21:04:28 +0000 (14:04 -0700)]
Fix "make check" with --enable-relocatable.
When --enable-relocatable was passed to "configure", "make check" failed
while building datasheet-test:
tests/data/datasheet-test.c: In function 'main':
tests/data/datasheet-test.c:880: error: 'INSTALLDIR' undeclared (first use in this function)
Line 880 of that file is:
set_program_name (argv[0]);
which is a little mysterious until one realizes that --enable-relocatable
defines set_program_name() as a macro that expands to a value that includes
INSTALLDIR.
So this commit fixes the problem by making sure that INSTALLDIR is defined
as part of CPPFLAGS for all compiles.
Ben Pfaff [Thu, 17 Sep 2009 03:19:34 +0000 (20:19 -0700)]
Don't pad variable labels written to system files.
Previously, the code to write variable labels to system files accidentally
padded out the variable labels on the right with spaces to a multiple of 4
bytes in length. With this commit, variable labels will no longer be
padded.
This fixes a genuine bug for variable labels longer than 252 bytes, which
previously were padded out to 256 bytes. Variable labels are limited to
a maximum of 255 bytes, so PSPP refused to read such files.
Reported-by: Robert Westlund <rob@kinesissurvey.com>
Ben Pfaff [Wed, 16 Sep 2009 04:12:34 +0000 (21:12 -0700)]
FREQUENCIES: Make frequency table headings easier to translate.
The headings for frequency tables were broken up into individual words,
which made them hard to translate since in some languages the words needed
to be in the opposite order.
Thanks to Harry Thijssen <pspp@sjpaes.nl> for pointing out the problem.
Ben Pfaff [Tue, 15 Sep 2009 03:41:35 +0000 (20:41 -0700)]
Merge commit 'origin/stable' into stable
John Darrington [Sat, 12 Sep 2009 14:35:17 +0000 (16:35 +0200)]
Fix tests broken by the new table widths, caused by previous change
John Darrington [Sat, 12 Sep 2009 09:15:47 +0000 (11:15 +0200)]
Canonicalise some printed strings, to make translators' lives easier
Ben Pfaff [Wed, 9 Sep 2009 04:43:01 +0000 (21:43 -0700)]
Release PSPP 0.6.2-pre6.
Ben Pfaff [Wed, 9 Sep 2009 03:59:04 +0000 (20:59 -0700)]
Add Brazilian Portuguese translation.
Thanks to Michel Boaventura <michel@cecaps.ufmg.br> and the coordinators
at translationproject.org.
Ben Pfaff [Fri, 4 Sep 2009 16:05:08 +0000 (09:05 -0700)]
T-TEST: Also fix the case where the correlation is slightly less than -1.0.
Thanks to John Darrington for pointing out the omission.
Ben Pfaff [Fri, 4 Sep 2009 03:31:38 +0000 (20:31 -0700)]
Update to latest nl.po.
Thanks to unknown-1 and the coordinators at translationproject.org.
Ben Pfaff [Tue, 4 Aug 2009 13:01:21 +0000 (06:01 -0700)]
Fix missing @clicksequence problem with older Texinfo versions.
The @clicksequence command was introduced in Texinfo 4.12, which a lot of
users do not yet have. This commit fixes the problem by detecting whether
makeinfo supports @clicksequence and, if not, defining a macro for it as
a substitute.
We also need support for @clicksequence in texinfo.tex. It is possible to
detect whether @clicksequence is defined using TeX code and, if not,
define a TeX macro for it. However, I'm not sure how to do that. So this
commit instead adds a known-good texinfo.tex to the source tree, which
should have the same effect.
Ben Pfaff [Fri, 4 Sep 2009 03:09:36 +0000 (20:09 -0700)]
T-TEST: Avoid NaN in paired-sample correlation significance calcuation.
Sometimes the correlation comes out just above 1.0 due to inaccuracy of
machine calculation, which causes sqrt(1-corr**2) to yield NaN. This
commit forces the correlation into the valid range, fixing the problem.
Thanks to Matej Cepl <mcepl@redhat.com> for reporting the problem.
Thanks to John Darrington for suggesting the fix.
Jason Stover [Wed, 2 Sep 2009 01:21:02 +0000 (21:21 -0400)]
New functions glm_custom_design and parse_interactions.
John Darrington [Tue, 1 Sep 2009 20:17:56 +0000 (22:17 +0200)]
Remove i18n related configuration items which are no longer used
John Darrington [Mon, 31 Aug 2009 18:32:00 +0000 (20:32 +0200)]
Replace "all-hook" with "all-local".
all-hook isn't a target recognised by automake, so use all-local instead,
and avoid it clashing with the all-local in perl-module
John Darrington [Mon, 31 Aug 2009 18:15:26 +0000 (20:15 +0200)]
Add the all_q_sources to the dependencies of po/pspp.pot
John Darrington [Mon, 31 Aug 2009 16:25:23 +0000 (18:25 +0200)]
Rewrite automake rules for internationalisation files.
I got fed up with battling against the Makefile which
gettext provides. So I rolled my own instead. This change provides
the following advantages over previous situation:
* It doesn't use recursive calls to $(MAKE).
* Merged and unmerged po files are properly seperated into
the buildir and sourcedir respectively. Consequently,
po files get updated only when we really want them to be,
and not (potentially) on every commit.
* The .pot file (and consequently the .po and .gmo files) now
properly depend upon all the distributed source files. There
is no need to run "make -f Smake" to make it aware of new files.
* There's no more need of "timestamp" files.
* Potentially it's easier to add per-source-file options
when generating the .pot file. (and thus avoid warnings about
unrecognised extentions.
John Darrington [Sun, 30 Aug 2009 14:52:53 +0000 (16:52 +0200)]
Correct typo in printed string
John Darrington [Sun, 30 Aug 2009 14:51:16 +0000 (16:51 +0200)]
Update to most recent Gnulib
John Darrington [Sun, 30 Aug 2009 14:16:38 +0000 (16:16 +0200)]
Fix make distcheck
John Darrington [Sun, 16 Aug 2009 05:27:01 +0000 (07:27 +0200)]
Don't override label for Save As menuitem
John Darrington [Fri, 14 Aug 2009 18:43:48 +0000 (20:43 +0200)]
Remove const qualifier.
Remove inappropriate const qualifier and the
const_casts that it caused.
John Darrington [Fri, 14 Aug 2009 18:10:42 +0000 (20:10 +0200)]
Update perl module version number
John Darrington [Fri, 14 Aug 2009 17:32:38 +0000 (19:32 +0200)]
Revert pango dependency to version 2.20
Reduce pango required version to 2.20, and backport
the pango_layout_get_baseline function.
Ben Pfaff [Tue, 11 Aug 2009 13:58:59 +0000 (06:58 -0700)]
EXAMINE: Fix null pointer dereference introduced in commit
b46b794dfb9.
This code initializes metric->box_whisker, so it must only take its address
afterward.
Ben Pfaff [Tue, 11 Aug 2009 21:18:26 +0000 (14:18 -0700)]
Merge master into output branch.
Ben Pfaff [Tue, 11 Aug 2009 05:38:21 +0000 (22:38 -0700)]
Delete tab_raw function and tab_alloc macro.
This function and macro were only used within crosstabs.q. They violate
encapsulation (though not too badly) and since it is not difficult to
remove them, this commit does so.
Ben Pfaff [Tue, 11 Aug 2009 05:01:16 +0000 (22:01 -0700)]
Delete tab_create()'s unused third parameter.
This parameter was used a long time ago, but it is no longer needed, so
remove it.
Ben Pfaff [Tue, 11 Aug 2009 04:53:18 +0000 (21:53 -0700)]
Separate table functions that format their arguments from those that don't.
The tab_text, tab_joint_text, and tab_output_text functions, until now,
had an option bit TAT_PRINTF that specified whether they passed their text
argument through sprintf. This interface was bad because it made it
impossible for GCC to tell whether it needed to verify a printf format
string or not.
This commit solves the problem by breaking each of these functions into one
that does format its argument and one that doesn't.
This is cross-ported from a similar commit on the master branch.
Ben Pfaff [Fri, 7 Aug 2009 04:45:38 +0000 (21:45 -0700)]
Add CONST_CAST macro, for casting away "const" more safely.
Ben Pfaff [Sun, 9 Aug 2009 03:32:23 +0000 (20:32 -0700)]
Add CHECK_POINTER_HAS_TYPE macro, and use it to make *_data macros safer.
Ben Pfaff [Sun, 9 Aug 2009 03:34:44 +0000 (20:34 -0700)]
Eliminate unnecessary casts.
Ben Pfaff [Sun, 9 Aug 2009 03:34:28 +0000 (20:34 -0700)]
Add UP_CAST macro, for safer casting from contained data to its container.
Ben Pfaff [Thu, 6 Aug 2009 04:27:25 +0000 (21:27 -0700)]
Eliminate casts that can be replaced by uses of the & operator.
This increases type safety and so it's hard to see any downside.
Ben Pfaff [Thu, 6 Aug 2009 04:34:42 +0000 (21:34 -0700)]
output: Always use helper functions to access struct tab_table members.
The implementation of "struct tab_table" will be changing, so by always
using the helper functions we can reduce the amount of code that has to
change later to support those changes.
Ben Pfaff [Wed, 5 Aug 2009 03:46:33 +0000 (20:46 -0700)]
output: Remove write-only "col_group' member from struct tab_table.
It probably makes sense to revive support for this feature at some point,
but that time has not yet arrived. Instead, since it's currently not used
and not implemented, just remove it.
Ben Pfaff [Wed, 5 Aug 2009 03:01:44 +0000 (20:01 -0700)]
output: Get rid of write-only "hit" member in struct tab_joined_cell.
This member used to be used, but that use was eliminated in commit
1cc38c81df "Get rid of most global variables in outputting tables."
Ben Pfaff [Wed, 5 Aug 2009 02:53:34 +0000 (19:53 -0700)]
output: Fix warnings about unused function arguments in ODT driver.
Jason Stover [Mon, 3 Aug 2009 15:26:56 +0000 (11:26 -0400)]
Cruft removal