Ben Pfaff [Sun, 5 Oct 2008 18:17:10 +0000 (11:17 -0700)]
Use Gnulib module "regex", to fix linking on Mingw.
The GUI code uses POSIX regular expressions, which Mingw has in a separate
library (-lregex). We could just search for that library, but by including
our own implementation (via Gnulib) we also work around known bugs in
system regular expression implementations.
Ben Pfaff [Sat, 4 Oct 2008 04:01:50 +0000 (21:01 -0700)]
Also warn about missing prerequisites as we encounter them (bug #24445).
It can happen that configure bails out in the middle due to some issue
that PSPP cannot directly control; for example, AC_CHECK_SIZEOF exits
unconditionally if it fails. If this happens then, before, we would fail
to warn about missing required prerequisites that could well have been
the actual cause of the failure, because we only warn about these at
the end of the run.
Now, we warn about missing prerequisites both at time of detection and
in a summary at the end, to head off this problem.
Thanks to Jim Orr for allowing me to notice the problem.
Ben Pfaff [Sat, 4 Oct 2008 04:00:55 +0000 (21:00 -0700)]
Add note to INSTALL explaining how to use libraries from /usr/local.
Several users have had trouble building PSPP with self-built GSL, etc.
that were installed to /usr/local. Explain how to do it here to be
more friendly to Unix novices.
Thanks to Jim Orr for making me realize that this was important.
John Darrington [Sat, 23 Aug 2008 00:44:32 +0000 (08:44 +0800)]
Work around bug #24033 (appending to output in cygwin).
Cygwin (and perhaps other w32 platforms) cannot write to a file
whilst it is open for reading. This kludge therefore closes the
output after pasting into the output viewer and re-opens when new
data is appended. It'll be slow if the output file becomes large.
Ben Pfaff [Sun, 27 Jul 2008 18:12:45 +0000 (11:12 -0700)]
Use standard C99 isfinite, isnan, isinf in place of GSL substitutes.
In change a9afcdd22, "Use gsl_isnan instead of isnan, ...," isfinite,
isnan, and isinf were changed to use the GSL substitutes because of
lack of portability of the C99 versions. Now, gnulib has portable
versions of all of these, so change them back.
This commit changes calls to gsl_finite() to call isfinite() instead
of the equivalent finite(). isfinite() is correct here: both gsl_finite()
and finite() return true for NaNs, which is a surprising result given
that a NaN is definitely not finite, but isfinite() returns false and,
more importantly, behaves as actually wanted in each place it is used
in PSPP code.
This commit requires upgrading gnulib to at least change 5183a0e3c,
"Add missing dependencies on new m4/exponent[fdl].m4 files," or later,
and re-running "make -f Smake".
Jason Stover [Sun, 22 Jun 2008 02:44:27 +0000 (22:44 -0400)]
Fixed bug 23567. Added accessor functions to get/set means and standard deviations for variables associated with struct coeffs. Fixed corresponding values in tests.
Ben Pfaff [Fri, 16 May 2008 05:35:09 +0000 (05:35 +0000)]
Use gsl_isnan instead of isnan, gsl_isinf instead of isinf, and
gsl_finite instead of finite, as a stopgap measure for portability
until appropriate gnulib modules are available.
Ben Pfaff [Fri, 16 May 2008 05:27:47 +0000 (05:27 +0000)]
* Smake (GNULIB_MODULES): Don't depend on memmem module, because
PSPP does not use memmem any longer. Use
unilbrk/ulc-width-linebreaks module instead of the linebreak
module, because the latter was split up into multiple modules and
that's the one we actually need.
* automake.mk: Make install-data-hook depend on yelp-check if the
GUI is configured.
* automake.mk: Rename install-data-hook to yelp-check and mark it
phony. This avoids an automake warning for duplicate
install-data-hook commands in doc/automake.mk and this file
(automake does not understand double-colon rules, since they are
not in POSIX).
Ben Pfaff [Wed, 7 May 2008 00:10:45 +0000 (00:10 +0000)]
(text_data_import_assistant): Allocate the struct import_assistant on
the heap instead of the stack, to make it easier for memory debuggers
such as Valgrind to point out use of its members after this function
returns.
Ben Pfaff [Wed, 7 May 2008 00:09:00 +0000 (00:09 +0000)]
(gtk_sheet_dispose): Set the sheet's entry_container and button
members to NULL after unref'ing them, so that a later call to
gtk_sheet_for_all will not try to dereference a dangling pointer.