From 8d6ff8a6bd25b184474a117c8332275b5add2d2b Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 8 Feb 2014 13:45:15 -0800 Subject: [PATCH] Remove old changelogs from tree. They tend to result in false positive "grep" hits and are too old to help most queries. They are still available in the Git history, of course. --- Makefile.am | 2 +- OChangeLog | 2406 ----- doc/OChangeLog | 259 - doc/automake.mk | 1 - examples/OChangeLog | 19 - examples/automake.mk | 2 +- glade/OChangeLog | 25 - glade/automake.mk | 2 - lib/OChangeLog | 54 - lib/automake.mk | 2 - lib/gtk-contrib/OChangeLog | 149 - lib/gtk-contrib/automake.mk | 1 - lib/linreg/OChangeLog | 20 - lib/linreg/automake.mk | 2 - src/OChangeLog | 14204 ------------------------- src/automake.mk | 4 - src/data/OChangeLog | 2541 ----- src/data/automake.mk | 4 +- src/data/sys-file-reader.h | 2 +- src/language/OChangeLog | 250 - src/language/automake.mk | 2 - src/language/control/OChangeLog | 149 - src/language/control/automake.mk | 2 - src/language/data-io/OChangeLog | 637 -- src/language/data-io/automake.mk | 2 - src/language/dictionary/OChangeLog | 118 - src/language/dictionary/automake.mk | 2 - src/language/expressions/OChangeLog | 147 - src/language/expressions/automake.mk | 4 +- src/language/lexer/OChangeLog | 235 - src/language/lexer/automake.mk | 2 - src/language/stats/OChangeLog | 644 -- src/language/stats/automake.mk | 2 - src/language/tests/OChangeLog | 53 - src/language/tests/automake.mk | 2 - src/language/utilities/OChangeLog | 85 - src/language/utilities/automake.mk | 3 - src/language/xforms/OChangeLog | 84 - src/language/xforms/automake.mk | 2 - src/libpspp/OChangeLog | 819 -- src/libpspp/automake.mk | 3 - src/math/OChangeLog | 197 - src/math/automake.mk | 2 - src/output/OChangeLog | 406 - src/output/automake.mk | 2 - src/output/charts/OChangeLog | 17 - src/ui/OChangeLog | 53 - src/ui/automake.mk | 2 - src/ui/gui/OChangeLog | 1117 -- src/ui/gui/automake.mk | 1 - src/ui/terminal/OChangeLog | 284 - src/ui/terminal/automake.mk | 2 - tests/OChangeLog | 1242 --- tests/automake.mk | 2 - 54 files changed, 5 insertions(+), 26268 deletions(-) delete mode 100644 OChangeLog delete mode 100644 doc/OChangeLog delete mode 100644 examples/OChangeLog delete mode 100644 glade/OChangeLog delete mode 100644 lib/OChangeLog delete mode 100644 lib/gtk-contrib/OChangeLog delete mode 100644 lib/linreg/OChangeLog delete mode 100644 src/OChangeLog delete mode 100644 src/data/OChangeLog delete mode 100644 src/language/OChangeLog delete mode 100644 src/language/control/OChangeLog delete mode 100644 src/language/data-io/OChangeLog delete mode 100644 src/language/dictionary/OChangeLog delete mode 100644 src/language/expressions/OChangeLog delete mode 100644 src/language/lexer/OChangeLog delete mode 100644 src/language/stats/OChangeLog delete mode 100644 src/language/tests/OChangeLog delete mode 100644 src/language/utilities/OChangeLog delete mode 100644 src/language/xforms/OChangeLog delete mode 100644 src/libpspp/OChangeLog delete mode 100644 src/math/OChangeLog delete mode 100644 src/output/OChangeLog delete mode 100644 src/output/charts/OChangeLog delete mode 100644 src/ui/OChangeLog delete mode 100644 src/ui/gui/OChangeLog delete mode 100644 src/ui/terminal/OChangeLog delete mode 100644 tests/OChangeLog diff --git a/Makefile.am b/Makefile.am index 51c2f226b9..9b1ef044d2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,7 +28,7 @@ all_q_sources = pkgsysconfdir = $(sysconfdir)/$(PACKAGE) -EXTRA_DIST = OChangeLog ONEWS pspp-mode.el +EXTRA_DIST = ONEWS pspp-mode.el CLEANFILES = CLEAN_LOCAL = diff --git a/OChangeLog b/OChangeLog deleted file mode 100644 index bcf78ace5a..0000000000 --- a/OChangeLog +++ /dev/null @@ -1,2406 +0,0 @@ -2008-06-13 Ben Pfaff - - * configure.ac: Fix typo in AC_PREREQ command name. Thanks to - Stepan Kasal for reporting the problem. - -2008-06-04 Ben Pfaff - - * configure.ac: Update version number to 0.6.0 in preparation for - release. - -2008-05-15 Ben Pfaff - - * 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. - -2008-05-09 John Darrington - - * INSTALL: For obscure reasons gettext 0.17 requires that - the string 'GNU pspp' occurs in some file in the root - directory. Otherwise make distcheck fails with a very non-intuitive - error message. So for want of somewhere better I added it - in INSTALL. - - But since this string now appears in this ChangeLog file, it - could be taken out of INSTALL ... - -2008-04-19 John Darrington - - * configure.ac : Improve checking of ncurses availability. - -2008-04-15 Ben Pfaff - - * configure.ac: Properly report required version of libglade. - Thanks to unknown-1 for reporting this bug. - -2008-04-15 John Darrington - - * configure.ac : Replace AC_CHECK_LIB with AC_SEARCH_LIBS as - recommended by latest autoconf manual. - -2008-02-19 John Darrington - - * configure.ac INSTALL: We now depend on GTK+ 2.12 - -2007-12-11 John Darrington - - * t-test-independent-samples-dialog.c: Quoted the group values, when - the group variable is a string variable. - -2007-12-04 Ben Pfaff - - * Smake (GNULIB_MODULES): Add ftello module. - -2007-11-05 Ben Pfaff - - * configure.ac: No need for check for off_t or for the size of - float or long double any longer, as we don't use the results - anymore. Also, no need to put #include into config.h - any longer, as this was only needed for --with-included-gettext, - which we have not supported for some time. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * Smake (GNULIB_MODULES): Add fatal-signal, tempname modules. - -2007-11-02 Ben Pfaff - - * Smake (GNULIB_MODULES): Add isfinite, round modules. - -2007-10-12 Ben Pfaff - - Use trunc module from gnulib instead of our home-grown solution. - Patch #6224. - - * Smake: Add trunc to module list. - - * configure.ac: Don't need to check for trunc function any longer. - -2007-10-12 Ben Pfaff - - Use fseeko module from gnulib instead of our home-grown solution. - Patch #6228. - - * acinclude.m4: Delete PSPP_OFF_T macro. - - * configure.ac: Don't call AC_FUNC_FSEEKO or PSPP_OFF_T. - -2007-10-12 Ben Pfaff - - * Smake: Add fprintf-posix, printf-posix, printf-safe, - snprintf-posix, sprintf-posix, vasprintf-posxi, vfprintf-posix, - vprintf-posix, vsnprintf-posix, and vsprintf-posix modules, which - allow us to use C99 format specifiers (e.g. 'z') in *printf. - Also, changed many formerly casted arguments in *printf calls to - use one of these format specifiers and drop the cast. - -2007-10-11 Ben Pfaff - - * Smake: Drop alloca, alloca-opt modules as we don't use them - anymore. - -2007-10-10 Ben Pfaff - - * acinclude.m4: Improve formatting. - - * configure.ac: Ditto. Don't check for headers whose presence is - never tested. Don't use AC_C_CONST (we can assume that "const" is - implemented these days). Don't pass default sizes to - AC_CHECK_SIZEOF, since modern Autoconf doesn't need them. Don't - define FPREP_IEEE754, since it was not tested for. Don't use - AC_FUNC_VPRINTF, since we never tested for it. - -2007-10-06 John Darrington - - * configure.ac INSTALL: Change libglade version requirement. - Thanks to Paul Brown for reporting this issue. - -2007-09-30 Ben Pfaff - - * configure.ac: Print a message indicating success at the end of - the run. - - * INSTALL: Improve instructions. - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * acinclude.m4 (PSPP_LC_PAPER): New macro. - - * configure.ac: Use PSPP_LC_PAPER. - -2007-08-05 Ben Pfaff - - Bug #16189. Reviewed by Jason Stover. - * acinclude.m4: If -lplot doesn't work by itself, also test with - typical X11 libraries. - -2007-07-27 Ben Pfaff - - Bug #19069. - * INSTALL: Improve installation instructions. - * README: Move prerequisites to INSTALL. - Reviewed by Jason Stover. - - * configure.ac: Make PKG_CHECK_MODULES tests more user-friendly, - by having them give their errors at the end of the configuration - process instead of stopping it in the middle. Patch #6116. - Reviewed by Jason Stover. - -2007-06-14 Ben Pfaff - - * Smake: Use xmalloca instead of xallocsa due to module renaming. - Update all uses. - -2007-06-06 Ben Pfaff - - * Smake: Add xallocsa to modules. - -2007-04-22 Ben Pfaff - - Implement model checker for testing purposes. - - Patch #5873. - - * Smake (GNULIB_MODULES): Add crypto/md4, fwriteerror, - gettimeofday. - -2007-04-03 Ben Pfaff - - * configure.ac: Increment version to 0.4.3 due to snapshot posted - to alpha.gnu.org. - Suggested by John Darrington. - -2007-04-03 Ben Pfaff - - Use Gnulib's fpieee module instead of specifying -mieee by hand. - - * Smake: Use fpieee module from Gnulib. - - * configure.ac: Don't enable -mieee. - -2007-03-19 Ben Pfaff - - Work toward modernizing the build system by updating our Automake - and Autoconf dependencies and requiring libintl to be available - externally (if desired) instead of including a copy in the - distribution. - - * Makefile.am (AUTOMAKE_OPTIONS): Require Automake 1.10 (or - later), which works better with systems that have a non-empty - $(EXEEXT). - (SUBDIRS): Drop intl. - (DISTCLEANFILES): Drop intl/plural.c. - - * Throughout Makefile.am and the automake.mk files: Change - mkinstalldirs to $(MKDIR_P), to support the corresponding Automake - change. - - * Smake (GNULIB_MODULES): Use gettext-h instead of gettext module. - (all): Don't create intl directory. - (gettextize): Don't use --intl flag. - - * configure.ac: Require Autoconf 2.60 or later. Use external - gettext. Drop intl/Makefile from config files. - -2007-02-25 Ben Pfaff - - Thanks to Jason Stover for verifying that this patch helps under - NetBSD. - - * acinclude.m4: Rename PSPP_ENABLE_WARNING to PSPP_ENABLE_OPTION, - because it's useful for more than warnings. - - * configure.ac: Add PSPP_ENABLE_OPTION(-mieee) to improve IEEE - floating-point conformance on Alpha and SH architectures. Also, - check for fpsetmask function (available on BSDs). - -Mon Feb 19 10:52:21 2007 Ben Pfaff - - * Smake (GNULIB_MODULES): Add dirname module, remove canonicalize - module. Corresponds to changes in src/data/file-name.c. - -Sat Feb 17 09:22:32 2007 Ben Pfaff - - * Smake (GNULIB_MODULES): Add tmpfile module, which fixes the use - of the tmpfile function under Windows. - -Fri Feb 16 10:50:38 2007 Ben Pfaff - - Better support cross-compiling by using CC_FOR_BUILD and - EXEEXT_FOR_BUILD for q2c. - - * Makefile.am: Add CC_FOR_BUILD, EXEEXT_FOR_BUILD variables. Use - in .q.c rule. - - * acinclude.m4: Add PSPP_CC_FOR_BUILD macro. - - * configure.ac: Call PSPP_CC_FOR_BUILD. - -Mon Feb 12 16:39:18 2007 Ben Pfaff - - * README: Note that iconv is required. - - * configure.ac: Enforce iconv requirement. - -Thu Feb 8 14:56:18 2007 Ben Pfaff - - Reduce platform dependence. - - * Makefile.am: Don't add -Dunix or -D__MSDOS__ to compiler command - line. Add $(top_builddir)/intl to include path to fix building - with the included libintl. - - * Smake (GNULIB_MODULES): Add `canonicalize', `sys_stat', - `mkstemp' modules. Remove `stat-macros' module, which is no - longer what we want, because what we want is provided by sys_stat - now, and remove its inclusions. Remove `strstr' module, which is - no longer in gnulib. Remove `readlink', `xreadlink', because we - no longer use either function. - - * configure.ac: Move gl_EARLY before AC_PROG_CC, where the gnulib - manual says it should be. Check for presence of execl, fork, - and popen. Drop check for unix versus msdos as host OS. - -Sat Nov 4 15:59:31 2006 Ben Pfaff - - * configure.ac: Check for the "round" function added in C99. - -Tue Oct 31 19:55:52 2006 Ben Pfaff - - * Smake (GNULIB_MODULES): Add `mempcpy' module. - -Tue Oct 31 19:29:05 2006 Ben Pfaff - - * configure.ac: Drop tests for strchr, strrchr because now we - assume a C89 compliant library. (Gnulib makes this assumption so - we might as well too.) - -Sun Oct 29 14:08:53 2006 Ben Pfaff - - * Smake (GNULIB_MODULES): Remove `restrict' from modules, because - recent gnulib doesn't have such a module. - -Mon Jul 17 18:23:38 2006 Ben Pfaff - - * Smake: Add --doc-base=gl/doc to gnulib-tool invocation, which is - required by recent gnulib. - -Sun Jul 16 19:51:45 2006 Ben Pfaff - - * Smake: Add xsize to GNULIB_MODULES. - -Wed Jul 12 13:41:18 2006 Ben Pfaff - - * Makefile.am: Add check_PROGRAMS and define to empty. - -Sat Jul 1 15:32:31 2006 Ben Pfaff - - * Makefile.am: Add noinst_PROGRAMS and define to empty. - -Tue May 9 20:46:06 2006 Ben Pfaff - - * Smake: Add stdarg to GNULIB_MODULES. - -Sun May 7 09:27:40 WST 2006 John Darrington - - * po/en_GB.po : Removed. Now that messages talking about coloUrs have - been removed, it does nothing. - -Tue May 2 10:43:30 WST 2006 John Darrington - - * Bumped the minor version number from 0.4.1 to 0.4.2 to reflect - changes to system file format. - -Mon Apr 24 14:12:25 2006 Ben Pfaff - - * Smake: Add exit to GNULIB_MODULES. - -Sun Apr 23 20:34:50 2006 Ben Pfaff - - * Smake: Add linebreak to GNULIB_MODULES. - -Sat Apr 15 21:45:40 2006 Ben Pfaff - - Get rid of src/libpspp/debug-print.h and all its uses. (There - were few real users, but many inclusions of its header file.) - -Sat Apr 15 19:51:22 2006 Ben Pfaff - - Get rid of our own int32 type in favor of the standard int32_t - type. - - * configure.ac: Don't need to check the sizes of integer types - anymore. - -Sat Apr 15 19:13:59 2006 Ben Pfaff - - * configure.ac, acinclude.m4: Complain about missing prerequisites - in a group at the end of configuration, not piecemeal. This - should make building PSPP less frustrating. Thanks to John - Darrington for the suggestion. - -Sat Apr 15 18:17:15 2006 Ben Pfaff - - * configure.ac: Move code into acinclude.m4 to make the configure - script more readable. - - * acinclude.m4: New functions from configure.ac. - -Mon Apr 3 11:01:00 2006 Ben Pfaff - - * Smake: (GNULIB_MODULES) Add strsep. - -Thu Mar 30 15:50:05 2006 Ben Pfaff - - * Smake: Enable -Wdeclaration-after-statement warning if - available. - - * acinclude.m4: Add macro for checking whether a warning is - supported. - -Mon Mar 20 16:32:11 2006 Ben Pfaff - - * Smake: Require "unistd" gnulib module. Removed tests for - HAVE_UNISTD_H from source code. - -Sat Mar 4 13:20:56 2006 Ben Pfaff - - * configure.ac: Get rid of pref.h.orig. - - * pref.h.orig: Removed. Moved SHORT_NAME_LEN, LONG_NAME_LEN to - src/data/variable.h. Removed GLOBAL_DEBUGGING entirely, changing - all references to DEBUGGING. Moved P_tmpdir to - src/data/make-file.c. Moved NO_CHARTS to - src/output/charts/automake.mk. - -Sat Mar 4 12:58:34 2006 Ben Pfaff - - * pref.h.orig: Move GCC attribute declarations to - new file src/libpspp/compiler.h. - -Sat Mar 4 12:27:06 2006 Ben Pfaff - - * Smake: Require "intprops" gnulib module. - - * acinclude.m4: Remove BLP_INT_DIGITS. Now we use the intprops.h - header file instead. - - * configure.ac: Don't call BLP_INT_DIGITS. - -Sat Mar 4 11:53:36 2006 Ben Pfaff - - * acinclude.m4: Remove BLP_RANDOM. Its results were unused. - Remove BLP_IS_SPRINTF_GOOD. We now assume that the system's - sprintf() returns the correct value. - - * configure.ac: Don't call those macros. - -John Darrington: - - * Deleted Make.build (inserted its contents into Makefile.am). - - * Moved the version number to 0.4.1 - - * Moved lib/linreg/linreg.[ch] and lib/linreg/coefficient.[ch] to - src/math/linreg. - - * Moved the psppire gui into src/ui/gui and the gtk_sheet widget - into lib/gtksheet. - - * Replaced recursive automake system with non-recursive one. - - * Moved files into subdirectories. See src/ChangeLog for details. - -Sat Feb 11 21:57:31 2006 Ben Pfaff - - * Smake: (GNULIB_MODULES) Add memcasecmp. - - * configure.ac: Remove existing checks for readline, replacing - them by a call to PSPP_READLINE. - - * acinclude.m4: Add PSPP_READLINE macro based on gnulib test for - readline. However, we only accept a readline installation if (1) - the header files are in the normal readline/ directory and (2) the - history library is also available. If both criteria are met, we - declare HAVE_READLINE. This reduces the #ifdefs to actually use - readline to something manageable. - - * pref.h.orig: Move DIR_SEPARATOR, PATH_DELIMITER definitions to - src/filename.h. - -Wed Jan 25 21:48:20 2006 Ben Pfaff - - * Smake: (po/POTFILE.in) Exclude dotfiles. - -Sat Nov 27 20:29:19 2005 Jason Stover - - * Binary encoding for categorical variables. - * Routines for design matrices. - -Thu Oct 20 18:19:58 2005 Ben Pfaff - - * configure.ac: Improve error messages. Thanks to Jaap-Andre de - Hoop . - -Wed Oct 12 20:33:07 2005 Jason Stover - - * regression.q: Initial version of the REGRESSION procedure. - -Sun Sep 25 16:11:09 2005 Ben Pfaff - - * Makefile.am: Handles `examples' as a subdirectory instead of a - dist-hook. The dist-hook copied examples/CVS into the - distribution. Thanks to James R. Van Zandt for - reporting the problem. - -Mon Sep 19 10:24:10 2005 Ben Pfaff - - * Smake: Add `check' target for convenience. Add - --tests-base=tests to gnulib-tool invocation to compensate for - bug. - -Sat Sep 17 15:57:32 2005 Jason Stover - - Added lib/linreg for procedures that use ordinary least squares. - -Sat Sep 17 11:01:44 2005 Ben Pfaff - - Adapt to newer versions of gnulib. - - * Smake: Put gnulib options directly on its command line, instead - of embedding them in configure.ac. - - * configure.ac: Remove gnulib option commands. - -Fri Aug 3 07:22:28 2005 Ben Pfaff - - * PSPP 0.4.0 released. - -Sun Jul 31 10:49:47 2005 Ben Pfaff - - Adopt use of gnulib for portability. - - * Makefile.am: Add gl to SUBDIRS. Add gl/m4 to aclocal include - path. Get rid of pkgdocdir data. Move noinst_DATA to EXTRA_DIST. - - * README.CVS: Add instructions for fetching gnulib. - - * Smake: Rewrite to run gnulib-tool. Avoid use of gettextize in - normal case (it was unmaintainable). Just use autoreconf - --install to do most of the work. Rewrite rule for POTFILES.in - for non-GNU make compatibility. - - * configure.ac: Add gnulib commands. Specify gettext version - 0.14.5 to placate autopoint. Check that off_t is an integer type, - because Solaris can sometimes declare it as a struct. Drop - explicit checks for gnulib-supported functionality. Fix typo in - msdos check. - - * pref.h.orig: Define __attribute__ to avoid wart in gnulib. - Don't #include and define gettext, _, N_, because gnulib - wants to do the same thing. - -Sun Jul 24 20:31:13 2005 Ben Pfaff - - * configure.ac: Don't detect libgmp anymore, because we eliminated - the dependency. - - * NEWS: Update. - -Mon Jul 4 17:59:54 2005 Ben Pfaff - - * Makefile.am: Add pspp-mode.el to EXTRA_DIST. - -Wed May 4 08:49:13 WST 2005 John Darrington - - * README.CVS Smake: Added a CONFIGUREFLAGS variable. - * INSTALL: Mentioned build dependencies. - -Mon May 2 22:37:39 2005 Ben Pfaff - - * INSTALL: Mention dependencies. Thanks to Jaap-Andre de Hoop - for the suggestion. - - * NEWS, README: Update. - -Sun May 1 15:00:09 WST 2005 John Darrington - - * pspp-mode.el: Now supports syntax highlighting, indentation and - generally works a lot better. - -Thu Apr 28 10:24:47 WST 2005 John Darrington - - * Changed all copyright notices to contain the FSF's new address. - -Thu Apr 14 2005 John Darrington - - * AUTHORS: Added note about the long variable names extension. - - * pref.h.orig: Added definitions for variable names lengths. - -Thu Mar 3 22:06:19 WST 2005 John Darrington - - * configure.ac: Added AC_PROG_RANLIB --- needed by autoconf 1.9 - -Mon Feb 28 23:16:58 2005 Ben Pfaff - - * configure.ac: Check for perl. Check for bool. Substitute - makefiles in src/expressions. Don't substitute makefile in - deleted directory lib/julcal. - - * pref.h.orig: (macro MALLOC_LIKE) New macro. - (macro flt64) Moved to src/sfmP.h. - (macro FLT64_MAX) Moved to src/sfmP.h. - -Mon Feb 21 15:04:55 WST 2005 John Darrington - - * configure.ac: Added a --without-valgrind option to cope with - building on machines with a broken valgrind installation - -Fri Jan 7 08:01:02 WST 2005 John Darrington - - * configure.ac pref.h.orig: Compilation with libplot is now optional - by sacrificing the chart features. - -Sun Nov 28 19:24:02 2004 Ben Pfaff - - * Smake: Change -a to -pR in cp invocations for SUSv3 compliance. - -Mon May 31 17:21:25 2004 Ben Pfaff - - * configure.ac: Check for large file support. Get rid of - posix_fadvise check--for some reason glibc 2.3.2 segfaults when I - call it and I just couldn't figure out what was going on. - -Sun May 30 18:19:03 2004 Ben Pfaff - - * configure.ac: Check for valgrind/valgrind.h. - -Mon Mar 29 15:22:48 2004 Ben Pfaff - - * TODO: Updated. - - * configure.ac: Check for posix_fadvise. - -Tue Mar 23 14:21:12 WAST 2004 John Darrington - - * Removed dcdflib and replaced with a dependency upon the - GNU Scientific library instead. - -Sat Mar 20 13:55:36 2004 Ben Pfaff - - * TODO: Updated. - -Wed Feb 11 23:54:15 2004 Ben Pfaff - - * pref.h.orig: Don't meddle with __WIN32__, __MSDOS, __DJGPP__, - __CYGWIN32__, __unix__, or unix anymore, and deal with some of the - consequences. Declare ATTRIBUTE instead of meddling withe - __attribute__. Declare UNUSED instead of unused. Add macros - NO_RETURN, PRINTF_FORMAT, SCANF_FORMAT. Reformat gettext, N_, _ - macros. Move alloca()-related stuff to src/alloc.h and simplify. - Get rid of PAGED_STACK entirely. Remove mkdir macro definition. - Get rid of obsolete "procedure-specific options". - -2004-01-23 gettextize - - * Makefile.am (SUBDIRS): Remove intl. - * configure.ac (AC_CONFIG_FILES): Remove intl/Makefile. - -Tue Dec 30 22:23:40 WST 2003 John Darrington - - * Fixed floating point rounding bug in percentiles calculation - -Sat Dec 27 16:16:49 2003 Ben Pfaff - - * configure.ac: Add -Wmissing-prototypes flag to gcc. - - * TODO: Updated. - -Wed Dec 17 12:19:40 WAST 2003 John Darrington - - * Added an --enable-debug flag to configure - -2003-12-13 gettextize - - * Makefile.am (EXTRA_DIST): Add mkinstalldirs. - * configure.ac (AC_CONFIG_FILES): Add intl/Makefile. - - -Thu Dec 11 19:35:32 WST 2003 John Darrington - - * Removed autogenerated files from the CVS archive - - * removed the included getopt.c as it failed to build under some - systems. - -Thu Dec 11 00:12:19 2003 Ben Pfaff - - * Update build system to Autoconf 2.58, Automake 1.7, gettext - 0.12.1. - -2003-12-08 gettextize - - * Makefile.am (SUBDIRS): Add m4. - (ACLOCAL_AMFLAGS): New variable. - (EXTRA_DIST): Add config.rpath. - * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, - -Sun Jan 2 21:24:32 2000 Ben Pfaff - - * Makefile.am: Require Automake 1.4 or later. It's been out for - almost a year now, so why haven't you installed it? :-) - - * TODO: Updated. - - * configure.in: Updated version number. Check for libgmp. Check - of fenv.h. Check for feholdexpect(). - - * pref.h.orig: Don't include debug-print.h by default. Don't - disable __attribute ((unused))__ for gcc 2.7.2. Remove LOAD_2, - STORE_2. Comment fixes. - - * Updated copyright notices in all files. - -Fri Mar 12 12:38:55 1999 Ben Pfaff - - * Forked 0.3.0. - -Tue Mar 9 12:46:31 1999 Ben Pfaff - - * Released 0.2.3. - - * TODO: Updated. - -Tue Jan 5 15:18:07 1999 Ben Pfaff - - * Released 0.2.2. - - * TODO: Update from Zvi Grauer . - -Thu Nov 19 12:34:55 1998 Ben Pfaff - - * Released 0.2.1. - -Sun Aug 9 11:11:32 1998 Ben Pfaff - - * LANGUAGE: Updated. - -Sat Aug 8 00:19:08 1998 Ben Pfaff - - * LANGUAGE: Updated. - - * examples/: New directory. - - * Made patchlevel 95. - -Tue Aug 4 23:47:31 1998 Ben Pfaff - - * Bump version to 0.1.22 (0.2.0 release candidate). - - * configure.in: Remove --enable-Werror, new option - --enable-debugging. New gcc option -Wpointer-arith. - - * pref.h.orig: Don't enable debugging by default (now a configure - option). Use __inline__ instead of inline with gcc (partial -ansi - -pedantic support). - (macro local_strdup) Removed. - - * Made patchlevel 94. - -Wed Jul 29 22:03:11 1998 Ben Pfaff - - * Bump version to 0.1.21 (0.2.0 release candidate). - - * debian/: Removed. - - * Makefile.am: Don't copy debian/ into distribution. - - * pref.h.orig: Only enable `unused' attribute if gcc 2.8.0 or - later is used. - -Sun Jul 5 14:20:04 1998 Ben Pfaff - - * configure.in: Bump version to 0.1.20 (0.2.0 release candidate). - - * Made patchlevel 93. - -Sun Jul 5 00:13:58 1998 Ben Pfaff - - * README: Updated. - - * TODO: Updated. - - * configure.in: Remove -Wno-unused from default gcc flags. - - * pref.h.orig: Add new #define, `unused', which under gcc expands - to an explanation to the compiler that a function argument is - unused, and expands to the null string under other compilers. - -Mon Jun 1 14:33:02 1998 Ben Pfaff - - * LANGUAGE: Updated. - - * configure.in: Bump version to 0.1.19. - - * Made patchlevel 92. - -Sun May 31 00:55:13 1998 Ben Pfaff - - * TODO: Updated. - - * configure.in: Generate Makefiles for lib/gmp/{,mpn,mpf}/. - - * Made patchlevel 91. - -Fri May 29 21:43:09 1998 Ben Pfaff - - * TODO: Updated. - - * LANGUAGE: Updated. - - * unconfigure: Remove TeX cruft from doc/. - - * Made patchlevel 90. - -Mon May 25 12:41:54 1998 Ben Pfaff - - * BUGS: Updated. - - * LANGUAGE: Updated. - - * TODO: Updated. - - * configure.in: Bumped version number up to 0.1.18. - - * Made patchlevel 89. - -Sun May 24 22:39:55 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 88. - -Sat May 23 23:21:43 1998 Ben Pfaff - - * TODO: Updated. - - * configure.in: Remove gamma from replaceable functions. - - * Made patchlevel 87. - -Fri May 22 00:02:33 1998 Ben Pfaff - - * configure.in: Add gamma to list of functions with replacements. - - * Made patchlevel 86. - -Wed May 20 00:00:12 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 85. - -Sat May 16 19:38:49 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 84. - -Tue May 12 16:13:48 1998 Ben Pfaff - - * TODO: Updated. - - * unconfigure: Don't delete Makefile.in under intl/. - - * Made patchlevel 83. - -Thu May 7 23:16:26 1998 Ben Pfaff - - * unconfigure: Add some more files to reap. - - * Made patchlevel 82. - -Tue May 5 13:17:59 1998 Ben Pfaff - - * acconfig.h: Add HAVE_GOOD_RANDOM definition. - - * acinclude.m4: New macro BLP_RANDOM. - - * configure.in: Use new BLP_RANDOM macro. - - * unconfigure: New file. - - * Made patchlevel 81. - -Fri Apr 24 12:42:14 1998 Ben Pfaff - - * Makefile.am: Remove bad comment. - - * AUTHORS: Removed Brad Appleton. - - * TODO: Updated. - - * configure.in: Remove `satisfy automake' bit. Don't generate - avllib Makefile, since we don't use avllib anymore. - - * pref.h.orig: Define PSPP. - - * Made patchlevel 80. - -Wed Apr 15 12:59:39 1998 Ben Pfaff - - * AUTHORS, BUGS, LANGUAGE, README, THANKS: No longer generated - from HTML. This caused a lot of deletions from the Makefile.am. - - * TODO: Updated. - - * Made patchlevel 79. - -Tue Apr 14 00:48:00 1998 Ben Pfaff - - * TODO: Updated. - - * configure.in: Check for unistd.h. Fix AC_LN_S (should have been - AC_PROG_LN_S). - - * Made patchlevel 78. Must have missed 77 in there somewhere :-) - -Mon Mar 9 15:40:40 1998 Ben Pfaff - - * Made patchlevel 76. - - * configure.in: Bumped version up to 0.1.16. - -1998-03-05 Ben Pfaff - - * configure.in: Bumped version up to 0.1.15. - -1998-02-23 Ben Pfaff - - * acinclude.m4: Add BLP_INT_DIGITS and BLP_IS_SPRINTF_GOOD macros. - - * configure.in: Those macros came from here. Better modularity - this way. Bump version up to 0.1.14. - - * pref.h.orig: (macros CONFIG_PATH, INCLUDE_PATH, GROFF_FONT_PATH) - Removed. - - * Made patchlevel 75. - -1998-02-23 Ben Pfaff - - * acconfig.h: Hard-code PACKAGE and GNU_PACKAGE as "PSPP" and "GNU - PSPP" respectively. - - * configure.in: Call the package pspp instead of PSPP. Don't - define PACKAGE and GNU_PACKAGE symbols. Add replacement function - for strtok_r. - - * TODO: Updated. - - * Made patchlevel 74. - -1998-02-16 Ben Pfaff - - * Makefile.am: Remove a few now-useless targets. - - * TODO: Updated. - - * configure.in: Bump version up to 0.1.13. - - * reconfigure: Don't assume . is in PATH. - - * Made patchlevel 73. - -Fri Feb 13 15:35:03 1998 Ben Pfaff - - * configure.in: Bump version up to 0.1.12. - - * TODO: Updated. - - * pref.h.orig: Make __unix equivalent to unix and __unix__; don't - require any of these to be defined to 1, just defined. Invert - sense of some tests from testing for unix to testing for not being - msdog. - - * Made patchlevel 72. - -Thu Feb 5 00:22:58 1998 Ben Pfaff - - * Made patchlevel 71. - - * configure.in: Bump version up to 0.1.11. - -Tue Feb 3 16:12:34 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 70. - - * configure.in: Bump version up to 0.1.10. - -Fri Jan 23 00:17:18 1998 Ben Pfaff - - * Made patchlevel 69. - -Thu Jan 22 00:35:52 1998 Ben Pfaff - - * Made patchlevel 68. - -Sun Jan 18 00:30:18 1998 Ben Pfaff - - * configure.in: Add ieeefp.h to list of headers to check for. - - * Made patchlevel 67. - -Tue Jan 13 23:44:16 1998 Ben Pfaff - - * configure.in: Add sys/wait.h to list of headers to check for. - - * Made patchlevel 66. - -Sun Jan 11 21:30:09 1998 Ben Pfaff - - * configure.in: Bump version up to 0.1.9. - - * pref.h.orig (STORE_2): Fix parentheses. From Alexandre - Oliva . - - * Made patchlevel 65. - -Sat Jan 10 23:59:06 1998 Ben Pfaff - - * Made patchlevel 64. - -Sat Jan 10 02:10:15 1998 Ben Pfaff - - * TODO: Updated. - - * pref.h.orig: Comment fixes. - (macro second_lowest_flt64) New. - - * Made patchlevel 63. - -Thu Jan 8 22:27:03 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 62. - -Mon Jan 5 11:18:37 1998 Ben Pfaff - - * Made patchlevel 61. - -Sun Jan 4 18:10:29 1998 Ben Pfaff - - * TODO: Updated. - - * pref.h.orig: (local_strdup) [HAVE_ALLOCA && PAGED_STACK && - __GNUC__] Rewritten for space and time efficiency and to evaluate - its argument only once. - - * Made patchlevel 60. - -Sat Jan 3 16:51:20 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 59. - -Fri Jan 2 01:38:37 1998 Ben Pfaff - - * TODO: Updated. - - * config.sub: Got tired of `i686-unknown-linux: Unknown system', - so I made 686 equivalent to 586. - - * pref.h.orig: (macros ASCII_*, HTML_*, PS_*) Removed. - - * Made patchlevel 58. - -Thu Jan 1 11:50:47 1998 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 57. - -Fri Dec 26 15:43:17 1997 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 56. - -Wed Dec 24 22:34:55 1997 Ben Pfaff - - * reconfigure: regularized option syntax. - - * configure.in: Bumped version to 0.1.8. Changed name from pspp - to PSPP. Added lib/dcdflib/Makefile to list of output files. - - * Made patchlevel 55. - -Sun Dec 21 15:58:52 1997 Ben Pfaff - - * TODO: Updated. - - * acconfig.h: Reformat. - - * configure.in: Bumped version to 0.1.7. - - * Made patchlevel 54. - -Fri Dec 5 23:38:12 1997 Ben Pfaff - - * Replaced prep.ai.mit.edu with ftp.gnu.org and .gnu.ai.mit.edu - with .gnu.org, everywhere. - -Fri Dec 5 23:02:40 1997 Ben Pfaff - - * Replaced remaining instances of Fiasco with PSPP. - - * Made patchlevel 53. - -Fri Dec 5 22:51:18 1997 Ben Pfaff - - * Every instance of the name Fiasco, throughout every file, - replaced in-place with PSPP, with the exceptions of a few files - that had `fiasco' in their names; these were renamed. - - * Made patchlevel 52. - -Fri Dec 5 21:50:52 1997 Ben Pfaff - - * pref.h.orig: (macros NO_HTML, HTML_DEFAULT_OUTPUT_FILE) New - macros. - - * TODO: Updated. - - * Made patchlevel 51. - -Tue Dec 2 14:35:12 1997 Ben Pfaff - - * TODO: Updated. - - * configure.in: Bumped version to 0.1.6. - - * Made patchlevel 50. - -Sat Nov 22 01:20:32 1997 Ben Pfaff - - * Made patchlevel 49. - -Fri Nov 21 00:11:41 1997 Ben Pfaff - - * Made patchlevel 48. - -Sun Nov 16 01:31:38 1997 Ben Pfaff - - * Made patchlevel 47. - -Fri Nov 14 00:17:48 1997 Ben Pfaff - - * Made patchlevel 46. - - * configure.in: Bumped version to 0.1.5. - -Tue Oct 28 16:07:17 1997 Ben Pfaff - - * configure.in: Bumped version to 0.1.4. - - * TODO: Updated. - - * Made patchlevel 45. - -Wed Oct 8 15:55:50 1997 Ben Pfaff - - * intl: Upgraded from sources to gettext-0.10.32. - - * configure.in: Bumped version to 0.1.3. - - * Made patchlevel 44. - -Tue Oct 7 20:21:53 1997 Ben Pfaff - - * Makefile.am: (dist-hook) Use $(top_srcdir). - - * pref.h.orig: (MAX_WORKSPACE) Enlarge to 4 MB (from 1 MB). - - * Made patchlevel 43. - -Sun Oct 5 15:52:37 1997 Ben Pfaff - - * configure.in: Bumped version to 0.1.2. - (strerror) Replace instead of check. From Alexandre Oliva - . - - * pref.h.orig: Include `debug-print' instead of - `src/debug-print.h'. - - * Made patchlevel 42. - -Sat Oct 4 16:19:44 1997 Ben Pfaff - - * pref.h.orig: Comment fixes. - (local_strdup) [HAVE_ALLOCA && PAGED_STACK && - __GNUC__] Use local_alloc() instead of alloca(), as local_alloc() - isn't simply an alias for alloca(). - - * configure.in: Bumped version to 0.1.1. - - * Made patchlevel 41. - -Sat Oct 4 02:13:00 1997 Ben Pfaff - - * Made patchlevel 40. - -Sun Sep 21 00:07:09 1997 Ben Pfaff - - * Made patchlevel 39. - -Thu Sep 18 21:42:27 1997 Ben Pfaff - - * pref.h.orig: (CONFIG_PATH) [unix] Add /usr/local/etc/fiasco, - /usr/etc/fiasco to search path. - - * Made patchlevel 38. - -Wed Aug 20 14:20:06 1997 Ben Pfaff - - * Makefile.am: (noinst_DATA) Removed ANNOUNCE, HELP-WANTED. - (EXTRA_DIST) Removed ANNOUNCE, FAQ, HELP-WANTED, mk-web-dist. - (MAINTAINERCLEANFILES) Removed ANNOUNCE, FAQ, HELP-WANTED. - - * Made patchlevel 37. - -Wed Aug 20 12:48:25 1997 Ben Pfaff - - * Makefile.am: (doc/ANNOUNCE.html, ANNOUNCE, FAQ, doc/FAQ.html, - HELP-WANTED) Removed. - (docfiles) Removed ANNOUNCE, FAQ, HELP-WANTED. - - * mk-web-dist: Removed. - - * Made patchlevel 36. - -Mon Aug 18 18:06:12 1997 Ben Pfaff - - * TODO: Updated. - - * pref.h.orig: (macro DEFAULT_COMPAT) Removed. - - * Made patchlevel 35. - -Sun Aug 17 22:48:36 1997 Ben Pfaff - - * Made patchlevel 34. - -Sat Aug 16 10:48:29 1997 Ben Pfaff - - * In many files, in this directory and others, messages were - rephrased to eliminate or reduce usage of certain deprecated terms - at suggestion of rms. - - * Makefile.am: (EXTRA_DIST) Removed unix2dos.pl. - (MAINTAINERCLEANFILES) Removed doc/ANNOUNCE.html, doc/README.html. - (docfiles-recursive) Removed. - - * TODO: Updated. - - * mk-web-dist: Doesn't produce any distributions at all, just a - webpage. Doesn't configure the distribution. Changed list of - files installed. - - * pref.h.orig: s/VER_PCP40/VER_PC/; s/VER_WIN61/VER_WND/; - s/VER_X40/VER_X/; All references changed. - - * Made patchlevel 33. - -Thu Aug 14 22:02:08 1997 Ben Pfaff - - * Makefile.am: Comment fixes. Uses $(VERSION) instead of contents - of VERSION file. - (EXTRA_DIST) Remove fiasco.ide, mk-bc5-dist. - (docfiles-recursive) Works if doc/Makefile doesn't exist. - (DIST_BC5_ROOT) Renamed DISTBC5_DISTROOT. - (DISTBC5_BC5ROOT) New var. - (dist-bc5) Passes $(DISTBC5_BC5ROOT). - - * TODO: Update. - - * acinclude.m4: Remove blp_VERSION_CHEAT kluge. - - * configure.in: Don't use blp_VERSION_CHEAT kluge. - - * mk-web-dist, reconfigure: Extract version number from - configure.in. - - * pref.h.orig: (CONFIG_PATH, INCLUDE_PATH, GROFF_FONT_PATH) - [__MSDOS__] Fixed bad use of backslashes. - - * reconfigure: Pass $VERSION to Makefile. - - * Made patchlevel 32. - -Thu Aug 14 11:49:35 1997 Ben Pfaff - - * Makefile.am: (EXTRA_DIST, docfiles) Add ONEWS. - (docfiles) Depends on docfiles-recursive. - (docfiles-recursive) New target, call make for `docfiles' target - in doc directory. - (dist-bc5) Adds `foo' second arg to mk-bc5-dist. - (.PHONY) Add docfiles. - - * mk-bc5-dist: Checks that it is passed a second arg of `foo'. - - * reconfigure: Changed == operators to = as arguments to `test'. - No longer uses bash -v switch. - - * mk-distribution: Renamed mk-web-dist, all references changed. - Now takes several options, added help. No longer uses -uv - options. - - * Made patchlevel 31. - -Tue Aug 5 13:56:39 1997 Ben Pfaff - - * Makefile.am: (MAINTAINERCLEANFILES) Add HELP-WANTED. - (EXTRA_DIST) Add ONEWS. - - * Made patchlevel 30. - -Sun Aug 3 11:30:17 1997 Ben Pfaff - - * Makefile.am: (noinst_data, docfiles) Added HELP-WANTED. - (EXTRA_DIST) Added configure, mk-bc5-dist, unix2dos.pl, - HELP-WANTED. - (HELP-WANTED) Generated from doc/HELP-WANTED.html. - (dist-bc5) New target. - - * TODO: Updated. - - * mk-distribution: Fixed bugs, added HELP-WANTED. - - * reconfigure: When invoking Makefile.am, pass - top_srcdir=. explicitly. - - * unix2dos.pl: New file. - - * Made patchlevel 29. - -Thu Jul 17 21:49:13 1997 Ben Pfaff - - * Made patchlevel 28. - -Thu Jul 17 01:43:25 1997 Ben Pfaff - - * Makefile.am: Remove inactive .html suffix rule. - New rules to generate doc/ANNOUNCE.html and doc/README.html from - corresponding .in files. - (EXTRA_DIST) Add VERSION, fiasco.ide, mk-distribution. - (MAINTAINERCLEANFILES) Add doc/ANNOUNCE.html, doc/README.html. - - * acinclude.m4: (blp_VERSION_CHEAT) New macro. - - * configure.in: Forces _GNU_SOURCES not only to be defined, but to - a value of 1. Substitutes VERSION from the new file VERSION. - Removed DEBIAN reference. Checks for sys/mman.h header. - - * pref.h.orig: (macro gettext) Don't put parentheses in the - expansion. - (macro N_) Same. - - * reconfigure: Sets -ev in shell. Doesn't try to pass - --include-deps to configure (it's an automake flag!). Moved `make - docfiles'. - - * sysdeps/borlandc4.0/README, sysdeps/borlandc4.0/_read.c, - sysdeps/borlandc4.0/_write.c, sysdeps/borlandc4.0: Removed. - - * VERSION: New file. - - * fiasco.ide: New file. - - * mk-distribution: New file. - - * Made patchlevel 27. - -Fri Jul 11 23:00:53 1997 Ben Pfaff - - * TODO: Updates. - - * Made patchlevel 26. - -Fri Jul 11 14:08:21 1997 Ben Pfaff - - * pref.h.orig: __CYGWIN32__ is a form of __unix__. - - * reconfigure: Add -k for make maintainer-clean. - - * Made patchlevel 25. - -Thu Jul 10 22:13:07 1997 Ben Pfaff - - * configure.in: Add "-D_GNU_SOURCE" to CPPFLAGS to force GNU - glibc extensions to be detected. - - * Made patchlevel 24. - -Sun Jul 6 19:13:07 1997 Ben Pfaff - - * pref.h.orig: Include "src/debug-print.h" instead of - "debug-print.h". - (macros local_alloc, local_free) More robust under Checker: put - their allocations in namespace different from malloc()/free(). - - * Made patchlevel 23. - -Sat Jul 5 23:42:14 1997 Ben Pfaff - - * TODO: Updates. - - * Made patchlevel 22. - -Fri Jul 4 13:20:47 1997 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Removed orphaned-rules. - (docfiles) Removed ChangeLog, COPYING. - (html, maintainer-clean-hook, install-data-hook) Removed. - - * reconfigure: Added --help option. Calls configure again even if - --no-include-deps. - - * Made patchlevel 21. - -Wed Jun 25 22:47:17 1997 Ben Pfaff - - * Makefile.am: Require Automake 1.2. - (dist-hook) Don't copy config dir. - (EXTRA_DIST, MAINTAINERCLEANFILES) Add FAQ. - (docfiles) Made a variable as well as a target; added ChangeLog, - COPYING, FAQ, INSTALL, TODO. - (html, maintainer-clean-hook, install-data-hook, debian, - debian-clean, debian-clean-full) New targets. - - * orphaned-rules: Removed. - - * configure.in: Bumped up to version 0.1.0. - - * reconfigure: New options --enable-nls, --no-include-deps. - Comment fixes. - - * Made patchlevel 20. - -Sun Jun 22 22:10:27 1997 Ben Pfaff - - * Made patchlevel 19. - -Sun Jun 15 16:44:14 1997 Ben Pfaff - - * pref.h.orig: Comment fixes. Includes debug-print.h. - (DEMAND_PAGE, ALWAYS_PAGE, NEVER_PAGE) Removed. - - * Made patchlevel 18. - -Sun Jun 8 01:25:40 1997 Ben Pfaff - - * Made patchlevel 17. - -Fri Jun 6 22:41:08 1997 Ben Pfaff - - * TODO: Updates. - - * pref.h.orig: Reformatted macros. - [!ENABLE_NLS] Defines gettext() as a trivial substitution to allow - gcc to give warnings on printf(). - - * Made patchlevel 16. - -Thu Jun 5 23:01:49 1997 Ben Pfaff - - * Made patchlevel 15. - -Tue Jun 3 23:24:08 1997 Ben Pfaff - - * Makefile.am: AUTOMAKE_OPTIONS changed from `foreign 1.1l' to - `gnits 1.1p'. SUBDIRS reordered. New target `docfiles'. - - * TODO: Updates. - - * configure.in: Removed AM_MAINTAINER_MODE. Added - --enable-Werror, which is implied by --with-checker. - - * reconfigure: Moved `aclocal' from beginning to just before - cleaning `autoheader'. Removed --enable-maintainer-mode. Added - --disable-nls. Added `make docfiles' to placate autoheader. - Added `aclocal' before first real `autoheader'. Uses `make - mostlyclean' instead of `make depend'. - - * Made patchlevel 14. - -Mon Jun 2 14:21:54 1997 Ben Pfaff - - * configure.in: Removed comment that screwed things up. - - * reconfigure: Added `aclocal' at beginning. - - * Made patchlevel 13. - -Sun Jun 1 23:25:39 1997 Ben Pfaff - - * Makefile.am: Add intl, po to SUBDIRS. Add aclocal.m4, - config.h.in to MAINTAINERCLEANFILES. - - * acconfig.h: Add HAVE_LC_MESSAGES, ENABLE_NLS, HAVE_CATGETS, - HAVE_GETTEXT, HAVE_STPCPY. - - * configure.in: Reordered to placate autoheader. Added - AC_ISC_POSIX, AM_PROG_CC_STDC. Added internationalization: - ALL_LINGUAS="", AM_GNU_GETTEXT, AC_LINK_FILES(...). Added - po/Makefile.in, intl/Makefile to generated files list. Generates - po/Makefile from po/Makefile.in. Comment fix. - - * pref.h.orig: Uncommented i18n support. - - * acinclude.m4: New file. - - * ABOUT-NLS: New file. - - * intl/: New directory, taken from gettext-0.10.27. - - * missing: New file, taken from automake-1.1p. - - * po/: New directory. - - * Made patchlevel 12. - -Sun Jun 1 17:28:27 1997 Ben Pfaff - - * Made patchlevel 11. - -Sun Jun 1 11:58:43 1997 Ben Pfaff - - * pref.h.orig: Removed DEFAULT_VER_PCP40, DEFAULT_VER_WIN61, - DEFAULT_VER_X40. Added a macro DEFAULT_COMPAT that takes one of - the VER_* enums as a value. - (HISTORY_FILE) Changed the definition to "~/.fiasco_history". - - * Made patchlevel 10. - -Fri May 30 19:40:22 1997 Ben Pfaff - - * pref.h.orig: [__MSDOS__] Reordered INCLUDE_PATH. - - * Made patchlevel 9. - -Sun May 25 22:32:57 1997 Ben Pfaff - - * acconfig.h: For support of glibc 2, define _GNU_SOURCE. - - * Made patchlevel 8. - -Mon May 5 21:58:22 1997 Ben Pfaff - - * Made patchlevel 7. - -Fri May 2 22:27:36 1997 Ben Pfaff - - * Made patchlevel 6. - -Thu May 1 15:34:01 1997 Ben Pfaff - - * All files: Changed copyright from `Ben Pfaff' to `Free Software - Foundation, Inc'. - - * Made patchlevel 5. - -Thu May 1 15:00:51 1997 Ben Pfaff - - * Made patchlevel 4. - -Sat Apr 26 11:34:05 1997 Ben Pfaff - - * ChangeLog: Split into one ChangeLog per directory. - - * Made patchlevel 3. - -Wed Apr 23 21:33:48 1997 Ben Pfaff - - * TODO: Update. - - * Made patchlevel 2. - -Fri Apr 18 16:48:41 1997 Ben Pfaff - - * Makefile.am: Removed `include', `util' from SUBDIRS; added - `config'. Includes `config' directory in distributions. Added - `private-install', `private-uninstall' targets. - - * configure.in: AC_INIT tests for src/q2c.c now. Removed - redundant AC_PROG_MAKE_SET call. Removed include/Makefile, - util/Makefile from generated files list; added config/Makefile. - - * include/approx.h, include/arena.h, include/common.h, - include/dfm.h, include/do-ifP.h, include/error.h, include/expr.h, - include/exprP.h, include/file-handle.h, include/filename.h, - include/font.h, include/getline.h, include/getopt.h, - include/hash.h, include/heap.h, include/log.h, include/misc.h, - include/output.h, include/settings.h, include/sfm.h, - include/sfmP.h, include/som.h, include/somP.h, include/stat.h, - include/stats.h, include/str.h, include/tokens.h, include/var.h, - include/version.h, include/vfmP.h: Moved into src/ directory. - - * include/Makefile.am, include/: Removed. - - * util/Makefile.am: Removed. - - * util/q2c.c: Moved to src/. - - * util/reconfigure: Moved to source root. - - * util/: Removed. - - * Made patchlevel 1. - -Fri Apr 18 15:42:22 1997 Ben Pfaff - - * Makefile.am: Maintainer-cleans generated documentation and - Makefile.in. - - * include/Makefile.am, util/Makefile.am: Maintainer-cleans - Makefile.in. - - * include/somP.h: (static struct var som) Removed passed_t member. - - * TODO: Updated. - - * configure.in: Fixed source directory for copying pref.h; always - updates pref.h or at least touch'es it. - - * pref.h.orig: Made a rather pejorative comment a lot milder so it - wouldn't be misinterpreted. - - * Made interim release x3. - -Thu Mar 27 01:11:29 1997 Ben Pfaff - - * All directories now contain new `Makefile.am's, in some cases - produced from bits and pieces of the single monolithic old one. - - * PATCHLEVEL: Removed. - - * acconfig.h: Added GNU_PACKAGE, PACKAGE, PROTOTYPES, VERSION; - removed inclusion of conf.h. - - * confh.in: Removed. - * confh.tmp.in: Removed. - - * configure.in: Deepened. Updated for use with Automake 1.1l. - Removed PATCHLEVEL hacks. Fixed lots of functions in - AC_CHECK_FUNCS, AC_REPLACE_FUNCS, and similar. Only passes - `-Werror' to gcc in maintainer mode. Doesn't output conf.h. - Touches pref.h even if it wasn't changed. - - * aclocal.m4: New file. - - * config.h.in: Renamed from configh.in. - - * pref.h.orig: Renamed from prefh.orig. - - * Made interim release x2. - -Thu Mar 27 01:07:02 1997 Ben Pfaff - - Changed the distribution from flat to deep. New configuration: - - ANNOUNCE Makefile.in config.h.in mkinstalldirs - AUTHORS NEWS config.sub orphaned-rules - BUGS README configure pref.h - COPYING THANKS configure.in pref.h.orig - ChangeLog TODO debian src - ChangeLog~ acconfig.h doc stamp-h.in - INSTALL aclocal.m4 include sysdeps - LANGUAGE config install-sh tests - Makefile.am config.guess lib util - - config: - devices environment papersize ps-fontmap ps-prologue - - debian: - changelog control postinst rules - conffiles copyright postrm - - doc: - ANNOUNCE.html Makefile.in fiasco.info-2 stamp-vti - AUTHORS.html README.html fiasco.info-3 texinfo.tex - BUGS.html THANKS.html fiasco.info-4 version.texi - LANGUAGE.html fiasco.info fiasco.texi - Makefile.am fiasco.info-1 mdate-sh - - include: - approx.h file-handle.h misc.h stats.h - arena.h filename.h output.h str.h - common.h font.h settings.h tokens.h - dfm.h getline.h sfm.h var.h - do-ifP.h getopt.h sfmP.h version.h - error.h hash.h som.h vfmP.h - expr.h heap.h somP.h - exprP.h log.h stat.h - - lib: - Makefile.am Makefile.in avllib julcal misc - - lib/avllib: - AVLLIB.COPYING Makefile.in avl.h - Makefile.am avl.c - - lib/julcal: - Makefile.am Makefile.in julcal.c julcal.h - - lib/misc: - Makefile.am getopt1.c memset.c strstr.c - Makefile.in memchr.c qsort.c strtol.c - alloca.c memcmp.c stpcpy.c strtoul.c - getdelim.c memcpy.c strcasecmp.c - getline.c memmem.c strncasecmp.c - getopt.c memmove.c strpbrk.c - - src: - Makefile.am error.c lexer.c sfm-write.c - Makefile.in expr-evl.c list.c show.c - arena.c expr-opt.c list.q som-frnt.c - ascii.c expr-prs.c log.c som-high.c - autorecode.c file-handle.c loop.c som-low.c - cases.c file-handle.q main.c sort.c - cmdline.c file-type.c mis-val.c split-file.c - command.c filename.c misc.c stats.c - common.c formats.c modify-vars.c str.c - compute.c freq.c numeric.c sysfile-info.c - count.c frequencies.c output.c temporary.c - crosstabs.c frequencies.g postscript.c title.c - crosstabs.q frequencies.q print.c val-labs.c - data-in.c get.c recode.c var-labs.c - data-list.c getline.c rename-vars.c vars-atr.c - data-out.c glob.c repeat.c vars-prs.c - descript.c groff-font.c sample.c vector.c - descript.q hash.c sel-if.c version.c - dfm.c heap.c set.c vfm.c - display.c include.c set.q weight.c - do-if.c inpt-pgm.c sfm-read.c - - sysdeps: - BorlndC4.0 DJGPP2.0 Windows - - sysdeps/BorlndC4.0: - Makefile _write.c conf.h - _read.c compile.bat config.h - - sysdeps/DJGPP2.0: - Makefile compile.bat conf.h config.h - - sysdeps/Windows: - con32s.c - - tests: - Makefile.am expression.stat reread.data - Makefile.in fall92.data reread.stat - autorecode.stat fall92.stat sample.stat - begin-data.stat file-label.stat show-check-msg - bignum.data file-type.stat sort.data - bignum.stat filter.stat sort.stat - bug.stat gengarbage.c split-file.stat - compute.stat input-program.stat sysfile-info.stat - count.stat list.data temporary.stat - data-formats.stat list.stat time-date.stat - data-list.data loop.stat vector.stat - data-list.stat modify-vars.stat weighting.data - descript.stat print.stat weighting.stat - do-if.stat process-if.stat - do-repeat.stat recode.stat - - util: - Makefile.am Makefile.in q2c.c reconfigure - - Old configuration: - - ANNOUNCE.html count.c hash.h sample.c - AUTHORS.html crosstabs.q heap.c sel-if.c - AVLLIB.COPYING data-in.c heap.h set.q - BUGS.html data-list.c include.c settings.h - COPYING data-out.c inpt-pgm.c sfm-read.c - ChangeLog debian install-sh sfm-write.c - INSTALL descript.q julcal.c sfm.h - LANGUAGE.html devices julcal.h sfmP.h - Makefile.am dfm.c lexer.c show.c - NEWS dfm.h list.q som-frnt.c - PATCHLEVEL display.c log.c som-high.c - README.html do-if.c log.h som-low.c - THANKS.html do-ifP.h loop.c som.h - TODO environment main.c somP.h - _read.c error.c makeb40.bat sort.c - _write.c error.h makedj2.bat split-file.c - acconfig.h expr-evl.c makefile.b40 stamp-h.in - alloca.c expr-opt.c makefile.dj2 stats.c - approx.h expr-prs.c mdate-sh stats.h - arena.c expr.h memcmp.c stpcpy.c - arena.h exprP.h mis-val.c str.c - ascii.c fiasco.texi misc.c str.h - autorecode.c file-handle.h misc.h sysfile-info.c - avl.c file-handle.q mkinstalldirs temporary.c - avl.h file-type.c modify-vars.c test - cases.c filename.c numeric.c texinfo.tex - cmdline.c filename.h output.c title.c - command.c font.h output.h tokens.h - common.c formats.c papersize val-labs.c - common.h freq.c postscript.c var-labs.c - compute.c frequencies.g prefh.orig var.h - con32s.c frequencies.q print.c vars-atr.c - confh.b40 get.c ps-fontmap vars-prs.c - confh.dj2 getline.c ps-prologue vector.c - confh.in getline.h q2c.c version.c - confh.tmp.in getopt.c qsort.c version.h - config.guess getopt.h recode.c vfm.c - config.sub getopt1.c reconfigure vfmP.h - configh.b40 glob.c reject weight.c - configh.dj2 groff-font.c rename-vars.c - configure.in hash.c repeat.c - - debian: - changelog control postinst rules - conffiles copyright postrm - - test: - autorecode.stat fall92.data recode.stat - begin-data.stat fall92.stat reread.data - bignum.data file-label.stat reread.stat - bignum.stat file-type.stat sample.stat - bug.stat filter.stat sort.stat - compute.stat gengarbage.c split-file.stat - count.stat gengarbage.pl sysfile-info.stat - data-formats.stat input-program.stat temporary.stat - data-list.data list.data time-date.stat - data-list.stat list.stat vector.stat - descript.stat loop.stat weighting.data - do-if.stat modify-vars.stat weighting.stat - do-repeat.stat print.stat - expression.stat process-if.stat - -Mon Mar 24 21:47:31 1997 Ben Pfaff - - * Makefile.am: @ALLOCA@ is on list of source files instead of - alloca.c. Added $(srcdir)/ to version.c reference. Changed to - pkgdatadir (/usr/share) for pkgsysconfdir, from pkglibdir - (/usr/lib). Removed some of extra distfiles. Added bogus `check' - target. - - * Made transition release x1. - -Sun Mar 2 20:51:28 1997 Ben Pfaff - - No longer uses debmake: - - * Makefile.am: Installs documentation according to Debian policy - manual. New targets `private-uninstall', `install-data-hook' to - help implement this. `debian' target also revised. - - * configure.in: Sets up for Debian installation depending on - DEBIAN environment variable. Also, improved & fixed (hopefully) - the scheme for detecting patchlevel. - - * Made patchlevel 193. - -Wed Feb 19 21:30:31 1997 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 192. - -Sun Feb 16 20:57:20 1997 Ben Pfaff - - * Made patchlevel 191. - -Sat Feb 15 21:26:53 1997 Ben Pfaff - - * Makefile.am: Removed `descript.g' from sources. - - * Made patchlevel 190. - -Fri Feb 14 23:32:58 1997 Ben Pfaff - - * TODO: Updated. - - * configure.in: Fixed test for max number of digits in an `int' to - use char[] rather than int[]. - - * Made patchlevel 189. - -Tue Feb 4 15:15:50 1997 Ben Pfaff - - * configure.in: Fixed some problems with `--with-checker' flag and - with detection of available libraries; no longer any lines longer - than 79 characters. - - * Made patchlevel 188. - -Wed Jan 22 21:54:00 1997 Ben Pfaff - - * Makefile.am: Add sysfile-info.c to sources. - - * TODO: Moved some notes to different files where they are more - appropriate. - - * prefh.orig: (macros STORE_2 and LOAD_2) Always load/store as - little-endian. - - * Made patchlevel 187. - -Sun Jan 19 14:22:11 1997 Ben Pfaff - - * Makefile.am: Added rename-vars.c to sources. Added to distclean - files. - - * TODO: Updates. - - * Made patchlevel 186. - -Thu Jan 16 13:08:57 1997 Ben Pfaff - - * Most files have updated copyright notices for 1997. - - * Makefile.am: Added modify-vars.c to source files. Also changed - `lynx' to $(HTML_FORMATTER), etc. Changed messages. - - * TODO: Updates. - - * Made patchlevel 185. - -Sat Jan 11 15:44:15 1997 Ben Pfaff - - * Makefile.am: By default, now installs config files in pkglibdir, - generally /usr/local/lib/fiasco. - - * TODO: Updated. - - * prefh.orig: Added `/etc/fiasco' to config paths. Removed - $ARCH/$VER dirs from include paths. - - * Made patchlevel 184. - -Fri Jan 10 20:22:08 1997 Ben Pfaff - - * debian/changelog, debian/control, debian/copyright, debian/dirs, - debian/info, debian/menu, debian/rules: Added Debian GNU/Linux - control files. - - * Makefile.am: Added sfmP.h to source files. Added several files - to the list of distfiles. dist-hook now copies debian control - files. New targets `debian', `debian-clean', `debian-clean-full'. - - * confh.in: Defines PATCHLEVEL. - - * configure.in: Adds the current patchlevel to the version - number. Versions are now of the form `1.2.3pl456'. Determines - the patchlevel based on directory name and contents of file - PATCHLEVEL. - - * reconfigure: Passes automake `--strictness=foreign'. - - * Made patchlevel 183. - -Thu Jan 2 19:08:23 1997 Ben Pfaff - - * Made patchlevel 182. - -Wed Jan 1 22:08:10 1997 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 181. - -Wed Jan 1 17:00:59 1997 Ben Pfaff - - * Makefile.am: New target for test/sort.data. - - * Made patchlevel 180. - -Sun Dec 29 21:36:48 1996 Ben Pfaff - - * Made patchlevel 179. - -Tue Dec 24 20:42:32 1996 Ben Pfaff - - * Made patchlevel 178. - -Sun Dec 22 23:10:39 1996 Ben Pfaff - - * Makefile.am: Added heap.c, heap.h to source files. Added - new html files to distfiles & maintainer-clean files. - - * configure.in: Tests for presence of getpid(), sys/types.h. - - * prefh.orig: #defines mkdir() for MS-DOS compatibility. - - * Made patchlevel 177. - -Sat Dec 21 21:51:04 1996 Ben Pfaff - - * Makefile.am: Added README.html, LANGUAGE.html to list of - distfiles. Added README, LANGUAGE to list of maintainer-clean - files. Added .html to suffixes. Added .html implicit rule that - calls `lynx -dump -nolist'. - - * Made patchlevel 176. - -Tue Dec 17 18:57:59 1996 Ben Pfaff - - * Made patchlevel 175. - -Sun Dec 15 15:32:16 1996 Ben Pfaff - - * Makefile.am: Added vfmP.c, qsort, sort.c to list of source - files. - - * prefh.orig: Subtle changes to MAX_WORKSPACE, ALWAYS_PAGE, - NEVER_PAGE, DEMAND_PAGE macro meanings. - - * Made patchlevel 174. - -Sat Dec 14 10:35:30 1996 Ben Pfaff - - * Made patchlevel 173. - -Fri Dec 13 21:30:53 1996 Ben Pfaff - - * Makefile.am: Added autorecode.c to source files. - - * prefh.orig: Fixed path GROFF_FONT_PATH. - - * Made patchlevel 172. - -Fri Dec 6 23:53:47 1996 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 171. - -Wed Dec 4 21:34:17 1996 Ben Pfaff - - * Made patchlevel 170. - -Sun Dec 1 17:19:00 1996 Ben Pfaff - - * Made patchlevel 169. - -Thu Nov 28 23:14:07 1996 Ben Pfaff - - * Makefile.am: Added `set.q' to list of source files. - - * Made patchlevel 168. - -Thu Nov 28 19:46:10 1996 Ben Pfaff - - * Made patchlevel 167. - -Wed Nov 27 23:18:35 1996 Ben Pfaff - - * Makefile.am: Added `sfm-write.c' to list of source files. - - * confh.in: New #defines RELEASE_NO, SUB_RELEASE_NO, and - SPEC_RELEASE_NO for each part of a version number of form 1.2.3. - - * configure.in: Computes RELEASE_NO, etc., by breaking apart - VERSION. - - * prefh.orig: (defn of int32, flt64) Formatting fixes. - (FLT64_MAX) New define. - - * Made patchlevel 166. - -Sun Nov 24 14:53:53 1996 Ben Pfaff - - * Wow, it's been almost two weeks since the last update, hard to - believe. - - * All source files: Updated e-mail address. - - * prefh.orig: local_alloc() calls xmalloc() under Checker because - Checker can keep track of heap blocks much more accurately. - - * Made patchlevel 165. - -Mon Nov 11 15:34:09 1996 Ben Pfaff - - * Made patchlevel 164. - -Thu Nov 7 20:52:28 1996 Ben Pfaff - - * Made patchlevel 163. - -Thu Nov 7 17:29:16 1996 Ben Pfaff - - * Made patchlevel 162. - -Thu Nov 7 15:48:52 1996 Ben Pfaff - - * Made patchlevel 161. - -Tue Nov 5 18:34:59 1996 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 160. - -Mon Nov 4 22:03:28 1996 Ben Pfaff - - * Makefile.am: Added get.c. - - * TODO: Updated. - - * Made patchlevel 159. - -Sun Nov 3 12:24:36 1996 Ben Pfaff - - * Makefile.am: Added sfm.h, sfm-read.c to source files. - - * Made patchlevel 158. - -Wed Oct 30 17:13:08 1996 Ben Pfaff - - * Makefile.am: Added dist-zip target to AUTOMAKE_OPTIONS. - - * acconfig.h: Added FPREP_* defines. - - * configure.in: Added checks for the sizes of floating-point - types. Added a test for the internal floating-point - representation of the host architecture. - - * prefh.orig: Renamed `ATTRIBUTION' macro as `__attribute__'. All - references changed. Defines `flt64' 64-bit floating-point for use - with system files. - [FPREP==FPREP_IEEE754 && __GNUC__ && (ENDIAN==BIG || - ENDIAN==LITTLE] Defines SECOND_LOWEST_VALUE macro. - - * Made patchlevel 157. - -Sat Oct 26 23:06:06 1996 Ben Pfaff - - * configure.in: Checks sizes of short, int, long, long long. - - * prefh.orig: Defines new type int32 for use with system - files. - - * Made patchlevel 156. - -Sat Oct 26 20:46:31 1996 Ben Pfaff - - * Made patchlevel 155. - -Sat Oct 26 10:39:25 1996 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 154. - -Thu Oct 24 20:13:42 1996 Ben Pfaff - - * Makefile.am: Added back in these files: recode.c, sample.c, - sel-if.c. Also added files somP.h, hash.c that should've been - there anyway. - - * TODO: Updated. - - * configure.in: Checks for strncasecmp in place of strcasecmp. - - * Made patchlevel 153. - -Thu Oct 24 17:47:14 1996 Ben Pfaff - - * TODO: Updated. - - * Made patchlevel 152. - -Wed Oct 23 21:53:43 1996 Ben Pfaff - - * TODO: Organized. - - * Made patchlevel 151. - -Tue Oct 22 17:27:04 1996 Ben Pfaff - - * TODO: Culled old notes. - - * Made patchlevel 150. - -Mon Oct 21 20:39:59 1996 Ben Pfaff - - * Made patchlevel 149. - -Sun Oct 20 13:45:28 1996 Ben Pfaff - - * Makefile.am: Added back in `numeric.c', `print.c', `title.c'. - Defined ETAGS_ARGS. - - * Made patchlevel 148. - -Sun Oct 20 09:04:15 1996 Ben Pfaff - - * Made patchlevel 147. - -Fri Oct 18 19:46:49 1996 Ben Pfaff - - * Made patchlevel 146. - -Sun Sep 29 19:37:03 1996 Ben Pfaff - - * Made patchlevel 145. - -Sat Sep 28 21:28:07 1996 Ben Pfaff - - * Makefile.am: Added to DISTCLEANFILES. - - * Made patchlevel 144. - -Fri Sep 27 20:08:39 1996 Ben Pfaff - - * Made patchlevel 143. - -Thu Sep 26 22:20:26 1996 Ben Pfaff - - * Makefile.am: Added list.c back into the list of source files. - - * Made patchlevel 142. - -Wed Sep 25 19:36:11 1996 Ben Pfaff - - * Makefile.am: Updated for new files. - - * Made patchlevel 141. - -Tue Sep 24 18:39:09 1996 Ben Pfaff - - * Made patchlevel 140. - -Sat Sep 21 23:16:31 1996 Ben Pfaff - - * Made patchlevel 139. - -Fri Sep 20 22:52:28 1996 Ben Pfaff - - * Made patchlevel 138. - -Thu Sep 12 18:40:33 1996 Ben Pfaff - - * Made patchlevel 137. - -Wed Sep 11 22:01:41 1996 Ben Pfaff - - * TODO: Added timestamp. - - * prefh.orig: Removed `/usr/local/share/fiasco' and - `/usr/share/fiasco' from CONFIG_PATH as per the Linux FSSTND, - which specifies that programs should never give an explicit - `/usr(/local)/share' path. - - * Made patchlevel 136. - -Tue Sep 10 21:39:00 1996 Ben Pfaff - - * Makefile.am: Added `display.c' back in. - - * TODO: Addition. - - * Made patchlevel 135. - -Mon Sep 9 21:43:13 1996 Ben Pfaff - - * Makefile.am: Added `split-file.c' back into the project. - - * Made patchlevel 134. - -Sat Sep 7 22:35:12 1996 Ben Pfaff - - * TODO: Updated. - - * prefh.orig: (local_strdup) Moved to misc.h. - - * Made patchlevel 133. - -Thu Sep 5 22:05:56 1996 Ben Pfaff - - * Makefile.am: Changed `prologue.ps' references to `ps-prologue'. - - * Made patchlevel 132. - -Wed Sep 4 21:45:35 1996 Ben Pfaff - - * prefh.orig: New i18n defines. - - * This patchlevel doesn't even compile. - - * Made patchlevel 131. - -Sat Aug 31 23:52:38 1996 Ben Pfaff - - * TODO: Addition. - - * Made patchlevel 130. - -Thu Aug 29 21:36:41 1996 Ben Pfaff - - * Made patchlevel 129. - -Sat Aug 24 23:26:00 1996 Ben Pfaff - - * Makefile.am: New target "private-install" to install config files - to $HOME/.fiasco. - - * configure.in: Now that I have made a less-bogus Checker - distribution, removed `-b i486-linuxaout -V 2.6.3' from - AC_ARG_WITH(checker, ...). - - * Made patchlevel 127 somewhere in there. - - * Made patchlevel 128. - -Sun Aug 11 21:31:22 1996 Ben Pfaff - - * Makefile.am: Changed DISTCLEANFILES. - - * Does not compile. - - * Made patchlevel 126. - -Sat Aug 10 23:28:17 1996 Ben Pfaff - - * reconfigure: Calls `autoheader' twice: once at the beginning, - once after make maintainer-clean. - - * Made patchlevel 125. - -Thu Aug 8 22:31:11 1996 Ben Pfaff - - * reconfigure: `autoheader' now first operation performed. - - * Made patchlevel 124. - -Sat Aug 3 20:50:35 1996 Ben Pfaff - - * Makefile.am: Added postscript.c to list of source files. - - * configh.in: Removed since autoheader can regenerate it. - - * configure.in: Improved tests for (ncurses or termcap) and - (history and/or readline) libraries and associated headers. Added - check for strcasecmp(). Changed default gcc CFLAGS. - - * prefh.orig: Removed `.' from GROFF_FONT_PATH. - (local_alloc, local_free) New functions. - - * reconfigure: Added call to autoheader. - - * Made patchlevel 123. - -Sat Jul 27 22:32:38 1996 Ben Pfaff - - * There were some problems with the patchfiles so I had to merge - what was previously patchlevels 121 and 122; now everything from - what was previously 122 is called 121. Oh well, just don't let it - happen often. - - * This patchlevel does not compile. - - * configure: No longer included in patches to save lotsa space - when configure.in changes. - - * configure.in: Changed the technique for detecting libraries. - - * prefh.orig: Style changes; handles changed configure.in. - - * Made patchlevel 122 (second edition). - -Tue Jul 23 21:48:36 1996 Ben Pfaff - - * Made patchlevel 121. - -Wed Jul 17 21:23:36 1996 Ben Pfaff - - * Made patchlevel 120. - -Tue Jul 16 22:10:04 1996 Ben Pfaff - - * Made patchlevel 119. - -Sun Jul 14 15:45:31 1996 Ben Pfaff - - * Made patchlevel 118. - -Fri Jul 12 22:03:36 1996 Ben Pfaff - - * Makefile.am: Added list.c to sources. - - * Made patchlevel 117. - -Sat Jul 6 22:22:25 1996 Ben Pfaff - - * configure.in: Removed reference to `malloc.h'. - - * Made patchlevel 116. - -Fri Jul 5 20:16:19 1996 Ben Pfaff - - * Made patchlevel 115. - -Thu Jul 4 20:20:24 1996 Ben Pfaff - - * prefh.orig: Changes to CONFIG_PATH, INCLUDE_PATH, - GROFF_FONT_PATH. - - * Makefile.am: pkgdata_DATA file `output' changed to `devices'. - -Thu Jul 4 00:35:59 1996 Ben Pfaff - - * TODO: doc fix. - - * Made patchlevel 114. - -Tue Jul 2 22:13:23 1996 Ben Pfaff - - * reconfigure: (new file) Runs all the programs necessary to - create a Makefile that includes dependencies. - - * Made patchlevel 113. - -Mon Jul 1 22:13:39 1996 Ben Pfaff - - * Made patchlevel 112. - -Mon Jul 1 13:00:00 1996 Ben Pfaff - - * Most files: Changed references from `stat' (the original, rather - dull old name for this project) to `Fiasco' (the creative, rather - funny new name for this project). - - * Made patchlevel 111. - -Sat Jun 29 17:40:47 1996 Ben Pfaff - - * prefh.orig: changed default file search paths - - * Made patchlevel 110. - -Fri Jun 28 11:59:48 1996 Ben Pfaff - - * Added automake support; removed GNUmakefile and GNUmakefile.in. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/doc/OChangeLog b/doc/OChangeLog deleted file mode 100644 index f1270cf592..0000000000 --- a/doc/OChangeLog +++ /dev/null @@ -1,259 +0,0 @@ -2008-05-15 Ben Pfaff - - * automake.mk: Make install-data-hook depend on yelp-check if the - GUI is configured. - -2008-05-08 John Darrington - - * automake.mk: Compress the info files, because later - versions of yelp seem to crash otherwise. - -2008-03-11 Jason Stover - - * regression.texi (REGRESSION): Fixed use of @dots in @math - command. Reported by John Darrington. - -2008-03-11 Jason Stover - - * regression.texi: Made more consistent use of math mode for - description of linear regression. Added reference to the mean of - the error terms being 0. - -2008-03-09 Jason Stover - - * regression.texi (REGRESSION): Removed references to subcommand EXPORT. - -2008-02-06 John Darrington - - * files.texi: Document the /BSIZE subcommand to the PSQL - reader. - -2008-02-04 John Darrington - - * files.texi data-io.texi: Document the GET DATA TYPE=PSQL - option. Thanks to Ben Pfaff for reviewing this text. - - -2007-11-10 Ben Pfaff - - * not-implemented.texi: Fix @include command so that it works - consistently, by using a file name relative to Makefile.am's - srcdir instead of relative to doc. - -2007-11-10 Ben Pfaff - - Patch #6262: New developers guide (currently incomplete). - - * automake.mk: Add definitions for new manual. - - * pspp.texinfo: Now this is the PSPP Users Guide instead of just - the PSPP manual. Remove development chapters. - - * pspp-dev.texinfo: New file. - - * data-file-format.texi: Move to dev/system-file-format.texi. - - * portable-file-format.texi: Move to dev/. - - * q2c.texi: Move to dev/ - - * dev/concepts.texi: New file. - - * dev/data.texi: New file. - - * dev/intro.texi: New file. - - * dev/output.texi: New file. - - * dev/syntax.texi: New file. - -2007-10-19 John Darrington - - * statistics.texi: Changed /CONTRASTS to /CONTRAST in ONEWAY which - is what the command accepts. - - -2007-07-28 John Darrington - - * statistics.texi: Made the documentation for T-TEST match - the behaviour. - -2007-07-17 Ben Pfaff - - * get-commands.pl: Use strict and all warnings. Simplify - parsing. Add "@c End:" line to output to suppress Emacs warning. - From bug #19335. Reviewed by John Darrington. - -2007-06-05 Ben Pfaff - - * Removed next, prev, up node names from @node lines, to make - structural changes to the manual easier. (These node names are - not needed by makeinfo.) - -2007-03-31 John Darrington - - * transformation.texi: SORT CASES: elaborated on the (D) (A) flags. - -2007-03-01 Ben Pfaff - - * automake.mk: Fix "make distcheck" by distributing doc/ni.texi, - even though it's generated. Reviewed by John Darrington. - (doc_pspp_TEXINFOS): Add doc/ni.texi. - (nodist_doc_pspp_TEXINFOS): Remove. - (am__TEXINFO_TEX_DIR) Removed (was just a kluge anyhow). - ($(INFO_DEPS)): Removed. - ($(HTML_DEPS)): Removed. - (CLEANFILES): Removed. - -Wed Dec 20 18:45:31 WST 2006 John Darrington - - * statistics.texi: Added documentation for the NPAR TESTS command. - -Thu Nov 30 22:20:10 2006 Ben Pfaff - - * statistics.texi: Document charts supported by FREQUENCIES. - Fixes bug #18297. Thanks to Mohammed Babekir Elmalik Abdalmajid - for reporting this bug. - -Tue Nov 28 17:33:31 WST 2006 - - * get-commands.pl: Fixed generation of ni.texi, which was broken - after commands.def was reorganised. - - * not-implemented.texi language.texi regression.texi - statistics.texi: Added some indeces. - - * license.texi: Added information from GPL. - -Sat Oct 7 11:02:44 WST 2006 - - * Added documentation for RANK. - -Tue May 2 10:43:06 WST 2006 - - * data-file-format.texi: Updated information about the case_size - value. Added description of Record Type 7, subtype 14. - -2006-04-28 Jason Stover - - * regression.texi: Added description of the RESID and PRED - keywords to the SAVE subcommand. - - * statistics.texi: Added REGRESSION node. - -2006-04-21 Jason Stover - - * regression.texi: Initial description of the SAVE subcommand. - -Sun Apr 16 19:12:26 2006 Ben Pfaff - - Consistently write "file name" as two words, in accordance with - the GNU standards. - -Wed Feb 15 21:53:12 2006 Ben Pfaff - - * data-file-format.texi: Fix values for "measure" in Auxiliary - Variable Parameter Record. Thanks to Oliver Bock - for reporting this bug. Fixes bug #15763. - -Tue Feb 14 21:34:06 2006 Ben Pfaff - - * data-file-format.texi: Fix description of "count" in Auxiliary - Variable Parameter Record. Thanks to Oliver Bock - for reporting this bug. Fixes bug #15756. - -Sun Sep 25 16:10:36 2005 Ben Pfaff - - * Makefile.am: Make ni.texi a prereq for HTML output. Thanks to - James R. Van Zandt for reporting the problem. - -Sun Jul 24 18:47:02 2005 Ben Pfaff - - * portable-file-format.texi: Describe author field. - -Sat May 7 17:26:39 WST 2005 John Darrington - - * Makefile.am: Made ni.texi a nodist file - -Wed May 4 08:30:24 2005 Ben Pfaff - - * language.texi: Proofreading from Jason Stover - . - -Tue May 3 16:22:29 WST 2005 John Darrington - - * get-commands.pl: New file to generate ni.texi - - * not-implemented.texi Makefile.am: List of not implemented commands - now generated from src/command.def - -Sun May 1 23:20:42 2005 Ben Pfaff - - * language.texi: Revised lots of text to catch up with changes - that have been in for a long time, and for style. - -Sun May 1 15:17:42 WST 2005 John Darrington - - * configuration.texi: Removed manpage(x) style references, because - RMS doesn't like them. - -Wed Apr 27 07:44:57 WST 2005 John Darrington - - * utilities.texi: Added the ECHO command. - -Fri Apr 15 18:35:42 2005 Ben Pfaff - - * pspp.texinfo: Change manual license to GNU FDL, pursuant to - advice in maintainers' guide. - -Thur Apr 14 2005 John Darrington - - * variables.texi: Corrected the entry for VARIABLE LABELS - - * data-file-format.texi: Added documentation about the Long Variable - Names record. - -Thu Mar 3 22:06:54 WST 2005 John Darrington - - * expressions.texi: corrected some mismatched parentheses. - -Mon Feb 28 23:19:34 2005 Ben Pfaff - - * expressions.texi: Revise. Describe new functions. - -Sat Jan 8 16:46:28 2005 Ben Pfaff - - * credits.texi: Removed. - - * bugs.texi: Rewrote. Moved known bugs to savannah website. - - * not-implemented.texi: AGGREGATE and AUTORECODE are implemented. - -Tue Nov 16 13:18:53 WST 2004 John Darrington - - * statistics.texi Added documentation about the EXAMINE cmd - -Tue Nov 16 13:18:53 WST 2004 John Darrington - - * utilities.texi Added documentation for the PERMISSIONS command. - - * pspp.texinfo Makefile.am @included version.texi (Autogenerated) to - keep the EDITION, VERSION and UPDATED flags up to date. - -Tue Nov 9 09:38:43 WST 2004 John Darrington - - * Made Makefile.am aware of pspp.texi dependencies - -Fri Nov 5 17:46:46 WST 2004 John Darrington - - * Added a note to the about SPLIT requiring adjacent cases. - -Sat Oct 30 17:32:53 WST 2004 John Darrington - - * Started this changelog - - * Removed the monolithic pspp.texi file and replaced with *.texi - wrapped by a single pspp.texinfo file - - * Minor corrections to the documentation where I noticed it needed - them. diff --git a/doc/automake.mk b/doc/automake.mk index d5fb00b623..6e14132f0c 100644 --- a/doc/automake.mk +++ b/doc/automake.mk @@ -81,7 +81,6 @@ docbookdir = $(docdir) dist_docbook_DATA = doc/pspp.xml -EXTRA_DIST += doc/OChangeLog CLEANFILES += pspp-dev.dvi $(docbook_DATA) doc: $(INFO_DEPS) $(DVIS) $(PDFS) $(PSS) $(HTMLS) $(dist_docbook_DATA) diff --git a/examples/OChangeLog b/examples/OChangeLog deleted file mode 100644 index 4fd9e0d5b3..0000000000 --- a/examples/OChangeLog +++ /dev/null @@ -1,19 +0,0 @@ -Tue Apr 4 20:19:48 2006 Ben Pfaff - - * automake.mk: Add missing \ to definition. - -Sun Aug 9 11:16:13 1998 Ben Pfaff - - * descriptives.stat: Renamed descript.stat. - -Sat Aug 8 00:28:24 1998 Ben Pfaff - - * New directory. - - * descriptives.stat: New file. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/examples/automake.mk b/examples/automake.mk index eeab0caab3..6f716e4132 100644 --- a/examples/automake.mk +++ b/examples/automake.mk @@ -12,4 +12,4 @@ examples_DATA = \ examples/regress.sps \ examples/regress_categorical.sps -EXTRA_DIST += examples/OChangeLog $(examples_DATA) +EXTRA_DIST += $(examples_DATA) diff --git a/glade/OChangeLog b/glade/OChangeLog deleted file mode 100644 index b6ac4bb2c8..0000000000 --- a/glade/OChangeLog +++ /dev/null @@ -1,25 +0,0 @@ -2007-11-21 John Darrington - - * icons/22x22/psppire-acr.png icons/16x16/psppire-acr.png: New files. - * automake.mk: Install the new icons. - -2007-10-19 John Darrington - - * acr.c (new file) - * psppire.xml: Added entry for PsppireAcr widget - -2007-09-26 Ben Pfaff - - * automake.mk (libglade_psppire_la_CFLAGS): Enable VPATH build by - using $(top_srcdir) in -I directive. - -4/4/2007 John Darrington - - * Seperated psppire-buttonbox into psppire-vbuttonbox and psppire-buttonbox - -Sat Mar 31 07:09:33 WST 2007 John Darrington - - * Added icons directory and its contents. - - * Re-wrote psppire.xml to work with glade 3.2.0, and to know about the - keypad widget. diff --git a/glade/automake.mk b/glade/automake.mk index 3daa561441..c14f782933 100644 --- a/glade/automake.mk +++ b/glade/automake.mk @@ -53,5 +53,3 @@ libglade_psppire_la_CFLAGS = $(GLADE_UI_CFLAGS) $(GLADE_CFLAGS) \ $(GTKSOURCEVIEW_CFLAGS) -I $(top_srcdir)/src/ui/gui -DDEBUGGING libglade_psppire_la_LIBADD = gl/libgl.la - -EXTRA_DIST += glade/OChangeLog diff --git a/lib/OChangeLog b/lib/OChangeLog deleted file mode 100644 index 28c767bd50..0000000000 --- a/lib/OChangeLog +++ /dev/null @@ -1,54 +0,0 @@ -2008/07/20 John Darrington - - * Removed gsl-extras. Functionality now - available in gsl. - -Sun Jul 31 11:29:04 2005 Ben Pfaff - - * misc/: Removed in favor of gnulib. - - * Makefile.am: (SUBDIRS) Removed misc. - -Wed Mar 9 09:53:50 2005 Ben Pfaff - - * gsl-extras/: New directory. - - * Makefile.am: (SUBDIRS) Add gsl-extras. - -Mon Feb 28 23:20:05 2005 Ben Pfaff - - * julcal/: Removed directory. - - * Makefile.am: (SUBDIRS) Removed julcal. - (DIST_SUBDIRS) Removed. - -Sun Jan 2 21:31:48 2000 Ben Pfaff - - * Makefile.am: (SUBDIRS) Only include gmp if libgmp not installed - on this system already. - -Sun May 31 00:55:51 1998 Ben Pfaff - - * Makefile.am: (SUBDIRS) Add gmp. - - * gmp/: New subdirectory, containing a subset of GNU libgmp2 just - big enough to support mpf_init_set_d(), mpf_get_str(), and - mpf_clear(). - -Fri Apr 24 12:52:07 1998 Ben Pfaff - - * Makefile.am: (SUBDIRS) Remove avllib. - - * avllib/: Removed. - -Wed Dec 24 22:36:50 1997 Ben Pfaff - - * Makefile.am: (SUBDIRS) Add dcdflib. - - * dcdflib: New subdirectory. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/lib/automake.mk b/lib/automake.mk index 3fb94bfe6f..0344235819 100644 --- a/lib/automake.mk +++ b/lib/automake.mk @@ -6,5 +6,3 @@ include $(top_srcdir)/lib/tukey/automake.mk if HAVE_GUI include $(top_srcdir)/lib/gtk-contrib/automake.mk endif - -EXTRA_DIST += lib/OChangeLog diff --git a/lib/gtk-contrib/OChangeLog b/lib/gtk-contrib/OChangeLog deleted file mode 100644 index b5ba1c82ca..0000000000 --- a/lib/gtk-contrib/OChangeLog +++ /dev/null @@ -1,149 +0,0 @@ -2008-05-08 Ben Pfaff - - Patch #6506. Reviewed by John Darrington. - - * gtksheet.c (gtk_sheet_unrealize): Don't call gtk_widget_unparent - on sheet->button if it's null. - -2008-05-06 Ben Pfaff - - * gtksheet.c (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. - -2008-03-06 John Darrington - - * gsheet-row-iface.c gsheet-row-iface.h: Delete unused, unneccesary - gpointer variable from the interface. - - * gtksheet.c: Update to match new gsheet-row-iface - -2008-02-27 John Darrington - * gtksheet.c gtksheet.h: Corrected some leaks and other problems - related to de-allocating the sheet. - -2008-02-27 John Darrington - * gtksheet.c: (gtk_sheet_expose) Don't queue a redraw on the entry - widget. Fixes bug #21073 - -2008-02-20 John Darrington - - * gtksheet.c gtksheet.h: Removed some unused signals. - Made the models properties of the widget. - -2008-02-08 John Darrington - - * gtksheet.c: Removed the sheet_locked feature, which we never - used, and interfered with the editability of the entry widget. - - * gtksheet.c: Add one to the row to which we scroll. Seems like - the best way to cope with granularity problems. - -21 Septempber 2007 John Darrington - - * gtksheet.c (range_update_callback): Scroll to cell 0,0 if the - current position is outside the model's range. - -24 July 2007 John Darrington - - * gtksheet.c gtksheet.h: Removed the `clip' feature, which IMO - is a croc, and we're unlikely to use. In its place, added a primary - selection which supports text and html targets. - -16 July 2007 John Darrington - - * gtksheet.c gtksheet.h: Removed some legacy functions called from - gtk_sheet_finalize which caused unnecessary delays when shutting down. - -12 July 2007 John Darrington - - * gtksheet.c gtksheet.h: Removed view member and replaced with - function call. Removed hadjustment_changed and vadjustment_changed - functions which did nothing. Added some whitespace arount != - operators. - -09 July 2007 John Darrington - - * gtksheet.c gtksheet.h (gtk_sheet_get_active_cell): Allowed row, - column to be NULL. - -07 July 2007 John Darrington - - * gsheet-column-iface.c gsheet-column-iface.h gsheet-row-iface.c - gsheet-row-iface.h gtksheet.c gtksheet.h: Added a "subtitle" - feature on row/column titles, which shows tooltip-like popups. - -03 July 2007 John Darrington - - * gtksheet.c gtksheet.h: Removed the autoscroll-on-select feature - that was causing us grief. - -28 June 2007 John Darrington - - * gtksheet.c: Removed some features that we dont use, to get better - speed. - -Sat Feb 17 17:36:56 2007 Ben Pfaff - - * gsheet-column-iface.c gsheet-hetero-column.c gsheet-row-iface.c - gsheet-uniform-column.c gsheet-uniform-row.c gsheetmodel.c - gtkextra-marshal.c gtkextra.c gtkiconlist.c gtkitementry.c - gtksheet.c: Add "#include ". - -Mon Jun 19 18:03:21 WST 2006 John Darrington - - * gsheet-column-iface.c gsheet-column-iface.h - gsheet-hetero-column.c gsheet-row-iface.c gsheet-row-iface.h - gsheet-uniform-column.c gsheet-uniform-row.c gtksheet.c - gtksheet.h: Fixed some warnings. Corrected errors updating - row/column titles - -Di Mai 30 19:51:19 WST 2006 John Darrington - - * gtksheet.c gtksheet.h: constness. Removed dependence on glib2.10 - -Sat May 27 16:29:36 WST 2006 John Darrington - - * gtksheet.c: Removed call to gtk_entry_set_text, which caused warnings - and was unnecessary. - -Thu May 25 17:58:51 WST 2006 John Darrington - - * gsheet-column-iface.c gsheet-column-iface.h gsheet-hetero-column.c - gsheet-row-iface.c gsheet-row-iface.h gsheet-uniform-row.c - gtksheet-extra.h gtksheet.c: Plugged memory leaks. Rationalised the way - that GtkSheetButtons are created. - -Sat May 20 21:02:03 WST 2006 John Darrington - - * gsheetmodel.c gsheetmodel.h: Added columns-inserted and columns-deleted - signals. Added g_sheet_get_{row,column}_count functions. - - * gtksheet.c gtksheet.h: Allowed -1 to be passed to - gtk_sheet_set_active_cell to indicate no active cell. - -Mon May 15 16:10:49 WST 2006 John Darrington - - * gtksheet.c: Removed code which rendered the title buttons a second - time. Cut and Paste error ? - -Sat May 13 07:58:32 WST 2006 John Darrington - - * gsheetmodel.c gsheetmodel.h gtksheet.c gtksheeet.h: Added - free_strings flag to tell the sheet whether to free the string - data passed from the model. - -Thu May 11 22:20:04 WST 2006 John Darrington - - * gtksheet.c, gtksheet.h: Fixed broken deallocation of sheet->pixmap. - -Thu May 4 17:55:48 WST 2006 John Darrington - - * gtksheet.c: Added callback on inserted rows. - -Sat Jan 28 08:48:08 2006 UTC John Darrington - - * Separated the data out of the GtkSheet. The gtksheet should now be - regarded as a way of looking into the data. The data is represented by a - GSheetModel and the rows and columns by GSheetRow and GSheetColumn. diff --git a/lib/gtk-contrib/automake.mk b/lib/gtk-contrib/automake.mk index 2da559074e..dd7d89fb88 100644 --- a/lib/gtk-contrib/automake.mk +++ b/lib/gtk-contrib/automake.mk @@ -9,7 +9,6 @@ lib_gtk_contrib_libxpaned_a_SOURCES = \ lib/gtk-contrib/gtkxpaned.h EXTRA_DIST += \ - lib/gtk-contrib/OChangeLog \ lib/gtk-contrib/README \ lib/gtk-contrib/COPYING.LESSER diff --git a/lib/linreg/OChangeLog b/lib/linreg/OChangeLog deleted file mode 100644 index 48fcf31946..0000000000 --- a/lib/linreg/OChangeLog +++ /dev/null @@ -1,20 +0,0 @@ -Sun Jan 9 00:57 2006 Jason Stover - - * pspp_linreg.h: Altered the coefficient structure to include - variable/value pairs. - - * coefficient.c: Added functions to handle the matching between - model coefficients and their corresponding variables and values. - - * linreg.c: (pspp_linreg_cache_free) Added pspp_linreg_coeff_free () - to free coefficient structures. - -Sun Oct 23 13:46:56 2005 Ben Pfaff - - * linreg.c: (pspp_linreg) Removed unused variable `mse'. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/lib/linreg/automake.mk b/lib/linreg/automake.mk index 30fd2e592d..da4fe535d3 100644 --- a/lib/linreg/automake.mk +++ b/lib/linreg/automake.mk @@ -4,5 +4,3 @@ noinst_LTLIBRARIES += lib/linreg/liblinreg.la lib_linreg_liblinreg_la_SOURCES = \ lib/linreg/sweep.c lib/linreg/sweep.h - -EXTRA_DIST += lib/linreg/OChangeLog diff --git a/src/OChangeLog b/src/OChangeLog deleted file mode 100644 index bba2afaa64..0000000000 --- a/src/OChangeLog +++ /dev/null @@ -1,14204 +0,0 @@ -2007-11-03 John Darrington - - * gnumeric-reader.c gnumeric-reader.h: New files. - -Thu May 4 21:47:48 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, move - procedure.c and procedure.h from src to src/data. Update - makefiles and #includes accordingly. - - * automake.mk: Remove special rule for src/procedure.o. - - * procedure.c: Moved to src/data. - - * procedure.h: Moved to src/data. - -Wed May 3 22:24:34 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * procedure.c: (global var vfm_source) Make static. Changed - external references to use in_input_program(), proc_set_source(), - or proc_capture_output() instead. - (global var vfm_sink) Make static. Changed external references to - use proc_set_sink() instead. - (global var default_dict) Move here from data/dictionary.c. - (static var permanent_trns_chain) New var. - (static var temp_dict) Renamed permanent_dict, updated references. - (static var temporary_trns_chain) New var. - (static var cur_trns_chain) New var. - (static var in_procedure) Removed. - (global var t_trns) Removed. - (global var n_trns) Removed. - (global var m_trns) Removed. - (global var f_trns) Removed. - (procedure) Even if there's "nothing to do" we need to clear - PROCESS IF, N OF CASES, vector state. (This should be - abstracted.) - (multipass_callback) New function. - (multipass_procedure) New function. - (open_active_file) Add N OF CASES, FILTER, PROCESS IF - transformations. Finalize transformations. No need to call - ctl_stack_clear() anymore because finalizers will do that. - (write_case) Simplify and rewrite. - (execute_transformations) Removed. - (filter_case) Removed. - (close_active_file) Use proc_cancel_temporary_transformations(). - No need to clear PROCESS IF, N OF CASES here anymore because - helpers do that. - (multipass_procedure_with_splits) Keep track of success. - (multipass_split_callback) Ditto. - (multipass_split_output) Ditto. - (discard_variables) No need to call ctl_stack_clear() anymore - because finalizers will do that. - (proc_capture_transformations) New function. - (add_transformation) Rewrite in terms of trns_chain_append(). - (add_transformation_with_finalizer) New function. - (next_transformation) Rewrite in terms of trns_chain_next(). - (proc_in_temporary_transformations) New function. - (proc_start_temporary_transformations) New function. - (proc_make_temporary_transformations_permanent) New function. - (proc_cancel_temporary_transformations) New function. - (cancel_transformations) Rename proc_cancel_all_transformations(), - rewrite in terms of trns_chain_destroy(). - (proc_init) New function. - (proc_done) New function. - (proc_set_sink) New function. - (proc_set_source) New function. - (proc_has_source) New function. - (proc_capture_output) New function. - (add_case_limit_trns) New function. - (case_limit_trns_proc) New function. - (case_limit_trns_free) New function. - (add_filter_trns) New function. - (filter_trns_proc) New function. - (add_process_if_trns) New function. - (process_if_trns_proc) New function. - (process_if_trns_free) New function. - -Wed Apr 26 20:00:00 2006 Ben Pfaff - - * procedure.c (create_trns_case): Fix inverted decision on whether - numeric values should be initialized to 0 or SYSMIS. - -Wed Apr 26 19:48:52 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, assert - that add_transformation() is not called during procedure - execution. Thanks to John Darrington for the suggestion. - - * procedure.c: (static var in_procedure) New var. - (internal_procedure) Get rid of recursive_call local var and - logic. - (open_active_file) Set in_procedure and make sure it wasn't - already set. - (close_active_file) Reset in_procedure and make sure it was - already set. - (add_transformation) Make sure we're not in a procedure. - -Wed Apr 26 19:33:52 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, break - procedure.c into multiple files. - - * procedure.c (vfm_last_invocation): Rename - time_of_last_procedure(). Update all references. - (struct storage_stream_info) Move to data/storage-stream.c. - (storage_sink_open) Ditto. - (destroy_storage_stream_info) Ditto. - (storage_sink_write) Ditto. - (storage_sink_destroy) Ditto. - (storage_sink_make_source) Ditto. - (var storage_sink_class) Ditto. - (storage_source_count) Ditto. - (storage_source_read) Ditto. - (storage_source_destroy) Ditto. - (storage_source_class) Ditto. - (storage_source_get_casefile) Ditto. - (storage_source_create) Ditto. - (null_sink_class) Move to data/case-sink.c. - (create_case_source) Move to data/case-source.c. - (free_case_source) Ditto. - (case_source_is_class) Ditto. - (create_case_sink) Move to data/case-sink.c. - (free_case_sink) Ditto. - - * procedure.h: (struct case_source) Move to data/case-source.h. - (struct case_source_class) Ditto. - (struct case_sink) Move to data/case-sink.h. - (struct case_sink_class) Ditto. - -Thu Apr 27 09:28:25 WST 2006 John Darrington - - * automake.mk: Removed explicit dependencies for message.o, since - that module no longer exists. - -Wed Apr 26 15:29:45 2006 Ben Pfaff - - Start reforming procedure execution. In this phase, get rid of - function prototypes for never-defined functions. - - * procedure.h: Get rid of function prototypes for never-defined - functions. - -Wed Apr 26 12:58:46 2006 Ben Pfaff - - Improve the way we handle the various parsing "states". Until now - we've hard-coded the state transitions in the command definition - file, but that's error-prone and, worse, it's redundant--we can - figure out what state we're in anyhow. We can cleanly handle - INPUT PROGRAM and FILE TYPE with a nested command-processing loop. - - * procedure.c (case_source_is_complex): Removed. - (discard_variables) No need to set pgm_state anymore. - -Tue Apr 25 11:06:49 2006 Ben Pfaff - - Finish reforming error message support. In this phase, move - message.c into libpspp. - - * message.c: Move to libpspp. - -Tue Apr 25 10:47:37 2006 Ben Pfaff - - Continue reforming error message support. In this phase, drop - actual message printing from core code, substituting a callback, - and add the callback to each UI. Also, move verbose_msg() into - its own module. - - * message.c: (var err_error_count) Renamed error_count and moved - to ui/terminal/msg-ui.c. - (var err_warning_count) Renamed warning_count and moved to - ui/terminal/msg-ui.c. - (err_check_count) Renamed check_msg_count() and moved to - ui/terminal/msg-ui.c. - (dump_message) Rewrote to take stream instead of function pointer - and moved to ui/terminal/msg-ui.c. - (msg_emit) Moved its guts to ui/terminal/msg-ui.c as handle_msg() - and rewrote to just pass message to callback. - - (var err_verbosity) Renamed "verbosity" and moved to - libpspp/verbose-msg.c. - (verbose_msg) Moved to libpspp/verbose-msg.c. - - (var err_already_flagged) Removed. - (puts_stdout) Removed. - - (var msg_handler) New static variable. - (msg_init) New function. - (msg_get_command_name) New function. - -Mon Apr 24 17:40:08 2006 Ben Pfaff - - Continue reforming error message support. In this phase, rename - all the message functions and types to start with "msg", except - for the ones that will be moving to other modules anyway. - - All references to the identifiers below were updated likewise. - - * message.c: (err_done) Renamed msg_done(). - (err_push_file_locator) Renamed msg_push_msg_locator(). - (err_pop_file_locator) Renamed msg_pop_msg_locator(). - (err_location) Renamed msg_location(). - (err_set_command_name) Renamed msg_set_command_name(). - -Mon Apr 24 14:11:33 2006 Ben Pfaff - - * message.c: Use exit.h from gnulib instead of checking for and - defining EXIT_SUCCESS and EXIT_FAILURE by hand. - -Sun Apr 23 22:00:23 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * message.c: (tmsg) Removed. - (msg) Use err_msg() instead of err_vmsg(). Format message - ourselves. - (err_vmsg) Renamed err_msg(). Changed interface, dropping message - and va_list args which are now in the error struct. - -Sun Apr 23 20:35:28 2006 Ben Pfaff - - Continue reforming error message support. - - * message.c: Use linebreak module from gnulib instead of home-brew - line breaking. - (puts_stdout) Rewrote. - (dump_message) Rewrote. Changed interface and updated all callers. - (compulsory_break) Removed. - (char_is_break) Removed. - (break_before) Removed. - (break_after) Removed. - (macro BREAK_LONG_WORD) Removed. - -Sun Apr 16 20:41:10 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we - divide the classification of messages along "category" and - "severity" axes. - - * message.c: (err_vmsg) Rewrite to deal with categories and - severities in a straightforward manner instead of mixing them into - classes. - [0] (puts_stderr) Removed (dead code). - (msg) Changed first argument from `int' to `enum msg_class'. - (tmsg) Ditto. - -Sun Apr 16 18:53:12 2006 Ben Pfaff - - GNU standards require "file name" instead of "filename" in - documentation. It's nice for our code to follow the convention - too. - - Basically did search and replace in the whole source tree. Major - changes in function names or struct member names have their own - change log entries. - -Sun Apr 16 15:58:56 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we get - rid of VM() and the other msg() support for "verbosity", replacing - it by a new function verbose_msg(). - - * message.c: (verbose_msg) New function. - (err_vmsg) Remove support for verbosity levels. - -Sun Apr 16 11:46:51 2006 Ben Pfaff - - Start reforming error message support. In this phase, we get rid - of "installation errors" and change all uses of msg() in the - output drivers to uses of error() or error_at_line(). - - * message.c: (err_vmsg) Get rid of IE, IS support. - -Sat Mar 11 14:17:47 WST 2006 John Darrington - - * automake.mk: Changed the pattern specific AM_CPPFLAGS to two target - specific ones. Eventually there will be none at all. - - * automake.mk: Moved the pspp binary to ui/terminal - -Sat Mar 4 12:59:08 2006 Ben Pfaff - - * In many source files, #include "compiler.h" to get GCC attribute - definitions. - -Sat Mar 4 12:28:09 2006 Ben Pfaff - - * In many source files, replace INT_DIGITS by - INT_STRLEN_BOUND(int) and include intprops.h. - -John Darrington: - - * Replaced '_' with '-' in most filenames. - - * Renamed files as follows: - vfm.[ch] to procedure.[ch] - error.[ch] to message.[ch] - getl.[ch] to line-buffer.[ch] - mkfile.[ch] to make-file.[ch] - pfm-write.h to por-file-writer.h - pfm-write.c to por-file-writer.c - sfmP.h to sfm-private.h - lex-def.c to identifier.c - lex-def.h to identifier.h - sfm-read.c to sys-file-reader.c - sfm-read.h to sys-file-reader.h - sfm-write.h to sys-file-writer.h - sfm-write.c to sys-file-writer.c - chart.[ch] to chart-geometry.[ch] - val.h to value.h - var.h to variable.h - vars-atr.c to variable.c - ctl-stack.c to control-stack.c - ctl-stack.h to control-stack.h - dfm-read.c to data-reader.c - dfm-write.c to data-writer.c - dfm-write.h to data-writer.h - dfm-read.h to data-reader.h - apply-dict.c to apply-dictionary.c - mis-val.c to missing-values.c - sysfile-info.c to sys-file-info.c - modify-vars.c to modifiy-variables.c - rename-vars.c to rename-variables.c - val-labs.c to value-labels.c - var-display.c to variable-display.c - var-labs.c to variable-label.c - format-prs.c to format-parser.c - range-prs.c to range-parser.c - range-prs.h to range-parser.h - subclist.c to subcommand-list.c - subclist.h to subcommand-list.h - vars-prs.c to variable-parser.c - descript.c to descriptives.c - sort-prs.c to sort-criteria.c/sort-cases.c - sort-prs.h to sort-criteria.h - sel-if.c to select-if.c - algorithm.c to array.c - algorithm.h to array.h - bitvector.h to bit-vector.h - som.c to manager.c - som.h to manager.h - tab.h to table.h - tab.c to table.c - readln.c to read-line.c - readln.h to read-line.h - cmdline.c to command-line.c - cmdline.h to command-line.h - - -Sat Feb 11 22:35:20 2006 Ben Pfaff - - General clean-ups and minor bug fixes. - - * filename.h: Move DIR_SEPARATOR, PATH_SEPARATOR here from - pref.h.orig. - - * lex-def.h: (macro CHAR_IS_ID1) Removed. All references changed - to lex_is_id1(). - (macro CHAR_IS_IDN) Removed. All references changed to - lex_is_idn(). - - * lex-def.c: (lex_is_id1) New function. - (lex_is_idn) New function. - (lex_skip_identifier) New function. - (lex_id_match_len) Return bool instead of int. - (lex_id_match) Ditto. - - * command.c: (parse_command_name) Convert parsed words to - uppercase to make error messages easier to read. - (cmd_host) Fix return value. - - * dfm-read.c: (read_inline_record) Use tokens to check for BEGIN - DATA, not specialized lexical analysis. - - * print.c: (print_space_trns_proc) Count of lines should be `int', - otherwise we might never finish. - (print_space_trns_free) Close writer. - - * lexer.c: (enum string_type) New enum. - (lex_get) Remove essentially unused local variable `cp'. - Use enum string_type values. Use parse_id(). - (parse_id) New function. - (lex_look_ahead) Recognize octal strings too. - (strip_comments) New function. - (lex_get_line) Rewrite. - (lex_preprocess_line) Removed. - (convert_numeric_string_to_char_string) Use enum string_type. - (parse_string) Ditto. - - * autorecode.c: (recode) Clone correct number of bytes based on - source string width. - -Sat Feb 11 22:34:38 2006 Ben Pfaff - - Reduce dependencies on getl, and of getl. - - * data-in.c: (vdls_error) Don't output different message depending - on whether we're interactive. - - * getl.h: (struct getl_line_list) Removed. - (struct getl_script) Removed. - (GETL_PRPT_*) Removed. - (GETL_MODE_*) Removed. - (GETL_PROMPT_FIRST, GETL_PROMPT_LATER, GETL_PROMPT_DATA, - GETL_PROMPT_CNT) New enums. - - * settings.c: (static var prompt) Removed. - (static var cprompt) Removed. - (static var dprompt) Removed. - (settings_done) Don't initialize prompt, cprompt, dprompt. - (get_prompt) Removed. - (set_prompt) Removed. - (get_dprompt) Removed. - (set_dprompt) Removed. - (get_cprompt) Removed. - (set_cprompt) Removed. - - * pfm-read.c: (corrupt_msg) Don't show filename and line number, - to get rid of getl_location(). - - * sfm-read.c: (corrupt_msg) Ditto. - - * getl.c: (struct getl_source) New. - (static var cur_source) New. - (static var last_source) New. - (static var DO_REPEAT_level) Removed. - (global var getl_head) Removed. - (global var getl_tail) Removed. - (getl_initialize) Call init_prompts(). - (getl_add_file) Removed. - (getl_include) Removed. - (getl_add_DO_REPEAT_file) Removed. - (getl_handle_line_buffer) Removed. - (getl_close_file) Removed. - (getl_close_all) Removed. - (getl_is_separate) Removed. - (getl_set_separate) Removed. - (getl_reading_script) Removed. - (append_source) New function. - (include_source) New function. - (create_source) New function. - (create_syntax_file_source) New function. - (create_filter_source) New function. - (create_function_source) New function. - (create_interactive_source) New function. - (getl_append_syntax_file) New function. - (getl_include_syntax_file) New function. - (getl_include_filter) New function. - (getl_include_function) New function. - (getl_append_interactive) New function. - (getl_abort_noninteractive) New function. - (getl_is_interactive) New function. - (close_source) New function. - (getl_location) Use new `cur_source' var. - (getl_uninitialize) Use close_source(). Call uninit_prompts(). - (read_syntax_file) New function. - (read_line_from_source) New function. - (do_read_line) New function. - (getl_read_line) Rewrite. - (static var prompts) New. - (static var current_style) New. - (init_prompts) New function. - (uninit_prompts) New function. - (getl_get_prompt) New function. - (getl_set_prompt) New function. - (getl_set_prompt_style) New function. - (get_prompt) New function. - - * command.c: Merge the EXIT (aka Q, aka QUIT) and FINISH commands, - and make EXIT undocumented. EXIT was a PSPP extension that never - really entirely made sense. - (cmd_exit) Removed. - (cmd_finish) Return CMD_EOF unconditionally. - (cmd_clear_transformations) Drop requirement of interactivity. - - * command.def: Merge the EXIT (aka Q, aka QUIT) and FINISH - commands. - - * repeat.c: Major changes to match getl revision. - (struct line_list) New struct. - (enum repeat_entry_type) New. - (struct repeat_entry) Made `type' an enum repeat_entry_type. - (struct repeat_block) New. - (static var repeat_tab) Removed. - (static var count) Removed. - (static var line_buf_head) Removed. - (static var line_buf_tail) Removed. - (cmd_do_repeat) Rewritten. - (clean_up) Removed. - (append_record) Removed. - (recognize_keyword) New function. - (internal_cmd_do_repeat) Removed. - (parse_specification) New function. - (skip_indentor) New function. - (recognize_do_repeat) New function. - (recognize_end_repeat) New function. - (parse_lines) New function. - (create_vars) New function. - (parse_ids) Use enum repeat_entry_type. - (parse_strings) Ditto. - (find_DO_REPEAT_substitution) Renamed find_substitution(), - rewrote. - (perform_DO_REPEAT_substitutions) Renamed do_repeat_filter(), - rewrote. - (do_repeat_read) New function. - (do_repeat_close) New function. - - * data-list.c: Don't need to keep track of eof from getl anymore, - because getl can tell us now. - (struct data_list_pgm) Removed `eof' member. - (cmd_data_list) Don't assign to `eof'. - (get_data_list_read_func) Renamed read_from_data_list(), changed - interface. - (read_from_data_list_fixed) Changed interface. - (read_from_data_list_free) Changed interface. - (read_from_data_list_list) Changed interface. - (data_list_trns_proc) Rewrote based on dfm_eof() and - dfm_reader_error(). - (data_list_source_read) Check for dfm reader errors. - - * dfm-read.c: (enum dfm_reader_flags) Removed DFM_EOF in favor of - new `eof_cnt' member in struct dfm_reader. - (struct dfm_reader) New `eof_cnt' member. - (dfm_close_reader) Check `eof_cnt', not DFM_EOF. - (dfm_open_reader) Initialize `eof_cnt'. - (read_inline_record) Set prompt style with - getl_set_prompt_style(). - (read_record) Rewrite. - (cmd_begin_data) Set prompt style with getl_set_prompt_style(). - - * include.c: (cmd_include) Use getl_include_syntax_file(). - - * set.q: (cmd_set) Use getl_set_prompt(). - - * html.c: (postopen) Remove "source-file" expansion variable, to - avoid use of getl_location(). - - * postscript.c: (postopen) Remove "source-file" expansion - variable, to avoid use of getl_location(). - - * cmdline.c: (parse_command_line) Drop -c command line option, - because it wasn't very useful. -i command line option now calls - getl_append_interactive(). Use new getl function interfaces. - Drop support for clearing dictionary between syntax files and thus - the "+" command line syntax. - (static var pre_syntax_message) Remove description of now-gone -c - option. Remove "+" command line syntax. - - * main.c: (main) Only call handle_error() if the return value is - an error. - (execute_command) Use getl_set_prompt_style(). Drop support for - clearing dictionary between syntax files. - (handle_error) Handle CMD_CASCADING_FAILURE. Don't call err_break(). - - * readln.c: Drop lots of #ifdefs. Now that the Autoconf tests are - pickier, we can just use HAVE_READLINE. - (static var welcomed) Move into welcome(). - (welcome) Make `welcomed' a local static var. Check for and read - history file here. - (global var getl_mode) Removed. - (global var getl_interactive) Removed. - (global var getl_prompt) Removed. - (getl_read_line) removed. - (readln_read) New function. - (read_console) Removed. - - -Sat Feb 11 22:16:21 2006 Ben Pfaff - - Try to reduce some of the nastier dependencies on the error - module, and at the same time make PSPP nicer to deal with, by - getting rid of fatal errors. All the existing calls to msg (FE, - ...) or err_cond_fail() or err_failure() have been replaced by - propagating an error upward to the command-dispatch layer. - Unfortunately this propagation took a fair bit of extra mechanism, - because now a lot of functions can fail that couldn't before. - - New command return value CMD_CASCADING_FAILURE which indicates to - the command processor that syntax file processing should be - abandoned. Many commands were modified to return - CMD_CASCADING_FAILURE. When this modification was trivial it - isn't mentioned in detail below. - - Transformation procedures (trns_proc_func) and free functions - (trns_free_func) now have a `bool' return type, which is normally - true, but false when an I/O or other serious error occurs. All - transformation functions were modified to have this return type. - When this modification was trivial it isn't mentioned in detail - below. - - * pspp-error.h: (FE) Removed this error class. - - * error.c: (err_failure) Removed. - (err_cond_fail) Removed. - (err_break) Removed (it was unused). - (err_check_count) Don't cause a fatal error--instead, stop reading - the syntax file. - (err_vmsg) Don't have FE anymore, so no need to call terminate(). - - * any-reader.c: (any_reader_error) New function. - - * any-writer.c: (any_writer_write) Propagate - scratch_writer_write_case()'s new return value. - (any_writer_error) New function. - (any_writer_close) Propagate underlying function's new return - value. - - * casefile.c: Add an "error state" to a casefile. A casefile that - encounters an I/O error enters the error state, and afterward - reading and writing cases fails. - (struct casefile) Add `ok' member. - (casefile_create) Set `ok' to true. - (casefile_destroy) Use io_error(). - (casefile_error) New function. - (casefile_sleep) Now returns bool to indicate success. - (casefile_append) Ditto. - (casefile_append_xfer) Ditto. - (casefile_to_disk) Ditto. - (write_case_to_disk) Don't do anything in error state. - (flush_buffer) Don't do anything in error state. Use io_error(). - (reader_open_file) Ditto. - (fill_buffer) Ditto. - (casereader_read) Don't do anything in error state. Handle - errors. - (casereader_read_xfer_assert) Removed, because now an I/O error - can occur even if the caller knows a case exists. - (io_error) New function. - - * mkfile.c: (make_temp_file) Make failure non-fatal. - (make_unique_file_stream) Ditto. - - * pfm-read.c: Add an error state. - (struct pfm_reader) Add `ok' member to indicate error state. - (error) Set `ok' to false. - (pfm_open_reader) Set `ok' to true. Make failure non-fatal. - (pfm_read_case) Don't do anything in error state. - (pfm_read_error) New function. - - * pfm-write.c: Postpone most error checking in favor of checking - ferror() afterward. - (pfm_open_writer) Make failure non-fatal. Check for write error - after writing header. - (buf_write) Don't do anything if error has occurred. Postpone - error checking. Change return type to void. - (write_float) Postpone error checking. Change return type to - void. - (write_int) Ditto. - (write_string) Ditto. - (write_header) Ditto. - (write_version_data) Ditto. - (write_format) Ditto. - (write_value) Ditto. - (write_variables) Ditto. - (write_value_labels) Ditto. - (pfm_write_case) Don't do anything if error has occurred. - (pfm_write_error) New function. - (pfm_close_writer) Change return type to bool. Return false if an - I/O error occurred. - - * scratch-reader.c: (scratch_reader_error) New function. - - * scratch-writer.c: (scratch_writer_write_case) Change return type - to bool. Propagate casefile error return. - (scratch_writer_error) New function. - (scratch_writer_close) Change return type to bool. Propagate - casefile error return. - - * sfm-read.c: Add an error state. - (struct sfm_reader) Add `ok' member. - (sfm_open_reader) Initialize `ok'. Make errors non-fatal. - (buf_read) Set `ok' to false on error. - (buffer_input) Do nothing in error state. Set `ok' to false on - error. - (read_compressed_data) Set `ok' false on error. - (sfm_read_case) Return false in error state. - (fread_ok) Set `ok' false on error. - (sfm_read_error) New function. - - * sfm-write.c: Postpone most error checking in favor of checking - ferror() afterward. - (sfm_open_writer) Make failure non-fatal. Check for write error - after writing header. - (write_header) Postpone error checking. Change return type to - void. - (write_variable) Ditto. - (write_value_labels) Ditto. - (write_documents) Ditto. - (write_variable_display_parameters) Ditto. - (write_longvar_table) Ditto. - (write_rec_7_34) Ditto. - (buf_write) Ditto. - (ensure_buf_space) Ditto. - (sfm_write_case) Do nothing if write error has occurred. - (sfm_write_error) New function. - (pfm_close_writer) Change return type to bool. Return false if an - I/O error occurred. - - * var.h: Introduced a new return value for trns_proc_func that - means "a serious error has occurred, so abort the procedure - entirely". Because the hard-coded values of -1, -2, etc. were - becoming even a worse idea now, also introduced some macros for - them: TRNS_CONTINUE, TRNS_DROP_CASE, TRNS_ERROR, TRNS_NEXT_CASE, - TRNS_END_FILE. Also replaced all references to the hard-coded - values by uses of the macros. - - * command.h: New command return value CMD_CASCADING_FAILURE which - indicates to the command processor that syntax file processing - should be abandoned. - - * dfm-read.c: (dfm_open_reader) Make failure non-fatal. - (dfm_reader_error) New function. - (read_inline_record) Make unexpected end of file nonfatal. - (read_file_record) Make read error nonfatal. - (dfm_eof) Make second unexpected end of file nonfatal. - (cmd_begin_data) Make errors nonfatal. - - * dfm-write.c: (dfm_open_writer) Make failure non-fatal. - (dfm_write_error) New function. - (dfm_put_record) Do nothing in error state. Now return error - state. - (dfm_close_reader) Now return `bool' indicating error state. - - * file-type.c: (file_type_source_read) Now return `bool' - indicating error state. - - * get.c: (case_reader_source_read) Now return `bool' indicating - write error. - (case_writer_destroy) Ditto. - (case_writer_write_case) Ditto. - (struct mtf_proc) New member `ok' indicating error state. - (cmd_match_files) Initialize and deal with `ok'. - (mtf_processing_finish) Now return `bool' indicating I/O error. - (mtf_free_file) Renamed mtf_close_file(). Now return `bool' - indicating I/O error. - (mtf_free) Now return `bool' indicating I/O error. - (mtf_delete_file_in_place) Ditto. - (mtf_read_nonactive_records) Ditto. - (mtf_processing) Ditto. - - * inpt-pgm.c: (input_program_source_read) Now return `bool' - indicating I/O error. Handle new TRNS_ERROR transformation return - value. - - * matrix-data.c: Introduce error state. - (cmd_matrix_data) Check error return values. - (read_matrices_without_rowtype) Now return `bool' indicating I/O - error. - (matrix_data_read_without_rowtype) Ditto. - (dump_cell_content) Ditto. - (nr_output_data) Ditto. - (read_matrices_with_rowtype) Ditto. - (matrix_data_read_with_rowtype) Ditto. - (wr_output_data) Ditto. - - * lexer.c: (lex_init) Make unexpected eof non-fatal. - (lex_get) Ditto. - (lex_look_ahead) Ditto. - (unexpected_eof) Removed. - (convert_numeric_string_to_char_string) Make unexpected eof - non-fatal. - (parse_string) Ditto. - - * flip.c: Make I/O errors non-fatal. - (struct flip_pgm) Add `pool', `output_buf' members. - (cmd_flip) Create and use pool. Propagate errors. - (destroy_flip_pgm) Rewrite, using pool. - (struct flip_sink_info) Removed. - (flip_sink_create) Use pool. Make errors non-fatal. - (flip_sink_write) Make errors non-fatal. - (flip_file) Make errors non-fatal. Make `bool' return type to - indicate failure. - (flip_sink_destroy) Remove. - (static var flip_sink_class) Use NULL as destroy func, not - flip_sink_destroy(). - - * sort.c: Make I/O errors non-fatal. Propagate errors. - (sort_active_file_in_place) Propagate errors. - (sort_active_file_to_casefile) Ditto. - (do_internal_sort) Ditto. - (do_external_sort) Ditto. - (write_runs) Ditto. - (destroy_initial_run_state) Propagate errors via new `bool' return - type. - (merge) Propagate errors. - (merge_once) Ditto. - - * output.c: [GLOBAL_DEBUGGING] Remove reentrancy detection, - because it used msg (FE, ...) and wasn't very useful. - - * main.c: (handle_error) Handle CMD_CASCADING_FAILURE. - - * vfm.c: (struct write_case_data) Change `proc_func' return type - to bool. - (procedure) Add `bool' return type to indicate I/O error. - Propagate errors. - (internal_procedure) Ditto. - (write_case) Ditto. - (execute_transformations) If a transformation returns TRNS_ERROR, - propagate the error. - (close_active_file) Add `bool' return type to indicate I/O error. - Propagate errors. - (cancel_transformations) Add `bool' return type to indicate I/O - error. Propagate errors. - (struct split_aux_data) Change `proc_func' return type to bool. - (procedure_with_splits) Change `proc_func' return type to bool. - Add `bool' return type to indicate I/O error. - (multipass_procedure_with_splits) Change `split_func' return type - to bool. Add `bool' return type to indicate I/O error. - (multipass_split_callback) Add `bool' return type to indicate I/O - error. Propagate errors. - - * vfm.h: (struct case_source_class) Change `read' return type from - void to bool to allow reporting I/O errors. Updated all - implementations to do so. - (struct case_sink_class) Change `write' return type from void to - bool to allow reporting I/O errors. Updated all implementations - to do so. - -Sun Feb 12 18:12:56 2006 Ben Pfaff - - * pool.c: Useful new functions. - (pool_tmpfile) New function. - (pool_attach_file) New function. - (pool_detach_file) New function. - (pool_fopen) Reimplement in terms of pool_attach_file(). - (pool_fclose) Reimplement in terms of pool_detach_file(). Fix - double-free. - - * str.c: Useful new functions. - (ds_swap) New function. - (ds_rtrim_spaces) New function. - (ds_chomp) New function. - (ds_is_empty) New function. - (ds_first) New function. - (ds_last) New function. - -Sat Feb 11 21:51:21 2006 Ben Pfaff - - Get rid of finished, start_interactive globals. - - * command.c: (cmd_exit) Instead of setting `finished', return - CMD_EOF. - (cmd_finish) Ditto. - - * command.h: New enum CMD_EOF. - - * main.c: (global var finished) Removed. - (global var start_interactive) Removed. - (main) Execute commands until CMD_EOF is the return value. - If parse_command_line() returns false, don't execute any commands - at all. - - * cmdline.c: (parse_command_line) If the command line indicates we - shouldn't execute syntax files, return false instead of - terminating. - (usage) Don't terminate. - -Sat Feb 11 21:48:31 2006 Ben Pfaff - - Get rid of cur_proc global. Replace by functions in err and tab - modules, which were the users. - - * error.c: (static var command_name) New static var. - (err_vmsg) Use command_name. - (err_set_command_name) New function. - - * tab.c: (static var command_name) New static var. - (tabi_title) Use command_name. - (tab_set_command_name) New function. - - * command.c: (global var cur_proc) Removed. - (cmd_parse) Call err_set_command_name(), tab_set_command_name() - around executing command to set and clear command name. - -Sat Feb 11 21:44:50 2006 Ben Pfaff - - Get rid of glob.c, glob.h. - - * Makefile.am: (pspp_SOURCES) Remove glob.c, glob.h. - - * dictionary.c: Move default_dict definition here. - - * glob.c: Removed. - (global var FILTER_before_TEMPORARY) Variable removed. All - references deleted. The info in this var was redundant with - temp_dict, so they were changed to use temp_dict where needed. - - * glob.h: Removed. - - * start-date.c: New file. Moved get_start_date() here. - - * start-date.h: New file. - -Fri Feb 3 20:34:52 2006 Ben Pfaff - - * font.h: (struct font_set) Removed, because unused. - -Sat Jan 28 17:45:36 2006 Ben Pfaff - - Cleaner (faster?) way to compact cases. - - * dictionary.c: (dict_compact_case) Removed. - (dict_needs_compaction) New function. - (struct copy_map) New structure. - (struct dict_compactor) New structure. - (dict_make_compactor) New function. - (dict_compactor_compact) New function. - (dict_compactor_destroy) New function. - -Sat Jan 28 17:24:22 2006 Ben Pfaff - - Cleanups. - - * data-list.c: Make data_list_source_class static. - (dump_fixed_table) Use fh_get_name() to describe source of data. - (dump_free_table) Ditto. - (cmd_repeating_data) Eliminate special cases for inline file. - - * dictionary.c: (dict_contains_var) Change return value from int to - bool. - (dict_rename_vars) Ditto. - (dict_create_vector) Ditto. - -Sat Jan 28 17:20:50 2006 Ben Pfaff - - Add scratch file handles. - - Now a file handle can refer to a disk file, to an in-memory - structure, or to the "inline" file, instead of just to a disk - file. The introduction of new categories means that special cases - for the inline file in a few places could be eliminated, but it - also means that code that assumed that a handle refers to a file - has to check for that. - - Also, now file handles can be freed, so code now must be sure not - to access a handle after closing it (with fh_close()). - - * Makefile.am: Add any-reader.c, any-reader.h, any-writer.c, - any-writer.h, scratch-handle.c, scratch-handle.h, - scratch-reader.c, scratch-reader.h, scratch-writer.c, - scratch-writer.h to pspp_SOURCES. - - * any-reader.c: New file. - - * any-reader.h: New file. - - * any-writer.c: New file. - - * any-writer.h: New file. - - * scratch-handle.c: New file. - - * scratch-handle.h: New file. - - * scratch-reader.c: New file. - - * scratch-reader.h: New file. - - * scratch-writer.c: New file. - - * scratch-writer.h: New file. - - * aggregate.c: Use an any_writer instead of an sfm_writer, to add - flexibility. - - * apply-dict.c: Use an any_reader instead of an sfm_reader, to add - flexibility. - - * command.def: Add CLOSE FILE HANDLE command. - - * dfm-reader.c: Now fewer special cases for inline file. - (static var inline_open_cnt) Removed. - (static var inline_file) Removed. - (dfm_close_reader) Eliminate a special case for inline file. - Reorganize to avoid access-after-free. - (dfm_open_reader) Eliminate a special case for inline file. - (read_inline_record) Use bool instead of int. No need to - increment line number. - (read_file_record) Use bool instead of int. - (read_record) Check whether file handle is inline file, instead of - for null pointer. - (dfm_eof) Ditto. - (dfm_expand_tabs) Ditto. - (dfm_push) Ditto. - (dfm_pop) Ditto. - (cmd_begin_data) Fix inaccurate check for whether the inline file - is in use--now we can tell by checking whether the inline file's - open count is positive. - - * file-handle-def.c: (struct file_handle) Reorder members. Add - `deleted' member. Add `referent' member. Add `sh' member. - (static var default_handle) New variable. - (static var inline_file) New variable. - (fh_init) Initialize inline file. - (free_handle) New function. - (fh_done) Rewrite. - (fh_from_name) Don't return deleted handles. - (fh_from_filename) Ditto. - (fh_create) Removed. - (create_handle) New function. - (fh_create_file) New function. - (fh_create_scratch) New function. - (fh_inline_file) New function. - (fh_free) Rewrite. - (fh_open) Now requires a referent type mask and verifies it. All - references updated. - (fh_close) If open_cnt goes to 0 on a deleted handle, free it. - (fh_is_open) New function. - (fh_get_referent) New function. - (fh_get_filename) Limit to handles that refer to files. - (fh_get_mode) Ditto. - (fh_get_record_width) Limit to handles that refer to files or the - inline file. - (fh_get_tab_width) Ditto. - (fh_get_scratch_handle) New function. - (fh_set_scratch_handle) New function. - (fh_get_default_handle) New function. - (fh_set_default_handle) New function. - - * file-handle.h: (enum fh_referent) New type. - (enum fh_mode) Rename MODE_TEXT to FH_MODE_TEXT, MODE_BINARY to - FH_MODE_BINARY, and update all usages. - - * file-handle.q: Add "scratch" as a possible mode. - (cmd_file_handle) Mention CLOSE FILE HANDLE in error message. - Use lex_end_of_command(), lex_sbc_missing(). Support creating - scratch handles. - (cmd_close_file_handle) New function. - (referent_name) New function. - (fh_parse) Now takes a referent type mask to specify handles that - can be accepted. Updated all references. - - * filename.c: (fn_extension) New function. - - * get.c: Use any_reader and any_writer and thereby merge code that - has been duplicated for each kind of file. Also, we had something - here called `any_writer' before, so its name had to be changed to - `case_writer'. - (enum operation) Removed, because unused. - (struct get_pgm) Removed. - (get_pgm_free) Removed. - (get_source_destroy) Removed. - (get_source_read) Removed. - (global var get_source_class) Removed. - (static var case_reader_source_class) Removed. - (enum reader_command) New enum. - (struct case_reader_pgm) New struct. - (parse_read_command) New function. - (case_reader_pgm_free) New function. - (case_reader_source_destroy) New function. - (case_Reader_source_Read) New function. - (cmd_get) Rewrote as a call to parse_read_command(). - (cmd_import) Ditto. - (struct any_writer) Rename to case_writer. Drop `writer_type', - `writer' members in favor of an `any_writer' member named - `writer'. - (any_writer_destroy) Rename case_writer_destroy. Use - any_writer_close(). - (parse_write_command) Allow scratch files. Use any_writer. - (any_writer_write_case) Rename case_writer_write_case(). Use - any_writer_write(). -` (struct mtf_file) Use any_reader. - (cmd_match_files) Allow scratch files. Use any_reader. - (mtf_free_file) Use any_reader_close(). - (mtf_read_nonactive_records) Use any_reader_read(). - (mtf_processing) Use any_reader_read(). - (struct import_pgm) Removed. - (import_pgm_free) Removed. - (import_source_destroy) Removed. - (import_source_read) Removed. - (global var import_source_class) Removed. - - * glob.c: (global var default_handle) Removed. Replaced all - references by fh_get_default_handle() or fh_set_default_handle(). - - * pfm-read.c: (static var portable_to_local) Moved from inside - read_header() to top level. - (pfm_detect) New function. - - * pfm-write.c: (pfm_write_case) Make case argument const. - Reorganize to avoid access-after-free. - - * print.c: (dump_table) Use fh_get_name() to describe source of - data. - - * sfm-read.c: (sfm_close_reader) Reorganize to avoid - access-after-free. - (sfm_detect) New function. - - * str.c: (str_lowercase) New function. - - * vfm.c: Use new compaction interface. - (static var compaction_necessary) Removed. - (static var compactor) New variable. - (open_active_file) Initialize compactor. - (write_case) Use compactor. - (close_active_file) Free compactor. - -Wed Jan 11 19:28:39 2006 Ben Pfaff - - Clean up file handle code in preparation to add scratch file - handles. - - * file-handle-def.c: Lots of formatting cleanup. Added function - comments. - (struct file_handle) Renamed `length' member - to `record_width'. All references updated. - (fh_init) New function. Moved here from file-handle.q. - (fh_done) New function. Moved here from file-handle.q and - rewrote. - (get_handle_with_name) Renamed fh_from_name(). - (get_handle_for_filename) Renamed fh_from_filename(). - (create_file_handle) Renamed fh_create(). Changed to take a - `struct fh_properties' instead of discrete values. Updated all - references. - (create_file_handle_with_defaults) Removed. Updated all - references to use fh_create() with fh_default_properties(). - (fh_default_properties) New function. - (destroy_file_handle) Removed. The code is now in fh_done(). - (handle_get_name) Renamed fh_get_name(). - (handle_get_filename) Renamed fh_get_filename(). - (handle_get_record_width) Renamed fh_get_record_width(). - (handle_get_tab_width) Renamed fh_get_tab_width(). - - * file-handle-def.h: Formatting, comment fixes. - (enum file_handle_mode) Renamed struct fh_mode. - (struct fh_properties) New structure. - (fh_init) Move prototype here from file-handle.h. - (fh_done) Ditto. - (fh_close) Ditto. - - * file-handle.q: (static var handle_list) Removed. - (fh_parse) Don't add handle to handle_list, because - file-handle-def.c has its own list. - (fh_init) Moved to file-handle-def.c. - (fh_done) Ditto. - -Sun Jan 9 01:09 Jason Stover - - * regression.q: (run_regression) Moved coefficient initialization - to the linreg library. Altered other functions accordingly. - -Sat Jan 7 13:30:54 WST 2006 John Darrington - - * command.c data-in.c main.c: Fixed bug which crept in when - separating getl from readline. - - * vars-atr.c value-labels.h: Fixed constness of val_labs_count. - -Fri Dec 23 20:59:01 WST 2005 John Darrington - - * getl.c error.c: Separated file_loc functionality from error.c - -Mon Dec 19 14:01:56 WST 2005 John Darrington - - * format.c: Additional error checking. - * getl.[ch]: Separated into getl.c and readln.c - * settings.[ch]: Made CC_CNT public - -Fri Dec 16 09:11:48 WST 2005 John Darrington - - * examine.q: Fixed buglet when cleaning up at end of procedure. - -Tue Dec 13 22:34:42 2005 Ben Pfaff - - Move global initialization and cleanup code into main.c. - Remove vestigial log infrastructure. - Minor related cleanups. - - * command.c: (shell) When execl() fails, use _exit(), not - err_hcf(). - - * error.c: (err_hcf) Move into main.c, rename terminate(). All - callers updated. - (err_done) New function with just the error.c-specific code for - err_hcf(). Called by terminate(). - - * glob.c: Removed all Borland C, DJGPP cruft. - (init_glob) Merged into main(). - (done_glob) Merged into terminate(). - (get_date) Removed. - (get_start_date) New function. All users of curdate updated to call - this function instead. - - * lexer.c: (lex_init) Moved initialization of tokstr here, from - init_glob(). - (lex_done) Moved destruction of tokstr here, from done_glob(). - - * main.c: (global var pgmname) Removed. Changed all references to - program_name, which is defined by gnulib. - (global var curdate) Removed. - (main) Moved init_glob() code here. Merged parse_script() in - here. - (parse_script) Removed. - (terminate) Moved err_hcf() here from error.c and renamed - terminate(). Merged done_glob() code in here. Call err_done(). - All callers updated. - (i18n_init) New function. - (fpu_init) New function. - - * output.c: (outp_init) Make void. - (init_default_drivers) New function. - (outp_read_devices) If no drivers are initialized successfully, - call init_default_drivers() to initialize a default driver. - (outp_done) Make void. - (static var prog) Make const. - (parse_options) Make parameter const. - (colon_tokenize) Make return value const. - (configure_driver) Change prototype to take a broken-down driver - configuration instead of a line of text. - (configure_driver_line) New function that does what - configure_driver() did before. - - * q2c.c: (global var pgmname) Rename program_name. - - * settings.c: (settings_init) Renamed from init_settings(). - (settings_done) Renamed from done_settings(). - - * vfm.c: (global var last_vfm_invocation) Make static. - (vfm_last_invocation) New function. All references to - last_vfm_invocation update to call this. - (procedure) Call update_last_vfm_invocation(). - (internal_procedure) Ditto. - (update_last_vfm_invocation) New function. - -Sat Dec 10 23:30:19 2005 Ben Pfaff - - Separate random numbers from other settings because of GSL - dependency. - - * Makefile.am: Add random.c, random.h to sources. - - * glob.c: (init_glob) Call random_init(). - (done_glob) Call random_done(). - - * settings.c: (static var rng) Move to random.c. - (done_settings) Move freeing of RNG to random_done(). - (get_rng) Move to random.c - (set_rng) Ditto. - - * random.c: New file. - - * random.h: New file. - -Sat Dec 10 18:13:36 2005 Ben Pfaff - - Separate settings and the SET command, for modularity. - - * Makefile.am: Add settings.c to sources. - - * glob.c: (global variable test_mode) Removed. - - * set.q: Remove all the set_* variables. Remove a lot of obsolete - SPSS/PC+ settings. Remove the aux_*() routines. Moved the - get_*() functions into settings.c. Rewrite the settings code and - functions to call the new set_*() functions. Rewrite custom - currency parsing. Write new by-hand cmd_show(). - - * esttings.c: New file. Moved the get_*() functions here from - set.q. Created new set_*() functions to correspond with them. - Regularized the names and types of some functions and updated - their callers. Added static, file-scope variables to support the - settings. - - * q2c.c: Remove "aux" support, which was only needed by set.q. - -Sun Nov 27 06:43:46 WST 2005 John Darrington - - * data-out.c format.h: Added return value to data_out function. - - * value-labels.c: Fixed bug in val_labs_remove. - -Sat Nov 5 18:37:26 2005 Ben Pfaff - - * Makefile.am: Remove devind.c, devind.h from list of source - files. - - * devind.c: Removed. - - * devind.h: Removed. - - * list.q: Removed "support" for devind. - - * output.c: Don't add devind class. - -Sat Nov 5 18:21:00 2005 Ben Pfaff - - * var.h: (struct variable) Make `init', `reinit' bool values. - Rearrange fields. - -Fri Nov 4 19:43:01 2005 Ben Pfaff - - * recode.c: Rewrote whole file, as clean-up. - -Fri Nov 4 19:37:50 2005 Ben Pfaff - - * pool.c: Don't make alignment exception for x86. - (pool_alloc) Return null for 0-size blocks. - (pool_alloc_unaligned) New function. - (pool_strndup) Removed. Changed callers to use pool_clone_unaligned(). - (pool_clone_unaligned) New function. - (pool_strdup) Use pool_clone_unaligned(). - - * var.h: (enum var_type) Give the NUMERIC, ALPHA enum this name. - (struct variable) Use `enum var_type' for `type'. - - * vars-atr.c: (var_type_adj) New function. - (var_type_noun) New function. - - * vars-prs: (parse_mixed_vars) Fix freeing code. - (parse_mixed_vars_pool) New function. - -Wed Nov 2 21:24:48 2005 Ben Pfaff - - * file-handle-def.c: Needed another #include, to avoid missing - prototype warning. - - * file-handle.q: (cmd_file_handle) Declarations must precede - statements. Free parse data on success as well as on failure, to - avoid memory leak. - - * get.c: (parse_write_command) Destroy dict on success, to avoid - memory leak. - - * data-list.c: (cmd_repeating_data) Fix usage of saw_occurs, - saw_length, saw_continued, saw_id, which were boolean but - incorrectly treated as bitmaps as result of a previous - half-finished cleanup. - - * weight.c: (struct weight_trns) Unused, so removed. - - * Makefile.am: Add range-prs.h to sources. - -Wed Nov 2 21:24:15 2005 Ben Pfaff - - DO IF, LOOP cleanup. - - * Makefile.am: Add ctl-stack.c, ctl-stack.h to source files. - Reformat source file list to list one file per file, so that - patches for future changes will be easier to read. - - * ctl-stack.c, ctl-stack.h: New files. - - * do-if.c: Rewrote whole file. - - * do-ifP.h: Removed. - - * loop.c: Rewrote whole file. - - * glob.c: (global var ctl_stack) Move into ctl-stack.c. - - * temporary.c: (cmd_temporary) Use ctl_stack_is_empty(). - - * vfm.c: (open_active_file) Use ctl_stack_clear(). - -Wed Nov 2 21:18:13 2005 Ben Pfaff - - New pool functions. - - * pool.c: (pool_create_at_offset) New function. - (pool_add_subpool) New function. - - * pool.h: (pool_create_container) New macro. - - * expressions/parse.c: (expr_parse_pool) New function. - - * autorecode.c: (recode) Use pool_create_container(). - - * count.c: (cmd_count) Ditto. - -Wed Nov 2 19:59:32 2005 Ben Pfaff - - Clean up transformations, by getting rid of `struct trns_header', - replacing it by `struct transformation' that has a void * - `private' member. Updated all uses of transformations to match, - which was a lot of code. Only major related changes listed below. - - * compute.c: (cmd_if) Use get_proc_func(). - (cmd_compute) Use get_proc_func(). - (get_proc_func) New function. - - * glob.c: (global var m_trns) Change type to size_t. - (global var n_trns) Ditto. - (global var f_trns) Ditto. - (global var t_trns) Change type to struct transformation *. - - * var.h: (struct trns_header) Removed. - (struct transformation) New. - (typedef trns_proc_func) Takes a void * instead of a struct - trns_header *. - (typedef trns_free_func) Ditto. - - * vfm.c: (execute_transformations) Takes an array of - transformations instead of trns_headers. - (add_transformation) Change prototype from (trns_header *) to - (trns_proc_func *, trns_free_func *, void *). - (next_transformation) New function. - -Sat Oct 29 16:25:36 2005 Ben Pfaff - - * count.c: Major cleanups. Rename practically everything. - Rewrite much of the code. Use pools for memory management. Use - the new parse_num_range(). - - * mis-val.c: (cmd_missing_values) Use the new parse_num_range(). - (parse_number) Removed. - - * missing-values.c: (mv_add_num_range) Don't add out-of-order - ranges, e.g. where low > high. - - * pool.c: (pool_2nrealloc) New function. - - * range-prs.c: New file. - (parse_num_range) New function. - (parse_number) New function. - -Fri Oct 28 22:47:48 2005 Ben Pfaff - - Fix up potential overflows in size calculations by replacing - instances of pool_alloc(p, x * sizeof *y) by pool_malloc(p, x, - sizeof *y) everywhere I could find them. Similarly by - pool_malloc(), pool_realloc(). - (Order is important: pool_alloc(p, sizeof *y, x) will divide by 0 - if x is 0.) - - * pool.c: (pool_nalloc) New function. - (pool_nmalloc) New function. - (pool_nrealloc) New function. - -Thu Oct 27 11:16:53 WST 2005 John Darrington - - Separated the definition of a file handle object from the stuff - pertaining to the FILE HANDLE command. - - * file-handle-def.[ch]: New files. - - * dfm-read.c file-handle.h file-handle.q - -Tue Oct 25 21:56:23 2005 Ben Pfaff - - Fix up potential overflows in size calculations by replacing - instances of xmalloc(x * sizeof *y) by xnmalloc(x, sizeof *y) - everywhere I could find them. Similarly by xrealloc(), malloc(). - (Order is important: xnmalloc(sizeof *y, x) will divide by 0 if x - is 0.) - - * alloc.c: (nmalloc) New function. - (out_of_memory) Removed. Replaced references by xalloc_die(). - - * sort.c: (allocate_cases) Fix segfault if memory allocation - fails. - - * subclist.c: (subc_list_double_create) Use xnmalloc() instead of - malloc(). - (subc_list_double_push) Use xnrealloc() instead of realloc(). - -Wed Oct 26 08:43:51 WST 2005 John Darrington - - Dictionary abstraction part #2 - - * algorithm.c format.c str.c sysfile-info.c val.h var.h vars-atr.c: - Removed unnecessary #include directives - -Mon Oct 24 21:35:08 2005 Ben Pfaff - - * groff-font.c (font_msg): Use err_vmsg() instead of incorrectly - trying to pass a va_list to tmsg(). Thanks to Jason Stover for - reporting this bug. - -Mon Oct 24 21:24:15 2005 Ben Pfaff - - Work to get rid of GCC 4.0 warnings, part 2. - - In many files, change `unsigned char' to `char'. This often - requires adding casts to functions. - - * data-in.c: (parse_A) Use buf_copy_rpad(). - - * str.c: (str_copy_buf_trunc) New function. - - * value-labels.c: (value_to_string) Fix mistaken use of strncpy(), - by rewriting. - -Mon Oct 24 13:42:32 WST 2005 John Darrington - - Moved some definitions to make it easier to abstract a dictionary - from the rest of PSPP. - - * format-prs.c lex-def.[ch]: New files. - - * Makefile.am lexer.[ch] dictionary.c vars-atr.c vfm.c algorithm.c - format.c: Moved some functions between modules. - -Sun Oct 23 19:28:08 2005 Ben Pfaff - - Work to get rid of GCC 4.0 warnings, part 1. - - In many files, change count parameters to parse_variables(), - etc. from `int' to `size_t'. Also change related variables and - struct members. Also change messages as needed (e.g. %d to %u - with cast to unsigned). Also change arithmetic as necessary - (e.g. n >= m - 1 to n + 1 >= m). - - * crosstabs.q: (crs_custom_tables) Check for size_t overflow in - multiplication. - - * q2c.c: (dump_declarations) Generate code for size_t instead of - int. - -Thu Oct 20 18:18:40 2005 Ben Pfaff - - * output.c: (outp_read_devices) Fix message. - -Sat Sep 17 11:13:13 2005 Ben Pfaff - - * matrix-data.c: (cmd_matrix_data) Change type of variable whose - address is passed to dict_get_vars() from size_t to int to match - John's change below. - - * modify-vars.c: (validate_var_modification) Ditto. - -Mon Sep 12 19:26:06 WST 2005 John Darrington - - * dictionary.[ch] Changed cnt from size_t* to int* since that's - what it's called as, and on x86_64 machines they're different sizes. - - * str.c: (ds_vprintf) Copied va_list args so they can be re-used - -Sun Aug 21 00:12:24 2005 Ben Pfaff - - * lexer.c: (lex_sbc_only_once) New function. - (lex_sbc_missing) New function. - -Sun Aug 21 00:00:47 2005 Ben Pfaff - - * case.h: (case_str) Make it return `unsigned char'. - -Sat Aug 20 23:56:14 2005 Ben Pfaff - - Revamp SAVE, XSAVE, EXPORT. Add (or at least parse) all the - subcommands that we didn't support. Fix bug 13911. Fix bug - reported by Adam Pierson (COMPRESSED and other subcommands didn't - work on SAVE). Refactor all related code. - - * command.def: Add XEXPORT command. - - * dictionary.c: (dict_delete_scratch_vars) New function. - - * get.c: (cmd_get) Fix parsing. - (struct save_trns) Removed. - (cmd_save_internal) Removed. - (cmd_save) Removed. - (do_write_case) Removed. - (save_write_case_func) Removed. - (save_trns_proc) Removed. - (save_trns_free) Removed. - (trim_dictionary) Removed. - (struct export_proc) Removed. - (cmd_export) Rewrote. - (export_write_case_func) Removed. - (export_proc_free) Removed. - (enum writer_type) New enum. - (enum command_type) New enum. - (struct any_writer) New struct. - (any_writer_destroy) New function. - (parse_write_command) New function. - (any_writer_write_case) New function. - (parse_output_proc) New function. - (output_proc) New function. - (cmd_save) Rewrote. - (cmd_xsave) Rewrote. - (struct output_trns) New struct. - (parse_output_trns) New function. - (output_trns_proc) New function. - (output_trns_free) New function. - (cmd_xsave) Rewrote. - (cmd_xexport) New function. - (parse_dict_trim) New function. - (struct mtf_proc) Change `by_cnt' member type to `int'. - (cmd_import) Rewrote. - - * pfm-write.c: (struct pfm_writer) Add `digits' member. - (pfm_writer_default_options) New function. - (pfm_open_writer) Add `opts' argument and handle options. - (write_float) Write only as many digits as `digits' member says. - (format_trig_double) Limit base-10 precision to LDBL_DIG. - - * pfm-write.h: (enum pfm_type) Moved here from pfm-read.h. - (struct pfm_write_options) New struct. - - * sfm-write.c: (sfm_writer_default_options) New function. - (sfm_open_writer) Remove `compress', `omit_long_names' args. Add - `opts' argument. Implement options. - - * sfm-write.h: (struct sfm_write_options) New struct. - - * expressions/helpers.c: (copy_string) Make `old' arg `unsigned - char *' instead of `char *'. - -Sat Aug 6 21:29:15 2005 Ben Pfaff - - * factor_stats.c: Needed included earlier. - - * percentiles.c: Needed to include . - - * val.h: Don't include "config.h". - -Sat Aug 6 21:26:27 2005 Ben Pfaff - - Clean up treatment of missing values by moving all the code into - one place. All references to the missing value function were - updated, but only major changes are detailed below. - - * Makefile.am: Add missing-values.c, missing-values.h to sources. - - * apply-dict.c: (cmd_apply_dictionary) Use mv_resize(). - - * dictionary.c: (dict_create_var) Initialize `miss' member with - mv_init(). - (dict_clone_var) Copy `miss' member with mv_copy(). - - * get.c: (mtf_merge_dictionary) Use mv_copy(). - - * missing-values.c: New file. - - * missing-values.h: New file. - - * mis-val.c: Rewrite. New version implements updated semantics. - - * pfm-read.c: (read_variables) Rewrite missing value handling. - - * pfm-write.c: (write_variables) Rewrite missing value handling. - - * sfm-read.c: (read_variables) Rewrite missing value handling. - - * sfm-write.c: (write_variable) Rewrite missing value handling. - - * sfmP.h: Include "magic.h" to get definition of - second_lowest_value. - - * sysfile-info.c: (describe_variable) Rewrite missing value - handling. - - * val.h: Include "magic.h" to get definition of - second_lowest_value. - - * var.h: Include "missing-values.h". Drop MISSING_* enums. - (struct variable) Remove `miss_type', `missing'. Add `miss'. - - * vars-atr.c: (is_num_user_missing) Removed--use - mv_is_num_user_missing(). - (is_str_user_missing) Removed--use mv_is_str_user_missing(). - (is_system_missing) Removed--use mv_is_value_system_missing(). - (is_missing) Removed--use mv_is_value_missing(). - (is_user_missing) Removed--use mv_is_value_user_missing(). - -Sun Jul 31 14:09:57 2005 Ben Pfaff - - Adopt use of gnulib for portability. - - * Make.build: Add $(top_srcdir)/gl and $(top_builddir)/gl to - include path. - - * Makefile.am: Remove bool.h, stat.h and change getline.[ch] to - getl.[ch] in pspp_SOURCES. Remove libmisc, add libgl in - pspp_LDADD. - - * In many source files, added an explicit inclusion of gettext.h - and definition of _ macro. These are no longer in pref.h because - it interfered with definitions in a few gnulib source files. - - * In many source files, changed #include "bool.h" to #include - , which is provided by gnulib. - - * alloc.c: Removed functions defined in gnulib: - (xmalloc) Removed. - (xcalloc) Removed. - (xrealloc) Removed. - (xstrdup) Removed. - (out_of_memory) Redefined as wrapper for xalloc_die(). - - * alloc.h: Replace prototypes by #include "xalloc.h". - - * casefile.c: Use full_read() and full_write() from gnulib instead - of our home-grown versions. - (full_read) Removed. - (full_write) Removed. - - * getline.c: Renamed getl.c. - - * getline.h: Renamed getl.h, updated all references. - - * filename.c: (fn_readlink) Change to wrapper around xreadlink() - from gnulib. - - * glob.c: Just #include instead of the crazy rigmarole - here before. - (init_glob) Call set_program_name() to initial gnulib progname - module. - - * html.c: (postopen) Use getlogin_r(), gethostname() from gnulib. - - * permissions.c: Use "stat-macros.h" from gnulib. - - * postscript.c: Just #include instead of the crazy - rigmarole here before. - - * q2c.c: (main) Make generated code #include "gettext.h". - - * str.h: Get rid of most explicit declarations of standard - functions, in favor of including gnulib header files. - - * expressions/evaluate.c: Ditto. - - * expressions/operations.h.pl: Make generated code #include - , not "bool.h". - -Sat Jul 30 23:13:17 2005 Ben Pfaff - - * expressions/parse.c: (validate_function_args) Fix two msg() bugs - found by -Wformat. - -Sat Jul 30 23:10:01 2005 Ben Pfaff - - * expressions/evaluate.c: (expr_debug_print_postfix) Don't pass - null pointer to printf for %.*s. - -Sat Jul 30 23:05:33 2005 Ben Pfaff - - * vars-atr.c: (var_is_valid_name) Fix three msg() bugs found by - -Wformat. - -Sat Jul 30 22:58:33 2005 Ben Pfaff - - * rank.q: (parse_rank_function) Fix msg() bug found by -Wformat. - -Sat Jul 30 22:56:12 2005 Ben Pfaff - - * postscript.c: (postopen) Cast `char' to `unsigned char' before - passing to isspace(). - -Sat Jul 30 22:52:09 2005 Ben Pfaff - - * pfm-read.c: (read_variables) Fix msg() bug found by -Wformat. - -Sat Jul 30 22:50:57 2005 Ben Pfaff - - * histogram.c: Include . - -Sat Jul 30 22:48:50 2005 Ben Pfaff - - * get.c: (cmd_match_files) Fix msg() bug found by -Wformat. - -Sat Jul 30 22:46:10 2005 Ben Pfaff - - * format.c: (check_common_specifier) Fix msg() bug found by - -Wformat. - (check_output_specifier) Ditto. - -Sat Jul 30 22:43:57 2005 Ben Pfaff - - * file-handle.q: (cmd_file_handle) Fix msg() bug found by - -Wformat. - -Sat Jul 30 22:41:44 2005 Ben Pfaff - - * data-in.c: (parse_Z) [WORDS_BIGENDIAN] Don't declare buf[], to - avoid "unused variable" warning. - -Sat Jul 30 22:38:46 2005 Ben Pfaff - - * command.c: (find_word) Cast `char' to `unsigned char' before - passing to isspace(). - -Sat Jul 30 22:36:29 2005 Ben Pfaff - - * case.c: (case_compare) Implement as delegating to - case_compare_2dict(). - -Sat Jul 30 22:34:18 2005 Ben Pfaff - - * algorithm.c: Inclusion of is unneeded. - -Sat Jul 30 22:01:32 2005 Ben Pfaff - - * Make.build: Don't append -ansi to AM_CFLAGS for GCC. Using - -ansi changes the behavior of header files significantly. It - causes __STRICT_ANSI__ to be defined, and some headers interpret - that as cause to e.g. not use `long long' or __attribute__. The - former example is bad when off_t is supposed to be `long long', - and the latter prevents -Wformat from working. - -Sun Jul 24 20:26:59 2005 Ben Pfaff - - Get rid of dependency on libgmp by writing our own routine for - floating-point base conversion. - - * pfm-write.c: (write_float) Rewrote. - (write_int) Rewrote. - (pow30_nonnegative) New function. - (pow30) New function. - (trig_to_char) New function. - (format_trig_digits) New function. - (recurse_format_trig_int) New function. - (format_trig_int) New function. - (should_round_up) New function. - (try_round_up) New function. - (format_trig_double) New function. - -Sun Jul 24 18:49:20 2005 Ben Pfaff - - * data-in.c: (parse_numeric) Allow "1+23" even for F format, for - compatibility. - -Sun Jul 24 18:47:37 2005 Ben Pfaff - - * pfm-read.c: (read_version_data) Read and ignore author field. - -Wed Jul 6 20:44:27 2005 Ben Pfaff - - * get.c: (mtf_processing) Don't assume that - mtf_compare_BY_values() always returns -1, 0, or 1. Actually, it - returns a negative, zero, or positive result. Fixes MATCH FILES - bug on Mac OS X reported by "Marshall DeBerry" . - -Mon Jul 4 18:01:15 2005 Ben Pfaff - - * flip.c: [HAVE_SYS_TYPES_H] Really include . The - preprocessor test for sys/types.h was accidentally inverted. This - was bug 12789. - -Sun Jul 3 22:47:39 2005 Ben Pfaff - - * get.c: (cmd_match_files) Fix memory leak on `by' and on - `vfm_source'. - - * getline.c: [HAVE_LIBREADLINE] (read_console) Fix memory leak on - `line'. - - * vfm.c: (close_active_file) Remove unnecessary test. - -Sun Jul 3 21:45:32 2005 Ben Pfaff - - Fix NDEBUG compile errors. - - * hash.h: Needed explicit #include . - - * linked-list.c: (ll_next) First arg is UNUSED when NDEBUG is - defined. - -Sun Jun 12 23:44:38 2005 Ben Pfaff - - Implement embedding for PostScript driver. Fixes bug 12970. - - * ascii.c: Fix compiler warnings. - - * html.c: Ditto. - - * chart.h: Add `file' member. - - * output.h: (struct outp_class) initialise_chart, finalise_chart - should take outp_driver *, not outp_class *. Update all - references. - - * plot-chart.c: (chart_create) Fix segfault when there are no - output drivers at all. - (chart_submit) Call d->class->finalise_chart. - - * postscript.c: (ps_open_page) Set cp_y to 0. - (ps_submit) New function. - (ps_chart_initialise) Implement. - (ps_chart_finalise) Implement. - (static var postscript_class) Add ps_submit. - (static var epsf_class) Add ps_submit. - - -Sun Jun 12 14:54:40 2005 Ben Pfaff - - Did some more work on bug 12859 and then realized that a *good* - solution would require some fundamental restructuring. For now, - I'm marking REPEATING DATA unimplemented, and then we can revisit - it post-0.4.0. - - * command.def: Make REPEATING DATA unimplemented. - - * data-list.c: (cmd_repeating_data) Assume inline file is 80 - characters wide. - (realize_value) Revert previous changes; no longer needed. - Updated all callers. - - * error.c: (err_hcf) Set nfile_loc, mfile_loc to 0 after freeing - file_loc, to avoid bad references later. - - * str.c: Fix typo. - -Tue Jun 7 00:14:09 2005 Ben Pfaff - - Make some code tolerant of reentry. Should not be needed if other - code is correct but it is good to be generally tolerant. - - * error.c: (err_hcf) Set file_loc to null after free(). - - * output.c: (outp_done) Similar changes. - - * str.c: (ds_destroy) Ditto. - -Tue Jun 7 00:10:20 2005 Ben Pfaff - - Continue work on bug 12859, plus some code cleanup. - - * data-list.c: (cmd_repeating_data) Replace `seen' bitmap by - boolean variables. Don't try to compute starts_end, cont_end for - inline file. Calculate length only after parsing variable - specifications. Add proper transformation to list. - (realize_value) If the rpd_num_or_var has no value, return new - DEFAULT_MEMBER argument (for use with inline file). - (repeating_data_trns_proc) Pass default values. - - * dfm-read.c: (dfm_close_reader) Only skip data if *not* still - open, and only if we actually started reading data. - -Sun Jun 5 18:39:36 2005 Ben Pfaff - - Fix bug 11894. - - * output.c: (outp_read_devices) Fix message. - -Fri May 27 12:34:43 WST 2005 John Darrington - - * sort-prs.[ch] (newfiles), aggregate.c, sort.[ch]: Separated the guts - of the sort algorithm from the parser for the SORT command. - - * rank.q: Added the parser for the RANK command. - -Thu May 26 12:29:21 2005 Ben Pfaff - - Fix bug 13192. - - * sort.c: (sort_parse_criteria) Only set *saw_direction if - saw_direction is non-null. Thanks to John Darrington for - reporting this bug. - -Tue May 24 21:52:55 2005 Ben Pfaff - - * get.c: (mtf_processing) Handle case of a lookup table as the - active file. Thanks to John Darrington for reporting this bug. - -Wed May 25 10:27:02 WST 2005 John Darrington - - * alloc.c alloc.h: (xcalloc) changed signature to imitate the - POSIX calloc function. - - * crosstabs.q get.c vars-prs.c: Updated calls to xcalloc to - reflect new signature. - - * sfm-read.c: Now much more robust in the face of badly formed - system files. - -Mon May 23 11:57:31 WST 2005 John Darrington - - *sfm-read.c: Fixed some bugs regarding long string continuation - records, which the previous fix uncovered. - -Sat May 21 12:48:34 WST 2005 John Darrington - - * sfm-read.c, sfmP.h: Allow reading of system files when the - case_size value in the header is -1. Also changed some Errors to - Warnings when reading system files. - -Tue May 17 21:00:57 2005 Ben Pfaff - - * data-list.c: (data_list_trns_free) Don't free the argument - because cancel_transformations() will do that itself. - (data_list_source_destroy) Destroy the argument to - data_list_trns_free(), because it no longer does so itself. - -Tue May 17 18:29:35 2005 Ben Pfaff - - * data-out.c: (format_and_round) Don't output leading `-' if value - rounds to zero. - -Tue May 17 00:06:43 2005 Ben Pfaff - - Fix bug 11119. - - * som.c: (output_encodings) If some cell in the table won't fit - with the horizontal or vertical headers, cancel those headers. - - * som.h: (struct som_table_class) Add fits_width, fits_length, - set_headers members. - - * tab.c: (tabi_fits_width) New function. - (tabi_fits_length) New function. - (tabi_set_headers) New function. - (global var tab_table_class) Add the new functions as appropriate - members. - -Mon May 16 22:34:06 2005 Ben Pfaff - - Fix rest of bug 13054. - - * format.def: Fix EDATE, SDATE, ADATE, JDATE, QYR, MOYR, WKYR, - DATETIME, TIME system/portable file values. - -Mon May 16 22:31:15 2005 Ben Pfaff - - * data-list.c: (parse_free) Use make_input_format(). - - * data-out.c: (num_to_string) Use make_output_format(). - - * dictionary.c: (dict_create_var) Ditto. - - * format.c: (global var f8_2) New var. - (make_input_format) New function. - (make_output_format) New function. - - * get.c: (cmd_match_files) Use make_output_format(). - - * list.q: (cmd_list) Ditto. - - * matrix-data.c: Ditto. - - * sfm-read.c: (parse_format_spec) Check output specifier - thoroughly. - - * tab.c: (tab_float) Use make_output_format(). - -Sun May 15 23:38:10 2005 Ben Pfaff - - Fix more of bug 13054. - - * format.def: FMT_A should allow 255-character output. FMT_AHEX - should allow 510-character input and output. - - * data-out.c: (num_to_string) Get rid of NEW_STYLE option. - (convert_E) Handle non-finite values. - (try_F) Rewrite. - (format_and_round) New function. - (convert_infinite) New function used by try_F() and convert_E(). - -Sun May 15 23:36:55 2005 Ben Pfaff - - Regularize string and buffer function names so that they make some - kind of sense. - - * str.c: (mm_reverse) Rename buf_reverse(). Update all - references. - (mm_find_reverse) Rename buf_find_reverse(). Update all - references. - (mm_case_compare) Rename buf_compare_case(). Update all - references. - (st_compare_pad) Rename buf_compare_rpad(). Update all - references. - (str_compare_rpad) New function. - (st_bare_pad_copy) Rename buf_copy_str_rpad(). Update all - references. - (buf_copy_str_lpad) New function. - (st_bare_pad_len_copy) Rename buf_copy_rpad(). Update all - references. - (st_pad_copy) Rename str_copy_rpad(). Update all references. - (st_trim_copy) Rename str_copy_trunc(). Update all references. - (st_uppercase) Renamed str_uppercase(). Update all references. - -Sat May 14 08:22:26 WST 2005 John Darrington - - * dfm-read.c: Fixed polarity of test in dfm-close-reader. Closes - Bug #13082 - -Tue May 10 20:08:18 2005 Ben Pfaff - - * data-in.c: (data_in) Add assertion to check input specifier. - - * data-out.c: (data_out) Add assertion to check output specifier. - -Tue May 10 19:56:35 2005 Ben Pfaff - - Start to fix bug 13054. - - * format.c: (check_input_specifier) Improve error message. - (check_input_specifier) Check F, COMMA, and DOLLAR formats for - valid decimal places. - (check_output_specifier) Ditto (but different criteria). - (convert_fmt_ItoO) Assert valid input and output specifiers. - Also, if input specifier has *any* decimal places, make the output - specifier 1 place wider. - -Mon May 9 07:14:29 WST 2005 John Darrington - - * sysfile-info.c: Fixed bug [# 13024 ] - -Sun May 8 13:52:12 2005 Ben Pfaff - - "Fix" bug 13021 by disabling FILE TYPE. Eventually, we should - actually implement it. - - * command.c: (FILE_TYPE_okay) Always return 1. - - * command.def: Change FILE TYPE, END FILE TYPE into UNIMPL. - - * file-type.c: Add prototypes to get rid of warnings. - -Sun May 8 08:08:07 WST 2005 John Darrington - - * barchart.c box-whisker.c cartesian.c piechart.c plot-hist.c: Fixed - more ISO/IEC 9899:1990 conformance issues. - -Wed May 4 23:54:02 2005 Ben Pfaff - - Fix bug 12948. See also new test in - tests/bugs/match-file-scratch.sh. - - * get.c: (mtf_merge_dictionary) Don't compact dictionary because - that deletes scratch variables that someone else might be using, - and because we can't reassign our sources' value indexes. - Instead, simply don't copy scratch variables into the master - dictionary. - - * dictionary.c: (dict_compact_values) Delete variables from the - dictionary passed in, not from default_dict (!). - -Tue May 3 22:25:17 2005 Ben Pfaff - - Improve hash.c comments, error-checking. - - * hash.c: (struct hsh_table) [NDEBUG] Add hash_ordered member. - (hsh_create) size == 0 should *not* return NULL! Set - hash_ordered. - (hsh_clear) Set hash_ordered. - (locate_matching_entry) Check hash_ordered. - (hsh_rehash) Rename rehash(). Add assertion. Set hash_ordered. - (hsh_data) Set hash_ordered. Add const-ness to return value and - update all callers. - (hsh_sort) Ditto. - -Wed May 4 08:50:11 WST 2005 John Darrington - - * casefile.c: Removed unnecessary #include - -Tue May 3 19:14:48 WST 2005 John Darrington - - * copyleft.c: Updated copyright date. - - * Makefile.am: Removed erroneous explicit "-lplot" - - * examine.q oneway.q: Made these files conform to ISO/IEC 9899:1990 - -Tue May 3 16:20:31 WST 2005 John Darrington - - * command.c command.def: Added description string for unimplemented commands. - - * oneway.q: Sorted the hash tables before shipping out the results. Closes - bug [#12931]. - -Mon May 2 23:45:01 2005 Ben Pfaff - - Code improvements. - - * data-list.c: (parse_fixed) Use lex_end_of_command(). - (parse_free) Ditto. - (cmd_repeating_data) Set cont_end.num in right situations. - (parse_repeating_data) Remove redundant test. - -Mon May 2 23:37:19 2005 Ben Pfaff - - Partial fix for bug 12859. - - * data-list.c: (cmd_data_list) Add transformation properly in - vfm_source == NULL case. - -Mon May 2 23:27:28 2005 Ben Pfaff - - * lexer.c: (lex_error) Improve error messages. - -Mon May 2 22:28:17 2005 Ben Pfaff - - * get.c: (cmd_match_files) Check token type before trying to match - tokid. Fixes bug 12923. - -Mon May 2 22:16:51 2005 Ben Pfaff - - * flip.c: [HAVE_SYS_TYPES_H] Include . Fixes bug - 12789. - -Mon May 2 22:02:52 2005 Ben Pfaff - - * expressions/generate.pl: (get_token) Make use of /g - backward-compatible with Perl 5.6.1. - -Sun May 1 23:00:19 2005 Ben Pfaff - - * var-display.c: (cmd_variable_alignment) Fix memory leak. - (cmd_variable_level) Ditto. - -Sun May 1 22:49:04 2005 Ben Pfaff - - Hash table had buggy deletion function. The fix required changing - other functions to do probing in the required order. - - * hash.c: (locate_matching_entry) Rewrite and change interface. - (hsh_rehash) Rewrite to use locate_matching_entry(). - (hsh_probe) Ditto. - (hsh_find) Ditto. - (hsh_delete) Ditto. Also, fix stupid bugs. - -Sun May 1 22:24:58 2005 Ben Pfaff - - * dictionary.c: (dict_clone) Properly copy vectors. - -Sun May 1 22:07:58 2005 Ben Pfaff - - New implementation of long variable names. Each variable has a - "normal" name, which may be up to 64 bytes long and which is used - for all normal operations. Variables may have a "short" name, - which is limited to 8 bytes and used only for system and portable - file input and output. - - Make tokid case-preserving. Update most uses of tokid to treat it - case-insensitively. - - Update many commands to deal with long variable names. - - * autorecode.c: (cmd_autorecode) Use strcasecmp() instead of strcmp(). - - * command.c: (cmd_parse) Ditto. - (match_strings) Use toupper() before comparing characters. - (conflicting_3char_prefixes) Use mm_case_compare() instead of - memcmp(). - (cmd_match_words) Ditto. - - * compute.c: (lvalue_parse) Use st_trim_copy() instead of - strncpy(). - - * count.c: (struct cnt_var_info) Change n[] to fit long var name. - Use st_trim_copy() instead of strcpy(). - - * data-in.c: (parse_enum) Use mm_case_compare() instead of - memcmp(). - - * data-list.c: (struct dls_var_spec) Change name[] to fit long var - name. - (parse_free) Use st_trim_copy() instead of strcpy(). - - * descript.c: (struct dsc_var) Change z_name[] to fit long var - name. - (try_name) Use strcasecmp() instead of strcmp(). - (generate_z_varname) Use st_trim_copy() instead of strcpy(). - (descriptives_compare_dsc_vars) Use strcasecmp() instead of - strcmp(). - - * dictionary.c: (struct dictionary) Removed `long_name_tab' - member. - (compare_long_names) Removed. - (hash_long_name) Removed. - (dict_create) Don't initialize `long_name_tab' member. - (dict_clone) Copy short names into new dictionary. - (dict_clear) Don't clear `long_name_tab' member. - (dict_get_varname_block) Removed. - (dict_add_longvar_entry) Removed. - (free_nte) Removed. - (dict_destroy) Don't destroy `long_name_tab' member. - (dict_create_var_from_short) Removed. - (dict_create_var_x) Removed. - (dict_create_var) Get rid of longname handling. - Clear short name. - (dict_clone_var) Get rid of longname parameter and longname - handling. - (dict_lookup_var) Get rid of longname handling. - (dict_reorder_var) New function. - (dict_rename_var) Clear short name. - (dict_rename_vars) Get rid of longname handling. Clear short - names. - (dict_create_vector) Support long vector names. - (dict_lookup_vector) Use strcasecmp() instead of strcmp(). - (quasi_base27) Removed. - (make_short_name) Removed. - (compare_strings) New function. - (hash_string) New function. - (dict_assign_short_names) New function. - - * file-handle.q: (get_handle_with_name) Use strcasecmp() instead - of strcmp(). - (get_handle_for_filename) Support long handle names. - - * file-type.c: (struct col_spec) Make `name' fit long var names. - (cmd_file_type) Use strcasecmp() instead of strcmp(). - - * flip.c: (make_new_var) Rewrite. - (flip_sink_write) Use st_trim_copy() instead of strncpy(). - - * format.c: (parse_format_specifier_name) Use mm_case_compare() - instead of memcmp(). - - * get.c: (cmd_save_internal) Rephrase. - (rename_variables) Drop test for identical variable name. - (struct mtf_proc) Change `first', `last' to fit long var name. - - * hash.c: (hsh_hash_case_string) New function for case-insensitive - string hashing. - - * lexer.c: (restore_token) Use st_trim_copy() instead of - strncpy(). - (lex_get) Don't uppercase string when copying into tokid. - (lex_put_back_id) Use st_trim_copy() instead of - strncpy(). - - * list.q: (determine_layout) Consider length of variable names in - choosing vertical layout. - - * matrix-data.c: (cmd_matrix_data) Use strcasecmp() instead of - strcmp(). - (string_to_content_type) Ditto. - - * modify-vars.c: (compare_variables_given_ordering) Ditto. - (struct var_renaming) Change `new_name' to fit long var name. - (compare_var_renaming_by_new_name) Use strcasecmp() instead of - strcmp(). - - * pfm-read.c: (read_variables) Disallow system variables in system - files. - (write_variables) Call dict_assign_short_names() and use - short_name[] members. - - * repeat.c: (internal_cmd_do_repeat) Use strcasecmp() instead of - strcmp(). - - * sfm-read.c: (sfm_open_reader) Rewrite code for long variable - map. Reorder variables into same order as long variable map. - (read_variables) Set short name. - - * sfm-write.c: (sfm_open_writer) Call dict_assign_short_names(). - (write_variable) Use st_bare_pad_copy(). - (write_longvar_table) Rewrite. - - * str.c: (mm_case_compare) New function. - - * sysfile-info.c: (compare_vectors_by_name) Use strcasecmp() - instead of strcmp(). - - * t-test.q: (tts_custom_groups) Remove redundant test. - (tts_custom_pairs) Ditto. - - * var.h: (struct variable) Change `name' to fit long var names. - Remove `longname'. Add `short_name' member. Reorder some - variables. - (struct name_table_entry) Removed. - (struct vector) Change `name' to fit long vector names. - - * vars-atr.c: (var_is_valid_name) Allow long var names. - (compare_var_names) Use strcasecmp() instead of strcmp(). - (compare_var_ptr_names) Ditto. - (hash_var_name) Use hsh_hash_case_string(). - (hash_var_ptr_name) Ditto. - (var_set_short_name) New function. - (var_clear_short_name) New function. - (var_set_short_name_suffix) New function. - - * vars-prs.c: (parse_DATA_LIST_vars) Support long names. - Use strcasecmp() instead of strcmp(). - (struct array_var_set) Removed `longname_tab'. - (array_var_set_lookup_var_idx) Drop longname_tab support. - (array_var_set_destroy) Don't destroy `longname_tab'. - (var_set_create_from_array) Don't create `longname_tab'. - - * vector.c: (cmd_vector) Use strcasecmp() instead of strcmp(). - Support long names. - - * expressions/parse.c: (word_matches) Use mm_case_compare() - instead of memcmp(). - (compare_strings) New function. - (lookup_function) Use compare_strings() instead of strcmp(). - -Sun May 1 22:07:43 2005 Ben Pfaff - - * algorithm.c: (move_element) New function. - -Sun May 1 22:05:35 2005 Ben Pfaff - - * aggregate.c: (parse_aggregate_functions) Always initialize - destvar. - -Sun May 1 22:03:47 2005 Ben Pfaff - - * aggregate.c: (cmd_aggregate) Use dict_clone_var_assert(). - - * dictionary.c: (dict_clone) Ditto. - (dict_clone_var_assert) New function. - - * get.c: (mtf_merge_dictionary) Use dict_clone_var_assert(). - -Sun May 1 15:05:54 WST 2005 John Darrington - - * error.c: Added a string for the compiler version to the - request_bug_report_and_abort function. - - * groff_font.c, font.c: Removed manpage(1) style references from - comments, because RMS frowns upon them. - -Thu Apr 28 18:52:06 2005 Ben Pfaff - - * expressions/parse.c: Improve previous fix for bug 12858 (LAG). - -Fri Apr 29 09:28:00 WST 2005 John Darrington - - * expressions/parse.c: Added handler for OP_LAG_Vn and OP_LAG_Vs. - Fixed bug [#12858] . - -Wed Apr 27 12:42:34 WST 2005 John Darrington - - * loop.c recode.c repeat.c: Fixed a couple of instances of SHORT_NAME_LEN - which should be LONG_NAME_LEN - -Wed Apr 27 07:43:50 WST 2005 John Darrington - - * command.def echo.c: Added the ECHO command. - -Mon Apr 25 22:55:59 2005 Ben Pfaff - - Finish fixing MATCH FILES (bug 11677). - - * get.c: (trim_dictionary) Rewrite in terms of drop_variables(), - keep_variables(), rename_variables(). - (drop_variables) New function. - (keep_variables) New function. - (struct mtf_file) Rename `in' to `in_name'. Add `in_var'. - (cmd_match_files) Deal with in_var. Use drop_variables(), - keep_variables(). When IN is specified, require BY. Set master - variables after master dictionary is complete. Add IN variables - after master dictionary is complete. - (mtf_free_file) Free `in_name'. - (mtf_delete_file_in_place) Set in_var value to 0. - (mtf_read_nonactive_records) Rephrase. - (mtf_processing) Support IN. Rephrase. Fix bugs. - (mtf_merge_dictionary) Don't set master variables; we do that - later now. - (get_master) Don't insist that there's a master variable. - -Mon Apr 25 22:55:22 2005 Ben Pfaff - - Kluge to make some variable renaming sort of work. - Needs real fix. - - * dictionary.c: (dict_rename_var) Call dict_add_longvar_entry(). - -Mon Apr 25 22:52:28 2005 Ben Pfaff - - Add functions for comparing sets of variables between cases. - Use the functions. - - * case.c: (case_compare) New function. - (case_compare_2dict) New function. - - * aggregate.c: (struct agr_proc) Remove `prev_break' member. Add - `break_case'. - (cmd_aggregate) Nullify break_case. Don't call - initialize_aggregate_info(). - (agr_destroy) Destroy break_case. - (aggregate_single_case) Rewrite. Use case_compare(). - (dump_aggregate_info) Copy from break_case into output. - (initialize_aggregate_info) Copy break_case from input. - - * get.c: (mtf_compare_BY_values) Use case_compare_2dict(). - - * vfm.c: (equal_splits) Use case_compare(). - -Sat Apr 23 17:01:04 WST 2005 John Darrington - - * dictionary.c vars-prs.c sfm-write.c: Fixed some memory leaks - -Sun Apr 17 23:08:15 2005 Ben Pfaff - - Start work on fixing MATCH FILES. - - * get.c: (enum operation) Remove OP_MATCH. - (trim_dictionary) Change return value to bool. Don't support - OP_MATCH. - (struct mtf_file) Remove `first', `last' members. - (struct mtf_proc) Add `first', `last' members. Change mtf_case - from `struct ccase *' to `struct ccase'. Remove `by' member. - (cmd_match_files) Essentially rewrite. - (mtf_free) Don't free `by' member. Destroy `mtf_case' member. - (mtf_read_nonactive_records) mtf_ parameter is not unused. - (mtf_processing) Ditto. Also rephrase some code. - (mtf_merge_dictionary) Rewrite for easy comprehension. - -Sun Apr 17 23:06:00 2005 Ben Pfaff - - * matrix-data.c: (wr_output_data) [DEBUGGING] Fix compilation - error. - - * q2c.c: (dump_token) [DEBUGGING] Fix compilation error. - -Thu Apr 14 2005 John Darrington - - * var-display.c: New file. - - * format.h var.h sfm-read.c sfm-write.c dictionary.c : Added - display_width, measure and alignment parameters to variables. - - * aggregate.c command.def compute.c count.c data-list.c descript.c - dictionary.c dictionary.h expr-prs.c file-type.c flip.c get.c - lexer.c lexer.h loop.c modify-vars.c pfm-read.c recode.c repeat.c - sfm-read.c sfm-write.c sfm-write.h sfmP.h val-labs.c val.h var.h - vars-prs.c vector.c : - - Replaced literal constants representing maximum variable name - length with macro definitions. - - Added support for long variable names. - - Changed lexer such that it no longer makes tokens upper - case, but relies upon case insensitive behaviour of commands. - -Mon Apr 4 22:27:34 2005 Ben Pfaff - - * aggregate.c: (parse_aggregate_functions) If dict_create_var() - fails, don't dereference the resulting null pointer (bug 12427). - Also, fix double free error. - -Sat Mar 19 23:06:02 2005 Ben Pfaff - - * aggregate.c: (parse_aggregate_functions) Fix N_NO_VARS format. - (accumulate_aggregate_info) Set int1 to 1 for SUM. - (dump_aggregate_info) Only make SUM non-missing if there was at - least one variate. - -Sat Mar 19 14:48:19 2005 Ben Pfaff - - * aggregate.c: (dump_aggregate_info) Properly test whether the - destination variable is numeric, when making the result - system-missing for columnwise missing values. - -Mon Mar 14 21:52:34 2005 Ben Pfaff - - * misc.h: Remove GCC specializations. - -Mon Mar 14 21:07:23 2005 Ben Pfaff - - Make sort stable (bug 12313). - - * sort.c: Don't need to include some headers anymore. - (static var min_buffers) New variable. - (static var max_buffers) New variable. - (static var allow_internal_sort) New variable. - (cmd_sort_cases) Add test mode. - (sort_execute) Rephrase. - (do_internal_sort) Don't try internal sorting if - allow_internal_sort is set. - (struct external_sort) Renamed `initial_runs' to `runs' and - updated all references. - (macro MIN_BUFFER_TOTAL_SIZE_RECS) Removed. - (macro MIN_BUFFER_SIZE_BYTES) Removed. - (macro MIN_BUFFER_SIZE_RECS) Removed. - (compare_initial_runs) Removed. - (struct record_run) Add member `idx'. - (write_initial_runs) Pass increasing values to process_case() as - index. - (process_case) Add `idx' parameter and use it to initialize new - `idx' member. - (allocate_cases) Limit allocated buffers to max_buffers. - (compare_record_run) Use new `idx' member for last resort - comparison, for stability. - (end_run) Call casefile_sleep() on irs->casefile, to prevent - running out of file descriptors. - (struct merge_state) Removed. - (merge) Don't need to allocate cases. Always use MAX_MERGE_ORDER - unless we have fewer runs left. Always merge consecutive runs, - for stability. Return the final run. - (mod) Removed. - (choose_merge) New function. - (merge_once) Rewritten. - -Mon Mar 14 21:05:42 2005 Ben Pfaff - - * cmdline.c: (static var testing_mode) Move into - parse_command_line(). - -Mon Mar 14 21:05:13 2005 Ben Pfaff - - * algorithm.c: (remove_range) New function. - (remove_element) New function. - - * dictionary.c: (dict_delete_var) Use remove_element(). - - * flip.c: (cmd_flip) Ditto. - -Sun Mar 13 22:52:05 2005 Ben Pfaff - - * file-handle.q: (struct file_handle) `open_mode' should not be - const. - -Sun Mar 13 22:40:54 2005 Ben Pfaff - - First phase of making SORT CASES stable (bug 12313). - - * sort.c: (struct indexed_case) New structure. - (do_internal_sort) Rewrite to make internal sorting stable. - (compare_case_dblptrs) Removed. - (compare_indexed_cases) New function. - -Sun Mar 13 22:38:40 2005 Ben Pfaff - - Clean-ups. - - * casefile.c: (casereader_read_xfer_assert) New function. - - * dictionary.c: (dict_compact_case) New function. - - * flip.c: (struct flip_pgm) New member idx_to_fv. - (cmd_flip) Initialize idx_to_fv member. - (destroy_flip_pgm) Free idx_to_fv member. - (flip_sink_write) Use struct flip_pgm member instead of case_sink - member. - (flip_sink_write) Ditto. - - * vfm.c: (write_case) Use dict_compact_case() instead of - compact_case(). - (compact_case) Removed. - (storage_source_create) Removed `dict' parameter. All references - updated. - - * vfm.h: (struct case_source) Removed `value_cnt' member. All - references removed. - (struct case_sink) Removed `dict', `idx_to_fv' members. All - references removed. - -Sun Mar 13 22:35:55 2005 Ben Pfaff - - More AGGREGATE fixes. - - * aggregate.c: (accumulate_aggregate_info) Implement NMISS and - NUMISS for strings. Fix FOUT, POUT, FGT, FLT, FIN, FOUT for - strings. - (initialize_aggregate_info) Fix initialization for MIN, MAX for - strings. - -Sat Mar 12 23:26:21 2005 Ben Pfaff - - Start work on testing and debugging AGGREGATE. - - * aggregate.c: (cmd_aggregate) Use discrete bool variables instead - of a bit-map. Require proper subcommand ordering. Make OUTFILE - subcommand mandatory. - (parse_aggregate_functions) Check that PIN, POUT, FIN, FOUT - functions' arguments are in the correct order and swap them if - not. - (accumulate_aggregate_info) Make SUM include weights. Add various - string functions. - (dump_aggregate_info) Add various string functions. - (initialize_aggregate_info) Initialize int1 for MIN, MAX. - - * sort.c: (sort_parse_criteria) Add parameter for returning - whether any directions were specified. All callers updated. - -Sun Mar 13 14:54:27 WST 2005 John Darrington - - * t-test.q: Fixed erroneous logic in compare_group_binary. - -Sat Mar 12 13:29:21 2005 Ben Pfaff - - * split-file.c: (cmd_split_file) Ignore LAYERED and SEPARATE - keywords (bug 11628). - -Sat Mar 12 13:17:12 2005 Ben Pfaff - - * vfm.c: (procedure_with_splits) Fix bug 11492: end_func() must be - called *before* close_active_file(). - -Sat Mar 12 12:20:57 2005 Ben Pfaff - - * file-handle.q: (struct file_handle) Change open_mode from - character pointer to 3-char array, for safety. Updated all - references. - -Sat Mar 12 12:15:49 2005 Ben Pfaff - - Thanks to Ben Kujala for reporting - these bugs. - - * pfm-read.c: (read_header) Improve error message for many cases - in which the input is not actually a portable file. - - * file-handle.q: (fh_open) When we give an error message, actually - return NULL. - -Fri Mar 11 11:50:30 2005 Ben Pfaff - - * format.c: (check_common_specifier) New function for checks - common to check_input_specifier() and check_output_specifier(). - (check_input_specifier) Use check_common_specifier(). - (check_output_specifier) Use check_common_specifier(). - (check_string_specifier) Removed. - (check_specifier_type) New function. - (check_specifier_width) New function. - (get_format_var_width) Fix bug. - - * formats.c: (internal_cmd_formats) Only accept numeric variables. - - * lexer.c: (check_id) Rename lex_id_to_token(), make public, - update all references. Make case-insensitive. - - * pfm-read.c: Essentially rewrite the whole file. Now much - cleaner. - - * print.c: (check_string_width) New function. - (fixed_parse_compatible) Use check_string_width(), - check_specifier_type(). - (dump_fmt_list) Ditto. - - * str.c: (st_trim_copy) New function. - (st_uppercase) New function. - - * vars-atr.c: (var_is_valid_name) New function. - - * expressions/parse.c: (type_coercion_core) Use - check_specifier_type(). - -Fri Mar 11 11:31:24 2005 Ben Pfaff - - * expressions/evaluate.c: (cmd_debug_evaluate) Fix memory leaks. - - * expressions/parse.c: (no_match) Ditto. - -Wed Mar 9 09:54:27 2005 Ben Pfaff - - * Makefile.am: (pspp_LDADD) Add libgsl-extras.a. - - * expressions/helpers.c: (struct func_params) Removed. - (generalized_idf) Removed. - (cdf_beta) Removed. - (idf_beta) Removed. - (idf_fdist) Use gslextras_cdf_beta_Pinv() instead of idf_beta(). - - * expressions/operations.def: Implement IDF.BETA, CDF.BINOM, - CDF.GEOM, CDF.HYPER, CDF.NEGBIN, CDF.POISSON using gsl-extras. - Implement SIG.F, which I had overlooked previously. - -Tue Mar 8 12:47:53 WST 2005 John Darrington - - * command.c command.def glob.[ch] cmdline.c: Made DEBUG cmds - available only in testing mode. - -Sun Mar 6 23:25:40 2005 Ben Pfaff - - * data-in.c: Use `bool' throughout, where relevant. - -Sun Mar 6 19:52:22 2005 Ben Pfaff - - DATA LIST with free-field formats should not have implied decimal - places (bug 12035). Also clean up data-in.c a bit. - - * data-in.h: (enum) Add DI_IMPLIED_DECIMALS. - - * data-in.c: (apply_implied_decimals) New function. - (parse_numeric) Don't adjust exponent if DI_IMPLIED_DECIMALS not - set. Also, get rid of gotos. - (parse_Z) Use apply_implied_decimals() if the field doesn't - contain a decimal point. - (parse_N) Use apply_implied_decimals(). - (parse_IB) Ditto. - (parse_PIB) Ditto. - (parse_P) Ditto. - (parse_PK) Ditto. - (to_roman) Removed. - (parse_enum) New function. - (macro CHAR_IS_ROMAN) Removed. - (macro ROMAN_VALUE) Removed. - (parse_month) Use parse_enum(). - (parse_weekday) Use parse_enum(). - (parse_DATETIME) Use long for weekday. - - * data-list.c: (read_from_data_list_fixed) Use - DI_IMPLIED_DECIMALS. - -Sun Mar 6 17:07:20 2005 Ben Pfaff - - When the lexer sees something like `-5' in the input, it has to - decide whether it's a negative numeric constant token or a '-' - token followed by a positive numeric constant token. It always - decides on the former, and then the parser can call - lex_negative_to_dash() if it wants the latter. However, this - doesn't work for the case of `-0', because negative zero is - (portably) indistinguishable from positive zero. So now we divide - T_NUM into two tokens, T_POS_NUM and T_NEG_NUM, to make the - distinction clear. This requires a little bit of extra effort, - because there were several references to T_NUM in the code base. - - * lexer.c: (lex_get) Use T_NEG_NUM and T_POS_NUM to distinguish - positive and negative numeric constants. - (lex_double_p) Renamed lex_is_number(). Changed return type to - bool. Updated all relevant references to T_NUM to instead use - this function. - (lex_double) Renamed lex_number(). All references updated. - (lex_integer_p) Renamed lex_is_integer(). Changed return type to - bool. All references updated. - (lex_token_representation) Understand T_NEG_NUM and T_POS_NUM. - (lex_negative_to_dash) Ditto. - (dump_token) Ditto. - - * lexer.h: (enum) Add T_POS_NUM, T_NEG_NUM. Remove T_NUM. - -Sun Mar 6 22:09:20 2005 Ben Pfaff - - * expressions/operations.def: (NUMBER) Use DI_IMPLIED_DECIMALS. - -Sun Mar 6 19:33:24 2005 Ben Pfaff - - * expressions/operations.def: (VEC_ELEM_NUM) Treat user-missing - values as system-missing. - - * expressions/parse.c: (parse_vector_element) Fix order of - arguments in call to expr_allocate_binary(). - -Sun Mar 6 17:51:05 2005 Ben Pfaff - - * expressions/optimize.c: (optimize_tree) Fix optimization bug for - x**2. - - * expressions/parse.c: (type_coercion_core) Set *node to NULL on - failure, as indicated by function comment. - (parse_binary_operators) Always return NULL on type_coercion() - failure. Should have been doing this anyway, but bug in - type_coercion_core() filtered through. - (parse_add) Fix typo in user message. - (parse_primary) Understand T_NEG_NUM and T_POS_NUM. - -Sun Mar 6 10:47:13 2005 Ben Pfaff - - * expressions/operations.def: Add VALUE function. - - * expressions/parse.c: (parse_function) Need an unary composite - node for variables in A TO B, not a variable node. Use - allocate_unary_variable(). - (parse_primary) Use allocate_unary_variable(). - (allocate_unary_variable) New function. - -Thu Mar 3 23:53:32 2005 Ben Pfaff - - * expressions/PSPP_expressions.pm: Renamed it back to generate.pl - but fixed the real problem that was preventing the build from a - separate directory. I liked it my way better ;-) - -Thu Mar 3 23:17:51 2005 Ben Pfaff - - * expressions/parse.c: (expr_parse) Fix parameter type. Thanks to - John Darrington for reporting this - bug. - -Thu Mar 3 22:10:25 WST 2005 John Darrington - - * expressions/Makefile.am expressions/evaluate.h.pl - expressions/evaluate.inc.pl expressions/operations.h.pl - expressions/optimize.inc.pl expressions/parse.inc.p: - - Renamed generate.pl to PSPP_expressions.pm and adjusted *.pl - to suit. - - Fixed everything so that it can be built from an arbitrary - directory. - -Thu Mar 3 22:08:35 WST 2005 John Darrington - - * Makefile.am : Fixed up CLEANFILES target. - -Mon Feb 28 23:49:56 2005 Ben Pfaff - - * str.h: Changed `struct len_string' to `struct fixed_string', a - more accurate name. Updated all references. - -Mon Feb 28 23:35:30 2005 Ben Pfaff - - Redo calendar support. Should now be bug-for-bug compatible. - - * calendar.c: New file. - - * calendar.h: New file. - - * data-in.c: Use new calendar functions. - (parse_sign) Change sense of return value. - (calendar_error) New function. - (ymd_to_ofs) New function. - (ymd_to_date) New function. - (parse_DATE) Use new function. - (parse_ADATE) Ditto. - (parse_EDATE) Ditto. - (parse_SDATE) Ditto. - (parse_JDATE) Ditto. - (parse_QYR) Ditto. - (parse_MOYR) Ditto. - (parse_WKYR) Ditto. - (parse_TIME) Ditto. - (parse_DTIME) Ditto. - (parse_DATETIME) Ditto. - - * data-out.c: (convert_date) Use new calendar functions. - - * error.c: (err_vmsg) Changed interface to be more sensible. - Updated all callers. - (dump_message) Don't double new-lines (why did we do this - anyway?). - -Mon Feb 28 23:30:25 2005 Ben Pfaff - - * sfmP.h: (macro flt64) Moved here from pref.h.orig. - (macro FLT64_MAX) Moved here from pref.h.orig. - -Mon Feb 28 23:28:01 2005 Ben Pfaff - - * set.q: Support SET EPOCH. - (static var set_epoch) New var. - (aux_stc_custom_epoch) New function. - (stc_custom_epoch) New function. - (get_epoch) New function. - (stc_custom_pager) [USE_INTERNAL_PAGER] Fix bug. - - * format.c: Make it possible just to check whether a specifier is - valid without emitting an error message. - (parse_format_specifier_name) Change interface, update all - callers. - (check_input_specifier) Ditto. - (check_output_specifier) Ditto. - (parse_format_specifier) Ditto. - -Mon Feb 28 23:24:08 2005 Ben Pfaff - - * command.def: Add DEBUG POOL. - - * pool.c: (pool_destroy) Fix bug in deleting this pool from its - parent. - (pool_clear) Properly account for size of pool gizmo. - (pool_realloc) Ditto. - (pool_clone) New function. - - * pool.h: Mark our allocation functions MALLOC_LIKE. - -Mon Feb 28 23:21:26 2005 Ben Pfaff - - * Makefile.am: Move many definitions into new top-level - Make.build. Add expressions to SUBDIRS. Add calendar.c, - calendar.h. Remove expr-evl.c, expr-opt.c expr-prs.c, expr.h, - exprP.h, expr.def. - - * case.c: (case_resize) New function. - (case_swap) New function. - - * casefile.c: Include mkfile.h. - -Fri Feb 25 21:11:35 WST 2005 John Darrington - - * sfm-read.c: Fixed a buglet which caused a crash when trying - to read a non-existent file. - -Sun Feb 13 16:11:13 2005 Ben Pfaff - - Fix bug 11955. - - * aggregate.c: (parse_aggregate_functions) Code cleanup. - Important part: get rid of spurious copying of function->format to - destvar->print and destvar->write. - -Fri Feb 11 00:08:36 2005 Ben Pfaff - - Fix bug 11916, which was confusing a variable's `index' member - with the variable's position in a var_set. Although these are - usually the same, they are not for array `var_set's. - - Took advantage of this bug as an opportunity to clean up and - rewrite parse_var_set_vars(). - - * vars-prs.c: (parse_vs_variable_idx) New function. - (parse_vs_variable) Reimplement in terms of - parse_vs_variable_idx(). - (parse_var_idx_class) New function. - (add_variable) New function. - (add_variables) New function. - (parse_var_set_vars) Rewritten. - (struct var_set) Change `lookup_var' member that returns a - variable into `lookup_var_idx' member that returns an int. - Updated the var set implementations in obvious corresponding ways. - Used compare_var_ptr_names(), hash_var_ptr_name() just added. - -Fri Feb 11 00:06:03 2005 Ben Pfaff - - Use our global variable compare & hash functions and give them - better names. Add similar functions for dealing with double - pointers to variables. - - * vars-atr.c: (compare_variables) Renamed compare_var_names(). - (hash_variable) Renamed hash_var_name(). - (compare_var_ptr_names) New function. - (hash_var_ptr_name) New function. - - * t-test.q: (cmd_t_test) Use global compare_var_names(), - hash_var_name(). - (compare_var_name) Removed. - (hash_var_name) Removed. - -Fri Feb 11 00:04:39 2005 Ben Pfaff - - Fix dictionary bug. - - * dictionary.c: (compare_variable_dblptrs) Rename - compare_var_ptrs() and fix it to properly dereference the double - pointers. - -Mon Feb 7 09:58:15 WST 2005 John Darrington - - crosstabs.q examine.q oneway.q q2c.c: Added a q2c feature to - declare subcommands as mandatory. Closed bug #11843 - -Sat Feb 5 20:35:10 WST 2005 John Darrington - - * getline.c command.[ch] command.def: Added (very rudimentary) - support for line completion when in interactive mode. Partially - addresses bug #11693 - -Mon Jan 31 09:52:51 WST 2005 John Darrington - - * examine.q factor_stats.c oneway.q output.c pfm-read.c: Fixed some - problems revealed by valgrind. - - -Wed Jan 26 11:44:11 WST 2005 John Darrington - - * set.q: Affixed a fix to the previous fix such that we'll be OK now - whether or not PAGER is set. - -Wed Jan 26 09:25:54 WST 2005 John Darrington - - * set.q: Copied the string produced by getenv("PAGER") thus avoiding - "invalid free" errors. Hopefully fixes bug #11722 - - * compute.c expr-prs.c: Check that lvalues are populated before - attempting to destroy them. Closes bug #11676 - -Tue Jan 25 21:01:43 WST 2005 John Darrington - - * aggregate.c: Initialised the complete agr_proc structure. - Closes bug #11675 - - -Sun Jan 23 23:02:21 2005 Ben Pfaff - - * print.c: (print_trns_free) Close the dfm writer if there is one, - fixing a memory leak. - -Mon Jan 24 12:24:36 WST 2005 John Darrington - - * glob.c oneway.q q2c.c t-test.q vfm.c: Still *more* memory leaks - fixed. - - -Fri Jan 21 19:54:14 WST 2005 John Darrington - - * linked-list.[ch] Added - - * examine.q file-handle.[hq] font.h glob.c groff-font.c postscript.c - set.q: Yet more memory leaks - -Tue Jan 18 23:12:40 WST 2005 John Darrington - - * t-test.q examine.q : More memory leaks fixed. - -Tue Jan 18 19:26:59 WST 2005 John Darrington - - * examine.q factor_stats.[ch] get.c pfm-read.c: Plugged numerous - memory leaks. - -Mon Jan 10 14:43:45 WST 2005 John Darrington - - * ascii.c cartesian.c casefile.c chart.h devind.c - examine.q frequencies.q - html.c output.h piechart.c plot-chart.c plot-hist.c - - Integrated the chart rendering into the output stream - (currently only works for html). - - Removed gratuitous use of ifndef NO_CHARTS, and replaced with - dummy-chart.c for compiling without charts. - - * mkfile.[ch] Created. - - * som.[ch] tab.[ch]: Changed name of som_table to som_entity - Added type element so we can tell if it's a chart or a table. - - * chart.h examine.q piechart.c plot-chart.c plot-hist.c: changed the - API of charts to be more like that of tables. - -Thu Jan 13 21:00:02 WST 2005 John Darrington - - * casefile.c main.c: Moved the SIGINT handler from casefile.c to - main.c. Removed the handler for SIGQUIT. - -Mon Jan 10 14:43:45 WST 2005 John Darrington - - * casefile.c: Added a signal handler to delete temp files on - SIGINT and SIGQUIT - - * permissions.c Inhibited the PERMISSIONS command when SAFER is on. - - * command.def Added a lot more unimplemented commands. - - * copyleft.[ch] cmdline.c Moved legal information to copyleft.c - -Sat Jan 8 23:58:34 2005 Ben Pfaff - - * sort.c: (compare_initial_runs) Needed additional level of - dereferencing. - (merge_once) Fix plenty of stupid mistakes. - -Sat Jan 8 23:55:27 2005 Ben Pfaff - - * casefile.c: (casefile_sleep) Need to flush_buffer() after - calling casefile_to_disk() or we will lose the last block in the - file if the casefile started out as disk-based. - (casefile_get_reader) Initialize reader->destructive to 0. - (cmd_debug_casefile) Add new test pattern. - (test_casefile) Define new test pattern to make sure - casefile_sleep() works properly. - -Fri Jan 7 08:00:05 WST 2005 John Darrington - - * Makefile.am chart.[ch] histogram.[ch] piechart.c (Modified); - plot-hist.c plot-chart.c (Added) Reorganised these files in an - attempt to seperate the creation and processing of charts from their - actuall renedering. - - * examine.q frequencies.q generated charts conditional upon the NO_CHARTS - macro. - -Thu Jan 6 18:48:58 WST 2005 John Darrington - - * main.c Added a signal handler for SIGFPE - - * sort.c Somewhat more robust fix to the previous entry. - -Wed Jan 5 21:23:31 2005 Ben Pfaff - - * sort.c: (merge) Fix assertion for proper Huffman merge pattern: - 0 == 1 modulo 1. See Knuth 5.4.9 (vol. 3, 2nd ed., - pp. 361). Thanks to John Darrington for - reporting the bug. - -Wed Jan 5 22:42:26 WST 2005 John Darrington - - * case.h Fixed bug # 11307 - -Wed Jan 5 08:30:48 WST 2005 John Darrington - - * val-labs.c Fixed bug which caused a crash if VALUE LABELS had - a trailing slash. - -Mon Jan 3 17:44:37 2005 Ben Pfaff - - * pfm-read.c: (read_variables) Remove direct manipulation of - v->aux, which is no longer needed. Fixes bug 11483. - -Sat Jan 1 19:01:16 WST 2005 John Darrington - - * data-list.c Fixed a bug in parsing delimiters. - - * group.c vars-atr.c Fixed buglet in hash/compare functions for alpha - values. - - * percentiles.c Properly handled calculation of Tukey hinges where - the number of data is small. - - * oneway.q Used the generic value_to_string function for independent - variable instead of trying to do it ourselves. - - * box-whisker.c Fixed a buglet which caused a crash if the number of - data was zero - - -Fri Dec 31 16:47:45 WST 2004 John Darrington - - * examine.q box-whisker.c chart.h Implemented boxplots in EXAMINE - - * percentiles.c Fixed some bugs when calculating percentiles when - there's a small number of cases. - -Wed Dec 29 08:18:08 WST 2004 John Darrington - - * percentiles.[ch] Added. Calculates percentiles and Tukey hinges - - * examine.q factor_stats.[ch] Added calculation of percentiles - -Fri Dec 24 15:09:11 WST 2004 John Darrington - - * t-test.q Fixed bug #11227 Made t-test work when the independent - variable is alpha - -Sat Dec 11 11:43:45 WST 2004 John Darrington - - * factor_stats.c Fixed calculation of trimmed mean under various - special conditions. - -Sat Dec 4 17:14:45 WST 2004 John Darrington - - * histogram.c chart.[ch] factor_stats.c frequencies.q - - Added code to calculate sensible histogram ranges and limits. - -Thu Dec 2 13:37:43 WST 2004 John Darrington - - * chart.h Updated to reflect many API changes. - - * cartesian.c chart.c Moved the definitions of chart_write_{xy}scale from - cartesian.c and into chart.c - - * factorstats.[ch] Added the histogram calculations - - * casefile.c Removed an unused variable. - - * frequencies.q examine.q histogram.c Reworked the API for - histograms. - - * piechart.c Revised the API for piecharts. - - * var.h Moved the definitions of freq_tab and freq out of var.h - and into frequencies.q where they belong. - -Tue Nov 30 21:10:20 2004 Ben Pfaff - - * flip.c: (flip_file) Check for off_t separately from fseeko(), - using AC_TYPE_OFF_T. - -Tue Nov 30 08:47:41 2004 Ben Pfaff - - * flip.c: (flip_file) If fseeko() is not available, use long int - for off_t. Thanks to "Marshall DeBerry" for - reporting the problem. - -Mon Nov 29 12:20:59 WST 2004 John Darrington - - * examine.q factor_stats.[ch] Changed stderr to se_mean to avoid - conflict with stdio. - -Sun Nov 21 10:32:41 WST 2004 John Darrington - - * var-labs.c (var_to_string) Now returns null if the variable is null - - * value-labels.c (value_to_string) Made it return null if either the - value or the variable is null. - - * hash.c (hsh_clear) Fixed a buglet. - - * examine.q factor_stats.[ch] Largely rewrote, because I'd started - with the wrong model. - - * casefile.[ch] Added a function to return the casereader.case_idx - member - - * examine.q Implemented the extreme values results. - -John Darrington - - * settings.h set.c glob.[ch] frequencies.q q2c.c error.c lexer.[ch] - output.[ch] getline.c - - Plugged some memory leaks - -Mon Nov 15 23:47:40 2004 Ben Pfaff - - Adopt GSL random number generators, paving the way for providing - the complete suite of random number generators on expressions. - - * Makefile.am: Remove random.c, random.h. - - * random.c: Removed. - - * random.h: Removed. - - * algorithm.c: (algo_default_random) Use GSL functions. - - * casefile.c: (test_casefile) Use GSL RNG functions. - - * expr-evl.c: (expr_evaluate) Use GSL RNG functions for OP_NORMAL, - OP_UNIFORM. - - * sample.c: (cmd_sample) Use GSL RNG functions. - (sample_trns_proc) Ditto. - - * set.q: (static var set_seed) Removed. - (static var seed_flag) Removed. - (static var rng) New variable. - (aux_stc_custom_seed) No seed value anymore, don't print anything. - (stc_custom_seed) Use new seed functions. - (seed_is_set) Removed. - (get_rng) New function that composes the entire external - interface. - (set_rng) New function. - (random_seed) New function. - -Mon Nov 15 22:08:25 2004 Ben Pfaff - - * expr-evl.c: (expr_evaluate) Fix XDATE.JDAY formula. Thanks to - John Darrington for reporting this - bug. - -Tue Nov 16 13:19:18 WST 2004 John Darrington - - * permissions.c command.def Added the PERMISSIONS command - -Mon Nov 15 01:33:32 2004 Ben Pfaff - - * q2c.c: (dump_header) Don't try to emit #includes at very top of - output file because that will precede #include , which - is bad. - (main) Add needed headers to /* (header) */ code. - -Mon Nov 15 01:21:36 2004 Ben Pfaff - - Instead of making system or portable file readers responsible for - dropping and reordering variables, make them read full cases and - let the caller take care of any changes. - - * get.c: New "case map" structure to handle this. Use for GET, - IMPORT, MATCH FILES. Essentially rewrite the whole file. - - * pfm-read.c: (pfm_read_case) Read into provided case. Signature - changed appropriately. - - * sfm-read.c: (sfm_read_case) Ditto. - -Mon Nov 15 00:47:45 2004 Ben Pfaff - - Decided that case_serialize() and case_unserialize() were too - abstract. Also we need a couple more functions to avoid excessive - copying for data in/out fast paths. - - * case.c: (case_serial_size) Removed. - (case_serialize) Rename case_to_values() and make its argument - explicitly an array of union values. - (case_unserialize) Rename case_from_values() and make its argument - explicitly an array of union values. - (case_data_all) New function. - (case_data_all_rw) New function. - - * casefile.c: (struct casefile) Change buffer from array of - unsigned char to array of union value for better accuracy. - Redefine buffer_used and buffer_size in terms of values, not - bytes. Remove case_size because it is now redundant with - value_cnt. Fix up all references to these members. - -Mon Nov 15 00:45:46 2004 Ben Pfaff - - * barchart.c: (struct subcat) Make `label' member const to silence - GCC warning with -Wwrite-strings. - - * cartesian.c: (struct dataset) Ditto. - - * case.c: Don't re-define NDEBUG if already defined. - Add lots of comments. - - * str.c: Fix includes. - - * crosstabs.q: Fix includes. - - * examine.q: Fix includes. Fix GCC warning about unused - variables. - - * frequencies.q: (stat macro) Removed and replaced where used by - its expansion. - - * list.q: Fix includes. - - * oneway.q: Fix includes. - - * piechart.c: Fix includes. Only define M_PI if not already - defined. - - * sfm-read.c: (bswap) New function. - (bswap_int32) Write in terms of bswap. - (bswap_flt64) Ditto. - - * str.c: (ds_data) Add external definition here, needed because - str.h has only an `extern inline' version. - - * value-labels.c: Fix includes. - -Mon Nov 15 00:40:55 2004 Ben Pfaff - - Instead of providing a system or portable file writer with a raw - case in the format needed for output, provide it with a regular - case. The writer takes care of any needed translation. - - * aggregate.c: Adopt new scheme for AGGREGATE. - (struct agr_proc) sfm_agr_case member removed. - (write_case_to_sfm) Removed because the new interface is easier to - use. - - * get.c: Adopt new scheme for SAVE, XSAVE, EXPORT. - - * pfm-write.c: Implement new scheme. - - * sfm-write.c: Ditto. - -Mon Nov 15 00:32:24 2004 Ben Pfaff - - Instead of treating `struct file_handle' as a class to subclass - into data files, system files, and portable files, instead use it - as a helper that coordinates access. Now it is opaque, too. - - This means that most references to a struct file_handle are now - changed into references to one of struct dfm_reader, struct - dfm_writer, struct sfm_reader, struct sfm_writer, struct - pfm_reader, or struct pfm_writer, according to what's being read - or written. - - Most related changes are only worth summarizing briefly. - - * dictionary.c: (dict_clear) Destroy aux data in deleted - variables. - (dict_clear_aux) New function. - (dict_create_var) Initialize aux, aux_dtor. - (dict_delete_var) Destroy aux data in deleted variable. - - * file-handle.h: (struct fh_ext_class) Removed. - (struct file_handle) Removed. - (fh_init_files) Removed. - - * file-handle.q: Changed references to a handle's `private' member - to direct references. - (struct private_file_handle) Renamed file_handle. - Add next, open_cnt, type, open_mode, aux members. - (struct file_handle_list) Removed. - (extern var inline_file) Removed. - (static var file_handles) Changed from file_handle_list * to - file_handle *. - (create_file_handle) Initialize new members. - (fh_close_handle) Removed. - (mode_name) New function. - (fh_open) New function. - (fh_close) New function. - (fh_parse_file_handle) Renamed fh_parse(). - - * glob.c: (init_glob) Remove fh_init_files() call. - - * aggregate.c: use sfm_writer. - (create_sysfile) Removed because the new interface is simpler. - - * apply-dict.c: Use sfm_reader. - - * data-list.c: Use dfm_reader. - - * file-type.c: Use dfm_reader. - - * get.c: Use sfm_reader, sfm_writer, pfm_reader, pfm_writer. - - * inpt-pgm.c: Use dfm_reader. - - * print.c: Use dfm_writer. - - * sysfile-info: Use sfm_reader. - - * dfm-read.c: Adopt new file handle infrastructure. - - * dfm-write.c: Ditto. - - * pfm-read.c: Ditto. - - * pfm-write.c: Ditto. - - * sfm-read.c: Ditto. - - * sfm-write.c: Ditto. - -Mon Nov 15 00:31:44 2004 Ben Pfaff - - Break dictionary functions into separate header file. - - * dictionary.h: New file. - - * var.h: Moved dict_*() functions to dictionary.h. - -Mon Nov 15 00:30:33 2004 Ben Pfaff - - Get rid of procedure-specific union in struct variable, using - instead a void * pointer and a destructor function. - - Most related changes are only worth brief summaries. - - * crosstabs.q: Fix includes. Use new struct var_range in lieu of - old p.crs member in struct variable. - - * frequencies.q: Fix includes. Use new struct var_freqs in lieu - of old p.frq member in struct variable. - - * histogram.c: (draw_histogram) Takes new freq_tab arg because - it's no longer possible to grab this from var->p.frq. - - * piechart.c: (draw_piechart) Ditto. - - * group.c: (group_proc_get) New function. - - * levene.c: Use group_proc_get() in lieu of old p.grp_data member - in struct variable. - - * oneway.q: Ditto. - - * t-test.q: Ditto. - - * main.c: (execute_command) Clear aux data in default_dict after - each command. (It's debatable whether this should be done.) - - * matrix-data.c: Use new struct mxd_var in lieu of old p.mxd - member in struct variable. - - * means.q: Get rid of integer mode, which is not included in - recent SPSS and was the only code that wanted per-variable private - data. - - * var.h: (struct crosstab_proc) Removed. - (struct frequencies_proc) Removed. - (struct list_proc) Removed. - (struct get_proc) Removed. - (struct means_proc) Removed. - (struct matrix_data_proc) Removed. - (struct match_files_proc) Removed. - (lots of enums) Removed. - (struct variable) Removed members `p', `get'. Add member - `aux_dtor'. - - * vars-atr.c: (var_attach_aux) New function. - (var_detach_aux) New function. - (var_clear_aux) New function. - (var_dtor_free) New function. - (discard_variables) Use NULL instead of inline_file. - -Fri Nov 12 10:07:11 WST 2004 John Darrington - - * value-labs.c Fixed the implmentation of value_to_string, so - that it properly handles alpha values. - - * oneway.q Changed instances where labels were being probed manually, - to use the canonical {var,value}_to_string functions - -Thu Nov 11 21:01:31 WST 2004 John Darrington - - * examine.q cartesian.c chart.[ch] Added normal and detrended normal - plots. Changed the API of the cartesian plot to be a much lower level - thing. - -Sun Nov 7 17:25:04 WST 2004 John Darrington - - * examine.q Added some of the parametric calculations - - * factor_stats.[ch] Created - -Sat Nov 6 21:24:31 WST 2004 John Darrington - - * examine.q Changed the definition of factors to be a composite, and - dealt with the consequences. - -Sat Nov 6 20:40:38 WST 2004 John Darrington - - * examine.q Fixed problem where examine wasn't dealing properly with - splits - -Sat Nov 6 14:49:47 WST 2004 John Darrington - - * oneway.q Fixed problem where oneway wasn't dealing properly with - splits - -Thu Nov 4 11:09:01 WST 2004 John Darrington - - * q2c.c examine.q Fixed a bug (feature?) whereby arrays in the - command which had settings didn't get the appropriate code - generated. - - * val.h value-labels.[ch] var-labs.c Added v*to_string functions - to convert variables/values to strings. - - * examine.q Added framework for the EXAMINE command. - -Mon Nov 1 12:46:17 WST 2004 John Darrington - - * q2c.c frequencies.q set.q t-test.q Fixed the q2c parsing of DBL - subcommand types. Changed frequencies.q to use it rather then the - custom parser. Dealt with the consequences. Added a test for NTILES - subcommand of frequencies. - -Sat Oct 30 09:16:29 WST 2004 John Darrington - - * oneway.q Fixed up the behaviour when given missing values - - * levene.c oneway.q Fixed a buglet with the levene statistic and - incorporated the levene test into the oneway command. - - * group.h t-test.q Moved the CMP_EQ and CMP_LE symbols out of - global scope, since they're only relevant to T-TEST - -Fri Oct 29 17:39:03 WST 2004 John Darrington - - * group.c group.h group_proc.h levene.c oneway.q t-test.q - - Made the t-test more consistent - with the way it handles groups. That is, it now uses a hash instead - of an array of 2. Also, made the levene.c file independent of the - implementation of the t-test. So now levene should be fine for both - t-test and anova. - - * Added an oneway.q file for one way anova - -Wed Jun 2 22:08:02 2004 Ben Pfaff - - * descript.c: (cmd_descriptives) Remove harmless but bogus test in - STATISTICS parsing. - -Mon May 31 20:45:24 2004 Ben Pfaff - - Fix memory leaks. - - * data-list.c: (cmd_data_list) Free dls->delims on lossage. - (data_list_trns_free) Free dls->delims. - - * t-test.q: (tts_custom_pairs) Free vars. - (ssbox_one_sample_init) Fix tab_vline() argument. - (ssbox_independent_samples_init) Ditto. - (trbox_paired_init) Ditto. - (trbox_one_sample_init) Ditto. - -Mon May 31 17:19:27 2004 Ben Pfaff - - Generalize casefiles to the extent that we can use them for - sorting and other kinds of data transformations. Change cases to - be copy-on-write to improve memory efficiency in common cases. - Every access to a member of a `struct ccase' was changed to be a - call to a case_*() function, especially case_data(), case_num(), - case_str(), or case_data_rw(). Many instances of a local variable - named "case_num" were changed to "case_idx" as a consequence. - Many `struct ccase *' were changed to actual `struct ccase' - because of copying semantics of cases. In several places there - was a choice between updating debug code to work with the new ADTs - or just deleting it because it was useless; I chose to delete it. - - * Makefile.am: (pspp_SOURCES) Add case.c, case.h. - - * case.c: New file. - - * case.h: New file. - - * aggregate.c: (struct agr_proc) Change type of `sort' to - sort_criteria *. Add `break_vars', `break_var_cnt' members. - Rename `vars' to `agr_vars', all references updated. Change - `agr_case' to type `struct ccase'. - (cmd_aggregate) Deal with new members. Use case_create(), - sort_active_file_in_place(), sort_active_file_to_casefile(). - (agr_destroy) Deal with new members. - (aggregate_single_case) Ditto. - (dump_aggregate_info) Ditto. - (initialize_aggregate_info) Ditto. - (agr_to_active_file) Ditto. - (presorted_agr_to_sysfile) Ditto. - (sort_agr_to_sysfile) Removed. - - * alloc.c: (out_of_memory) Make non-static. - - * alloc.h: Prototype out_of_memory(). - - * casefile.c: Switched from a linked list in-memory representation - to a two-level array-style representation. The linked list was - appropriate when we could stick a header onto cases, but that's no - longer the case. Also, the two-level array will allow for random - in-memory access in case that's ever wanted. Also added the - concept of a `destructive casereader', one that destroys cases in - the underlying casefile as they are read out. - (macro CASES_PER_BLOCK) New macro. - (struct casefile) New members `value_cnt', `case_list_size', - `case_acct_size', `being_destroyed', `cases'. Removed `head', - `tail'. - (struct casereader) Removed `cur'. Added `destructive', `c'. - (global var casefiles) Made static. - (static var case_bytes) New var. - (casefile_create) Takes a value count, not a case size in bytes, - to conform to the case interface. All callers updated. Deal with - new and removed members. - (casefile_destroy) Deal with new and removed members. - (casefile_sleep) New function. - (casefile_get_case_size) Removed. - (casefile_get_value_cnt) New function. - (casefile_append) Rewritten to deal with new and removed members. - (casefile_append_xfer) New function. - (write_case_to_disk) Use case_serialize(). - (call_posix_fadvise) Removed because posix_fadvise64 segfaults. - Couldn't figure out why. - (casefile_to_disk) Don't call call_posix_fadvise. Rewritten to - deal with new and removed members. - (merge) Removed. - (merge_sort) Removed. - (casefile_sort) Removed. - (casefile_get_reader) Deal with new and removed members. - (casefile_get_destructive_reader) New function. - (reader_open_file) Make code more readable. Create case for - reader. - (casereader_get_casefile) New function. - (casereader_read) Deal with new and removed members. Now returns - a copy of the case, so that the caller is responsible for - destroying the returned case. - (casereader_read_xfer) New function. - (casereader_destroy) Destroy reader's case. - (test_casefile) Second arg is now a value count, all callers - updated. Now tests destructive readers too. - (get_random_case) Deal with new case ADT. - (write_random_case) Ditto. - (read_and_verify_random_case) Ditto. - - * crosstabs.q: Remove debug code. - - * descript.q: (calc_descriptives) Deal with new case, casefile - ADTs. - - * dfm.c: (cmd_begin_data) There's no storage_source_class anymore. - - * do-if.c: Remove unneeded header inclusion. - - * expr-prs.c: Remove debug code. - - * exprP.h: Remove debug code. - - * flip.c: (flip_file) Use fseeko() if available. - - * formats.c: Remove debug code. - - * get.c: Remove debug code. - (struct mtf_file) Change `input' from `union value *' to `struct - ccase', all references updated. - - * levene.c: (levene) Deal with new case, casefile ADTs. - - * list.q: Remove debug code. - - * loop.c: Remove debug code. - - * matrix-data.c: Remove debug code. - - * means.q: Remove debug code. - - * mis-val.c: Remove debug code. - - * pfm-read.c: Remove debug code. - (pfm_read_code) Change second arg from `union value *' to `struct - ccase *', all references updated. - - * recode.c: (string_to_long) Make first arg const. - (convert_to_double) Ditto. - - * repeat.c: Remove debug code. - - * sample.c: Remove debug code. - - * sfm-read.c: Remove debug code. - (sfm_read_case) Change second arg from `union value *' to `struct - ccase *'. - - * sort.c: Redone in terms of casefiles. - (enum sort_direction) Moved here from sort.h. - (struct sort_criterion) New structure. - (struct sort_criteria) New structure. - (cmd_sort_cases) Rewritten. - (prepare_to_sort_active_file) New function. - (sort_active_file_in_place) New function. - (sort_active_file_to_casefile) New function. - (parse_sort) Renamed sort_parse_criteria(), rewritten & interface - changed, all callers updated. - (destroy_sort_cases_pgm) Renamed sort_destroy_criteria(), - rewritten & interface changed, all callers updated. - (sort_cases) Renamed sort_execute(), rewritten & interface - changed, all callers updated. - (struct internal_sort) Removed. - (do_internal_sort) Rewritten, interface changed. - (destroy_internal_sort) Removed. - (compare_case_dblptrs) Use sort_criteria instead of sort_case_pgm. - (struct initial_run) Removed; an initial run is now just a - casefile. - (compare_initial_runs) Rewritten. - (struct external_sort) Changed almost completely. - (do_external_sort) Rewritten, interface changed. - (destroy_external_sort) Rewritten. - [HAVE_MKDTEMP] (make_temp_dir) Removed. - [!HAVE_MKDTEMP] (do_mkdir) Removed. - [!HAVE_MKDTEMP] (make_temp_dir) Removed. - (init_external_sort) Removed. - (simulate_error) Removed. - (rmdir_temp_dir) Removed. - (get_temp_file_name) Removed. - (open_temp_file) Removed. - (close_temp_file) Removed. - (remove_temp_file) Removed. - (write_temp_file) Removed. - (read_temp_file) Removed. - (struct record_run) Change `record' from `struct case_lit *' to - `struct ccase'. - (struct initial_run_state) Remove `idx_to_fv', `free_list', - `file_idx', `output_file'. Add `run', casefile'. Change - `last_output' from `struct case_list *' to `struct ccase'. - (write_initial_runs) Change interface, rewrite. - (sort_sink_write) Renamed process_case(), changed interfaced, - rewrote. - (destroy_initial_run_state) Rewritten. - (allocate_cases) Rewritten. - (compare_record) Interface changed, rewritten. - (start_run) Rewritten. - (end_run) Rewritten. - (output_record) Rewritten. - (grab_case) Removed. - (release_case) Removed. - (struct merge_case) Change `cases' from double pointer to single - pointer. - (merge) Deal with new case and casefile ADTs. - (struct run) Removed. - (merge_once) Rewritten, interface changed. - (fill_run_buffer) Removed. - (sort_sink_make_source) Removed. - (sort_sink_class) Removed. - (struct sort_source_aux) Removed. - (sort_source_read_helper) Removed. - (sort_source_read) Removed. - (read_sort_output) Removed. - (read_internal_sort_output) Removed. - (read_external_sort_output) Removed. - (sort_source_destroy) Removed. - (sort_source_class) Removed. - - * sort.h: (struct sort_cases_pgm) Removed. - (enum sort_direction) Moved to sort.c. - - * t-test.q: (calculate) Deal with new case, casefile ADTs. - - * tab.c: Remove debug code. - - * var-labs.c: Remove debug code. - - * var.h: (struct ccase) Removed. - (struct case_list) Removed. - - * vars-atr.c: (discard_variables) Use free_case_source(). - - * vars-prs.c: (parse_vs_variable) Make arg const. - (parse_dict_variable) Ditto. - (parse_variables) Make struct dictionary * arg const. - (parse_var_set_vars) Make struct var_set * arg const. - (struct var_set) Add const to some of the function pointers' args. - (var_set_get_cnt) Make arg const. - (var_set_get_var) Make first arg const. - (var_set_lookup_var) Make first arg const. - (dict_var_set_get_cnt) Make arg const. - (dict_var_set_get_var) Make first arg const. - (dict_var_set_lookup_var) Make first arg const. - (var_set_create_from_dict) Make arg const. Add cast to aux - assignment. - (struct array_var_set) Add const to var member. - (array_var_set_get_cnt) Make arg const. - (array_var_set_get_var) Make first arg const. - (array_var_set_lookup_var) Make first arg const. - (var_set_create_from_array) Make first arg const. Insert cast. - - * vfm.c: (struct write_case_data) Change trns_case, sink_case - members from `struct ccase *' to `struct ccase'. - (static var lag_queue) Change from double to single pointer. - (procedure) Optimize trivial case. - (internal_procedure) Deal with changed case, case_source ADTs. - (create_trns_case) Changed interface, rewrote. - (open_active_interface) Initialize modified lag queue. - (write_case) Deal with changed case ADT. - (lag_case) Deal with modified lag queue. - (close_active_file) Destroy modified lag queue. - Deal with changed case_source, case_sink ADTs. - (destroy_storage_stream_info) Make null arg into no-op. - (storage_sink_make_source) Set aux in created source. - (storage_source_read) Deal with changed case, casefile ADTs. - (storage_source_create) New function. - (lagged_case) Rewrite. - (free_case_source) New function. - (free_case_sink) Rewrite. - (struct split_aux_data) Changed prev_case from `struct ccase *' to - `struct ccase'. - (procedure_with_splits) Deal with changed prev_case. - (procedure_with_splits_callback) Ditto. - (multipass_split_aux_data) Changed prev_case from `struct ccase *' to - `struct ccase'. - (multipass_procedure_with_splits) Deal with changed prev_case. - (multipass_split_callback) Ditto. - - -Mon May 31 17:19:06 2004 Ben Pfaff - - The workspace idea didn't work out. - - * Makefile.am: (pspp_SOURCES) Remove workspace.c, workspace.h. - - * workspace.c: Removed. - - * workspace.h: Removed. - -Sun May 30 18:35:19 2004 Ben Pfaff - - Fully implement arbitrary delimiters on DATA LIST, extending the - half implementation that was already there. - - * data-list.c: (struct data_list_pgm) Remove `delim', add - `delims', `delim_cnt'. - (cmd_data_list) Initialize new members. Parse delimiters and - clean up code a bit. - (cut_field) Extract fields with arbitrary delimiters. Also, fix - handling of leading commas. - (read_from_data_list_fixed) Expand tabs. Adapt to new DFM - interfaces. - (read_from_data_list_free) Adapt to new DFM interfaces. - (read_from_data_list_list) Ditto. - (repeating_data_trns_proc) Ditto. - - * dfm.c: Split up reader and writer into separate code, because - they do different things. Use struct string instead of explicit - allocation code, for clarity. - (enum dfm_reader_flags) New enum. - (struct dfm_fhuser_ext) Removed. - (struct dfm_reader_ext) New. - (get_reader) New function, used by just about all the reader - functions. - (dfm_close) Removed. - (close_reader) New function. - (dfm_open_for_reading) Rewrite initialization of dfm_fhuser_ext. - (dfm_open_for_writing) Ditto. - (macro force_line_buffer_expansion) Removed. - (count_tabs) Removed. - (tabs_to_spaces) Removed. - (read_record) Deal with new dfm_reader_ext. Use struct string - functions. Don't convert tabs to spaces. - (dfm_eof) New function. - (dfm_get_record) Changed interface, rewrote. - (dfm_expand_tabs) New function. - (dfm_fwd_record) Renamed dfm_forward_record(), updated to new - dfm_reader_ext, rewritten. - (dfm_bkwd_record) Renamed dfm_reread_record(), updated to new - dfm_reader_ext, rewritten. - (dfm_set_record) Removed in favor of dfm_forward_columns(). - (dfm_forward_columns) New function. - (dfm_get_cur_col) Renamed dfm_column_start, updated to new - dfm_reader_ext, rewritten. - (static var dfm_r_class) Use close_reader for the destructor. - (struct dfm_writer_ext) New. - (dfm_put_record) Updated to new dfm_writer_ext, rewritten. Uses - bounce buffer now instead of local allocation. - (close_writer) New function. - (static var dfm_writer_ext) Use close_writer for destructor. - (cmd_begin_data) Adapt to new dfm_reader_ext. - - * file-handle.q: Add support for per-file tab width. - (struct private_file_handle) Add tab_width member. - (q2c specifications) Add tabwidth subcommand. - (cmd_file_handle) Put parsed tab width into private_file_handle. - (create_file_handle) Set default tab width. - (handle_get_tab_width) New function. - - * file-type.c: (file_type_source_read) Adapt to new DFM interface. - - * inpt-pgm.c: (reread_trns_proc) Ditto. - - * matrix-data.c: (context) Ditto. - (another_token) Ditto. - (mget_token) Ditto. - (force_eol) Ditto. - -Sun May 30 18:33:59 2004 Ben Pfaff - - * casefile.c: (casefile_destroy) Fix memory leak by freeing - cf->filename. - (casereader_destroy) Don't close file descriptor -1. - - * recode.c: (cmd_recode) Fix memory leak. - - * set.q: (q2c specifications) Fix typo in user message. - - * str.c: (st_bare_pad_len_copy) Change memcpy to memmove to avoid - undefined behavior for overlapping arguments. - -Sun May 30 18:31:48 2004 Ben Pfaff - - * casefile.c: valgrind doesn't implement posix_fadvise() yet, so - don't call it when we're running under valgrind. - (call_posix_fadvise) New function. - (casefile_to_disk) Use call_posix_fadvise(). - (reader_open_file) Ditto. - -Sun May 30 18:20:12 2004 Ben Pfaff - - Update our string ADTs, struct string and struct len_string. Get - rid of pool support, which was largely unused. Rename lots of - functions to have more obvious or consistent names. - - * ascii.c: Get rid of ascii_pool. It was only used for string - allocations. - (ascii_open_global) Don't create ascii_pool. - (ascii_close_driver) Don't destroy ascii_pool. - (ascii_postopen_driver) Don't use pool. - (ascii_close_driver) Destroy strings manually. - - * str.c: (ds_create) Remove pool argument, all references updated. - (ds_init) Ditto. - (ds_replace) Remove pool support, make more efficient when we - don't need to reallocate. - (ds_destroy) Remove pool support. - (ds_rpad) New function. - (ds_size) Renamed ds_capacity(), all references updated. - (ds_value) Renamed ds_c_str(), all references updated. - (ds_concat) Renamed ds_puts(), all references updated. - (ds_concat_buffer) Renamed ds_concat(), all references updated. - (ds_putchar) Renamed ds_putc(), all references updated. - (ds_getline) Renamed ds_gets(), all references updated. - (ls_create) Remove pool argument, all references updated. - (ls_create_buffer) Ditto. - (ls_destroy) Removed pool support. - (ls_value) Renamed ls_c_str(), all references updated. - - * str.h: (ls_length) [__GNUC__] Add inline version. - (ls_c_str) [__GNUC__] Add inline version. - (ls_end) [__GNUC__] Add inline version. - (struct string) Remove pool member. Rename `size' to `capacity', - all references updated. - - * tab.c: (text_format) Instead of using pool argument to - ls_create_buffer(), call pool_register() on allocated data. - -Mon Apr 26 22:40:07 2004 Ben Pfaff - - We're abusing the current ASCII driver by telling it to allocate a - 9999-line, 9999-character page in the tests. This causes some - systems to curl up and die because it allocates 20 MB of - contiguous RAM. This change alleviates at least part of the - problem. It is mostly a stop-gap until the new output system is - ready. - - * ascii.c: (struct line) New structure. - (struct ascii_driver_ext) Remove `page', `page_size', `line_len', - `line_len_size', `n_output' members. Add `lines', `lines_cap'. - (ascii_preopen_driver) Initialize new members, not old ones. - (ascii_close_driver) Destroy new members, not old ones. - (ascii_open_page) Allocate new members, not old ones. - (expand_line) Allocate room in line. - (draw_line) Use new members. - (ascii_line_horz) Ditto. - (ascii_line_vert) Ditto. - (ascii_line_intersection) Ditto. - (text_draw) Ditto. - (output_lines) Ditto. - (ascii_close_page) Ditto. - -Sun Apr 25 23:40:15 2004 Ben Pfaff - - * matrix.c: Dead code. Removed. - - * matrix.h: Dead code. Removed. - -Fri Apr 16 23:59:51 2004 Ben Pfaff - - Contrary to what I'd always understood, there is an efficient - algorithm for deletion from a hash table populated via linear - probing. This change implements it. - - * hash.c: (hsh_rehash) Probe in increasing order. - (hsh_probe) Ditto. - (locate_matching_entry) Ditto. - (hsh_delete) Use Knuth's Algorithm 6.4R for deletion. - -Tue Apr 13 19:24:15 2004 Ben Pfaff - - * moments.c (calc_moments): Adjust calculation of kurtosis to - avoid subtracting huge numbers from huge numbers, on Michael - Kiefte's advice. - -Sun Apr 11 14:22:12 2004 Ben Pfaff - - Rework moments routines for improved numerical stability based on - Michael Kiefte's advice. Any bugs or remaining numerical problems - are still mine though. - - There is now a struct moments1 for use with one-pass moments. It - uses a provisional means algorithm as an attempt to improve - accuracy of higher moments. The older struct moments now only - handles two-pass moments. - - * aggregate.c: Use moments1 instead moments. - - * descript.c: Revert previous change, which is no longer needed - due to the moments revision. - - * moments.c: (calc_moments) New function for calculating variance, - skewness, kurtosis. - (moments_pass_one) Only accumulate weights bigger than zero. - (moments_calculate) Allow calculating the mean on pass one, others - require pass two. Implement in terms of calc_moments(). - (struct moments1) New structure. - (init_moments1) New function. - (moments1_clear) Ditto. - (moments1_create) Ditto. - (moments1_add) Ditto. - (moments1_calculate) Ditto. - (moments1_destroy) Ditto. - (cmd_debug_moments) Deal with `struct moments' or `struct - moments1' as requested by user. - -Sun Apr 11 14:21:55 2004 Ben Pfaff - - * Makefile.am (pspp_SOURCES): Remove debug.c. - - * debug.c: Removed. It was empty anyway. - -Fri Apr 9 20:04:49 2004 Ben Pfaff - - * descript.c (calc_descriptives): Fix assert failure when only - MOMENT_MEAN is needed. - -2004-04-09 Michael Kiefte - - * descript.c: - - fixed problem with parsing in match_statistic() causing - "DESCRIPTIVE STAT=MEAN." to barf. - - "MEAN" is now default if "SORT" given without specification. - - Fixed infinite loop with "DESCRIPT GIBBERISH=ALL." Parsing is - generally less forgiving of syntax errors: better to have it do - nothing and type it in again then to not know what it actually did - instead. - - z-score transformation now checks score for user-missing values - and checks std_dev for SYSMIS. - -2004-04-06 Michael Kiefte - - * aggregate.c, crosstabs.q, descript.c, dictionary.c, frequencies.q, levene.c, t-test.q, var.h: - Changed dict_get_case_weight() to accept an additional int * flag - to complain about system-missing, user-missing, zero, or negative - weights and updated existing functions to pass int * to - dict_get_case_weight(). - -2004-04-05 jmd - - * main.c: Fixed configuration problems with gsl - - * t-test.q: Fixed some problems encountered when compiling under Cygwin - -2004-04-03 blp - - * lexer.c, ChangeLog: - Fix infinite loop on comment at end of file, add test. - -2004-04-03 jmd - - * settings.h, var.h, ChangeLog, Makefile.am, cmdline.c, command.c, command.h, error.h, filename.c, frequencies.q, lexer.h, main.c, q2c.c, set.q: - Fixed the calculation of percentiles and added --syntax and --algorithm options - -Sat Apr 3 11:43:37 2004 Ben Pfaff - - * lexer.c: (lex_skip_comment) Handle end-of-file correctly (I - hope). - -Sat Apr 3 15:00:18 WST 2004 John Darrington - - * frequencies.q: Fixed the calculation of percentiles - - * Makefile.am: Added the --ansi flag and dealt with the - consequences. Added some entries to PSPP_sources so that - make distcheck would pass - - * cmdline.c: Added the --syntax and --algorithm options - - * q2c.c: Added an implicit /ALGORITHM subcommand to everything. - -Fri Apr 2 11:25:22 WAST 2004 John Darrington - - * t-test.q, levene.c, levene.h Converted t-test (incl levene) to - use the new multipass_split_... mechanism. - -Wed Mar 31 22:36:22 2004 Ben Pfaff - - * frequencies.q: (calc_stats) Use moments data structure and - calc_seskew(), calc_sekurt() functions. - - * set.q main.c settings.h Added support for --syntax and --algorithm - options - -Tue Mar 30 22:04:19 2004 Ben Pfaff - - * vfm.c: Had to get last call to multipass_split_output() inside - open_active_file()/close_active_file() pairing, so introduce new - function. - (internal_procedure) Move procedure() code here, except for calls - to open_active_file() and close_active_file(). - (procedure) Wrap open_active_file() and close_active_file() around - internal_procedure(). - (multipass_procedure_with_splits) Wrap open_active_file() and - close_active_file() around internal_procedure(). - -Tue Mar 30 22:01:57 2004 Ben Pfaff - - * descript.c: (cmd_descriptives) Free `vars' to avoid memory leak. - -Mon Mar 29 16:26:40 2004 Ben Pfaff - - * debug.c: Removed. Moved cmd_debug_evaluate() into expr-evl.c. - - * expr-evl.c: (cmd_debug_evaluate) Moved here from debug.c. - -Mon Mar 29 16:03:08 2004 Ben Pfaff - - * algorithm.c: By default turn off some of the more expensive - assertions. - (expensive_assert) New macro which expands to assert if - EXTRA_CHECKS is defined, to nothing otherwise. - (unique) Use expensive_assert(). - (binary_search) Ditto. - (push_heap) Ditto. - (pop_heap) Ditto. - (make_heap) Ditto. - (sort_heap) Ditto. - - * command.c: (conflicting_3char_prefixes) Words that are the same - don't cause conflicts when they are abbreviated to the first three - letters. - - * expr-evl.c: (CONCAT_func) Fix memory leak by incrementing struct - nonterm_node's n earlier. - (generic_str_func) Ditto. - -Mon Mar 29 15:32:17 2004 Ben Pfaff - - Add support for multipass procedures. Rewrite DESCRIPTIVES to - test multipass support, take advantage of new moments - calculation, and to not be such crappy code. Get rid of q2c - processing for DESCRIPTIVES. - - * vfm.c: (struct multipass_split_aux_data) New structure. - (multipass_procedure_with_splits) New function. - (multipass_split_callback) New function. - (multipass_split_output) New function. - * descript.q: Removed. - - * descript.c: New file. - - * var.h: Removed descriptives enums. - (struct descriptives_proc) Removed. - (struct variable) Removed p.dsc. - - * Makefile.am: (q_sources_c) Remove descript.c. - (q_sources_q) Removed descript.q. - -Mon Mar 29 15:31:55 2004 Ben Pfaff - - New manager for keeping track of used workspace. - - * workspace.c: New file. - - * workspace.h: New file. - - * Makefile.am: (pspp_SOURCES) Add workspace.c, workspace.h. - - * sort.c: (do_internal_sort) Use workspace_malloc(). - (destroy_internal_sort) Use workspace_free(). - -Mon Mar 29 15:31:08 2004 Ben Pfaff - - New `struct casefile' for managing sets of cases. - - * casefile.c: New file. - - * casefile.h: New file. - - * command.def: Add DEBUG CASEFILE command. - - * Makefile.am: (pspp_SOURCES) Add casefile.c, casefile.h. - - * sort.c: (sort_cases) Move logic for sending storage file to disk - into do_external_sort(). - (struct internal_sort) Use an array of ccase pointers instead of a - case_list. - (do_internal_sort) Rewrite to handle casefiles. - (compare_case_list) Removed. - (compare_cases) New function. - (compare_case_dblptrs) New function. - (read_internal_sort_output) Deal with new struct internal_sort. - - * vfm.c: (static var workspace_overflow) Removed. - (struct storage_stream_info) Removed all the members. Added - struct casefile * member. - (storage_sink_open) Use casefile. - (open_storage_file) Removed. - (write_storage_file) Removed. - (storage_to_disk) Removed. - (destroy_storage_stream_info) Use casefile. - (storage_sink_write) Use casefile. - (storage_sink_make_source) Use casefile. - (storage_source_count) Use casefile. - (storage_source_read) Use casefile. - (storage_source_on_disk) Removed. - (storage_source_get_cases) Removed. - (storage_source_set_cases) Removed. - (storage_source_get_casefile) New function. - -Mon Mar 29 15:30:09 2004 Ben Pfaff - - New `struct moments' for calculating moments. - - * stats.c: Removed. - - * stats.h: Removed. - - * moments.c: New file. - - * moments.h: New file. - - * command.def: Add DEBUG MOMENTS command. - - * Makefile.am: (pspp_SOURCES) Add moments.c, moments.h. Remove - stats.c, stats.h. - - * aggregate.c: Modify AGGREGATE to use the new moments - calculation, even if not in such a great way. - (struct agr_var) Add `moments' member. - (parse_aggregate_functions) Set `moments' member to null. - (agr_destroy) Destroy `moments' member. - (accumulate_aggregate_info) Use `moments' for standard deviation. - (dump_aggregate_info) Ditto. - (initialize_aggregate_info) Create or clear `moments'. - - * misc.h: Add pow2(), pow3(), pow4() functions in place of sqr(), - cube(), pow4() that were in stats.h. All references updated. - - * crosstabs.q: stats.h had chi-square significance functions. Use - GSL instead. - (display_chisq) Use gsl_cdf_chisq_Q() instead of chisq_sig(). - - * expr-evl.c: (expr_evaluate) Use moments_of_values() for - OP_CFVAR, OP_MEAN, OP_SD, OP_VARIANCE. - -Fri Mar 26 14:21:23 2004 Ben Pfaff - - * dictionary.c: (dict_compact_values) Compacted values need to - start off from 0. - -Fri Mar 26 00:54:57 2004 Ben Pfaff - - * var-labs.c: (cmd_variable_labels) For compatibility, don't allow - `/' at start. Check return value of parse_variables() for error - return. - -Fri Mar 26 00:19:27 2004 Ben Pfaff - - Revamp expressions: make the code a little nicer, and fix bugs - found in testing. - - * expr-evl.c: (expr_evaluate) Make expression argument const. - Support OP_ADD, OP_SUB, OP_MUL, OP_DIV instead of OP_PLUS, OP_MUL. - OP_POW is missing for arg 2 <= 0. OP_LOG is natural log, not - base-10 log. Fix OP_ANY, OP_ANY_STRING, OP_RANGE, OP_RANGE_STRING - off-by-ones. Add OP_MAX_STRING, OP_MIN_STRING. Fix OP_TIME_HMS, - OP_DATE_WKYR boundary conditions. Add OP_CTIME_DAYS, - OP_CTIME_HOURS, OP_CTIME_MINUTES, OP_CTIME_DAYS, OP_CTIME_SECONDS. - Support OP_INDEX_2, OP_INDEX_3, OP_RINDEX_2, OP_RINDEX_3 instead - of OP_INDEX, OP_INDEX_OPT, OP_RINDEX, OP_RINDEX_OPT. Merge - OP_LPAD_OPT into OP_LPAD, OP_RPAD_OPT into OP_RPAD, OP_LTRIM_OPT - into OP_LTRIM, OP_RTRIM_OPT into OP_RTRIM, OP_NUMBER_OPT into - OP_NUMBER. Fix OP_RTRIM fragility. Support OP_SUBSTR_2, - OP_SUBSTR_3 instead of OP_SUBSTR, OP_SUBSTR_OPT. Remove OP_INV. - Simplify OP_SYSMIS. Remove OP_STR_MIS. - - * expr-opt.c: (optimize_expression) Rewrite. - (macro n0) Removed. - (macro n1) Removed. - (macro n2) Removed. - (macro s0) Removed. - (macro s0l) Removed. - (macro s1) Removed. - (macro s1l) Removed. - (macro s2) Removed. - (macro s2l) Removed. - (macro s) Removed. - (macro sl) Removed. - (eq_num_con) New function. - (optimize_tree) New function. - (macro rnc) Removed. - (macro frnc) Removed. - (str_search) Add const to string params. - (str_rsearch) Ditto. - (evaluate_tree_no_missing) Renamed from evaluate_tree. Add num[], - str[], str_len[] locals to substitute for most of removed macros. - Support OP_ADD, OP_SUB, OP_MUL, OP_DIV instead of OP_PLUS, OP_MUL. - Removed support for missing values because we're never called with - missing values. Use set_number() or set_number_errno() instead of - rnc or frnc. Removed any stuff that caused trouble in testing. - We can re-add it later if it really slows anything. Fix some - random problems. - (evaluate_tree_with_missing) Not yet supported. To be added later - if it's important. - (repl_num_con) Removed. - (collapse_node) New function. - (force_repl_num_con) Removed. - (set_number) New function. - (set_number_errno) New function. - (repl_str_con) Removed. - (set_string) New function. - (yrmoda) Tighten boundary conditions. Adopt 2030 cut-off for - 2-digit years. - (dump_node) No special case for OP_AND, OP_OR. - - * expr-prs.c: (expr_prs) Honor EXPR_NO_OPTIMIZE bit. Rewrite. - (expr_get_type) New function. - (type_check) Rewrite. - (type_coercion) New function. - (struct operator) New structure. - (match_operator New function. - (parse_binary_operators) New function. - (parse_inverting_unary_operator) New function. - (parse_or) Rewritten. - (parse_and) Rewritten. - (parse_not) Rewritten. - (parse_rel) Rewritten. - (parse_add) Rewritten. - (parse_mul) Rewritten. - (parse_neg) Rewritten. - (parse_exp) Rewritten. - (parse_sysvar) Add $TRUE, $FALSE system variables. - Get $LENGTH, $WIDTH from get_viewlength(), get_viewwidth(). - (parse_primary) Use allocate_var_node(), allocate_num_con(), - allocate_str_con(). - (struct function) Remove desc, change `func' prototype. - (unary_func) Remove special cases. - (MISSING_func) Reduce to unary_func() that just returns a boolean. - (SYSMIS_func) Handle SYSMIS((x)) like SYSMIS(x). - (VALUE_func) Use allocate_var_node(). - (nary_num_func) Allow MIN and MAX for strings. - Use allocate_var_node(). Properly clean up. - Fix return type. - (generic_str_func) Use local table instead of removed `desc' - member. Mostly rewrite. - (get_num_args) Revise error message. - (parse_function) Return EXPR_ERROR, not 0 on error. - (macro op) Removed. - (macro varies) Removed. - (ops[]) Use expr.def. - (free_node) Do nothing if node is null. - (allocate_num_con) New function. - (allocate_str_con) New function. - (allocate_var_node) New function. - (allocate_binary_nonterminal) New function. - (append_nonterminal_arg) Removed. - (static var func_tab[]) Revised. - (expr_debug_print_postfix) Make parameter const. - Use printf() instead of debug_printf(). - - * expr.def: New file. - - * expr.h: Change PXP_* to EXPR_*, all references updated. Also - use named enum instead of unnamed, all references updated. Add - EXPR_ANY, EXPR_NO_OPTIMIZE. - - * exprP.h: Remove EX_*. Add DEFINE_OPERATOR. Use expr.def - instead of defining OP_* directly. - (macro IS_TERMINAL) New macro. - (macro IS_NONTERMINAL) New macro. - (enum OP_NO_FLAGS) New. - -Fri Mar 26 00:18:01 2004 Ben Pfaff - - * error.c: (err_assert_fail) msg variable needs to be non-const. - -Fri Mar 26 00:17:24 2004 Ben Pfaff - - * debug.c: (cmd_debug_evaluate) Rewrite. - -Fri Mar 26 00:15:13 2004 Ben Pfaff - - Fix some CROSSTABS bit rot stupidity. - - * crosstabs.q: Reorder the CELLS subcommands for compatibility. - (internal_cmd_crosstabs) Initializes cells[] correctly. - (float_M_suffix) Rename format_cell_entry(), change prototype, - rewrite. - (display_crosstabulation) Fix cell formatting. - -Fri Mar 26 00:14:09 2004 Ben Pfaff - - Make lex_rest_of_line(), lex_entire_end() not discard lines. Have - to call lex_discard_line() to do that. - - * command.c: (run_command) Call lex_discard_line() after - lex_rest_of_line(). - - * lexer.c: (lex_entire_end) Change behavior. - (lex_rest_of_line) Change behavior. Return const char *. - (lex_discard_line) Don't clear getl_buf, don't emit message. - - * main.c: (handle_error) Emit message here. - - * repeat.c: (internal_cmd_do_repeat) Use lex_discard_line() - instead of lex_entire_line(). - - * str.c: (mm_find_reverse) Make length params size_t. Rewrite. - - * title.c: (get_title) Call lex_discard_line() after - lex_rest_of_line(). - (cmd_file_label) Ditto. - (cmd_document) Deal with const char * return value. - -Fri Mar 26 00:10:16 2004 Ben Pfaff - - Removed REMARK command. - - * command.c: (extract_prefix) Removed. - (output_line) Removed. - (cmd_remark) Removed. - - * command.def: Remove REMARK. - -Fri Mar 26 00:08:38 2004 Ben Pfaff - - Added abort() after lots of assert(0) invocations to avoid some - compiler warnings. We really need a NOT_REACHED macro. - -Tue Mar 23 08:00:42 WAST 2004 John Darrington - - * sort.c: Added missing call to temp_file_close. Changed error - messages to warnings. - - * set.q: Improved setting of set_view{length,width} to be more tolerant - of buggy OSes. - -Sun Mar 21 10:11:14 WST 2004 John Darrington - - * val-labs.c: Fixed a bug where PSPP would crash, if VALUE LABELS was - used with incorrect syntax. - - * error.c, error.h et al: Overridden definition of assert for a - custom one. - - * test-q.c: Fixed a buglet where it would crash if no /VARIABLES - subcommand was given when it ought to have been. - -Sat Mar 20 22:19:08 2004 Ben Pfaff - - * tab.c: (tab_vline) Fix assertions to respect row_ofs and - col_ofs. - (tab_hline) Ditto. - (tab_box) Ditto. - (tab_joint_text) Ditto. - -Sat Mar 20 17:57:23 2004 Ben Pfaff - - * levene.c: Add #include. - - * set.q: (set_viewport) Add `int' argument to make its prototype - correct for signal(). - -Sat Mar 20 15:35:17 2004 Ben Pfaff - - * expr-evl.c: (expr_evaluate) Assert that `c' is nonzero before - using it. - -Sat Mar 20 15:18:16 2004 Ben Pfaff - - Changed DFM from open-at-first-access to explicit-open. Before, - calling dfm_get_record() or dfm_put_record() would automatically - open the file. Now, you have to call dfm_open_for_reading() or - dfm_open_for_writing() explicitly. This makes it possible to - check permissions, file existence, etc. earlier. - - Also made struct file_handle more opaque, and clean up in general. - - * data-list.c: (cmd_data_list) Open handle for reading. - - * dfm.c: (struct dfm_fhuser_ext) Add `where', `saw_begin_data' - members. - (open_file_r) Renamed dfm_open_for_reading(), rewrote. - (open_file_w) Renamed dfm_open_for_writing(), rewrote. - (open_inline_file) Removed. - (read_record) For inline_file, if we haven't seen BEGIN DATA, read - it. Deal with line_number in extension record instead of file - handle. - (dfm_get_record) Rewrote. - (dfm_put_record) Rewrote. - (dfm_push) Assert file is open and one of ours. Deal with - line_number in extension record instead of file handle. - (dfm_pop) Assert file is open and one of ours. Deal with - line_number in extension record instead of file handle. - (cmd_begin_data) Use dfm_open_for_reading(). Mark that we saw - BEGIN DATA. - - * file-handle.h: (enum constants RH_RF_*) Removed. - (enum constants FH_MD_*) Removed. - (struct file_handle) Removed `name', `norm_fn', `fn', `where', - `recform', `lrecl', `mode' members. Public references to - `recform' changed to use handle_get_mode(), references to `lrecl' - changed to use handle_get_record_width(). Added `private' member. - (enum file_handle_mode) New. - - * file-handle.q: (struct private_file_handle) New structure. - (struct file_handle_list) New structure. - (static var files) New. - (static var file_handles) Removed. - (init_file_handle) Removed. - (create_file_handle) Removed. - (get_handle_with_name) New function. - (get_handle_for_filename) New function. - (cmd_file_handle) Rewritten. - (hash_file_handle) Removed. - (cmp_file_handle) Removed. - (fh_init_files) Rewritten. - (fh_parse_file_handle) Rewritten. Allows identifiers as - filenames. - (fh_get_handle_by_name) Renamed handle_get_name(), all references - updated. Rewritten. - (fh_get_handle_by_filename) Renamed handle_get_filename(), all - references updated. Rewritten. - (fh_record_width) Renamed handle_get_record_width(), all - references updated. Rewritten. - (handle_get_mode) New function. - - * file-type.c: (cmd_file_type) Open handle for reading. - - * filename.c: [unix] (struct file_identity) New structure. - [unix] (fn_get_identity) New function. - [unix] (fn_free_identity) New function. - [unix] (fn_compare_file_identities) New function. - [!unix] (struct file_identity) New structure. - [!unix] (fn_get_identity) New function. - [!unix] (fn_free_identity) New function. - [!unix] (fn_compare_file_identities) New function. - - * lexer.c: (static var put) Renamed put_token, all references - updated. - (static var put_tokstr) New. - (static var put_tokval) New. - (lex_init) Initialize put_tokstr(). - (restore_token) New function. - (save_token) New function. - (lex_get) Use restore_token(). - (lex_put_back) Use save_token(). - (lex_put_back_id) New function. - (lex_put_forward) Removed. - (lex_preprocess_line) Set put_token instead of using - lex_put_forward(). - (lex_negative_to_dash) Use save_token(), set put_token directly. - (dump_token) Use stderr instead of stdout. - - * main.c: (main) Remove call to cmd_init(). - - * matrix-data.c: (cmd_matrix_data) Open file for reading. - - * pfm-read.c: Use handle_get_filename() instead of trying to use - h->fn directly, all over. - - * pfm-write.c: Ditto. - - * print.c: (internal_cmd_print) Open handle for writing. - (dump_table) Use handle_get_filename(). - (print_trns_proc) Use handle_get_mode(). - (cmd_print_space) Use fh_parse_file_handle(). - Open handle for writing. - [0] (debug_print) Removed. - - * sfm-read.c: Use handle_get_filename() instead of trying to use - h->fn directly, all over. - - * sfm-write.c: Ditto. - -Sat Mar 20 14:35:48 2004 Ben Pfaff - - Fix memory leaks. - - * autorecode.c: (arc_free) Free arc->src_values. - - * error.c: (msg) Free buf. - - * val-labs.c: (do_value_labels) Always free vars. - - * vfm.c: (close_active_file) If sink has no make_source then call - its destroy function. - -Sat Mar 20 14:00:24 2004 Ben Pfaff - - Fixed cmd_parse() so that it always skips past a full command - name. A few special commands for which this would be bad get - special treatment. This lets us drop code for skipping past the - end of a command name in most cmd_*() functions. It's not worth - listing all the commands affected. - - * command.c: (struct command) Remove `cmd' member, replace by - `name' member, all references updated. Remove `word', `next', - `skip_entire_name' members. - (macro DEFCMD) Deal with revised `struct command'. - (macro UNIMPL) Ditto. - (macro SPCCMD) New macro for commands whose last word shouldn't be - skipped. - (static array cmd_table[]) Make const, rename `commands', remove - sentinel element. - (macro COMMAND_CNT) New macro. - (split_words) Removed. - (cmd_init) Removed. - (FILE_TYPE_okay) Make parameter const. - (cmd_parse) Improve error messages. - (match_strings) New function. - (next_word) New function. - (enum command_match) New enum. - (conflicting_3char_prefixes) New function. - (conflicting_3char_prefix_command) New function. - (cmd_match_words) New function. - (count_matching_commands) New function. - (get_command_name) New function. - (free_words) New function. - (unknown_command_error) New function. - (figure_out_command) Renamed parse_command_name(), rewritten. - - * command.def: Removed @ command. Marked BEGIN DATA, DOCUMENT, - FILE LABEL, REMARK, SUBTITLE, TITLE as special. Renamed EVALUATE - to DEBUG EVALUATE. Added N alias for N OF CASES, SORT alias for - SORT CASES. - - * command.h: (macro SPCCMD) New. - - * include.c: (cmd_include_at) Removed. - (cmd_include) Allow identifier to be used as filename. - - * inpt-pgm.c: (cmd_reread) Use fh_parse_file_handle(). - - * t-test.q: (cmd_t_test) Command name is now parsed for us. - - -Sat Mar 20 13:56:00 2004 Ben Pfaff - - Start work on better test framework. - - * Makefile.am: (pspp_sources) Add debug.c. - - * debug.c: New file. - - * compute.c: (cmd_evaluate) Moved to debug.c, renamed - cmd_debug_evaluate(). - - * expr-prs.c: (expr_parse) Remove PXP_DUMP support. - - * expr.h: (enum constant PXP_DUMP) Removed. - -Sat Mar 20 00:05:42 WST 2004 John Darrington - - * set.q: Implemented the SHOW command, and synced it to the existing - SET cmd. - - Added a handler for SIGWINCH so that viewlength and viewwidth follow - changes as the window size is changed. - - Added fallback to set viewlength and viewwidth from LINES and COLUMS - environment variables if other methods are not available. - - glob.c: Removed a lot of global variables from glob.c and encapsulated - them in set.q - - random.c: Tidied up the way the random seed is set. - - str.c: Added a ds_vprintf function. - - error.c: Extended dump_message so that messages are always broken at - '\n' characters. - -Thu Mar 18 11:07:14 2004 Ben Pfaff - - * pfm-write.c: (bufwrite) Write out the correct element for string - variables. From Andreas Streichardt . - -Mon Mar 15 20:48:03 2004 Ben Pfaff - - Get rid of static and global (!) vars in matrix-data.c. - - * matrix-data.c: (static var nr_data) Removed. - (static var nr_factor_values) Removed. - (static var max_cell_index) Removed. - (static var split_values) Removed. - (struct nr_aux_data) New structure. - (read_matrices_without_rowtype) Use a local struct nr_aux_data in - place of static vars, pass to create_case_source() and procedure() - as aux data. - (nr_read_data_lines) Use struct nr_aux_data * parameter instead of - struct matrix_data_pgm *. - (nr_read_splits) Ditto. - (nr_read_factors) Ditto. - (nr_output_data) Ditto. - (static var wr_content) Removed. - (global var wr_data) Removed. - (global var wr_current) Removed. - (struct wr_aux_data) New structure. - (read_matrices_with_rowtype) Use a local struct wr_aux_data in - place of static vars, pass to create_case_source() and procedure() - as aux data. - (matrix_data_read_with_rowtype) Use struct wr_aux_data * parameter - instead of matrix_data_pgm *. - (wr_read_splits) Ditto. - (wr_output_data) Ditto. - (wr_read_rowtype) Ditto. - (wr_read_factors) Ditto. - (wr_read_indeps) Ditto. - -Mon Mar 15 20:07:29 2004 Ben Pfaff - - Get rid of static vars in autorecode.c. - - * autorecode.c: (struct autorecode_trns) Rename `arc' to `specs', - `n_arc' to `spec_cnt'. All references updated. - (static var v_src) Removed. - (static var v_dest) Removed. - (static var h_trns) Removed. - (static var nv_src) Removed. - (static var descend) Removed. - (static var print) Removed. - (enum direction) New enum. - (struct autorecode_pgm) New structure. - (cmd_autorecode) Use struct autorecode_pgm instead of static vars. - Move n_dest local var into struct autorecode_pgm for ease of - clean-up. Use arc_free(). - (arc_free) New function. - (recode) Modify to take struct autorecode_pgm * parameter instead - of using statics. Let the caller clean up. - (autorecode_proc_func) Use struct autorecode_pgm * auxiliary data - instead of statics. Rearrange code a little. - -Mon Mar 15 00:25:02 2004 Ben Pfaff - - Get rid of static, global vars in recode.c. Remove debug code. - - * recode.c: (static var head) Removed. - (global var v) Removed. - (global var nv) Removed. - (cmd_recode) New local variables head, v, nv. Initialize and free - v. Don't call debug_print(). - [DEBUGGING] (dump_dest) Removed. - [DEBUGGING] (debug_print) Removed. - -Mon Mar 15 00:14:49 2004 Ben Pfaff - - Get rid of static vars in expr-opt.c. - - * expr-opt.c: (static var e) Removed. - (static var nop) Removed. - (static var mop) Removed. - (static var ndbl) Removed. - (static var mdbl) Removed. - (static var nstr) Removed. - (static var mstr) Removed. - (static var nvars) Removed. - (static var mvars) Removed. - (struct expr_dump_state) New structure. - (dump_expression) Use new struct expr_dump_state instead of static - vars and pass to functions we call. - (dump_node) Use struct expr_dump_state * parameter. - (emit) Ditto. - (emit_num_con) Ditto. - (emit_str_con) Ditto. - (emit_var) Ditto. - -Mon Mar 15 00:03:51 2004 Ben Pfaff - - Get rid of static var in COUNT. - - * count.c: (static var head) Move into cmd_count(). - (cmd_count) [DEBUGGING] Don't call debug_print. - [DEBUGGING] (debug_print) Removed. - -Sun Mar 14 23:56:09 2004 Ben Pfaff - - Get rid of static vars in VALUE LABELS, ADD VALUE LABELS. - - * val-labs.c: (static var v) Removed. - (static var nv) Removed. - [DEBUGGING] (debug_print) Removed. - (verify_val_labs) Add struct variable **, int parameters. - (get_label) Ditto. Improve error messages, streamline. - (erase_labels) New function for erasing value labels, taking over - part of verify_val_labs()'s function. - (init) Removed. - (done) Removed. - (cmd_value_labels) No need to call init() or done() anymore. - (cmd_add_value_labels) Ditto. - (do_value_labels) Add vars, var_cnt local variables. Clean up - after them internally. Call erase_labels() if we should. Don't - call debug_print(). - -Sun Mar 14 23:33:53 2004 Ben Pfaff - - Get rid of static vars in MATCH FILES. - - * get.c: (static var mtf_head) Removed. - (static var mtf_tail) Removed. - (static var mtf_by) Removed. - (static var mtf_n_by) Removed. - (static var mtf_master) Removed. - (static var mtf_seq_num) Removed. - (static var mtf_seq_nums) Removed. - (static var mtf_sink) Removed. - (static var mtf_case) Removed. - (struct mtf_proc) New structure. - (cmd_match_files) Use struct mtf_proc instead of static vars. - (mtf_processing_finish) Ditto. - (mtf_free) Ditto. - (mtf_delete_file_in_place) Ditto. - (mtf_read_nonactive_records) Ditto. - (mtf_compare_BY_values) Ditto. - (mtf_processing) Ditto. - (mtf_merge_dictionary) Ditto. - -Sun Mar 14 22:48:12 2004 Ben Pfaff - - * command.def: Add CASESTOVARS, VARSTOCASES unimplemented commands. - - * dictionary.c: (dict_rename_var) Add assertion. - (dict_contains_var) Check by index instead of name. - -Sun Mar 14 22:01:02 2004 Ben Pfaff - - Get rid of compaction_necessary, compaction_nval, compaction_case. - Redo VFM interface. Replace disk_sink and memory_sink by - storage_sink, disk_source and memory_source by storage_source. - - * vfm.h: (struct case_sink) Add `dict', `idx_to_fv', `value_cnt' - members. - - * vfm.c: - (struct write_case_data) Remove `begin_func', `end_func', - `func_aux' members. Add `aux', `trns_case', `sink_case', - `cases_written', `cases_analyzed' members. - (global var compaction_necessary) Make static. - (global var compaction_nval) Removed. - (global var compaction_case) Removed. - (static var case_count) Removed. - (struct procedure_aux_data) Removed. - (struct split_aux_data) Removed. - (procedure) Remove begin_func, end_func parameters. Rewrite. - (static var not_canceled) Removed. - (process_active_file) Removed. - (process_active_file_write_case) Removed. - (process_active_file_output_case) Removed. - (prepare_for_writing) Moved into open_active_file(). - (arrange_compaction) Ditto. - (setup_lag) Ditto. - (open_active_file) Rewrote. - (write_case) New function. - [DEBUGGING] (index_to_varname) Removed. - (execute_transformations) New function. - (exclude_this_case) Renamed filter_case(), changed interface. - (clear_case) Added struct ccase * parameter to interface. - (close_active_file) Added struct write_case_data * parameter, - rewrote. - (disk_sink_create) Removed. - (disk_sink_destroy) Removed. - (disk_sink_make_source) Removed. - (disk_sink_write) Removed. - (disk_source_count) Removed. - (disk_source_destroy) Removed. - (disk_source_read) Removed. - (global var disk_sink_class) Removed. - (global var disk_source_class) Removed. - (global var memory_sink_class) Removed. - (global var memory_source_class) Removed. - (memory_sink_create) Removed. - (memory_sink_destroy) Removed. - (memory_sink_make_source) Removed. - (memory_sink_write) Removed. - (memory_source_count) Removed. - (memory_source_destroy) Removed. - (memory_source_get_cases) Removed. - (memory_source_read) Removed. - (memory_source_set_cases) Removed. - (struct disk_stream_info) Removed. - (struct memory_sink_info) Removed. - (struct memory_source_info) Removed. - (write_active_file_to_disk) Removed. - (destroy_storage_stream_info) New function. - (global var null_sink_class) New var. - (global var storage_sink_class) New var. - (global var storage_source_class) New var. - (open_storage_file) New function. - (storage_sink_destroy) New function. - (storage_sink_make_source) New function. - (storage_sink_open) New function. - (storage_sink_write) New function. - (storage_source_count) New function. - (storage_source_destroy) New function. - (storage_source_get_cases) New function. - (storage_source_on_disk) New function. - (storage_source_read) New function. - (storage_source_set_cases) New function. - (storage_source_to_disk) New function. - (storage_to_disk) New function. - (struct storage_stream_info) New structure. - (write_storage_file) New function. - (procedure_write_case) Removed. - (create_case_source) Add `struct dictionary *' parameter, all - references updated. - (create_case_sink) Ditto. - (free_case_sink) New function. - (struct split_aux_data) New structure. - (procedure_with_splits) New function implementing what procedure() - used to. - (SPLIT_FILE_proc_func) Removed. - (procedure_with_splits_callback) New function. - (equal_splits) New function. - - * aggregate.c: Pass around a struct instead of using statics. - (static var outfile) Remove. - (enum type) Give it tag `missing_treatment'. - (static var missing) Remove. - (static var sort) Remove. - (static var agr_first) Remove. - (static var agr_next) Remove. - (static var case_count) Remove. - (static var prev_case) Remove. - (static var buf64_1xx) Remove. - (static var buf_1xx) Remove. - (struct agr_proc) New structure incorporating the above. - (cmd_aggregate) Use new struct. Clean up error handling using - agr_destroy(). Completely rewrite actual implementation of - aggregation. - (create_sysfile) Add struct agr_proc * parameter, modify - accordingly. - (parse_aggregate_functions) Ditto. - (free_aggregate_functions) Ditto. Rename agr_destroy(). - (aggregate_single_case) Add struct agr_proc * parameter, modify - accordingly. - (accumulate_aggregate_info) Ditto. - (dump_aggregate_info) Ditto. - (initialize_aggregate_info) Ditto. - (agr_00x_trns_proc) Removed. - (agr_00x_end_func) Removed. - (agr_10x_trns_proc) Removed. - (agr_10x_trns_free) Removed. - (agr_10x_end_func) Removed. - (agr_11x_read) Removed. - (agr_11x_finish) Removed. - [DEBUGGING] (debug_print) Removed. - (write_case_to_sfm) Add struct agr_proc * parameter, modify - accordingly. - (agr_to_active_file) New function. - (presorted_agr_to_sysfile) New function. - (sort_agr_to_sysfile) New function. - - * autorecode.c: (cmd_autorecode) Use procedure_with_splits(). - - * crosstabs.q: (internal_cmd_crosstabs) Ditto. - - * descript.q: (cmd_descriptives) Ditto. - - * dfm.c: (cmd_begin_data) Check for storage_source_class. Adapt - to new procedure() interface. - - * command.c: (cmd_execute) Adapt to new procedure() interface. - - * dictionary.c: (dict_compact_values) Also delete scratch - variables. - (dict_get_compacted_value_cnt) New function. - (dict_get_compacted_idx_to_fv) New function. - - * flip.c: (cmd_flip) Warn about and cancel TEMPORARY. - (cmd_flip) Adapt to new procedure() interface. - (flip_sink_write) Use sink->idx_to_fv. - - * frequencies.q: (internal_cmd_frequencies) Use - procedure_with_splits(). - - * get.c: (cmd_save_internal) Adapt to new procedure() interface. - (static var mtf_sink) New static var. - (static var mtf_case) New static var. - (cmd_match_files) Warn about and cancel TEMPORARY. Redo the way - we actually implement the matching. - (mtf_delete_file_in_place) Use mtf_case. - (mtf_processing) Use mtf_case and mtf_sink. - (cmd_export) Adapt to new procedure() interface. - - * levene.c: (levene) Use procedure_with_splits(). - - * list.q: (cmd_list) Use procedure_with_splits(). - - * matrix-data.c: (read_matrices_without_rowtype) Adapt to new - procedure() interface. - (read_matrices_with_rowtype) Ditto. - - * modify-vars.c; (cmd_modify_vars) Warn about and cancel - TEMPORARY. Adapt to new procedure() interface. - - * rename-vars.c: Warn about and cancel TEMPORARY. - - * sort.c: (cmd_sort_cases) Warn about TEMPORARY. - (sort_cases) Use dict_get_compacted_value_cnt() instead of - compaction_nval. Adapt to new procedure() interface. Use - storage_source_to_disk(). - (do_internal_sort) Don't try to dump the cases to memory. - (compare_case_lists) Pass null idx_to_fv. - (struct initial_run_state) Add `idx_to_fv' member. Remove - `case_size' member. - (write_initial_runs) Don't initialize irs->case_size. Adapt to - new procedure() interface. Reset irs->idx_to_fv after calling - procedure(). - (sort_sink_write) Set irs->idx_to_fv. Use case_size from struct - sort_cases_pgm. Pass irs, not struct sort_cases_pgm to - push_heap(). - (destroy_initial_run_state) Don't dereference irs after freeing - it. - (allocate_cases) Don't calculate case_size locally. - (compare_record) Add idx_to_fv parameter. - (compare_record_run) Change parameter from struct sort_cases_pgm * - to struct initial_run_state *. Pass irs->idx_to_fv to - compare_record(). - (compare_record_run) Third parameter now a struct - initial_run_state *. - (output_record) No need for out_case anymore. Pass irs, not - struct sort_cases_pgm to pop_heap(). Use case_size from struct - sort_cases_pgm. - (merge) Use case_size from struct sort_cases_pgm. - (merge_once) Use case_size from struct sort_cases_pgm. - Pass null pointer to compare_record() as idx_to_fv. - (global var sort_sink_class) Make static. - - * t-test.q: (cmd_t_test) Use procedure_with_splits(). - - * temporary.c: Remove debugging crap. - -Sat Mar 13 14:19:52 WST 2004 John Darrington - - * t-test.q, levene.c: Fixed up the handling of MISSING values - int the T-TEST - -Fri Mar 12 16:23:35 WST 2004 John Darrington - - * t-test.q, levene.c: Added support for T-TEST /GROUP where only - one value is given. - -Wed Mar 10 23:25:13 2004 Ben Pfaff - - Change explicit variable name checks into use of - dict_class_from_id(). - - * dictionary.c: (dict_create_var) Change explicit variable name - check into use of dict_class_from_id(). - - * get.c: (trim_dictionary) Ditto. - - * sel-if.c: (cmd_filter) Ditto. - - * sysfile-info.c: (cmd_display) Ditto. - - * vars-prs.c: (parse_DATA_LIST_vars) Ditto. - - * vfm.c: (arrange_compaction) Ditto. - - * weight.c: (cmd_weight) Ditto. - -Wed Mar 10 21:16:34 2004 Ben Pfaff - - * temporary.c: (cmd_temporary) When TEMPORARY was the first - transformation following the input program, if any, for some - reason we special-cased f_trns. That's just wrong. It should - always be set to n_trns. - -Tue Mar 9 23:44:40 2004 Ben Pfaff - - * format.c: (parse_format_specifier_name) Fix brown-bag bug - introduced in last check-in. - -Tue Mar 9 23:10:41 2004 Ben Pfaff - - * format.c: (global array translate_fmt[]) Removed. - (translate_fmt) New function as replacement. - (parse_format_specifier_name) Rewrite. - - * pfm-read.c: (convert_format) Use translate_fmt() instead of - translate_fmt[]. - - * sfm-read.c: (parse_format_spec) Ditto. - - * postscript.c: (text) Fix handling of fonts with missing - ligatures. - - * sort.c: (struct external_sort) Add temp_name member. - (destroy_external_sort) Free temp_dir, temp_name members. - (init_external_sort) Allocate temp_name. - (get_temp_file_name) Change prototype. - (open_temp_file) Deal with change to get_temp_file_name(). - (close_temp_file) Ditto. - (remove_temp_file) Ditto. - (write_temp_file) Ditto. - (read_temp_file) Ditto. - (sort_sink_destroy) Removed. - (sort_sink_class) Change destroy member to null. - -Tue Mar 9 22:36:34 2004 Ben Pfaff - - Eliminate temp_case. - - * aggregate.c: (cmd_aggregate) No need to save/restore temp_case - anymore. Use agr_11x_finish(). - (aggregate_single_case) Make first param const. - (accumulate_aggregate_info) Ditto. - (agr_00x_end_func) Use compaction_case, not temp_case. - (agr_11x_func) Break into agr_11x_read(), agr_11x_finish(). - - * data-list.c: (struct data_list_pgm) Add `case_size' member. - (cmd_data_list) Initialize case_size. - (read_from_data_list_fixed) Add struct ccase * param, use instead - of temp_case. - (read_from_data_list_free) Ditto. - (read_from_data_list_list) Ditto. - (read_one_case) Rename data_list_trns_proc(), all references - updated. Add argument in calling above functions. Use c - argument instead of temp_case. - (destroy_dls) Rename data_list_trns_free(), all references - updated. - - * expr-evl.c: (expr_evaluate) Make second parameter const. - - * file-type.c: (struct file_type_pgm) Add `case_size' member. - (cmd_end_file_type) Initialize `case_size'. - (file_type_source_read) Add struct ccase * parameter. Use instead - of temp_case. - - * flip.c: Rewritten. - - * get.c: (struct get_pgm) New structure to keep track of - case_size. - (cmd_get) Initialize case_size. - (cmd_import) Ditto. - (get_source) Deal with struct get_pgm. - (get_source_read) Add struct ccase * parameter, use instead of - temp_case. - (import_source_read) Ditto. - - * get.c: Use a null pointer instead of temp_case to represent the - "current case" in a struct mtf_file's input member. - (mtf_processing_finish) Pass null to mtf_processing(), not - temp_case. - (mtf_read_nonactive_records) Don't set iter->input to temp_case. - (mtf_compare_BY_values) Add extra arg, use instead of null input - members. - (mtf_processing) Use c parameter instead of temp_case. Pass - compaction_case to process_active_file_output_case(). - - * glob.c: (global variable temp_case) Removed. - - * inpt-pgm.c: (struct input_program_pgm) Add `case_size' member. - (cmd_input_program) Initialize case_size. Set - vfm_source->value_cnt. - (init_case) Add struct ccase * parameter, use instead of - temp_case. - (clear_case) Ditto. - (input_program_source_read) Ditto. - - * matrix-data.c: (matrix_data_read_without_rowtype) Ditto. - (dump_cell_content) Ditto. - (nr_output_data) Ditto. - (read_matrices_without_rowtype) Ditto. - (matrix_data_read_with_rowtype) Ditto. - (wr_read_splits) Ditto. - (wr_output_data) Ditto. - - * sort.h: (struct sort_cases_pgm) New member `case_size'. - - * sort.c: (sort_cases) Initialize scp->case_size. - (struct external_sort) Remove `case_size' member. - (write_initial_runs) Only call vfm_sink->class_destroy if - non-null. - (struct sort_source_aux) New structure. - (sort_source_read_helper) New function. - (sort_source_read) Use sort_source_read_helper(). - (read_sort_output) Change interface to be more reasonable. - (read_internal_sort_output) Ditto. - (read_external_sort_output) Ditto. - - * vars-prs.c: (dict_class_to_name) Pass return value through - gettext. - - * vfm.c: (struct procedure_aux_data) Add `trns_case' member. - (procedure) Initialize trns_case. - (procedure) Pass trns_case to vfm_source->class->read(). - Free trns_case. - (process_active_file) Start using struct procedure_aux_data. - (process_active_file_write_case) Pass trns_case to - transformations, lag_case(), clear_case(). - (process_active_file_output_case) Add struct ccase * parameter. - (create_trns_case) New function. - (make_temp_case) Removed. - (vector_initialization) Removed. - (close_active_file) Only call make_source if non-null, otherwise - set vfm_source to null pointer. Don't free temp_case. - (disk_source_read) Add struct ccase * parameter, use instead of - temp_case. - (memory_source_read) Ditto. - (lag_case) Add const struct ccase * member. - (procedure_write_case) Use trns_case instead of temp_case. - (clear_case) Add struct ccase * member, use instead of temp_case. - (exclude_this_case) Ditto. - (create_case_source) Add struct dictionary * parameter, use to - initialize source->value_cnt. - - * vfm.h: (struct case_source) Add `value_cnt' member. - (struct case_source_class) Add struct ccase * parameter to `read' - member function pointer. - (struct case_sink_class) Make struct ccase * parameter const in - `write' member function pointer. - -Wed Mar 3 20:44:37 2004 Ben Pfaff - - Fix a lot of "possibly uninitialized variable" warnings. Some of - them are even real bugs. A few of them make me wonder how the - code ever worked. - - * aggregate.c: (parse_aggregate_functions) Initialize `function. - - * ascii.c: (output_lines) Add default case to switch. - - * crosstabs.q: Remove static variable `expected' and all - references to it. - (display_crosstabulation) Always calculate expected value. - (calc_chisq) Ditto. - (output_pivot_table) Initialize `cmp'. - (display_crosstabulation) New variable `last_row', which is - initialized. - - * data-in.c: (parse_numeric) Always initialize sign. How did this - work at all?! - - * data-list.c: (repeating_data_trns_proc) Always initialize code. - Always set info.ofs. (How did this work?!) - - * expr-opt.c: (optimize_tree) Always initialize `m'. - (evaluate_tree) Always initialize `c'. (How did this work?) - - * frequencies.q: (frq_custom_variables) Always initialize min, - max. - (frq_custom_grouped) Always initialize `dl'. - - * groff-font.c: (groff_read_font) Always initialize char_set. - - * matrix-data.c: (nr_output_data) Initialize `split'. - (wr_read_splits) Remove shadowing split_cnt declaration. - (wr_output_data) Initialize `split'. - - * output.c: (tokener) Skip add character on syntax error. - - * pool.c: (pool_strndup) Always set `copy'. (How did this work?!) - - * postscript.c: (read_ps_encodings) Use line.string instead of - uninitialized `bp'. - (write_text) Add default case to switch. - (text) Always initialize multiple variables. Fix bug with - ligatures. - - * print.c: (fixed_parse_fortran) Initialize head. - (alloc_line) Add default case to switch. - - * recode.c: (parse_dest_spec) Handle case where nothing matches. - (recode_trns_proc) Move variable declaration inward. Add default - case to switch. - - * sfm-read.c: (read_header) Initialize skip_amt. - - * sysfile-info.c: (display_variables) Always initialize pc. - - * vars-prs.c: Initialized `included'. - -Wed Mar 3 09:30:09 2004 Ben Pfaff - - * main.c: (main) sigaction()'s sa_flags member was uninitialized. - Just use signal() instead. - -Wed Mar 3 09:26:30 2004 Ben Pfaff - - Get rid of vfm_sink_info and vfm_source_info. - - * aggregate.c: (agr_00x_end_func) Don't increment - sfm_sink_info.ncases. - - * sort.c: (do_internal_sort) Get case count from - vfm_source->class->count(). - (struct external_sort) Add `case_size' member. - (do_external_sort) Initialize case_size. - (struct initial_run_state) Add `case_size' member. - (write_initial_runs) Initialize case_size. - (sort_sink_write) Use case_size. - (read_external_sort_output) Use case_size. Get case_cnt from - initial_runs. - - * vfm.c: (struct write_case_data) Add underscores to existing arg - names, all references updated. Renamed `aux' as `func_aux', all - references updated. Added new `aux' member. - (global var vfm_source_info) Removed. - (global var vfm_sink_info) Removed. - (struct procedure_aux_data) New. - (struct split_aux_data) New. - (procedure) Use `aux' fields for procedure_aux_data, - split_aux_data. - (process_active_file_write_case) Pass case_count + 1 to - transformation procedures, exclude_this_case(). - (process_active_file_output_case) Don't increment - vfm_sink_info.ncases. - (prepare_for_writing) Don't initialize vfm_sink_info. Don't try - to send data to disk early. - (make_temp_case) Don't use vfm_sink_info.case_size. - (close_active_file) Don't initialize vfm_source_info. - (struct disk_stream_info) New, to allow for case_cnt and case_size fields. - (disk_sink_create) Initialize and/or update disk_stream_info. - (disk_sink_write) Ditto. - (disk_sink_destroy) Ditto. - (disk_sink_make_source) Ditto. - (disk_source_read) Ditto. - (disk_source_destroy) Ditto. - (global var disk_source_class) Add disk_source_count(). - (disk_source_count) New function. - (struct memory_sink_info) Add `case_cnt', `case_size' members. - (struct memory_source_info) Ditto. - (memory_sink_create) Deal with case_cnt, case_size. - (memory_sink_write) Ditto. - (memory_sink_make_source) Ditto. - (memory_source_read) Ditto. - (memory_source_count) New function. - (memory_source_class) Add memory_source_count(). - (procedure_write_case) Don't use vfm_sink_info.ncases. Do use - proc_aux->cases_written, and pass it to transformation procedures - and exclude_this_case (). - (exclude_this_case) Add case_num parameter. Pass it to - expr_evaluate(). - (SPLIT_FILE_procfunc) Use split_aux->prev_case instead of static - variable. - - * vfm.h: (struct case_source_class) Add `count' member. - - * vfmP.h: (struct stream_info) Removed. - (global variable vfm_source_info) Removed. - (global variable vfm_sink_info) Removed. - -Tue Mar 2 23:38:17 2004 Ben Pfaff - - * var.h: (typedef trns_proc_func) New typedef. - (trns_free_func) New typedef. - (struct trns_header) Change `proc' to type trns_proc_func, `free' - to type trns_free_func. This only changes the actual type of - trns_proc_func, adding a `case_num' parameter. Updated all - implementations to use the typedefs instead. - - * compute.c: (compute_num) Pass case_num to expr_evaluate(). - (compute_num_vec) Ditto. - (compute_str) Ditto. - (compute_str_vec) Ditto. - - * do-if.c: (do_if_trns_proc) Ditto. - - * expr-evl.c: (expr_evaluate) Add new case_num parameter, use for - OP_CASENUM. - - * inpt-pgm.c: (input_program_source_read) Maintain case count, - pass to transformation functions. - (reread_trns_proc) Pass case_num arg to expr_evaluate(). - - * loop.c: (loop_1_trns_proc) Ditto. - (loop_2_trns_proc) Ditto. - (loop_3_trns_proc) Ditto. - - * print.c: (print_space_trns_proc) Ditto. - - * sel-if.c: (select_if_proc) Ditto. - -Tue Mar 2 11:36:52 2004 Ben Pfaff - - * frequencies.q: (cleanup_freq_tab) Avoid memory leak by - destroying hash table. - - * glob.c: (read_active_file) Variable not referenced, removed. - (cancel_input_pgm) Ditto. - - * levene.c: Add #include needed to call free(). - - * aggregate.c: (parse_aggregate_functions) Make `function' - variable const. - -Tue Mar 2 11:30:56 2004 Ben Pfaff - - Start working to eliminate VFM dependence on static variables. - - * command.c: (cmd_parse) Use case_source_is_class(). - - * data-list.c: Rewrite to eliminate use of static variables. - - * dfm.c: (cmd_begin_data) Use case_source_is_class(). - - * file-handle.q: (fh_handle_name) Make parameter const. - - * file-type.c: Rewrite to eliminate use of static variables. - - * flip.c: Rewrite to eliminate use of static variables. - - * format.c: (get_format_var_width) New function. - - * get.c: Eliminate use of static variables. - - * inpt-pgm.c: Eliminate use of static variables. - - * matrix-data.c: Eliminate use of static variables. - - * set.q: (set_max_workspace) New variable. - (cmd_set) Use SET WORKSPACE to modify set_max_workspace. - - * var.h: (struct case_list) Move here from vfmP.h. - - * vars-atr.c: (discard_variables) Handle new vfm_source type. - - * vfm.c: (vfm_source) Change type from struct case_stream to - struct case_source. - (vfm_sink) Change type from struct case_stream to struct - case_sink. - (static var paging) Rename workspace_overflow, all references - updated. - (procedure) Use new class structures. - (process_active_file) Ditto. - (process_active_file_write_case) Ditto. - (prepare_for_writing) Use set_max_workspace. Use new class - structures. - (close_active_file) Use new class structures. Free old sink. - (global var disk_source_file) Removed. - (global var disk_sink_file) Removed. - (disk_stream_init) Removed. - (disk_stream_read) Removed. - (disk_stream_write) Removed. - (disk_stream_mode) Removed. - (disk_stream_destroy_source) Removed. - (disk_stream_destroy_sink) Removed. - (global var vfm_disk_stream) Removed. - (disk_sink_create) New function. - (disk_sink_write) New function. - (disk_sink_destroy) New function. - (disk_sink_make_source) New function. - (disk_sink_class) New static var. - (disk_source_read) New function. - (disk_source_destroy) New function. - (global var vfm_source_class) New var. - (global var memory_source_cases) Removed. - (global var memory_sink_cases) Removed. - (global var memory_sink_max_cases) Removed. - (struct memory_sink_info) New struct. - (memory_stream_init) Removed. - (memory_stream_read) Removed. - (memory_stream_write) Removed. - (memory_stream_mode) Removed. - (memory_stream_destroy_source) Removed. - (memory_stream_destroy_sink) Removed. - (global var vfm_memory_stream) Removed. - (page_to_disk) Renamed write_active_file_to_disk(). - (memory_sink_create) New function. - (memory_sink_write) New function. - (memory_sink_destroy) New function. - (memory_sink_make_source) New function. - (memory_sink_class) New static var. - (memory_source_read) New function. - (memory_source_destroy) New function. - (memory_source_get_cases) New function. - (memory_source_set_cases) New function. - (global var vfm_source_class) New var. - (procedure_write_case) Use new class structures. - (create_case_source) New function. - (case_source_is_complex) New function. - (case_source_is_class) New function. - (create_case_sink) New function. - - * vfm.h: (global variable reinit_sysmis) Not used, removed. - (global variable reinit_blanks) Not used, removed. - (global variable init_zero) Not used, removed. - (global variable init_blanks) Not used, removed. - (struct case_source) New struct. - (struct case_source_class) New struct. - (struct case_sink) New struct. - (struct case_sink_class) New struct. - (struct case_stream) Removed. - - * vfmP.h: (struct case_list) Moved to var.h. - -Tue Mar 2 11:28:30 2004 Ben Pfaff - - * algorithm.c: (count_equal) New function. - (count_if) New function. - (unique) Add assertions. - (partition) Add assertions. - (is_partitioned) New function. - (copy_if) Add assertions. - (remove_equal) Add assertions. - (lexicographical_compare) Rename lexicographical_compare_3way. - (sort) Add assertions. Rephrase some code. - (is_sorted) New function. - -Sun Feb 29 23:24:57 2004 Ben Pfaff - - Rewrite SORT CASES. - - * sort.c: Completely rewrite. - - * sort.h: Expose interface via struct sort_cases_pgm, not via - global variables. - - * aggregate.c: (sort) New static var. - (cmd_aggregate) Use sort. - (create_sysfile) Ditto. - (aggregate_single_case) Ditto. - (dump_aggregate_info) Ditto. - (agr_00x_end_func) Ditto. - (debug_print) Ditto. - - * var.h: (enum SRT_ASCEND) Removed. - (enum SRT_DESCEND) Removed. - (struct sort_cases_proc) Removed. - (struct variable) Remove p.srt member. - -Sun Feb 29 23:22:45 2004 Ben Pfaff - - Get rid of the old, crappy heap structure and replace it by a new, - shiny, C++ STL-like heap structure. - - * Makefile.am: (pspp_SOURCES) Remove heap.c, heap.h. - - * algorithm.c: (push_heap) New function. - (heapify) Ditto. - (pop_heap) Ditto. - (make_heap) Ditto. - (sort_heap) Ditto. - (is_heap) Ditto. - - * heap.c: Removed. - - * heap.h: Removed. - -Sun Feb 29 23:21:53 2004 Ben Pfaff - - Increase warning level. - - * Makefile.am: (AM_CFLAGS) Remove -Wnouninitialized. - -Sat Feb 21 17:38:58 WST 2004 John Darrington - - * main.c: Added a signal handler for SIGSEGV requesting a bug report. - -Fri Feb 20 23:22:14 2004 Ben Pfaff - - * dictionary.c: (dict_create_var) Fix root cause of bug worked - around by previous change log entry. - - * compute.c: (lvalue_finalize) Remove workaround from previous - change log entry. - -Fri Feb 20 14:37:41 WAST 2004 John Darrington - - * compute.c: Fixed a bug where the Format was not getting set for - computed variables (thus causing a crash when SAVEing). - - * Added a test to stop this bug ever coming back - -Wed Feb 18 22:21:35 2004 Ben Pfaff - - Got rid of approx.h. In general, replaced all references to - approx_eq() by ==, approx_lt() by <, etc. Other types of changes - noted below. - - * Makefile.am: (pspp_SOURCES) Removed approx.h. - - * data-out.c: (try_F) Replaced test for approx_eq(number, 0.0) by - test for mag < EPSILON. - - * misc.h: Add definition of EPSILON. - -Wed Feb 18 21:32:44 2004 Ben Pfaff - - * vfm.c: (procedure) Add check to prevent recursive call. - -Wed Feb 18 21:48:54 WST 2004 John Darrington - - * Moved the declarations relating to values to their own header file - (val.h) - - * Added levene.c and levene.h - - * vars-atr.c: Changed the signature of compare_values to - take const * arguments. - - * t-test.q: Changed the structure of struct t_test_proc - variables now contain their own group statistics information. - Eventually, t_test_proc might get renamed, because it'd be - applicable to other commands too. - -Mon Feb 16 23:15:51 2004 Ben Pfaff - - * data-out.c: Clean up. Changed interface of convert_*() to take - either a `double' or a `const char *' instead of a `const union - value *'. Update all implementations of those interfaces. - (data_out) Use switch statements instead of a table. - (convert_AHEX) Rewrite. - - * format.h: Update comment. - -Mon Feb 16 22:14:36 2004 Ben Pfaff - - * q2c.c: (dump_header) Add an Emacs header line to output files - that makes generated .c files read-only by default, to make it - difficult to accidentally change generated files. - -Mon Feb 16 22:12:07 2004 Ben Pfaff - - * frequencies.q: (compare_freq_numeric_a) Compare by frequency, - not bogus a->v.c <=> b->v.c pointer compare. - (compare_freq_alpha_a) Ditto. - (compare_freq_numeric_d) Ditto. - (compare_freq_alpha_d) Ditto. - -Mon Feb 16 22:00:53 2004 Ben Pfaff - - Changed data_out() to store string data directly into a `union - value''s s member, not indirectly into c. - - * crosstabs.q: (output_pivot_table) Use format_short() instead of - data_out(). - (table_value_missing) Ditto. - (float_M_suffix) Ditto. - (format_short) New function. - - * data-in.h: (data_in_finite_line) Remove inline definition. - - * data-list.c: (destroy_dls_var_spec) New function. - (destroy_dls) Rewrite in terms of destroy_dls_var_spec(). - (data_list_source_destroy_source) Avoid cast. - (struct repeating_data_trns) New field `id_value'. Update - comments. - (cmd_repeating_data) Initialize id_value. Use new - repeating_data_trns_free() for freeing REPEATING DATA - transformations. - (rpd_parse_record) Rewrite support for record ID to be less bogus. - (repeating_data_trns_free) New function. - - * data-out.c: (data_out) Change return type to `void' by replacing - error returns by writing a message into the output buffer. - (convert_A) Read from v->s instead of v->c. - (convert_AHEX) Ditto. - - * expr-evl.c: Update comment. - (expr_evaluate) Add assertion in OP_STRING case. - - * format.h: (macro MAX_FORMATTED_LEN) New macro. - - * list.q: (list_cases) Update for new data_out() semantics. - - * print.c: (print_trns_proc) Ditto. - - * tab.c: (tab_value) Ditto. - (tab_float) Avoid stupid cast. - - * var.h: Update comments. - (macro MAX_STRING) New macro. - (macro MAX_ELEMS_PER_VALUE) New macro. - - * vars-atr.c: (compare_values) New function. - - * vfm.c: (dump_splits) Update for new data_out() semantics. - -Mon Feb 16 21:45:47 2004 Ben Pfaff - - * crosstabs.q: (struct table_entry) Rename v[] to values[]. All - references updated. - (struct crosstab) Rename v[] to vars[]. All references updated. - (hash_table_entry) Replace the hash algorithm and fix a bug at the - same time, which caused the hash value to depend only on a single - value, not all of the variables' values. - -Mon Feb 16 12:49:53 2004 Ben Pfaff - - Clean up struct dictionary's value_cnt usage. - - * dictionary.c: Add a function comment to each function. - (struct dictionary) Rename value_cnt to next_value_idx, which more - accurately reflects its meaning. All references updated. - (dict_rename_vars) Add assertion. - (dict_get_value_cnt) Rename dict_get_next_value_idx(). All - references updated. - (dict_get_case_size) New function. - - * aggregate.c: (create_sysfile) Use dict_get_case_size(). - - * get.c: (mtf_read_nonactive_records) Ditto. - - * sort.c: (allocate_cases) Ditto. - (write_initial_runs) Ditto. - (merge) Ditto. - (merge_once) Ditto. - - * vfm.c: (prepare_for_writing) Ditto. - (setup_lag) Ditto. - (lag_case) Ditto. - -Mon Feb 16 00:17:55 2004 Ben Pfaff - - Make vfm.c slightly less grotesque. - - * vfm.c: (filter_var) Removed. - (filter_index) Removed. - (FILTERED macro) Removed. - (exclude_this_case) New function. - (process_active_file_write_case) Use exclude_this_case() instead - of FILTERED and inline tests. - (procedure_write_case) Ditto. - (setup_filter) Removed. - (open_active_file) Don't call setup_filter(). - (close_active_file) Call dict_get_filter() instead of checking - filter_var. - -Mon Feb 16 00:01:53 2004 Ben Pfaff - - * var.h: (struct variable) Update comments. - -Sun Feb 15 23:14:59 2004 Ben Pfaff - - New functions dict_create_var_assert(), dict_lookup_var_assert(). - Converted several dict_*_var()/assert pairs into a single - dict_*_var_assert(). - - * dictionary.c: (dict_create_var_assert) New function. - (dict_lookup_var_assert) New function. - -Sun Feb 15 23:06:08 2004 Ben Pfaff - - Got rid of "struct long_vec", envector(), devector(), etc. Added - two members `init', `reinit' to struct variable as a substitute. - - * Makefile.am: (pspp_SOURCES) Removed cases.c, cases.h. - - * cases.c: Removed. - - * cases.h: Removed. - - * aggregate.c: (parse_aggregate_functions) destvar doesn't need - init. - - * autorecode.c: (cmd_autorecode) destvars don't need init. - - * compute.c: (lvalue_finalize) Set reinit. - - * data-list.c: (fixed_parse_compatible) Don't need init usually. - (dump_fmt_list) Ditto. - (parse_free) Ditto. - - * descript.q: (run_z_pass) Don't need init for z-scores. - - * dictionary.c: (dict_create_var) Initialize `init', `reinit' - members. - (dict_clone_var) Copy `reinit' member, initialize `init' member. - - * glob.c: (init_glob) Remove vec_init() calls. - - * inpt-pgm.c: (cmd_end_input_program) Use `reinit', not `left'. - - * loop.c: (internal_cmd_loop) Don't need to call envector(). - - * numeric.c: (cmd_numeric) Ditto. - (cmd_string) Ditto. - (cmd_leave) Ditto. Set `init', `reinit' members. - - * recode.c: (cmd_recode) Don't need to call envector(). - - * repeat.c: (internal_cmd_do_repeat) Ditto. - - * var.h: (struct variable) Remove `left'. Add `init', `reinit'. - (force_create_variable) Removed prototype. - (force_dup_variable) Ditto. - - * vector.c: (cmd_vector) Don't need to call envector(). - - * vfm.c: (reinit_sysmis) Removed. - (reinit_blanks) Removed. - (init_zero) Removed. - (init_blanks) Removed. - (process_active_file_write_case) No need to deal with vectors. - Call clear_temp_case(). - (vector_initialization) Rewrite to use `init', `reinit'. - (close_active_file) No need to call vec_clear(). - (procedure_write_case) Call clear_temp_case(). - (clear_temp_case) New function. - -Sun Feb 15 20:50:36 2004 Ben Pfaff - - * pfm-write.c: (bufwrite) Get rid of nasty cast that also invoked - undefined behavior. - -Thu Feb 12 23:35:15 2004 Ben Pfaff - - Add auxiliary argument to procedure() interface. Associated small - clean-ups of vfm interface. - - * Updated every caller of procedure() and process_active_file() to - reflect modified interface. Simple, ordinary changes not listed - otherwise below. - - * Updated every function that implements struct case_stream's - `read' function to take a write_case_func and a write_case_data. - Also updated every caller of write_case() to instead call them - through these arguments. In some cases this meant that the extra - args had to be threaded through a couple of extra levels. This - wasn't difficult or interesting so the details won't be given. - - * data-list.c: (struct repeating_data_trns) Add members - `write_case', `wc_data' as kluge. - (read_one_set_of_repetitions) Rename repeating_data_trns_proc and - make non-static. - (repeating_data_set_write_case) New function. - - * data-list.h: New file to declare repeating_data_trns_proc() and - repeating_data_set_write_case(). - - * inpt-pgm.c: (input_program_source_read) Call - repeating_data_set_write_case() for all the REPEATING DATA - transformations, so that they know where to send their cases. - It's a big kluge. Also kluge in END CASE. - (end_case_trns_proc) Never called anymore, but we still need it, - so just assert(0). - - * sort.c: (read_sort_output) Update to match struct case_stream - `read' member. - - * vfm.c: (struct write_case_data) New structure. - (proc_func) Removed. - (virt_proc_func) Removed. - (begin_func) Removed. - (virt_begin_func) Removed. - (end_func) Removed. - (write_case) Removed. - (procedure) Added an auxiliary parameter to each function pointer - argument's prototype. Added an auxiliary data parameter. - Rewrote. - (process_active_file) Ditto. - (process_active_file_write_case) Pass aux data along. - (close_active_file) Ditto. - (procedure_write_case) Ditto. - (SPLIT_FILE_procfunc) Ditto. - - * vfm.h: (typedef write_case_data) New. - (typedef write_case_func) New. - (struct case_stream) Add parameters to `read' member prototype. - -Thu Feb 12 19:24:53 WST 2004 John Darrington - - * t-test.q: Added calculations for independent samples. (But no Levene - test yet!) - - * Makefile.am: Moved q_sources_c into own variable - -Wed Feb 11 23:56:51 2004 Ben Pfaff - - Miscellaneous cleanups. - - * Change unused to UNUSED in many source files to reflect modified - pref.h. Change use of __WIN32__, __MSDOS, __DJGPP__, - __CYGWIN32__, __unix__, and unix not to assume that they're - defined to a nonzero value. Change use of __attribute__ to use - NO_RETURN or PRINTF_FORMAT instead. - - * alloc.h: Move definitions for local_alloc(), local_free() here - from ../pref.h.orig and simplify. - - * expr-evl.c: Instead of working differently based on PAGED_STACK, - use a pool allocator unconditionally. - (CHECK_STRING_SPACE) Removed. - (ALLOC_STRING_SPACE) Removed. - (expr_evaluate) Use e->pool instead of CHECK_STRING_SPACE and - ALLOC_STRING_SPACE. - - * expr-opt.c: (dump_expression) Allocate string pool. - - * expr-prs.c: (expr_free) Free string pool. - - * pool.c: (pool_destroy) This pool must be removed from its - parent's list of gizmos, not from its own. Use free_all_gizmos(). - (pool_clear) New function. - (free_all_gizmos) New function. - (pool_alloc) Use space in empty block after this one if any. - (pool_release) Only empty out blocks, don't actually free() them. - - * print.c: Get rid of PAGED_STACK special case by always - dynamically allocating line buffers. - (struct print_trns) Always include the `line' member. - (internal_cmd_print) Always initialize the `line' member. - (alloc_line) Always allocate memory for `line'. - (print_trns_proc) Always initialize buf from `line' member. - (print_trns_free) Always free `line' memory. - - * sort.c: (allocate_file_handles) Special-case MS-DOS for mkdir() - call. - -Wed Feb 11 20:33:18 2004 Ben Pfaff - - * flip.c: Fixed crash from FLIP when a numeric variable is - specified on NEWNAMES and a large value is used, and a couple of - other minor bugs besides. - (struct varname) Make name a 9-character fixed-size array - instead of a 1-character variable size array. - (make_new_var) Allow digits in variable names. - (flip_stream_write) Limit numeric values to 8 characters and - format system missing and very large and small values more - appropriately. - -Thu Feb 5 13:19:06 WAST 2004 John Darrington - - * command.c: Fixed test on command return status for the correct - value, which had been causing a crash under certain invalid input. - -Wed Feb 4 15:34:11 WST 2004 John Darrington - - * t-test.q: Added calculations for the one sample variant of the T-TEST - -Tue Feb 3 20:09:54 2004 Ben Pfaff - - * tab.c: (render_strip) Fix bug that sometimes caused joined text - in joined cells to be rendered outside box boundaries. - -Tue Feb 3 18:56:45 WST 2004 John Darrington - - * random.c (rng_create): Fixed seeding so that it gets reseeded after - SET seed=xx has been called. - -Mon Jan 19 14:08:09 2004 Ben Pfaff - - * random.c (rng_get_double): Fix always-returning-zero bug in my - preferred way, and at the same time make sure rounding doesn't - bite us. - -Thu Jan 1 23:16:41 2004 Ben Pfaff - - * html.c: (change_attributes) Dead code, removed. - (escape_string) Eliminate code to call change_attributes() that - never actually called it. - (output_tab_table) Get rid of dependence on tab_hit - and struct tab_joined_cell's hit member, which are abominations. - - * tab.c: (tab_output_text) Don't call - d->class->text_set_font_by_name if it's a null pointer. - (macro UNROLL_LOOP) Eliminate. - (macro UNROLL_3_LOOPS) Eliminate. - (tabi_render) Rewrite not to use the above macros. - -Thu Jan 1 23:09:07 2004 Ben Pfaff - - Start working on a new output driver system, one that doesn't suck - so much, by adding a "device-independent" output driver. The idea - is to write out only a single output stream, then use separate - processes to translate them into whatever formats we want. This - is similar to how "groff" works with its various output drivers - (grops, grotty, grodvi, ...). - - * Makefile.am: (pspp_SOURCES) Add devind.c, devind.h. - - * list.q: (write_all_headers) Stub out devind class. - (clean_up) Ditto. - (determine_layout) Ditto. - (list_cases) Ditto. - - * output.c: (outp_init) Add devind class. - - * devind.c: New file. - - * devind.h: New file. - -Thu Jan 1 23:08:14 2004 Ben Pfaff - - * frequencies.q: (hash_value_alpha) Fixed up the previous change - to use the proper string length. - -Wed Dec 31 16:27:33 WAST 2003 John Darrington - - * Fixed bug where FREQ would crash on alpha values - -Tue Dec 30 22:42:57 2003 Ben Pfaff - - * Removed bletcherous alloca() workarounds for AIX from top of - many files. AIX can use the alternative alloca() implementation - instead. - -Tue Dec 30 22:35:16 2003 Ben Pfaff - - * ascii.c: (ascii_option) Fix implementation of headers option. - -Tue Dec 30 22:32:53 2003 Ben Pfaff - - * ascii.c: Add a "squeeze" option to the ASCII driver to squeeze - multiple blank lines into one. - (struct ascii_driver_ext) Add squeeze_blank_lines option. - (ascii_preopen_driver) Initialize squeeze_blank_lines. - (static var option_tab) Add squeeze entry. - (ascii_option) Set squeeze_blank_lines. - (output_lines) Implement squeezing blank lines. - -Wed Dec 31 07:19:46 WST 2003 John Darrington - - * Removed redundant code from output.h - -Sat Dec 27 22:17:52 2003 Ben Pfaff - - Dictionary classes: each variable is "ordinary", "system", or - "scratch". - - * var.h: (enum dict_class) New enum. - - * vars-prs.c: (dict_class_from_id) New function. - (dict_class_to_name) New function. - -Sat Dec 27 22:16:06 2003 Ben Pfaff - - * var.h: (struct freq_tab_set) Removed (not used). - -Sat Dec 27 22:15:21 2003 Ben Pfaff - - * value-labels.c: (val_labs_destroy) vls needs to be freed too. - -Sat Dec 27 22:10:49 2003 Ben Pfaff - - * stats.c: (hypercube) Rename pow4(). All references updated. - -Sat Dec 27 22:05:49 2003 Ben Pfaff - - * rename-vars.c: (cmd_rename_variables) Rewritten. - (compare_name) Removed. - -Sat Dec 27 22:03:51 2003 Ben Pfaff - - var_set feature, and code taking advantage of it. - - * crosstabs.q: (static var var_dict) Removed. - (static var variables) New variable. - (static var variables_cnt) New variable. - (cmd_crosstabs) Free variables instead of var_dict. - (internal_cmd_crosstabs) Initialize and use variables, - variables_cnt instead of var_dict. - (free_var_dict) Removed. - (crs_custom_tables) Use var_set instead of a copied dictionary. - (crs_custom_variables) Set up variables, variables_cnt instead of - var_dict. - [DEBUGGING] (debug_print) Ditto. - - * means.q: (mns_custom_tables) Use var_set instead of a copied - dictionary. - - * vars-prs.c: (parse_vs_variable) New function. - (parse_dict_variable) Rewritten. - (parse_variable) Rewritten. - (parse_variables) Renamed parse_var_set_vars(), rewritten. - (parse_variables) New function in terms of parse_var_set_vars(). - Now requires its first argument to be non-null. All references - that passed a null pointer updated to pass default_dict instead. - (macro id_dict) Removed. - (parse_DATA_LIST_vars) Add assertions. - (parse_mixed_vars) Ditto. - (struct var_set) New structure. - (var_set_get_cnt) New function. - (var_set_get_var) New function. - (var_set_lookup_var) New function. - (var_set_destroy) New function. - (dict_var_set_get_cnt) New function. - (dict_var_set_get_var) New function. - (dict_var_set_lookup_var) New function. - (dict_var_set_destroy) New function. - (var_set_create_from_dict) New function. - (struct array_var_set) New structure. - (array_var_set_get_cnt) New function. - (array_var_set_get_var) New function. - (array_var_set_lookup_var) New function. - (array_var_set_destroy) New function. - (var_set_create_from_array) New function. - - * q2c.c: (dump_parser) Use parse_variables(default_dict, ...) - instead of parse_variables(NULL, ...) in output code. - -Sat Dec 27 21:38:53 2003 Ben Pfaff - - Change inp_init from a 2-bit vector to an ordinary array. - Initialize it all in cmd_end_input_program() instead of in - create_variable(). - - * inpt-pgm.c: (enum value_init_type) New enum. - (global var inp_init) Change to `enum value_init_type *', make - static. - (inp_init_size) Removed. - (inp_nval) Change to `size_t', make static. - (cmd_input_program) Don't initialize inp_init or inp_init_size. - (cmd_end_input_program) Initialize inp_init, inp_nval. - (init_case) Rewrite. - (clear_case) Rewrite. - - * inpt-pgm.h: Removed. - -Sat Dec 27 21:36:38 2003 Ben Pfaff - - * hash.c: (hsh_hash_bytes) Use Fowler-Noll-Vo hash instead of - Colin Plumb hash. It is simpler and should better resist - collisions. - (hsh_hash_string) Ditto. - -Sat Dec 27 21:34:57 2003 Ben Pfaff - - * get.c: (export_write_case_func) Remove debug printing code. - -Sat Dec 27 21:11:09 2003 Ben Pfaff - - * get.c: (cmd_save_internal) Rename parameter. Use &t->h instead - of cast. - (save_write_case_func) Use &trns->h instead of cast. - (cmd_export) Use &t->h instead of cast. - -Sat Dec 27 20:57:42 2003 Ben Pfaff - - Moved vectors into the dictionary. - - * var.h: (struct vector) Moved here from vector.h. `index' member - renamed `idx', `v' renamed `var', `nv' renamed `cnt'. All - references updated. - - * vector.h: Removed. - - * vector.c: (global var vec) Removed. - (global var nvec) Removed. - (cmd_vector) Rewritten. - (find_vector) Removed. - - * dictionary.c: (dict_create_vector) New function. - (dict_get_vector) New function, replaces reading global vec[] - array. - (dict_get_vector_cnt) New function, replaces reading global nvec - variable. - (dict_lookup_vector) New function, replaces find_vector(). - (dict_clear_vectors) New function. - -Sat Dec 27 20:54:01 2003 Ben Pfaff - - Start to move away from `struct variable' p `union' member to void - * aux member. - - * var.h: (struct variable) Add `aux' member. - -Sat Dec 27 20:36:25 2003 Ben Pfaff - - Get rid of struct variable `foo' member. - - * frequencies.q: (internal_cmd_frequencies) Use p.frq.used instead - of foo. - (frq_custom_variables) Ditto. - (frq_custom_grouped) Ditto. - - * get.c: (struct save_trns) Change `var' member from `int *' to - `struct variable **'. - (cmd_save_internal) Use aux instead of foo. - (save_trns_proc) Use revised `var' member. - (static var mtf_seq_no) Renamed mtf_seq_num. - (static var mtf_seq_nums) New static var. - (cmd_match_files) Initialize mtf_seq_nums. - (mtf_free) Free mtf_seq_nums. - (mtf_processing) Use mtf_seq_nums instead of foo. - (mtf_merge_dictionary) No need to initialize mv->foo. - (cmd_export) Use aux instead of foo. Use revised `var' member. - (mns_custom_tables) Don't use foo to check for duplicates, that's - what PV_NO_DUPLICATE is for. - - * var.h: (struct variable) Remove `foo' member. - (struct frequencies_proc) New member. - -Sat Dec 27 19:46:13 2003 Ben Pfaff - - Clean up COMPUTE and IF. - - * compute.c: More or less rewrite the darn thing. - (struct compute_trns) Rename and reorder and add and delete - members. - (cmd_compute) Rewrite. - (compute_num) Make conditional on test expression. Now used for - both COMPUTE and IF. - (compute_num_vec) Ditto. - (compute_str) Ditto. - (compute_str_vec) Ditto. - (cmd_if) Rewrite. - (if_num) Removed. - (if_num_vec) Removed. - (if_str) Removed. - (if_str_vec) Removed. - (parse_target_expression) Renamed parse_rvalue_expression(), - rewritten. - (new_trns) Renamed compute_trns_create(), rewritten. - (delete_trns) Removed. - (free_trns) Renamed compute_trns_free(), rewritten. - (struct lvalue) New structure. - (parse_var_or_vec) Renamed lvalue_parse(), rewritten. - (lvalue_get_type) New function. - (lvalue_is_vector) New function. - (lvalue_finalize) New function. - (lvalue_destroy) New function. - -Sat Dec 27 19:44:14 2003 Ben Pfaff - - * command.def: Disallow MODIFY VARS in input mode, so that - variables can't get dropped and confuse cmd_end_input_program()'s - attempt to fill inp_init[]. - - * modify-vars.c: (static var forward_positional_ordering) New - variable. - (struct var_modification) Entirely changed. - (rearrange_dict) Interface changed, rewritten. - (cmd_modify_vars) Deal with modified struct var_modification, much - rewritten. - (struct var_renaming) New structure. - (compare_var_renaming_by_new_name) New function. - (validate_var_modification) New function. - - * var.h: (struct modify_vars_proc) Removed. - (struct variable) Removed member p.mfv. - -Sat Dec 27 19:40:26 2003 Ben Pfaff - - Make EVALUATE a valid command whether we're debugging or not, so - that `make check' can succeed regardless of whether debugging is - turned on. - - * command.def: [GLOBAL_DEBUGGING] Drop the #if. - - * compute.c: [GLOBAL_DEBUGGING] (cmd_evaluate) Drop the #if. - -Sat Dec 27 19:34:40 2003 Ben Pfaff - - * apply-dict.c: (cmd_apply_dictionary) Replace a ghastly switch - statement by a simple if test. - - * dfm.c: (dfm_get_record) Add assertion. - -Sat Dec 27 17:51:26 2003 Ben Pfaff - - For each file x.c, move #include "x.h" to the very top of the - include list, to catch x.h failing to include the proper headers. - -Sat Dec 27 17:50:19 2003 Ben Pfaff - - * algorithm.c: (find) New function. - (remove_equal) New function. - (set_difference) New function. - (adjacent_find_equal) New function. - [TEST_UNIQUE] Removed test case. - (copy_if) Find end test. - -Sat Dec 27 17:42:45 2003 Ben Pfaff - - * dictionary.c: (dict_get_case_weight) New convenience function. - - * aggregate.c: (accumulate_aggregate_info) Use - dict_get_case_weight(). - - * frequencies.q: (calc_general) Ditto. - (calc_integer) Ditto. - (calc) Ditto. - - * t-test.q: (groups_calc) Ditto. - (z_calc) Ditto. - -Sat Dec 27 17:29:45 2003 Ben Pfaff - - * glob.c: (global var default_dict) Change from `struct - dictionary' to `struct dictionary *'. All references changed. - (init_glob) Initialize default_dict with dict_create(). - -Sat Dec 27 17:06:06 2003 Ben Pfaff - - struct dictionary now made opaque. All related functions: - - * get.c: (rename_variables) Removed. - (dict_delete_run) Removed. - - * temporary.c: (copy_variable) Removed. - (new_dictionary) Removed. - (save_dictionary) Removed. - (restore_dictionary) Removed. - (free_dictionary) Removed. - - * vars-atr.c: (clear_default_dict) Removed. - (find_variable) Removed. - (find_dict_variable) Removed. - (create_variable) Removed. - (delete_variable) Removed. - (common_init_stuff) Removed. - (init_variable) Removed. Updating of inp_init moved into - cmd_end_input_program(). - (replace_variable) Removed. - (rename_variable) Removed. - (clear_variable) Removed. - (dup_variable) Removed. - - * vars-prs.c: (is_varname) Removed. - (is_dict_varname) Removed. - (fill_all_vars) Removed. - - * vector.c: (find_vector) Removed. - - * weight.c: (stop_weighting) Removed. - - * dictionary.c: New file. - (dict_create) New, replaces new_dictionary(). - (dict_clone) New, replaces save_dictionary() and - restore_dictionary(). - (dict_clear) New, replaces clear_default_dict(). - (dict_destroy) New, replaces free_dictionary(). - (dict_get_var_cnt) New function, replaces references to - dict->nvar. - (dict_get_var) New function, replaces references to dict->var[i]. - (dict_get_vars) New function, replaces fill_all_vars(). - (dict_create_var) New, replaces create_variable(). Interface - drops `type' parameter, using a zero `width' to designate numeric. - (dict_clone_var) New, replaces dup_variable(). - (dict_rename_var) New, replaces rename_variable(). - (dict_lookup_var) New, replaces find_variable(), - find_dict_variable(), is_varname(). - (dict_contains_var) New function. - (compare_variable_dblptrs) New function. - (dict_delete_var) New function, replaces clear_variable(). - (dict_delete_vars) New function, replaces dict_delete_run(). - (dict_reorder_vars) New function. - (dict_rename_vars) New function, replaces rename_variables(). - (dict_get_weight) New function, replaces reading dict->weight_var. - (dict_set_weight) New function, replaces writing dict->weight_var - or calling stop_weight(dict). - (dict_get_filter) New function, replaces reading dict->filter_var. - (dict_set_filter) New function, replaces writing dict->filter_var. - (dict_get_case_limit) New function, replaces reading dict->N. - (dict_set_case_limit) New function, replaces writing dict->N. - (dict_get_value_cnt) New function, replaces reading dict->nval. - (dict_compact_values) New function, replaces a loop that was - replicated in several places. - (dict_get_split_vars) New function, replaces reading dict->splits. - (dict_get_split_cnt) New function, replaces reading - dict->n_splits. - (dict_set_split_vars) New function, replaces writing dict->splits. - (dict_get_label) New function, replaces reading dict->label. - (dict_set_label) New function, replaces writing dict->label. - (dict_get_documents) New function, replaces reading - dict->documents. - (dict_set_documents) New function, replaces writing - dict->documents. - - All references to above functions updated. - - * aggregate.c: (cmd_aggregate) Copy file label and documents from - old dictionary to new by hand, because dict_create() can't do it - itself. Use dict_set_documents(), dict_set_split_vars(). - - * temporary.c: (cancel_temporary) Also set temp_dict to NULL after - calling dict_destroy(). - - * data-list.c: (dls_var_spec) Remove `type' member, replace by - `width'. - (fixed_parse_compatible) Some slightly nontrivial changes for - dict_create_var(). - (dump_fmt_list) Ditto. - (parse_free) Ditto. - - * file-type.c: (create_col_var) Ditto. - - * get.c: (cmd_get) Use dict_compact_values() instead of a loop. - (trim_dictionary) Use dict_delete_vars(), dict_reorder_vars(). - (rename_variables) Use dict_rename_vars(). - (mtf_merge_dictionary) Use dict_get_documents(), - dict_set_documents(), dict_compact_values(). - - * pfm-read.c: (read_variables) Deal with changes to weighting. - - * q2c.c: (dump_parser) Use dict_lookup_var() instead of - is_varname() in output code. - - * sfm-read.c: (read_header) Use dict_create(), dict_set_label(), - other dictionary functions. - - * title.c: (add_document_line) Use dict_get_documents(), - dict_set_documents(). - - * vars-atr.c: (discard_variables) Use dict_clear(default_dict), - reset default_handle by hand. dict_clear() will clear vectors so - there's no need for that by hand. - - * vfm.c: (close_active_file) Move call to finish_compaction() - earlier, so that we can do the compaction as a single step using - dict_compact_values(). Use dict_clear_vectors(). - (finish_compaction) Use dict_delete_var(), dict_compact_values(). - - Some functions don't have replacements: - - * vars-atr.c: (force_create_variable) Removed. All references - updated to dict_create_var() followed by an assertion. - (force_dup_variable) Removed. All references updated to - dict_clone_var() followed by an assertion. - - * weight.c: (update_weighting) Removed. No longer necessary, so - all references removed. - -Sat Dec 27 16:43:01 2003 Ben Pfaff - - Clean up AGGREGATE. - - * aggregate.c: Eliminate separation of weighted and unweighted - case. It made the code too obscure and I doubt it was actually - faster. Instead, all code uses the "weighted" code, because - that's a generalization of the "unweighted" code. - (FWEIGHT) Removed. - (FOPTIONS) Ditto. - (parse_aggregate_functions) No need to set FWEIGHT. - (accumulate_aggregate_info) Get rid of FWEIGHT cases. - (dump_aggregate_info) Ditto. - (initialize_aggregate_info) No need for special plain_function - that gets rid of FWEIGHT option. - - * aggregate.c: Get rid of approximations. - (accumulate_aggregate_info) Don't use approx_gt(), approx_lt(), - approx_in_range(). - (aggregate_single_case) Don't use approx_ne(). - -Sat Dec 27 16:19:36 2003 Ben Pfaff - - * ascii.c (ascii_line_width): Dead code, removed. - - * postscript.c (ps_line_width): Ditto. - - * q2c.c (xrealloc): Ditto. - - * count.c (internal_cmd_count): Ditto. - - * means.q (validate_dependent_endpoint): Ditto. - - * set.q: (cmd_gset) Ditto. - - * weight.c: [0] (weight_trns_proc) Ditto. - -Sat Dec 27 16:18:16 2003 Ben Pfaff - - Make the code -Wmissing-prototypes clean. - - * Makefile.am (version.c): Add #include "version.h". - - * ascii.c: (ascii_open_global) Make static. - (ascii_close_page) Ditto. - (ascii_font_sizes) Ditto. - (ascii_postopen_driver) Ditto. - (ascii_close_driver) Ditto. - (ascii_option) Ditto. - (ascii_open_page) Ditto. - (ascii_line_horz) Ditto. - (ascii_line_vert) Ditto. - (ascii_line_intersection) Ditto. - (ascii_box) Ditto. - (ascii_polyline_begin) Ditto. - (ascii_polyline_point) Ditto. - (ascii_polyline_end) Ditto. - (ascii_text_set_font_by_name) Ditto. - (ascii_text_set_font_by_position) Ditto. - (ascii_text_set_font_by_family) Ditto. - (ascii_text_get_font_name) Ditto. - (ascii_text_get_font_family) Ditto. - (ascii_text_set_size) Ditto. - (ascii_text_get_size) Ditto. - (ascii_text_metrics) Ditto. - (ascii_text_draw) Ditto. - (ascii_close_page) Ditto. - - * cmdline.h: New header for parse_command_line(). Used where - needed. - - * command.c: Move prototypes for cmd_*() functions to command.h. - - * command.h: Prototypes for cmd_*() functions moved here from - command.c. - - * crosstabs.q: (gamma_int) Ditto. - - * file-handle.h: Add fh_init_files() prototype. - - * getline.c: (welcome) Ditto. - - * glob.h: New header for init_glob(). Used where appropriate. - - * hash.c: (comparison_helper) Ditto. - - * html.c: (html_open_global) Ditto. - (html_close_global) Ditto. - (html_preopen_driver) Ditto. - (html_postopen_driver) Ditto. - (html_close_driver) Ditto. - (html_option) Ditto. - (html_open_page) Ditto. - (html_close_page) Ditto. - (html_submit) Ditto. - - * inpt-pgm.c: (input_program_source_read) Ditto. - - * output.c: (find_defn_value) Ditto. - (destroy_list) Ditto. - - * pfm-read.c: (read_int) Ditto. - - * postscript.c: (ps_open_global) Ditto. - (ps_close_global) Ditto. - (ps_font_sizes) Ditto. - (ps_preopen_driver) Ditto. - (ps_postopen_driver) Ditto. - (ps_close_driver) Ditto. - (ps_option) Ditto. - (ps_open_page) Ditto. - (ps_close_page) Ditto. - (ps_line_horz) Ditto. - (ps_line_vert) Ditto. - (ps_line_intersection) Ditto. - (ps_box) Ditto. - (ps_polyline_begin) Ditto. - (ps_polyline_point) Ditto. - (ps_polyline_end) Ditto. - (ps_text_set_font_by_name) Ditto. - (ps_text_set_font_by_position) Ditto. - (ps_text_set_font_family) Ditto. - (ps_text_get_font_name) Ditto. - (ps_text_get_font_family) Ditto. - (ps_text_set_size) Ditto. - (ps_text_get_size) Ditto. - (ps_text_metrics) Ditto. - (ps_text_draw) Ditto. - - * q2c.c: (finish_up) Ditto. - (xmalloc) Ditto. - (xstrdup) Ditto. - (get_buffer) Ditto. - (st_lower) Ditto. - (st_upper) Ditto. - (skip_ws) Ditto. - (get_line) Ditto. - (add_symbol) Ditto. - (find_symbol) Ditto. - (lex_get) Ditto. - (force_id) Ditto. - (force_string) Ditto. - (match_id) Ditto. - (match_token) Ditto. - (skip_token) Ditto. - (parse) Ditto. - (parse_setting) Ditto. - (parse_specifier) Ditto. - (parse_specifiers) Ditto. - (parse_subcommand) Ditto. - (dump_specifier_vars) Ditto. - (is_keyword) Ditto. - (make_identifier) Ditto. - (dump_declarations) Ditto. - (dump_specifier_init) Ditto. - (dump_vars_init) Ditto. - (make_match) Ditto. - (dump_specifier_parse) Ditto. - (dump_subcommand) Ditto. - (dump_parser) Ditto. - (dump_header) Ditto. - (dump_free) Ditto. - (recognize_directive) Ditto. - - * recode.c: (string_to_long) Ditto. - - * repeat.c: (find_DO_REPEAT_substitution) Ditto. - - * repeat.h: New header for perform_DO_REPEAT_substitutions, used - where appropriate. - - * sort.c: (sort_stream_read) Ditto. - (sort_stream_mode) Ditto. - -Fri Dec 19 23:35:04 2003 Ben Pfaff - - * algorithm.c (binary_search): Fix comparison. - -Fri Dec 19 23:27:45 2003 Ben Pfaff - - * algorithm.c: (binary_search) Fix assertion. - -Fri Dec 19 21:31:48 2003 Ben Pfaff - - * sysfile-info.c: (compare_vectors_by_name) Rewrite. - -Fri Dec 19 21:30:24 2003 Ben Pfaff - - * sort.c: (compare_case_lists) Rewrite. - -Fri Dec 19 16:44:22 2003 Ben Pfaff - - * quicksort.c: Removed (not used). - - * quicksort.h: Removed (not used). - - * sort.c: Removed blp_quicksort() prototype. - -Fri Dec 19 16:42:13 2003 Ben Pfaff - - * postscript.c: (int_2_compare) Rewrite. - (compare_line) Rewrite. - -Fri Dec 19 16:38:35 2003 Ben Pfaff - - * matrix-data.c (compare_factors) Use lexicographical_compare() - algorithm. - (compare_doubles) New function. - - * algorithm.c: (lexicographical_compare) New algorithm. - -Fri Dec 19 16:23:45 2003 Ben Pfaff - - * matrix-data.c (compare_variables_by_mxd_vartype): Rewrite. - -Fri Dec 19 15:54:45 2003 Ben Pfaff - - * expr-prs.c: (cmp_func) Removed. - (parse_function) Use binary_search() algorithm. - (compare_functions) New function. - (init_func_tab) Use sort() algorithm. - - * algorithm.c: (binary_search) New algorithm. - -Fri Dec 19 15:50:45 2003 Ben Pfaff - - * descript.q: (display) Use sort() algorithm instead of qsort(). - (compare_func) Removed. - (descriptives_compare_variables) New function. - -Fri Dec 19 15:08:38 2003 Ben Pfaff - - Get rid of AVL trees. Hashes are more appropriate for everything - PSPP does. - - * Makefile.am: (pspp_SOURCES) Remove avl.c, avl.h. - - * avl.c: Removed. - - * avl.h: Removed. - -Fri Dec 19 14:33:31 2003 Ben Pfaff - - Much code can be clarified by using C++ STL-like algorithms. Not - all uses of these algorithms are listed below, only the ones where - the change to an algorithm was the only change of interest. - - * Makefile.am: (pspp_SOURCES) Add algorithm.c, algorithm.h. - - * algorithm.c: New file. - - * algorithm.h: New file. - - * modify-vars.c: (static var forward) Removed. - (static var positional) Removed. - (compare_variables) Removed. - (struct ordering) New. - (cmd_modify_vars) Use sort() algorithm. - (compare_variables_given_ordering) New function. - (rearrange_dict) Use sort() algorithm. - - * sysfile-info.c: (cmd_display) Use sort() algorithm. - (cmp_var_by_name) Removed. - -Fri Dec 19 14:26:17 2003 Ben Pfaff - - Make file handles use a hash table. - - * file-handle.q: (files) Change to hash table, make static. - (cmd_file_handle) Use hash table functions. - (fh_get_handle_by_filename) Ditto. - (fh_get_handle_by_name) Ditto. - (hash_file_handle) New function. - (cmp_file_handle) Rewrite. - (fh_init_files) Use hash table functions. - -Fri Dec 19 14:24:38 2003 Ben Pfaff - - Clean up FREQUENCIES. - - * Makefile.am: (pspp_SOURCES) Remove frequencies.g. - - * frequencies.q: Remove a lot of old #if'd out code at the end. - (internal_cmd_frequencies) Use calc() instead of calc_no_weight() - or calc_weight(). Initialize percentile_values. - (calc) New function based on calc_weight() from frequencies.g. - (precalc) Use hash functions. - (static var comparison_func) Removed. - (static var comparison_param) Removed. - (comparison_helper) Removed. - (get_freq_comparator) New function. - (not_missing) New function. - (add_freq) Removed. - (postprocess_freq_tab) Use hash table functions, algorithms, - get_freq_comparator(). Rewrite. - (cleanup_freq_tab) Rephrase. - (add_percentile) Clean up spacing. - (hash_value_numeric) New function. - (hash_value_alpha) New function. - (compare_value_numeric_a) Rewrite. - (compare_value_alpha_a) Rewrite. - (compare_value_numeric_d) Rewrite. - (compare_value_alpha_d) Rewrite. - (compare_freq_numeric_a) Rewrite. - (compare_freq_alpha_a) Rewrite. - (compare_freq_numeric_d) Rewrite. - (compare_freq_alpha_d) Rewrite. - (calc_stats) Clean up mode, percentiles, max. - (dump_statistics) Clean up spacing. - - * frequencies.g: Removed. - - * var.h: (struct freq_tab) Change `data' to hash table. - -Fri Dec 19 14:15:46 2003 Ben Pfaff - - * file-handle.h: Remove declaration of global variable `files', - which wasn't used anywhere. - - * postscript.c: (add_encoding) Remove superfluous cast. - (line) Ditto. - - * sfm-read.c: [linux] (bswap_int32) Drop ntohl() non-portable - version. - - * temporary.c: [0] (display_tree) Removed. - -Fri Dec 19 14:13:04 2003 Ben Pfaff - - Implement a new random number generator based on the alleged RC4 - algorithm. - - * expr-evl.c: (expr_evaluate) Use rng_get_double_normal() instead - of rand_normal(). - - * random.c: [!HAVE_GOOD_RANDOM] (real_rand) Removed. - [!HAVE_GOOD_RANDOM] (real_srand) Removed. - (macro k) Removed. - (static var V[]) Removed. - (static var Y) Removed. - (static var X2) Removed. - (setup_randomize) Removed. - (shuffle) Removed. - (rand_uniform) Removed. - (rand_normal) Removed. - (struct rng) New structure. - (rng_create) New function. - (rng_destroy) New function. - (swap_byte) New static function. - (rng_seed) New function. - (rng_get_bytes) New function. - (rng_get_int) New function. - (rng_get_unsigned) New function. - (rng_get_double) New function. - (rng_get_double_normal) New function. - (pspp_rng) New function. - - * random.h: Sync up to random.c. - - * sample.c: (struct sample_trns) Make `frac' unsigned and a - fraction of UINT_MAX, not 65536. - (cmd_sample) Use rng_get_unsigned(), rng_get_double(), UINT_MAX - fraction. - - * vfm.c: (open_active_file) No need to call setup_randomize() any - longer. - -Fri Dec 19 12:05:56 2003 Ben Pfaff - - Change dictionary name indexes to use hash tables instead of AVL - trees. - - * crosstabs.q: (free_var_dict) Use hash tables. - (crs_custom_tables) Ditto. - (calc_general) Ditto. - (compare_table_entry) Rewrite. - (enum_var_values) Reorder parameters. All references updated. - Rewrite. - - * get.c: (rename_variable) Use hash tables. - (mtf_merge_dictionary) Ditto. - - * glob.c: (init_glob) Use hash tables. - (cmp_variable) Removed. - - * means.q: (mns_custom_tables) Use hash tables. - - * modify-vars.c: (rearrange_dict) Use hash tables. - - * rename-vars.c: (cmd_rename_variables) Use hash tables. - - * sfm-read.c: (read_header) Use hash tables. - (read_variables) Ditto. - - * temporary.c: (new_dictionary) Use hash tables. - (save_dictionary) Ditto. - (restore_dictionary) Ditto. - - * var.h: (struct dictionary) Change AVL tree `var_by_name' into - hash table `name_tab'. - - * vars-atr.c: [DEBUGGING] (dump_one_var_node) Removed. - [DEBUGGING] (dump_var_tree) Removed. - (find_variable) Use hash tables. - (find_dict_variable) Ditto. - (common_init_stuff) Ditto. - (rename_variable) Ditto. - (clear_variable) Ditto. Also, remove debug code. - (dup_variable) Use hash tables. - - * vars-prs.c: (fill_all_vars) Use hash tables. - (is_dict_varname) Ditto. - (parse_dict_variable) Ditto. - -Fri Dec 19 11:46:23 2003 Ben Pfaff - - Change value labels to use hash tables instead of AVL trees, and - change value labels into an ADT. - - * Makefile.am: (pspp_SOURCES) Add value-labels.c, value-labels.h. - - * value-labels.c: New file. - - * value-labels.h: New file. - - * apply-dict.c: (cmd_apply_dictionary) Use value label ADT. - Get rid of a stupid use of goto. - - * autorecode.c: (compare_alpha_value) Rewrite. - (hash_alpha_value) Ditto. - (compare_numeric_value) Rewrite. - (hash_numeric_value) Ditto. - - * frequencies.q: (dump_full) Use value label ADT. - - * pfm-read.c: (read_value_label) Use value label ADT. - - * pfm-write.c: (write_value_labels) Use value label ADT. - - * sfm-read.c: (read_variables) Use value label ADT. - (read_value_labels) Rewrite. - - * sfm-write.c: (write_value_labels) Rewrite. - - * sysfile-info.c: (cmd_sysfile_info) Use value label ADT. - (display_variables) Ditto. - (describe_variable) Ditto. - - * t-test.q: (print_t_groups) Use value label ADT. - - * temporary.c: (copy_variable) Use value label ADT. - (free_dictionary) Ditto. - - * val-labs.c: (verify_val_labs) Use value label ADT. - (get_label) Ditto. - (debug_print) Ditto. - (val_lab_cmp) Removed. - (inc_ref_count) Removed. - (copy_value_labels) Removed. - - * var.h: (struct value_label) Removed. - (struct variable) Change AVL tree `val_lab' into hash table - `val_labs'. - - * vars-atr.c: (init_variable) Use value label ADT. - (clear_variable) Ditto. - (free_value_label) Removed. - (free_val_lab) Removed. - (get_val_lab) Removed. - (compare_variables) New function. - (hash_variable) New function. - - * vfm.c: (dump_splits) Use value label ADT. - -Fri Dec 19 11:18:11 2003 Ben Pfaff - - Add to the hash table interface. - - * hash.c: (hsh_hash_bytes) Add assertion. - (hsh_hash_string) Ditto. - (hsh_clear) Ditto. - (hsh_rehash) Ditto. - (hsh_probe) Ditto. - (hsh_create) Ditto. Also make minimum `size'. - (hsh_destroy) Rephrase. - (sort_nulls_last) Removed. - (not_null) New function. - (hsh_data) Ditto. - (comparison_helper) Ditto. - (hsh_sort) Rewritten. - (hsh_data_copy) New function. - (hsh_sort_copy) Ditto. - (hsh_insert) Ditto. - (hsh_replace) Ditto. - (hsh_hash_double) Ditto. - (hsh_delete) Fix stupid bug. - -Thu Dec 18 12:27:03 WAST 2003 John Darrington - * added a calculation of the mode to FREQUENCIES - -Wed Dec 17 12:53:01 WAST 2003 John Darrington - - * moved (un)defs of DEBUGGING to config.h - -Mon Dec 15 21:35:59 2003 Ben Pfaff - - * groff-font.c: (add_kern) Fix indentation. - (add_kern) Use & instead of % to take power-of-2 modulus. - (font_get_kern_adjust) Likewise. - -Fri Dec 12 23:54:37 2003 Ben Pfaff - - * autorecode.c: (recode) Replace stupid use of memcpy() by - memberwise copy. - (hash_alpha_value) Use hsh_hash_bytes(). Get rid of nasty casts. - (hash_numeric_value) Ditto. - (autorecode_proc_func) pool_strdup() was wrong here because the - source string was not null-terminated. Use new pool_strndup() - instead. - - * crosstabs.q: (enum_var_values) Remove superfluous and bizarre - use of hsh_iterator_init(). - - * data-in.c: (parse_N) Initialize i->v->f. - - * flip.c: (cmd_flip) Use memmove(), not memcpy(), to copy - overlapping arrays. - - * groff-font.c: Use power-of-2 hash table sizes, not prime. - (groff_read_font) Don't call hsh_next_prime(). Don't call - fclose(NULL). - (static var hash) Remove `size_p', `max_used' members. - (font_char_name_to_index) Don't call hsh_next_prime(). Use - hsh_hash_string() instead of hashpjw(), & instead of %. - (default_font) Don't call hsh_next_prime(). - - * pool.c: (pool_strndup) New function. - (pool_strdup) Reimplement in terms of pool_strndup. - - * postscript.c: (hash_font_entry) Use hsh_hash_string(). Get rid - of nasty casts. - (hash_ps_encoding) Use hsh_hash_string(). - (hash_ps_combo) Use hsh_hash_string(), hsh_hash_int(). - (hash_filename2font) Use hsh_hash_string(). - - * som.c: Add #include . - - * tab.c: (tab_destroy) Don't set t->container after freeing `t' - (by destroying its pool). - -Fri Dec 12 23:18:59 2003 Ben Pfaff - - Miscellaneous hash table code cleanup: - - * hash.h: (struct hsh_table) Moved into hash.c. - (hsh_count) Ditto, and transformed into function. - (hsh_compare_func) New typedef, used for defining otherwise-long - function types here and in hash.c - (hsh_hash_func) Ditto. - (hsh_free_func) Ditto. - - * hash.c: (struct hsh_table) Renamed `n' to `used', `m' to `size', - `table' to `entries'. Removed `mp'. All references updated. - (hsh_clear) Don't shrink entries array; if the hash was this big - once, it probably will be again. - (hsh_rehash) Made static. - (force_hsh_insert) Renamed hsh_force_insert. - (force_hsh_find) Renamed hsh_force_find. - - Made hash table sizes powers of 2, because that's fine with any - reasonable hash function and because taking a power-of-2 modulus - is faster than any other: - - (hsh_prime_tab) Removed; - (hsh_next_prime) Ditto. - (next_power_of_2) New function. - (hsh_create) Use next_power_of_2. - (hsh_rehash) Use & instead of %. - - Cleaned up hsh_sort: - - (internal_comparison_fn) Removed. - (sort_nulls_last) New function. - (hsh_sort) Removed second parameter, switched to using the new - quicksort() function from quicksort.h to avoid using nasty need - for static variables with qsort(). All references updated. - - Changed the hash functions offered, because there are better hash - functions than the ones we had, and cleaned up the names to boot: - - * hash.c: (hashpjw_d) Removed. - (hashpjw) Ditto. - (hsh_hash_bytes) New function. - (hsh_hash_string) New function. - (hsh_hash_int) New function. - - Improved the hash table iteration interface: - - * hash.h: (hsh_iterator_init) Removed. - (struct hsh_iterator) Removed `init' member, change `next' to - size_t. - - * hash.c: (hsh_foreach) Removed. All references updated to use - hsh_first/hsh_next instead. - (hsh_first) New function. Notably, unlike hsh_foreach() it does - not treat a null pointer as an empty hash table. - (hsh_next) New function. - - Made deletion possible, though slow: - - * hash.c: (locate_matching_entry) New function. - (hsh_find) Use locate_matching_entry(). - (hsh_delete) New function also using locate_matching_entry(). - (hsh_force_delete) New function. - -Fri Dec 12 23:16:10 2003 Ben Pfaff - - * quicksort.c: New file implementing a sort routine with a - interface better than qsort() because it passes a user-provided - parameter to the sort routine. - - * Makefile.am: Add quicksort.c, quicksort.h. - -Fri Dec 12 13:31:58 2003 Ben Pfaff - - * All source files: Get rid of nasty special cases for Checker, - which is pretty obsolete now. - -Thu Dec 11 21:38:24 WST 2003 John Darrington - - * Fixed a bug apparent when using the FREQUENCIES command with the - html driver. The html driver was incorrectly trying to display - empty cells. - -Sun Jan 2 21:40:13 2000 Ben Pfaff - - * Makefile.am: Reorganized. Put locale dir in version.c instead - of passing it to each compile command. Only put local gmp libs in - LD_ADD if not installed on system. Remove `boast' target. - - * All source files: struct and union typedefs eliminated. - `sizeof type' replaced by `sizeof object' where practical. Moved - `unused' qualifiers from start to end of declarations for gcc - 2.7.2 compatibility. Change `while (1)' to `for (;;)'. Made - assertions on pointers strictly compliant. Removed _ prefixes on - some function parameter names. - - * alloc.c: New source file, containing these external linkage - functions removed from common.c: xmalloc, xcalloc, xrealloc, - xstrdup. - - * arena.c: Removed. - - * arena.h: Removed. - - * ascii.c: Migrated from arenas to pools. - (struct ascii_driver_ext) ops[], box[], fonts[] changed from - c_string to len_string. All references changed. - (ascii_option) Signature changed to comply to new output.c - interface. - (count_fancy_chars) Removed. - (delineate) Removed support for rich text. - (ascii_text_metrics) Ditto. - (text_draw) Ditto. - (output_shorts) Change `box', `off', `on' from c_string to - len_string. Change `remaining' from int to size_t. - (ascii_close_page) Make page numbering less haphazard. - - * autorecode.c: Migrate from arenas to pools. - - * avl.c: Migrate from arenas to pools. Synch from libavl 1.4.0. - - * bitvector.h: New file containing these macros from misc.h: - SET_BIT, CLEAR_BIT, SET_BIT_TO, TEST_BIT, BIT_INDEX. - - * command.c: (struct command) cmd1, cmd2, cmd3 members changed to - word[3]. ncmd removed. - (var empty_string) Removed. - (var cmd_table) Declaration updated. - (var cmdtab) Removed. - (cmp_command) Removed. - (split_words) Rewritten to use strtok_r(). - (init_cmd_parser) Renamed cmd_init(). Rewritten. - (find_command) Removed. - (FILE_TYPE_okay) Rewritten. - (cmd_parse) Rewritten. Semantics of the return value of command - handlers has changed: they must now return one of the new CMD_* - enumerals, rather than a magic value. This meant that all - commands had to be modified, and they were. - (figure_out_command) New function. - - * command.def: Add CORRELATIONS, PEARSON CORRELATIONS. Add - #defines for INIT, INPU, etc. - - * command.h: New CMD_* enum series. - (cur_proc) Make const char *, not char *. - (cmd_init) Prototype. - (cmd_parse) Ditto. - - * common.c: Removed. - - * common.h: Removed. - - * correlations.q: New file. - - * crosstabs.q: Migrate from arenas to pools. Migrate to new-style - q2c. - (custom_tables) Renamed crs_custom_tables(). - (custom_variables) Renamed crs_custom_variables(). - (calc_integer) Add in some `const' qualifiers. - (table_value_missing) Change from a_string to len_string. - (float_M_suffix) Change from a_string to len_string. - - * data-in.c: Rewritten. All references to - parse_string_as_format() changed to data_in(). - - * data-in.h: New file. - - * data-list.c: Change DLS_* from #define's to enums. Move from - rpd_msg() to tmsg(). - (RPD_ERR) New #define. - (do_reading) Change dfm_push_cust() to dfm_push(), pop_cust() to - dfm_pop(). - (read_from_data_list_fixed) Change from old - parse_string_as_format() to new data_in(). - (read_from_data_list_free) Ditto. - (read_from_data_list_list) Ditto. - (cmd_repeating_data) Modify approach to checking for end of - command. - (rpd_msg) Removed. - (rpd_parse_record) Change from old parse_string_as_format() to new - data_in(). Change from old convert_format_to_string() to new - data_out(). - (read_one_set_of_repetitions) Change dfm_push_cust() to - dfm_push(), pop_cust() to dfm_pop(). - - * data-out.c: Rewritten. All references to - convert_format_to_string() changed to data_out(). - - * descript.q: Migrate to new q2c. - (cmd_descriptives) Removed. - (internal_cmd_descriptives) Renamed cmd_descriptives (). - (custom_variables) Renamed dsc_custom_variables(). - - * dfm.c: (struct dfm_fhuser_ext) `ln' removed. All references - removed. - (open_file_r) Initialize h->where.line_number. Migrate to new - struct string. - (open_file_w) Initialize h->where.line_number. - (read_record) Change from ext->ln to h->where.line_number. - Migrate to struct string. - (dfm_put_record) Rephrased. - (dfm_push_cust) Renamed dfm_push(), rewritten. - (dfm_pop) New function. - - * error.c: All references updated. - (glob var error_count) Renamed err_err_count. - (glob var warning_count) Renamed err_warning_count. - (glob var error_already_flagged) Renamed err_already_flagged. - (glob var verbosity) Renamed err_verbosity. - (glob var cust_fn) Removed. - (glob var cust_ln) Removed. - (static var file_loc) New. - (static var nfile_loc) New. - (static var mfile_loc) New. - (tmsg) New function. - (push_cust) Removed. - (pop_cust) Removed. - (msg) Rewritten. - (static var terminating) Removed. - (failure) Renamed err_failure(). - (hcf) Renamed err_hcf(). - (err_push_file_locator) New function. - (err_pop_file_locator) New function. - (err_location) New function. - (check_error_count) Renamed err_check_count(). - (vmsg) Renamed err_vmsg(). Interface changed. - (verbose_msg) Removed. - (err_cond_fail) New function. - (error_break) Renamed err_break(). - - * error.h: All references updated. - (enum MSG_CLASS_COUNT) Renamed ERR_CLASS_COUNT. - (enum ERR_CLASS_MASK, ERR_VERBOSITY_SHIFT, ERR_VERBOSITY_MASK) - New. - (struct file_locator) New. - (struct error) New. - (macro verbose_msg) Removed. - (macro cond_fail) Removed. - - * expr-opt.c: (evaluate_tree) sizeof(char) == 1. - - * expr-prs.c: Reorganized. All references updated. - (exprtypename) Renamed expr_type_name(). - (typename) Renamed type_name(). - (free_expression) Renamed expr_free(). - (parse_expression) Renamed expr_parse(). Uses new type_check() - function. - (init_functab) Renamed init_func_tab(). - (type_check) New function. - (parse_or) Rewritten to use new allocate_nonterminal() and - append_nonterminal_arg() functions. - (parse_and) Ditto. - (parse_not) Ditto. - (parse_rel) Ditto. Also simplified logic. - (parse_add) Ditto. - (parse_mul) Ditto. - (parse_neg) Ditto. - (parse_exp) Ditto. - (SYSMIS_func) Ditto. - (VALUE_func) Rephrased. - (CONCAT_func) Fix memory leak by replacing free by free_node on - lossage. - (generic_str_func) Ditto. - (parse_function) Ditto. Also rephrasings. Uses bsearch() to find - function. - (allocate_nonterminal) New function. - (append_nonterminal_arg) New function. - (static func_tab[]) Now at file level. - (cmp_func) Moved. - (init_func_tab) Moved. Now just uses qsort() to sort func_tab[]. - - * expr.h: (enum series OP_*) Moved to exprP.h. - (OP_* defines) Ditto. - (struct op_desc) Ditto. - (global ops[]) Ditto. - (struct num_con_node) Ditto. - (struct str_con_node) Ditto. - (struct var_node) Ditto. - (struct lag_node) Ditto. - (struct casenum_node) Ditto. - (struct nonterm_node) Ditto. - (union any_node) Members renamed. - (struct sys_node) Removed. - (struct val_node) Removed. - (operator typedef) Removed. - (typedef exprtype) Removed. - (enum series EX_*) Moved to exprP.h. - (struct expression) Ditto. Also renamed a lot of the members. - (PXP_* defines) Changed to enums. - (free_node prototype) Moved to exprP.h. - - * file-handle.h: (struct file_handle) New member `where'. - - * file-handle.q: Migrated to new q2c format. - (prepend_current_directory) Removed (dead code). - (cmd_file_handle) Incorporated all of internal_cmd_file_handle(). - (fh_get_handle_by_filename) Removed dead code. - Set new `where' member. - - * file-type.c: (file_type_source_read) References to - parse_string_as_format() changed to data_in(). - dfm_push_cust()/pop_cust() changed to dfm_push()/dfm_pop(). - - * filename.c: All references updated. - (init_filename) Renamed fn_init(). - (expand_line) Removed. - (macro EXPAND_LINE) Removed. - (interp_vars) Renamed fn_interp_vars(). Now uses st_*() instead - of custom functions. - (gnu_getcwd) Renamed fn_get_cwd(), rewritten. - (tilde_expand) Renamed fn_tilde_expand(), uses ds_*(). - (normalize_filename) Renamed fn_normalize(). - (search_path) Renamed fn_search_path(), rewritten. - (prepend_dir) Renamed fn_prepend_dir(). - (blp_getenv) Renamed fn_getenv(). - (blp_dirname) Renamed fn_dirname(). - (fn_basename) New function, not used. - (absolute_filename_p) Renamed fn_absolute_p(). - (is_special_filename) Renamed fn_special_p(). - (file_exists) Renamed fn_exists_p(). - (readlink_malloc) Renamed fn_readlink(). - (getenv_default) Renamed fn_getenv_default(). - (open_file) Renamed fn_open(). - (close_file) Renamed fn_close(). - (open_file_ext) Renamed fn_open_ext(). - (close_file_ext) Renamed fn_close_ext(). - - * font.h: Migrate from arenas to pools. - - * format.c: (parse_format_specifier_name) Deal with ds_* strings. - - * frequencies.g: Migrate from arenas to pools. - - * frequencies.q: Migrate to new q2c version. Migrate from arenas - to pools. - - * getline.c: All references updated. - (global getl_buf) Changed from char * to struct string. - (static getl_include_path) Ditto. - (global getl_buf_len) Removed. - (global getl_buf_size) Removed. - (getl_include_path) Deal with new getl_buf, getl_include_path. - (getl_uninitialize) New function. - (getl_get_current_directory) Rewritten. - (getl_clear_include_path) Rewritten. - (getl_add_include_dir) Rewritten. - (getl_add_file) Assertion fixed. - (getl_add_virtual_file) Change initial value of `remaining_loops' - from 2 to 1. - (welcome) Rewritten. - (handle_line_buffer) Make static. Change logic to make - getl_add_virtual_file() change sensible. Use ds_*() strings. - (getl_read_line) Use ds_*() strings. Implement SET ECHO. - (getl_close_file) Moved. - (getl_location) New function. - - * getline.h: All references updated. - (macro curln) Removed. - (macro curfn) Removed. - (macro am_interactive) Renamed getl_am_interactive. - (macro am_reading_script) Renamed getl_reading_script. - - * glob.c: (global fmt_parse_ignore_error) Removed. - (init_glob) Use locale_dir not LOCALEDIR. Use feholdexcept() on - systems that support it (C99). Turn off SET ECHO by default. No - necessary julcal initialization anymore. - - * groff-font.c: Migrate from arenas to pools. - (groff_read_font) Use err_push_file_locator(). - (groff_read_DESC) Ditto. - (font_msg) Use tmsg(). - - * hash.c: (hsh_sort) Fix debug code. - [GLOBAL_DEBUGGING] Include stdio.h. - - * hash.h: (macro force_hsh_insert) Rephrase. - - * heap.c: Rewritten. - - * heap.h: Rewritten. - - * html.c: (html_option) Change from outp_value to struct string. - (postopen) Change from curfn to getl_location(). - (escape_string) Remove rich-text code. Signature changed. - (output_tab_table) Switch from a_string to struct len_string. - Remove rich text support. - - * lexer.c: All references updated. Largely rewritten. Major - changes listed below. Removed tagged quote support. Adapted to - struct string tokstr. - (global tokstr) Changed to struct string. - (global tokstr_size) Removed. - (global tokstr_len) Removed. - (global tokid) New. - (global tokint) Removed. - (global toklongstr) Removed. - (C* defines) Removed. - (static tbl[]) Removed. - (static id[]) Removed. - (static une[]) Removed. - (discard_line) Renamed lex_discard_line(). - (get_entire_line) Renamed lex_entire_line(). - (get_rest_of_line) Renamed lex_rest_of_line(). - (get_dotted_rest_of_line) Merged into lex_rest_of_line(). - (make_hexit) Removed. - (syntax_error) Renamed lex_error(). Return value removed. - (get_token_representation) Renamed lex_token_representation(). - (putback) Renamed lex_put_back(). - (putfwd) Renamed lex_put_forward(). - (convert_negative_to_dash) Renamed lex_negative_to_dash(). - (set_prog) Renamed lex_set_prog(). - (init_lex) Renamed lex_init(). - (reset_eof) Renamed lex_reset_eof(). - (lookahead) Renamed lex_look_ahead(). - (check_id) Rewritten. - (yylex) Renamed lex_get(), rewritten. - (lex_end_of_command) New function. Many commands were rephrased - using this. - (lex_integer_p) New function. Replaces compare of tokint against - NOT_LONG. - (lex_integer) New function. Replaces tokint. - (match_tok) Renamed lex_match(). - (match_id) Renamed lex_match_id(). - (match_int) Renamed lex_match_int(). - (force_match_id) Renamed lex_force_match_id(), added return value. - (force_match) Renamed lex_force_match(), added return value. - (force_string) Renamed lex_force_string(), added return value. - (force_int) Renamed lex_force_int(), added return value. - (lex_id_match_len) New function. - (id_match) Renamed lex_id_match(), rewritten. - (get_line) Renamed lex_get_line(). - (preprocess_line) Renamed lex_preprocess_line(). - (tokname) Renamed lex_token_name(). - (bin_value_func) Removed. - (oct_value_func) Removed. - (hex_value_func) Removed. - (unexpected_eof) New function. - (convert_numeric_string_to_char_string) New function. - (parse_string) Rewritten, signature changed. - (add_tokstr_char) Removed. - (add_tokstr_unsigned) Removed. - (add_tokstr_string) Removed. - (parse_tagged_quote) Removed. - (skip_comment) Renamed lex_skip_comment(). - - * lexer.h: All references updated. - (macro is_id1) Renamed CHAR_IS_ID1. - (macro is_idn) Renamed CHAR_IS_IDN. - (token names ID, NUM, STRING, STOP, ... WITH, EXP) Renamed with - prefix T_: T_ID, T_NUM, T_STRING, T_STOP, ... T_WITH, T_EXP. - (macro get_token) Removed. - (macro id_match) Removed. - (macro force_match_id) Removed. - (macro force_match) Removed. - (macro force_string) Removed. - (macro force_int) Removed. - (macro force_num) Removed. - (macro force_id) Removed. - - * lexerP.h: Removed. - - * list.q: Migrated to new q2c format. - (write_line) Deal with struct len_string. - (write_varname) Ditto. - (write_fallback_headers) Ditto. - - * magic.c: New file, incorporating the following global variables - previously in other files: endian, second_lowest_value. And both - of those are conditional on #define's. - - * magic.h: New file, incorporating the following global variable - declarations: endian, second_lowest_value, and the following macro - declarations: NOT_DOUBLE, NOT_LONG, NOT_INT. - - * main.c: Added declarations of pgmname, finished, curdate, - start_interactive. - (main) Call new parse_script() function. - (parse_script) New function. - (execute_command) New function. - (dump_token) Removed. - (handle_error) New function. - - * matrix.c: New file. - - * matrix.h: New file. - - * matrix-data.c: Migrated from arenas to pools. - (mget_token) Change from parse_string_as_format() to data_in(). - - * means.q: Migrate to new q2c. - (custom_tables) Renamed mns_custom_tables(). - (custom_crossbreak) Renamed mns_custom_crossbreak(). - (custom_variables) Renamed mns_custom_variables(). - - * mis-val.c: (static var width) Changed from `int' to `size_t'. - (parse_varnames) Prototype. - (parse_numeric) Rephrasings. - (parse_alpha) Adapt to new struct string tokstr. - - * misc.c: (intlog10) Rewritten. - (spacing) Removed. - (ansi_rand) Renamed real_rand(), moved into random.c. - (ansi_srand) Renamed real_srand(), moved into random.c. - (setup_randomize) Moved to random.c. - (rand_uniform) Ditto. - (rand_normal) Ditto. - (rand_simple) Ditto. - (get_config_line) Removed. - (reverse) Removed (dead code). - - * misc.h: (macro SET_BIT) Moved to bitvector.h. - (macro CLEAR_BIT) Ditto. - (macro TEST_BIT) Ditto. - (macro SET_BIT_TO) Ditto. - (macro BIT_INDEX) Ditto. - - * output.c: (outp_read_devices) Move to err_push_file_locator() - from push_cust(). Use struct string. - (expand_op_tokstr) Removed. - (static var op_tokstr) Changed to struct string. - (static var op_tokstr_size) Removed. - (tokener) Rephrasings. Use struct string. - (parse_options) Use struct string. - (destroy_driver) Fix assertion. - (outp_get_paper_size) Move to err_push_file_locator(). - [0] Removed dead code. - (outp_string_width) Move to len_string. - - * output.h: Comment fixes. - (TAG_* enum series) Removed. - (struct outp_value) Removed. - (enum OUTP_T_FANCY) Removed. - (struct outp_text) `s' changed from a_string to len_string. - (struct outp_class) `option' change arg 3 from outp_value to - struct string. - - * pfm-read.c: (corrupt_msg) Rewritten. - - * pfm-write.c: (bufwrite) Fix assertion. - - * pool.c: New file, reference version. - - * pool.h: New file, reference version. - - * postscript.c: (ps_font_sizes) Fix assertion. - (ps_option) Change arg 3 from outp_value to struct string. - Adapt to struct string. - (macro output_line) Removed. - (macro add_string) Removed. - (output_encodings) Adapted to struct string. Moved to - err_push_file_locator(). - (find_encoding_file) Fix assertion. - (read_ps_encodings) Move to err_push_file_locator(). - (postopen) Use getl_location() instead of curfn. - (out_text_plain) Move to len_string. - (text) Ditto. Remove rich text support. - - * print.c: (cmd_print) Remove now-unneeded resource cleanup code. - (cmd_print_eject) Ditto. - (cmd_write) Ditto. - (internal_cmd_print) Now cleans up after itself. Uses - fh_parse_file_handle() now. - (cmd_print_space) Use PXP_NUMERIC to type-check. - - * q2c.c: Overhauled. Removed _("") i18n support. All references - updated. All output functions updated to handle structures rather - than local or static variables. Adapt to new PSPP lex_*() - functions. - (macro _) Removed. - (macro N_) Removed. - (macro MAX_N_SBC) Removed. - (global bare) Removed. - (enum STRING) Renamed T_STRING. - (enum ID) Renamed T_ID. - (get_buffer) Buffer size increased. - (strlower) Renamed st_lower(), rephrased. - (strupper) Renamed st_upper(), rephrased. - (skip_ws) New function. - (get_line) Don't special-case any types of lines (like those - beginning with ! or $, for instance). - (get_token) Renamed lex_get(). Rephrased. - (static var `prefix') New. - (parse) New function. - (parse_setting) Minor rephrasing. - (dump_specifier_vars) Ditto. - (make_identifier) Put null terminator on identifier, duh. - (dump_vars) Renamed dump_declarations(). Never indent. Never - static. Output changed entirely. - (dump_specifier_init) Rephrase. - (dump_vars_init) No index variable needed. Other modifications. - (dump_parser) Don't parse command name. Do dump functions instead - of just code fragments. - (dump_free) Dump function instead of code fragment. - (recognize_directive) New function. - (main) Use recognize_directive(). Don't rely on magic $ line - beginning: instead, parse comments. Update list of headers. - - * random.c: New file, containing the following functions: - real_rand(), real_srand(), setup_randomize, shuffle, rand_uniform, - rand_normal, rand_simple. - - * random.h: New file. - - * recode.c: (cmd_recode) Merge internal_cmd_recode() into this - function. `max_src_width', `max_dst_width' changed to size_t. - (internal_cmd_recode) Removed. - (parse_dest_spec) Merge similar cases. - (parse_src_spec) Add assertion. - - * repeat.c: (recognize_keyword) New function. - (internal_cmd_do_repeat) Parse and handle PRINT keyword on END - REPEAT. Improve recognition of END REPEAT (use - recognize_keyword()). Move from curfn to getl_location(). Use - struct string. - - (perform_DO_REPEAT_substitutions) Adapt to struct string. - - * set.q: Adapt to new q2c. - (cmd_set) Range-check some values better. - (custom_blanks) Renamed stc_custom_blanks(). - (custom_length) Renamed stc_custom_length(). - (custom_results) Renamed stc_custom_results(). - (custom_seed) Renamed stc_custom_seed(). - (custom_width) Renamed stc_custom_width(). - (custom_format) Renamed stc_custom_format(). - (custom_journal) Renamed stc_custom_journal(). - (custom_color) Renamed stc_custom_color(). - (custom_listing) Renamed stc_custom_listing(). - (custom_disk) Renamed stc_custom_disk(). - (custom_log) Renamed stc_custom_log(). - (custom_rcolor) Renamed stc_custom_rcolor(). - (custom_viewlength) Renamed stc_custom_viewlength(). - (custom_workdev) Renamed stc_custom_workdev(). - - * settings.h: Not necessary to include format.h any longer. - - * sfm-read.h: (macro bswap_int32) Moved here from sfmP.h. - (corrupt_msg) Rewritten. - - * sort.c: Adapt to rewritten heap ADT. - - * str.c: (aa_strcpy) Removed. - (ab_strcpy) Removed. - (ac_strcpy) Removed. - (ba_strcpy) Removed. - (bb_strcpy) Removed. - (ca_strcpy) Removed. - (aa_strdup) Removed. - (aa_strdupcpy) Removed. - (ba_strdup) Removed. - (sa_strdup) Removed. - (memrev) Renamed mm_reverse(). - (memrmem) Renamed mm_find_reverse(). - (cmp_str) Renamed st_compare_pad(). - (strmaxcpy) Removed. - (strbarepadcpy) Renamed st_bare_pad_copy(), signature changed. - (strbarepadlencpy) Renamed st_bare_pad_len_copy(), signature - changed. - (strpadcpy) Renamed st_pad_copy(), signature changed. - (blpstrset) Removed. - (ds_create) New function. - (ds_init) New function. - (ds_replace) New function. - (ds_destroy) New function. - (ds_clear) New function. - (ds_extend) New function. - (ds_shrink) New function. - (ds_truncate) New function. - (ds_length) New function. - (ds_size) New function. - (ds_value) New function. - (ds_end) New function. - (ds_concat) New function. - (ds_concat_buffer) New function. - (ds_printf) New function. - (ds_putchar) New function. - (ds_getline) New function. - (ds_get_config_line) New function derived from the old - misc.c:get_config_line(). - (ls_create) New function. - (ls_create_buffer) New function. - (ls_init) New function. - (ls_shallow_copy) New function. - (ls_destroy) New function. - (ls_null) New function. - (ls_null_p) New function. - (ls_empty_p) New function. - (ls_length) New function. - (ls_value) New function. - (ls_end) New function. - - * str.h: Reformatted. - (struct a_string) Removed. - (struct b_string) Removed. - (struct c_string) Removed. - (struct len_string) New. - (struct string) New. - (macro as_streq) Removed. - (macro bs_streq) Removed. - (macro cs_streq) Removed. - (macro sa_streq) Removed. - (macro sb_streq) Removed. - [__GNUC__] (inline function ds_putchar) New function. - [__GNUC__] (inline function ds_length) New function. - [__GNUC__] (inline function ds_value) New function. - [__GNUC__] (inline function ds_end) New function. - - * sysfile-info.c: (cmd_sysfile_info) Rephrased. - (display_vectors) Fix missing i18n. - - * t-test.q: Migrate to new q2c. - - * tab.c: Migrate from arenas to pools. - (tab_create) Use struct len_string. - (tab_realloc) Ditto. - (text_format) Ditto. - (tab_joint_text) Ditto. - (tab_natural_width) Remove rich text support. - (tab_natural_height) Ditto. - (tab_output_text) Handle TAT_FIX. - (tab_raw) Change arg from a_string to len_string. - (tabi_driver) Fix assertion. Use struct len_string. - (render_strip) Use struct len_string. Remove rich text support. - Add `const' qualifiers. - - * tab.h: (enum TAB_RICH) Remove. - (enums TAB_COL_NONE, TAB_COL_DONE) New. Where appropriate, - SOM_COL_* updated to read TAB_COL_*. - (struct tab_table) Change arena to pool. Change a_string to - len_string. - - * temporary.c: (restore_dictionary) Rewrite Checker code. - - * var.h: (macros MAX_SHORT_STRING, MIN_LONG_STRING, SYSMIS, - LOWEST, HIGHEST) Moved here from common.h. - (typedef any_trns) Removed. All references changed to `struct - trns_header'. - - * vars-atr.c: (force_create_variable) Fix assertion. - (force_dup_variable) Fix assertion. - -Thu Jun 3 18:40:42 1999 Ben Pfaff - - Using alphanumeric variables in functions under AGGREGATE - segfaulted. Fixed. Thanks to Dr. Dirk Melcher - for reporting this bug. - - * aggregate.c: (parse_aggregate_functions) When setting the - FSTRING bit, also allocate memory for the `string' member of - agr_next. - (free_aggregate_functions) Free iter->string. Don't use the - non-function bits when indexing the array of functions. - [DEBUGGING] (debug_print) Don't use the non-function bits when - indexing the array of functions. - -Sun May 30 00:00:54 1999 Ben Pfaff - - Under certain circumstances, the final case would be omitted from - the results of an AGGREGATE operation. Fixed. Thanks to Dr. Dirk - Melcher for reporting this bug. - - * aggregate.c (agr_00x_end_func): Increment number of cases in - sink before writing case. For streams that keep track of how many - cases there are based on this value, this means that the last case - will be read in on the next stream read. - -Sat May 29 22:03:31 1999 Ben Pfaff - - Undefined behavior was invoked by referencing a freed pointer. - - * vfm.c (memory_stream_write): Free pointer *after* checking for - non-null status. - -Sat May 29 22:02:22 1999 Ben Pfaff - - A wrong record size was displayed when paging the active file to - disk. - - * vfm.c: (memory_stream_write) Fix off-by-one error. - -Sat May 29 21:50:26 1999 Ben Pfaff - - Not having enough temporary space for sorting caused a core dump. - Fixed. - - * sort.c: (allocate_cases) Initialize i. - -Sat May 29 21:40:54 1999 Ben Pfaff - - Syntax errors in function descriptions on AGGREGATE caused core - dumps. Fixed. - - * aggregate.c (cmd_aggregate): Don't free agr_dict after calling - free_aggregate_functions(), since that function already frees - agr_dict. - -Sat May 29 21:06:10 1999 Ben Pfaff - - A null pointer was dereferenced, causing a core dump, when - PERCENTILES was specified on FREQUENCIES. This fixes the problem, - but PSPP still doesn't calculate percentiles. Thanks to Regnor - Jernsletten for reporting this problem. - - * arena.c: (arena_malloc) If the arena hasn't been initialized - already, initialize it. - -Sat May 29 20:47:29 1999 Ben Pfaff - - * Makefile.cygwin: New file supplied by Hankin - for compilation with Cygnus Windows B20. Not used by other - systems. - -Sat May 29 20:36:04 1999 Ben Pfaff - - SORT always sorted in ascending order. Fixed. Thanks to Dr. Dirk - Melcher for reporting this bug. - - * sort.c: (compare_case_lists) Reverse sense of comparison if - sorting in descending order. - (compare_record) Ditto. - -Tue Mar 9 13:18:54 1999 Ben Pfaff - - SPLIT FILE with a string variable caused a core dump. Fixed. - - * vfm.c: If the variable is a string then make a temporary value - struct pointing to it. The underlying problem is a lot bigger - than this (see TODO) but this is a stopgap for the simple case at - least. - -Tue Mar 9 13:15:53 1999 Ben Pfaff - - Nested INCLUDEs didn't work. Fixed. - - * getline.c: (getl_include) Set first_line to NULL in allocated - structure. - -Tue Mar 9 13:13:46 1999 Ben Pfaff - - The MATCH FILES procedure set the values of variables not present - to 0. It should have been SYSMIS. This is now fixed. - - * get.c: (mtf_delete_file_in_place) Replace 0.0 by SYSMIS. - -Tue Mar 9 12:52:23 1999 Ben Pfaff - - The REMARK command was too aggressive about skipping lines. It - didn't like being the last command in a file. - - * command.c: (cmd_remark) Call get_entire_line() instead of - get_line(). - -Tue Mar 9 12:48:05 1999 Ben Pfaff - - Comment parsing wasn't consistent with the rest of the code in its - idea of where one command ends and another starts. This meant - that sometimes commands would be mysteriously ignored. Thanks to - Dr. Dirk Melcher for reporting this bug. - - * command.c: (parse_cmd) Hand off comment parsing to new function - skip_comment() in lexer.c. - * lexer.c: (skip_comment) New function. - -Wed Jan 20 20:22:07 1999 Ben Pfaff - - The TABLE subcommand on MATCH FILES worked only erratically at - best. This fixes it. Thanks to Dr. Dirk Melcher - for reporting this bug. - - * get.c: (mtf_compare_BY_values) When comparing string values, a - difference of 1 is still a difference :-) - (mtf_processing) Inverted TABLE reading logic fixed. Also don't - advance TABLE files automatically when matched. Comment fixes. - -Tue Jan 19 22:32:31 1999 Ben Pfaff - - VARIABLE LABELS rejected a slash before the first variable - specification, contradicting the documentation. Thanks to Walter - M. Gray for reporting this bug. - - * var-labs.c: (cmd_variable_labels) Ignore a leading slash in - command specification. - -Tue Jan 19 22:29:54 1999 Ben Pfaff - - Because of an incorrect optimization in memory allocation, - CROSSTABS sometimes segfaulted when asked to output multiple - tables. Thanks to Walter M. Gray for - reporting this bug. - - * crosstabs.q: (postcalc) New variables maxcols, maxcells, which - are passed to output_pivot_table() for its use. - (output_pivot_table) Instead of assuming the number of columns is - constant, keep track with maxcols. In general mode, use maxcells - to determine whether more matrix cells need to be allocated. - -Tue Jan 19 22:27:46 1999 Ben Pfaff - - CROSSTABS didn't display value labels for column and row - variables. Thanks to Walter M. Gray for - reporting this bug. - - * crosstabs.q: (table_value_missing) If the specified value has a - value label for this variable, then show it instead of the raw - value. - (display_dimensions) Delegate display of value_labels to - table_value_missing. - -Mon Jan 18 20:04:06 1999 Ben Pfaff - - WRITE didn't write line ends. Fixed. Thanks to Dr. Dirk Melcher - for reporting this bug. - - * print.c: (print_trns_proc) Write (CR/)LF if PRINT is used _or_ - if the file isn't declared as binary. - -Mon Jan 18 19:56:45 1999 Ben Pfaff - - MATCH FILES corrupted memory and dumped core on some syntax - errors. Fixed. - - * get.c: (cmd_match_files) Set file->handle to NULL before - jumping to lossage. - (mtf_free_file) Don't free a null dictionary. - -Mon Jan 18 19:27:57 1999 Ben Pfaff - - MATCH FILES should set numeric values not available to the - system-missing value, not to 0. Thanks to Dr. Dirk Melcher - for reporting this bug. - - * get.c: (mtf_processing) Set unused records to system-missing, - not 0. - -Mon Jan 18 15:06:46 1999 Ben Pfaff - - KEEP didn't work properly on the SAVE procedure. Fixed. Thanks - to Ralf Geschke for reporting this bug. - - * temporary.c: (save_dictionary) Initialize var_by_name AVL tree - in newly created dictionary, and add each copied variable to the - tree. - -Mon Jan 18 15:04:48 1999 Ben Pfaff - - Memory leak fix. - - * get.c: (trim_dictionary) Free variable list for KEEP after - finishing with it. - -Mon Jan 18 12:57:36 1999 Ben Pfaff - - Some systems didn't like the way open_file was coded. Thanks to - Hankin for pointing this out. - - * filename.c: (open_file) Don't try to store stdin, stdout, - stderr as part of an array, because that doesn't always work. - -Mon Jan 18 12:53:27 1999 Ben Pfaff - - The SAVE procedure didn't save long string variables properly. - Fixed by this patch. Thanks to Hankin - for this patch. - - * sfm-write.c: (write_variable) Fix off-by-one error in writing - out variable pad records. - -Tue Jan 5 14:29:27 1999 Ben Pfaff - - Previously, if PRINT SPACE were given a negative argument, it - would report an error, then spin in an (almost) infinite loop. - This fixes that behavior. - - * print.c: (print_space_trns_proc) After reporting a negative - argument, set number of lines to print to 1. - -Tue Jan 5 13:59:55 1999 Ben Pfaff - - SPSS 8.0 outputs some new record types in its system files, and it - allows longer value labels. Accept these system files. - - * sfm-read.c: (sfm_read_dictionary) Ignore record type 7 subtype - 11 emitted by SPSS 8.0. - -Tue Jan 5 13:55:50 1999 Ben Pfaff - - The LIST procedure was too conservative in allocating space for - buffers, which caused a bug that only showed up with very long - output variables. Thanks to Hankin for this - bug report. - - * list.q: (determine_layout) Allocate 1022 bytes instead of 256. - -Tue Jan 5 13:34:34 1999 Ben Pfaff - - Typo meant string format specifiers weren't checked properly. I - think that Hankin sent me this report, but I'm - willing to be corrected on this point. - - * format.c: (check_string_specifier) Fix obvious typo. - -Tue Jan 5 12:50:42 1999 Ben Pfaff - - Using $CASENUM in an expression didn't work. Here's a fix. - Thanks to Dirk Melcher for reporting this - bug. - - * expr-evl.c: (evaluate_expression) Add OP_CASENUM case. - - * expr-opt.c: (dump_node) OP_CASENUM is acceptable. - -Tue Jan 5 12:47:48 1999 Ben Pfaff - - The changes in 0.2.1 to fix DATA LIST FREE parsing broke some - other behavior, *sigh*. This patch hopefully fixes that. This - time I've actually tested it. - - Thanks to Hankin for reporting this bug. - - * data-list.c: (read_from_data_list_free, - read_from_data_list_list) Call parse_string_as_format() directly - without mucking around with the field width. - -Tue Jan 5 12:31:19 1999 Ben Pfaff - - Occasionally, you may encounter a script that wants to be - interpreted in interactive mode. Make -i emulate this behavior to - allow such scripts to be executed with PSPP. - - Thanks to Hankin for reporting this behavior. - - * cmdline.c: (pre_syntax_message[]) Update -i description. - - * lexer.c: (preprocess_line) When getl_interactive is 2 (i.e., - when -i is given on the command line) don't treat unindented lines - as starting a new command. - -Tue Jan 5 12:30:10 1999 Ben Pfaff - - In conjunction with egcs 1.1.1, Checker emits some bogus warnings, - mostly caused by local initialized aggregates. After egcs is - fixed upstream these can be removed, but for now they're not a big - deal. - - * ascii.c: (ascii_postopen_driver) Checker chokes on local - initialized arrays. Avoid this. - - * sfm-write.c: (sfm_write_dictionary) Don't use a local - initialized struct. - -Tue Jan 5 12:07:24 1999 Ben Pfaff - - egcs 1.1.1 has some new warnings relative to gcc 2.8.1, which the - following changes avoid. Currently I compile sources with egcs - 1.1.1 and gcc 2.7.2.3 before sending them out. - - * apply-dict.c: (apply_dict) Use new avl_traverser_init() macro. - - * ascii.c: (option_tab[]) Initialize all struct members. - - * avl.h: (avl_traverser_init) New macro. - - * command.c: (DEFCMD, UNIMPL macros, cmd_table[]) Initialize all - struct members. - - * crosstabs.q: (enum_var_values) Use new hsh_iterator_init() - macro. - - * hash.c: Comment fix. - - * hash.h: (hsh_iterator_init) New macro. - - * html.c: (option_tab[]) Initialize all struct members. - - * pfm-write.c: (write_value_labels) Use new avl_traverser_init() - macro. - - * postscript.c: (option_tab[]) Initialize all struct members. - (output_encodings, preclose, dump_lines) Use new - hsh_iterator_init() macro. - - * sfm-write.c: (write_value_labels) Use new avl_traverser_init() - macro. - - * sysfile-info.c: (describe_variable) Use new avl_traverser_init() - macro. - -Thu Nov 19 12:32:45 1998 Ben Pfaff - - * data-in.c: Examined each of the parsing functions to make sure - that they wouldn't dump core if they were passed a string of the - wrong length, since now the DATA LIST FREE/LIST routines don't - check for field width before passing it to the data parser. - (parse_RBHEX, parse_AHEX) Reject odd length input. - (parse_string_as_format) Reject input that's too short or too - long. - - * data-list.c: Before, the DATA LIST FREE/LIST routines would pad - a field to its entire declared output width then pass it to the - data-in parsing routines. This contradicted the documented - behavior. This is fixed in these changes. Thanks to Mark H. Wood - . In addition, this fixes a few more details of - free-format parsing that differed from SPSS. - (cut_field) Commas and spaces are treated identically. Returns - the proper column instead of a fixed 1 value. - (parse_field) Removed. - (read_from_data_list_free, read_from_data_list_list) Call - parse_string_as_format directly instead of parse_field. - - * heap.c: (heap_delete) Stylistic fixes. - -Sun Aug 9 11:12:13 1998 Ben Pfaff - - * loop.c: (loop_2_trns_proc) Formatting fix. - - * sel-if.c: (cmd_filter) Set FILTER_before_TEMPORARY. - - * var.h: (glob var FILTER_before_TEMPORARY) New global var. - - * vfm.c: (macro FILTERED) New. - (static var filter_var) New. - (process_active_file_write_case) Use FILTERED. - (setup_filter) Set filter_var. - (close_active_file) Delete the filter if not - FILTER_before_TEMPORARY. - (procedure_write_case) Use FILTERED. - -Sat Aug 8 00:20:14 1998 Ben Pfaff - - * crosstabs.q: Changed /PIVOT={ON,OFF} to /FORMAT={PIVOT,NOPIVOT}. - - * data-in.c: (parse_day_count) Message fix. - (parse_month) Style fix. - - * data-list.c: (struct data_list_pgm) New member eof. - (cmd_data_list) Init eof to 0. - (do_reading) Implement the /END subcommand and read-past-eof - checking. - - * do-if.c: Include stdio.h when debugging. - (cmd_else_if) Make sure the command is .-terminated. - - * glob.c: (init_glob) Capitalize the command prompt. - - * inpt-pgm.c: (end_case_trns_proc) Debugging message. - (end_file_trns_proc) Debugging message. - - * loop.c: (internal_cmd_loop) Make it work when there's no loop - index! - (loop_2_trns_proc) Enable MXLOOPS (why was this disabled?) - - * main.c: (dump_token) Make kwtab[] const. - - * set.q: Spelling, comment fixes. - - * sysfile-info.c: (cmd_display) DISPLAY VECTORS not DISPLAY - VECTOR. - - * vars-prs.c: (fill_all_vars) Style fix. - - * vfm.c: (index_to_varname) Return const. - -Tue Aug 4 23:49:23 1998 Ben Pfaff - - * Changes in many source files for partial -ansi -pedantic and - no-debugging compliance: Remove trailing common in enum - declarations; add `unused' attributes; insert some appropriate - casts. - - * cmdline.c: (parse_command_line) Add new --testing-mode flag. - - * command.c: (shell) Make static. - (run_command) Make static. - - * data-list.c: (dump_fixed_table) Remove use of local_strdup(). - - * dfm.c: (cmd_begin_data) I18n fix. - - * error.c: (verbose_msg) Define if __STRICT_ANSI__. - - * error.h: (macro verbose_msg) Define if __STRICT_ANSI__. - - * expr-opt.c: (evaluate_tree) Don't initialize local arrays if - __STRICT_ANSI__. - - * file-handle.q: Don't prepend the source file directory name to - the data file name. (Ongoing issue.) - (prepend_current_directory) Comment out. - (internal_cmd_file_handle) Don't call prepend_current_directory(). - (fh_get_handle_by_filename) Ditto. - - * filename.c: Append zero byte to readlink() return value. - - * getline.c: (getl_read_line) I18n fix. - - * lexer.h: Don't use gcc features if __STRICT_ANSI__. - - * misc.h: Don't use gcc features if __STRICT_ANSI__. - - * pfm-write.c: (bufwrite) Don't try to increment a void * pointer - directly. - - * postscript.c: (output_encodings) Don't use local_strdup(). - (postopen) Ditto. - - * print.c: Don't use gcc features if __STRICT_ANSI__. - - * q2c.c: (dump_vars) Don't put a , at the end of the last enum. - - * recode.c: (parse_src_spec) Fully brace nested if's. - - * set.q: (global var set_testing_mode) New var. - -Wed Jul 29 22:01:44 1998 Ben Pfaff - - * ascii.c: Add some more `unused' attributes that only come into - play when NDEBUG is defined. - (ascii_close_page) Set s_len when reallocating s. - - * crosstabs.q: (delete_missing) New function. - (output_pivot_table) Call delete_missing() if /MISSING=REPORT. - (make_summary_table) Create summary table reallocable. - - * postscript.c: Add more `unused' attributes as above. - - * tab.c: (tab_create) [GLOBAL_DEBUGGING] Set reallocable member. - (tab_realloc) [GLOBAL_DEBUGGING] Assert that table is reallocable. - - * tab.h: (struct tab_table) [GLOBAL_DEBUGGING] New `reallocable' - member. - - * var.h: (macro force_dup_variable) [!GLOBAL_DEBUGGING] Remove - gratuitous space between parameter definition. - - * vars-atr.c: Changed some assert(0)'s to abort()'s to prevent - complaints about running off the end of functions with NDEBUG - enabled. - -Sun Jul 5 00:17:25 1998 Ben Pfaff - - * Several source files: Removed some PORTME notes when reflection - revealed that ANSI forbids that sort of breakage. Also, added - lots of `unused' qualifiers here and there. - - * aggregate.c: (accumulate_aggregate_info) Remove local var - weighting that turned out not to be used. - - * avl.c: Update to version 1.1.0. Add unused specifier. - (avl_destroy) Initialize ab to 0. Comment fixes. Cast return - value to void *. - (avl_probe) Replace some instances of 1 with +1 where appropriate. - (avl_find) Cast return value to void *. - (avl_delete) q doesn't need to be initialized at the beginning of - the function. Replace some instances of 1 with +1. - (force_avl_delete) Renamed avl_force_delete, all references changed. - (compare_ints) `param' marked unused. - (print_int) `param' marked unused. - (recurse_tree) Replace some instances of 1 with +1. - - * avl.h: Update to version 1.1.0. Only declares avl function - types if not already declared. - (AVL_MAX_HEIGHT) Only define if not already defined. - (struct avl_node) New unused member char pad[2]. - [GLOBAL_DEBUGGING] Change conditionalization to NDEBUG instead. - (force_avl_insert) Renamed avl_force_insert. - (force_avl_delete) Renamed avl_force_delete. - - * crosstabs.q: (struct table_entry) Put `freq' into a union with - new member `data'. - (struct crosstab) Add new member `ofs'. - (glob var int_tab) Removed. - (custom_tables) In integer mode, assign v[i] properly through the - indirect var_dict. - (custom_variables) Now p.crs.max == max + 1. - [DEBUGGING] (debug_print) p.crs.min and p.crs.max are now ints. - (precalc) Implement integer mode. - (calc_integer) Implement integer mode. - (compare_table_entry) Remove unused local variable `comparing'. - (make_summary_table) Implement integer mode. - (macro ns_rows) Implemented as static variable now. - (several variables) Made static, from global. - (output_pivot_table) Use table_value_missing() for column heads. - Remove several unused local variables. Implement integer mode - table summing. Count up ns_rows. - (crosstabs_dim) Make columns wider when /MISSING=REPORT requested. - (find_pivot_extent) Moved into find_pivot_extent_general; now just - calls that function or find_pivot_extent_integer. - (find_pivot_extent_integer) New function. - (enum_var_values) Implemented for integer mode. - (table_value_missing) New function. - (display_dimensions) Call table_value_missing() for heads. - (float_M_suffix) New function. - (display_crosstabulation) Call table_value_missing() for row - heads. Handle missing values in /MISSING=REPORT mode. - (calc_fisher) Remove unused var N. - (calc_r) Remove unused var fact. - - * data-list.c: (dump_fixed_table) Fix table dimensioning. - (read_one_set_of_repetitions) Remove unused vars var_spec, column. - - * data-out.c: (insert_commas) Remove unused var cp. - (convert_CCx) Remove unused vars save_set_decimal, - save_set_grouping. - - * descript.q: (dump_z_table) Fix table dimensioning. - (pre_calc) Remove unused var j. - (display) Remove unused vars title, s. Fix table dimensioning. - - * expr-evl.c: Comment fixes. - - * frequencies.q: (full_dim) New function. - (dump_full) Fix table dimensioning. - (condensed_dim) New function. - (dump_condensed) Fix table dimensioning. - - * get.c: (cmd_match_files) Remove unused var n_val. Remove unused - label winnage. - - * html.c: (html_close_drive) Remove unused var i. - (postopen) Remove unused vars title, curfn_len, cp. - (preclose) Remove unused vars this, x. - - * lexer.c: Comment fixes. - - * matrix-data.c: (cmd_matrix_data) Remove unused var index. - - * means.q: (custom_tables) Remove unused var m_dim. - - * mis-val.c: Format fix. - - * modify-vars.c: (cmd_modify_vars) Remove unused var new_dict. - - * output.c: (outp_get_paper_size) Remove unused var cp. - - * pfm-read.c: (read_float) Remove unused var save, unused label - underflow. - (read_variables) Remove unused vars cp, j. - (read_value_label) Remove unused var j. - - * pfm-write.c: (bufwrite) Remove unused var i. - - * postscript.c: (ps_postopen_drive) Remove unused vars dev_info, - fn. - (output_encodings) Remove unused vars char_cp, n_output. - (read_ps_encodings) Remove unused var ep. - (postopen) Remove unused var title. - (preclose) Remove unused var fp. - (ps_open_page) Remove unused vars true, false, orientation, - mirror_horz, mirror_vert, width, length. - (ps_text_metrics) Remove unused var x. - - * q2c.c: (find_symbol) Remove unused var y. - (parse_setting) Remove unused parameter sbc, all references - changed. - (dump_parser) Remove unused var cp. - (dump_free) Remove unused var i. - - * set.q: (static vars args, n) Removed. - (internal_cmd_gset) Removed. - - * sfm-read.c: (sfm_read_dictionary) Removed unused var i. - (read_machine_flt64_info) Removed unused var file_endian. - (read_documents) Removed unused var i. - (read_compressed_data) Removed unused parameter dict, all - references changed. - - * sfm-write.c: (bufwrite) Removed unused var i. - (sfm_write_case) Removed unused var i. - - * sort.c: (merge_once) Remove unused var t. - (write_separate) #if 0 out as dead code. - - * split-file.c: (cmd_split_file) Remove unused var i. - - * sysfile-info.c: (sysfile_info_dim) New function. - (cmd_sysfile_info) Fix table dimensioning. - (variables_dim) New function. - (display_variables) Fix table dimensioning. - (describe_variable) Remove unused var prev_r. - - * t-test.q: (z_postcalc) Removed. - (pairs_calc) Remove unused var bad_weight. - (postcalc) Remove unused vars dfn, dfd. - - * tab.c: (tab_create) Set t->dim to NULL. - (tab_dim) Make sure t->dim is NULL first. - (tab_natural_width) Remove parameter `clamp'. - (tab_value) Remove duplicate assertion for table. - (tab_raw) New function. - (nowrap_dim) New function. - (wrap_dim) New function. - (tab_output_text) Fix table dimensioning. - - * tab.h: (tab_raw) New macro. - - * val-labs.c: (get_label) Remove unused var type. - (copy_value_labels) Remove unused var trav. - - * var.h: (struct crosstab_proc) Completely changed. - - * vars-prs.c: (parse_dict_variable) Remove unused var v. - - * vfm.c: (open_active_file) Remove unused vars i, lp. - - * weight.c: (weight_trns_proc) #if 0 out as dead code. - -Tue Jun 2 23:37:21 1998 Ben Pfaff - - * Makefile.am: Add apply-dict.c, flip.c. - - * apply-dict.c: New file. - - * command.c: (struct command) Make cmd[] larger for CLEAR - TRANSFORMATIONS command name. - (parse_cmd) Make sure we're in a valid state before using it as an - index. Discard variables and reset state on invalid transitions. - (cmd_clear_transformations) New function. - - * command.def: Add APPLY DICTIONARY, CLEAR TRANSFORMATIONS, FLIP. - Add unimplemented PRESERVE, RESTORE. - - * file-handle.h: Include stddef.h. - - * flip.c: New file. - - * pfm-read.c: (parse_value) Pad value label values with spaces, - not nulls. - - * sfm-read.c: (struct sfm_fhuser_ext) Add reference count. - (sfm_close) Decrement reference count, make sure it's zero. - (sfm_maybe_close) New function. - (sfm_read_dictionary) Handle reference counts. - - * vars-atr.c: (clear_default_dict) New function. - (discard_variables) Use clear_default_dict(). - -Sun May 31 00:58:05 1998 Ben Pfaff - - * Makefile.am: Add pfm-write.c. - (LDADD) Add the libgmp2 libraries. - - * command.def: Define EXPORT. - - * get.c: (cmd_export) New function. - (export_write_case_func) New function. - - * pfm-read.c: (static spss2ascii[]) Make it const. - - * pfm-write.c: New file. - - * sfm-write.c: Formatting, comment fixes. - - * var.h: Comment fix. - -Fri May 29 21:44:12 1998 Ben Pfaff - - * Makefile.am: Add pfm.h, pfm-read.c. - - * command.def: IMPORT is now implemented. - - * format.c: (glob var translate_fmt[]) New var. - - * get.c: (enum GTSV_NONE) Renamed GTSV_OPT_NONE. - (cmd_import) New function. - (import_source_read) New function. - (glob var import_source) New var. - - * pfm-read.c: New file. - - * pfm.h: New file. - - * sfm-read.c: (parse_format_spec) Local variable translate_fmt[] - moved in format.c. - (dump_dictionary) Disabled printing a couple of items. - -Mon May 25 12:42:37 1998 Ben Pfaff - - * crosstabs.q: (postcalc) Call make_summary_table(). - (make_summary_table) New function. - (insert_summary) New function. - (display_dimensions) Remove some unnecessary arguments, all - references changed. - (output_pivot_table) Fix lots of problems with the risk table - setup. - (submit) Don't display an empty table. - (display_risk) Fix order of arguments to calc_risk(). - - * glob.c: Always include assert.h and stdlib.h. - - * output.h: (enum OUTP_T_JUST_FULL) Removed, all references - removed. - - * tab.c: (tab_create) Cosmetic changes. - - * tab.h: (enum TAB_JUSTIFY) Removed, all references removed. - -Sun May 24 22:39:23 1998 Ben Pfaff - - * tab.def: Removed. - - * crosstabs.q: (output_pivot_table) Headers drawing and submission - code simplified, moved into new function submit(). - (submit) New function. - (crosstabs_dim) New function. - (display_directional) Substitute variable names for %s where - appropriate. - (somers_d_v[], somers_d_ase[], somers_d_t[]) New static vars. - (calc_symmetric) Initialize parameters only if non-NULL. - Calculate Somers' d. - (calc_directional) Calculate Somers' d (or copy it, really). - Calculate eta. - - * output.c: (outp_string_width) New function. - - * postscript.c: (postopen) Calculate font widths based on the - width of the zero '0' character, not the width of the space - character. Set paper-width and paper-length based on points, not - device units. - (ps_open_page) Fix page setup string for landscape mode. - - * som.h: (struct som_dimension) Removed. - (struct som_table_class) height, width members take int * not - som_dimesion * now. - - * tab.c: Many functions now have added parameter validation. - (tab_height, tab_width) These functions were removed and merged - into a single function tab_resize(), and all references changed. - (tab_dim) Rewritten since the interface changed; reduced from - hundreds of lines to two. All callers were changed. Currently - most of them just use tab_natural_dimensions as their callback and - await detailed translation of functionality. - (tab_natural_width) New function. - (tab_natural_height) New function. - (tab_natural_dimensions) New function. This is a callback - function, not something that you'd want to call directly. - (tab_nat_dim) Removed. - (tabi_table) Allocates t->w and t->h. - (tabi_driver) Inlined sum_columns()'s functionality. Calls the - dimensions callback. - (evaluate_dimensions) Removed. - (sum_columns) Removed. - - * tab.h: (enum TAL_1THIN) Removed. - (enum series t_*) Removed. - (struct tab_table) Members trh, trv changed to unsigned char * - from int *. Member dim changed to a function pointer from a - unsigned char *. Member max_stack_height removed. New members - hr_tot, vr_tot. - (macros tab_l, tab_r, tab_t, tab_b) New. - -Sat May 23 23:22:13 1998 Ben Pfaff - - * ascii.c: (delineate) Assign last_space_nchars before skipping - spaces, to fix right justification. - - * crosstabs.q: (static vars risk, direct) New vars. - (static var pearson_r) Removed. - (glob var chisq_fisher) Made static. - (static vars row_tot[], col_tot[]) Don't include grand total - anymore. - (static var grand_total) Renamed W, all references changed. - (output_pivot_table) Only make `table' if num_cells != 0. Make - risk and directional tables. Deal with grand total no longer part - of col_tot[]. Free rows and cols after we're done with them. - (display_risk) New function. - (display_directional) New function. - (clac_r) Rewritten so that it stores all its results into its - arguments, so it can be used for Spearman's correlation too. - (calc_symmetric) Added a t[] argument, all references changed. - Calculates ASEs for tau-b, tau-c, gamma. Calculates Spearman's r, - Pearson's r, Cohen's kappa. - (calc_risk) New function. - (calc_directional) New function. - - * som.c: (som_submit) Improved debugging code. - - * stats.c: (hypercube) New function. - (cube) New function. - (sqr) New function. - (normal_sig) Went back to old implementation, which actually - worked. - - * stats.h: (macros square, cube, hypercube) Removed. The - equivalent functions in stats.c are inlined here; all references - to square changed to sqr. - -Fri May 22 00:03:41 1998 Ben Pfaff - - * crosstabs.q: (N_SYMMETRIC) New define. - (postcalc) Disable debug printing. - (static vars chisq_fisher, pearson_r) New. - (output_pivot_table) Add support for symmetric measures. Add - chi-square output of exact sigs. - (display_chisq) Rewritten. - (display_symmetric) New function. - (gamma_int) New function. - (Pr) New function. - (swap) New function. - (calc_fisher) New function. - (calc_chisq) Check boundary conditions better. Calculate Yates, - Fisher, Mantel-Haenszel tests. - (calc_r) New function. - (calc_symmetric) New function. - - * stats.c: (normal_sig) Rewritten with new algorithm. Renamed - from calc_normal. - (chisq_sig) Better boundary conditions. Renamed from - calc_significance. - - * tab.h: (struct tab_table) New member cf. - - * tab.c: (tab_create) Set cf. - (tab_width) New function. - (tab_realloc) Handle cf. - (tab_vline) Handle cf. - (tab_hline) Handle cf. - (tab_box) Handle cf. - (tab_value) Handle cf. - (tab_float) Handle cf. - (tab_text) Handle cf. - (tab_joint_text) Handle cf. - (tab_offset) Handle cf. - (tab_next_row) Handle cf. - (evaluate_dimensions) Handle cf. - (render_strip) Handle cf. - -Wed May 20 00:03:59 1998 Ben Pfaff - - * crosstabs.q: (postcalc) New vars row_tot, col_tot, pass them to - output_pivot_table(). - (output_pivot_table) Moved lots of local variables outside and - made them static. Add beginnings of chi-square statistic - support. Now column and row totals aren't in the main matrix. - Always zero out any leftover rows & columns after we're done with - the table entries. Move all output stuff into - display_dimensions(), display_crosstabs(), display_chisq(). - (display_dimensions) New function. - (display_crosstabulation) New function. - (display_chisq) New function. - (calc_chisq) Implemented Pearson and likelihood-ratio chisquares. - - * frequencies.q: (dump_full, dump_condensed) Remove tab_null() - references, simplify logic. - - * postscript.c: Remove scale, translate-x, translate-y, - mirror-horz, mirror-vert, rotate-180 options. - (struct ps_driver_ext) Remove scale, translate_x, translate_y. - All references deleted. - (macro YT) New macro. - (array option_tab[]) Removed options. - (ps_option) Removed options. - (ps_open_page) Write page setup explicitly to output file, without - using now-deleted BP function. - (macro dump_line) Use YT(). - (macro dump_thick_line) Use YT(). - (draw_headers) Use YT(). - (switch_font) Reorder arguments to SF function. - (write_text) Use YT(). - - * sfm-read.c: (sfm_read_case) Don't attempt to read variables that - have get.fv == -1. - - * sysfile-info.c: (describe_variables) Don't use tab_nulls(). - - * tab.c: (tab_create) Initialize t->ct to zeros. Remove - null-debugging code. - (tab_realloc) Remove null-debugging code. Initialize new regions - of t->ct to zeros. - (tab_vline) Support offsets. - (tab_hline) Support offsets. - (tab_box) Support offsets. - (tab_null) Removed. - (tab_nulls) Removed. - (tab_row) Removed. - (tab_col) Removed. - (evaluate_dimensions) Remove null-debugging code. Understand - TAB_EMPTY attribute. Assert that text.s.s is always non-NULL if - TAB_EMPTY not present. - - * tab.h: New cell attribute TAB_EMPTY. - (macros tab_nr, tab_nc, tab_row, tab_col) New. - - * vars-atr.c: (init_variable) Set get.fv to -1 so that GET doesn't - try to read them from system files. - - * vfm.c: (dump_splits) Don't call tab_null(). - -Sat May 16 19:36:55 1998 Ben Pfaff - - * crosstabs.q: (struct crosstab) Added `missing' member. - (custom_tables) Init missing. - (calc_general) Handle missing values. - (calc_chisq) New function. - (output_pivot_table) Start work on chi-square output. Update for - new tab offset support functions. Shorten statistic names. - - * Several files: add in more `const's to placate gcc's warnings. - - * tab.h: (struct tab_table) Add col_ofs, row_ofs members. Comment - fixes. - - * tab.c: (tab_height, tab_realloc, tab_vline, tab_hline, tab_box, - tab_null, tab_nulls, tab_value, tab_float, tab_text, - tab_joint_text) Add col_ofs and row_ofs support. - (tab_offset) New function. - (tab_next_row) New function. - (tab_row) New function. - (tab_col) New function. - (tabi_table) Add col_ofs and row_ofs support. - - * vars-atr.c: (is_system_missing) New function. - -Tue May 12 16:14:30 1998 Ben Pfaff - - * crosstabs.q: Expanded subcommand names RESID --> RESIDUAL, etc. - (static var no_cells) Removed. - (static var num_cells) New. - (static var expected) New. - (static var cells[]) New. - (internal_cmd_crosstabs) Deal with new variables. - (postcalc) Removed most of the meat and put it in new function - output_pivot_table(). - (output_pivot_table) Calculates and outputs an entire pivot table. - - * postscript.c: (postopen) Fix problems with free()ing addresses - not obtained from malloc(). - - * som.c: (som_submit) Add assertion. - - * sysfile-info.c: (describe_variable) Use new tab_nulls() - function. - - * tab.c: (static var tab_names[]) New. - (tab_realloc) -1 for nc or nr indicates no change. - (tab_nulls) New function. - (tab_dim) Use tab_names[]. - (tabi_cumulate) Don't include bottom or right headers. Furrfu. - (evaluate_dimensions) Don't terminate on uninited cells, just put - an X in them and emit a notice. Use tab_names[]. - - * tab.h: Move bits into tab.def. - - * tab.def: New. Don't try to declare tab_table_class because then - som.h has to be included. - -Thu May 7 22:55:04 1998 Ben Pfaff - - * command.def: New file, contains all the command definitions - previously included bodily in command.c. - - * format.def: New file, contains all of the format definitions - previously split across format.h, format.c, and sfm-write.c. - - * lexer.h: Renamed from tokens.h in order to match corresponding - .c file name. - - * lexerP.h: Moved some rarely used functions exported by lexer.c - into here. - - * Makefile.am: Commemorate renamed files. - (EXTRA_DIST) Add command.def, format.def. - - * command.c: [0] (walk_cmdtable_func) Removed. - - * crosstabs.q: (postcalc) Made it work and print out matrices - proving it. - (enum_column_values) Renamed enum_var_values, generalized for any - variable. - - * format.h: (struct fmt_desc) New member `spss'. - - * q2c.c: (main) Generated code includes lexer.h instead of - tokens.h. - - * sfm-write.c: (write_format_spec) Use new spss member of fmt_spec - instead of an independent translation table. - -Tue May 5 13:19:03 1998 Ben Pfaff - - * Lots of source files: Added const to declarations. - - * aggregate.c: (parse_aggregate_function) Rename inner i to j. - - * arena.c: (arena_clear) Set prev pointer to null when done. - - * ascii.c: (ascii_option) Rename index as indx. - - * avl.c: This is now a separate library called libavl. - (xmalloc) Make static. - (avl_probe) Step A7 can use the cache instead of an explicit - compare. - (avl_delete) Don't maintain a q pointer because it's always - available in the pointer stack. Comment fix. - - * avl.h: This is now a separate library called libavl. - - * command.c: (cmd_table[]) Remove spurious trailing "". - - * common.h: Only include random() fix if this system needs it. - - * crosstabs.q: Include alloca headers. - (n_sorted_tab) New global var. - (postcalc) Mostly rewritten. - (find_pivot_extent) Rewritten. - (enum_column_values) Rewritten. - - * data-out.c: (convert_F) Rename inner n as n_spaces. - - * error.c: (dump_message) Don't have an outer var i. - - * file-handle.q: (static var f) Removed. All references removed. - (internal_cmd_file_handle) Uses a local variable instead of f. - - * get.c: (trim_dictionary) Change scope of i, i1, i2. - (cmd_match_files) Don't strcpy tokstr into sbc (why was this ever - done?) - - * getline.h: Declare getl_history as extern. Reported by - palme@uni-wuppertal.de (Hubert Palme). - - * postscript.c: (postopen) Some large mods for constness. - - * recode.c: Remove spurious copyrights since PSPP is owned by FSF - anyway. - -Fri Apr 24 12:52:47 1998 Ben Pfaff - - * Makefile.am: Rename BUILT_SOURCES to q_sources, all references - changed. Add avl.c, avl.h to pspp_SOURCES. Remove avllib from - LDADD. - - * avl.c, avl.h: New files. These form a clean-room - reimplementation of avllib. Iterative algorithms are used in - place of recursive ones, so there is no resemblance in the code. - - * Lots of headers: Don't include other headers by default. - - * Lots of source files: Explicitly include all needed headers. - - * arena.c: (arena_clear) New function. - - * crosstabs.q: (ROW_VAR, COL_VAR) New enums. - (static var ar) Removed. - (staitc vars ar_tc, ar_col) New. - (cmd_crosstabs) Destroy the arenas. - (internal_cmd_crosstabs) Create the arenas. - (precalc) Don't need a free function for the hash. - (calc_general) Make sure to zero out the trailer on the key data - before inserting. - (print_table_entries) Updated. - (postcalc) Worked on actually implementing. - (find_pivot_extent) New function. - (compare_value) New function. - (enum_column_values) New function. - - * data-in.c: (parse_month) Make local array `static const'. - - * data-out.c: (convert_date) Make local array `static const'. - (convert_WKDAY) Same. - (convert_MONTH) Same. - - * frequencies.q: (postprocess_freq_tab) avl_walk_inorder() has - been renamed to avl_walk(). - - * hash.c: Rewritten more efficiently. - - * hash.h: Add attribute const to hsh_next_prime declaration. - - * lexer.c: (id_match) Make arguments const. - - * postscript.c: (ps_postopen_driver) Make default fonts the - Helvetica family. - - * q2c.c: (main) Generated code needs stdlib.h. - - * sfm-write.c: (write_value_labels) An avl_traverser needs to be - initialized to 0 now, not to NULL. All other references to - avl_traverser were updated in the same way. - - * tokens.h: Macro version of id_match updated to use const - properly. - - * val-labs.c: (inc_ref_count) New function. - (copy_value_labels) Simply through use of new avl_copy() function. - -Wed Apr 15 13:01:58 1998 Ben Pfaff - - * crosstabs.q: Probably doesn't compile. New PIVOT subcommand. - (postcalc) Worked on this. - - * postscript.c: (OPO_DOUBLE_LINE) New enum. - (struct ps_driver_ext) New line_width_thick member. - (ps_preopen_drive) Init line_width_thick. - (option_tab[]) Add line-* options. - (ps_option) Parse line-* options. - (postopen) Add line_width_thick support. Strip leading spaces on - prologue output lines. - (ps_open_page) Include line_width_thick in output. - (macro dump_thick_line) New. - (dump_fancy_line) Support thick lines as well as double lines. - -Tue Apr 14 00:50:08 1998 Ben Pfaff - - * Makefile.am: Add crosstabs.c to BUILT_SOURCES. Add crosstabs.q - to pspp_SOURCES. Add crosstabs.q to EXTRA_DIST. - - * Many source files: Rename `options' to `pv_opts' as appropriate. - - * command.c: (static var cmd_table[]) Add CROSSTABS command. - - * common.c: (xcalloc) New function. - - * crosstabs.q: New file. Not finished yet, though. - - * data-list.c: Comment fix. - - * error.c: Remove some old Checker cruft. - - * frequencies.q: (dump_full) Cumulate valid percent instead of - regular percent. - - * getline.c: Comment fix. - - * hash.c: Comment fixes. - - * hash.h: (struct hsh_table) Make hash functions return unsigned - instead of int to avoid problems with taking the modulo of - negative return values. All references changed. - - * misc.c: (intlog10) Make its table static const instead of auto. - - * sfm-read.c: (read_header) Make `prefix' static const instead of - auto. - - * var.h: (union value) Add member `hash'. - (struct variable) Rename prv_index as `foo'--all references - changed. Reorder. - (typedef pv_opts) Removed. All references changed. - - * vars-prs.c: (parse_variables) Message fixes. - -Mon Mar 9 15:35:08 1998 Ben Pfaff - - * get.c: (cmd_match_files) Don't reverse the order of FILEs as - they are being inserted. Don't check for BY variables of - different types. Discard variables if the active file isn't - included in the merge. - (mtf_processing) Essentially rewritten. - (mtf_merge_dictionary) Check for master/slave variables of - different types/widths. - - * vfm.c: (static var not_canceled) New var. - (process_active_file) Don't call vfm_source->read() if - there's no vfm-source. Initialize not_canceled. - (process_active_file_write_case) Honor and update not_canceled. - (prepare_for_writing) Rollback changes from yesterday, they were - wrong. - (close_active_file) Don't destroy vfm_source unless it exists. - -Mon Mar 9 00:56:16 1998 Ben Pfaff - - * Lots of source files: Added { } around nested if/else constructs - to avoid new gcc 2.8 warnings. - - * data-in.c: (parse_Z) Declare `int' type explicitly. - (convert_Z) Ditto. - - * get.c: (struct mtf_file) Add prev, next_min, by, input members. - (cmd_match_files) Initialize mtf_by_values. Manage by, input, - prev members. Put TABLEs at the end of the chain and FILEs at the - beginning. Don't allow the active file in STATE_INIT. Use proper - `seen' value for the active file. Fill out the by members and - make sure they're of consistent type. Do the actual merge - operation. - (mtf_processing_finish) New function. - (var_type_description) New function. - (mtf_free_file) New function. - (mtf_free) Rewritten. - (mtf_delete_file_in_place) New function. - (mtf_read_nonactive_records) New function. - (mtf_compare_BY_values) New function. - (static var mtf_seq_no) New var. - (mtf_processing) New function. - (mtf_merge_dictionary) Assign nval members for the system file - dictionary. Assign fv values for its variables. Point each slave - variable to the corresponding master variable. - - * hash.c: Include str.h. - - * mis-val.c: (copy_missing_values) src arg is const. - - * misc.c: (spacing) Make `max' var explicitly int. - - * sfm-read.c: (dump_dictionary) Message reformatting. - (sfm_read_case) Add assertion. - - * sort.c: Esthetic fixes. - - * var.h: (struct match_files_proc) New struct. - (struct variable) Add private data match_files_proc. - - * vars-atr.c: (delete_variable) Implement. Add argument for the - dictionary that owning the variable. - (dup_variable) Add assertion. - - * vfm.c: Comment fixes, hopefully the comments are correct now. - (process_active_file) New function. - (process_active_file_write_case) New function. - (process_active_file_output_case) New function. - (prepare_for_writing) Use temp_dict->nval for vfm_info, not - default_dict.nval. - (write_case) Renamed procedure_write_case(). Now write_case is a - pointer to a function. Style fixes. - -1998-03-05 Ben Pfaff - - * Makefile.am: (q2c) Link with libmisc. - (version.c) Define default_config_path, include_path, - groff_font_path. - - * ascii.c: (ascii_postopen_driver) When the default newline string - is requested, open file in text mode. Suggested by - palme@uni-wuppertal.de (Hubert Palme). - (static vars line_buf, line_p) Change from char * to unsigned char - *. - (ascii_close_page) char * to unsigned char *. - - * cmdline.c: (parse_command_line) Implement -r option by - prepending ~/.pspp/rc to the list of files to process. - - * command.c: (cmd_remark) Reset getl_prompt to the standard prompt - before pulling in a final line. - (null_func, null_int_func) Removed (dead code). - - * descript.q: (display) Calculate width of variable name column - properly. Calculate number of valid cases properly. Reported by - palme@uni-wuppertal.de (Hubert Palme). - - * filename.c: (init_filename) Use default_config_path instead of - now obsolete CONFIG_PATH. - - * getline.c: (getl_initialize) Use include_path instead of now - obsolete INCLUDE_PATH. - (getl_add_file) New argument `where'. All references changed. - - * groff.c: (find_font_file) Use groff_font_path instead of now - obsolete GROFF_FONT_PATH. - - * postscript.c: (find_ps_file) Use groff_font_path instead of now - obsolete GROFF_FONT_PATH. Copy through temporary variable to - avoid problems with constness. - - * str.h: (macro cs_streq) New macro. - - * version.h: (glob var default_config_path, include_path, - groff_font_path) New vars. - -1998-02-23 Ben Pfaff - - * Many source files: Change verbose_msg() priority levels and - messages. - - * aggregate.c: Include debug-print.h. - - * cmdline.c: (parse_command_line) Add --safer/-s and --command/-c - options. - (static var pre_syntax_message) Document --safer/-s and - --command/-c. - - * command.c: (cmd_erase, cmd_host) Disable if set_safer is set. - - * dfm.c: (open_inline_file) [__CHECKER__] Zero out ext->file, - because it's not used but it's still copied. - (open_file_r) Remove gratuitous debug message. - - * filename.c: (safety_violation) New function. - (open_file) Remove gratuitous debug messages. Don't allow pipe - files if set_safer is set. - - * get.c: Turn off debugging. - - * getline.c: (getl_add_virtual_file) New function. - (getl_read_line) Add verbose_msg() call for opening new syntax - file. - (getl_perform_delayed_reset) Add a return value describing whether - any action was taken. Call reset_eof(). - - * getline.h: Comment fix. - - * groff-font.c: (groff_read_font) Use `goto next_iteration' in - place of incorrect `continue'. Use strtok_r() instead of - strtok(). Always check strtok_r() return value. - (groff_read_DESC) Use strtok_r() instead of strtok(). - - * lexer.c: (reset_eof) New function. - - * main.c: (parse) Get a token after performing a delayed reset - action; allow empty syntax files. - - * postscript.c: (output_encodings) Use strtok_r() instead of - strtok(). - - * q2c.c: (dump_parser) Use strtok_r() instead of strtok(). - - * set.q: Comment fixes. - (glob var set_safer) New var. - (internal_cmd_set) Support SAFER. - - * str.h: [!HAVE_STRTOK_R] Declare strtok_r() prototype. - - * temporary.c: (free_dictionary) Set d->splits to NULL after - freeing. - - * vars-atr.c: (clear_variable) Decrement dict->n_splits if - variable deleted, not if it *isn't* deleted. - -1998-02-16 Ben Pfaff - - * command.c: (array cmd_table[]) Add MATCH FILES. - - * common.c: Comment fixes. - - * data-list.c, dfm.c, error.c, filename.c, list.q, matrix-data.c, - modify-vars.c, postscript.c, sfm-read.c, sfm-write.c, tab.c: - Include alloca.h. Problem reported by palme@uni-wuppertal.de - (Hubert Palme). - - * expr-opt.c: Include str.h. Problem reported by - palme@uni-wuppertal.de (Hubert Palme). - - * get.c: (cmd_get) [DEBUGGING] Update v->p.get to v->get. - (static var mtf_by) Change from char ** to variable **. - (static var mtf_master) New var. - (mtf_merge_dictionary) New function. - (cmd_match_files) Init mtf_master. Parse mtf_by according to new - var type. Reorder tests properly. Initialize file->dict. Detect - TABLE= without BY=. Read file dictionaries and merge them. Give - subcommand name with IN, LAST, FIRST error messages. Create IN, - LAST, FIRST variables. Comment fixes. - (mtf_free) Don't free default_dict. Free mtf_master. - - * getline.c: Define getl_mode. Change getl_buf_size to size_t - from int. - (handle_line_buffer) Cast int to size_t in comparison to avoid - warning. - - * getline.h: Declare getl_mode extern. - - * groff-font.c: (groff_read_font) Type-fix calls to getline. - (groff_read_DESC) Make line_size a size_t. - (match_tok) Parenthesize name to avoid macro expansion. - - * mis-val.c: (copy_missing_values) New function. - - * postscript.c: (postopen) Make buf_size a size_t. - - * sfm-read.c: (dump_dictionary) Make global from static. Print - variable info in parts for easier debugging with Checker. - - * temporary.c: (copy_variable) Use copy_value_labels(). - (new_dictionary) New arg: whether to copy file label, documents. - - * val-labs.c: (copy_value_labels) New function. - - * var.h: (enums MISSING_*) Add MISSING_COUNT. - - * vars-atr.c: [GLOBAL_DEBUGGING] (force_dup_variable) New - function. - (dup_variable) Set prv_index, get.fv, get.nv. - -Fri Feb 13 15:38:36 1998 Ben Pfaff - - * Makefile.am: (pspp_SOURCE) Add htmlP.h. - - * Many source files: For ANSI-compliance, add empty statement - after label. Reported by palme@uni-wuppertal.de (Hubert Palme) - and Micah Altman . - - * data-in.c: (parse_numeric) Some header files break on - -DBL_MIN_10_EXP because they get a --; add () for safety. - Reported by palme@uni-wuppertal.de (Hubert Palme). - - * dfm.c: Idea by Dr Eberhard W Lisse . - (struct dfm_fhuser_ext) Change `file' from FILE * to file_ext. - (dfm_close) Use close_file_ext. - (open_inline_file) Set file.file to NULL, not file. - (open_file_r, open_file_w) Initialize file.file; fill in file_ext - struct and use open_file_ext(). - (read_record) Use file.file. - - * file-handle.q: (prepend_current_directory) Pass through special - filenames. - - * filename.c: Only include unistd.h if HAVE_UNISTD_H. - (normalize_filename) Pass through special filenames. - (open_file, close_file) Accept pipe| and |pipe syntaxes as - equivalent. - (dirname) Rename blp_dirname() because of name conflict on some - OS. All references changed. Reported by palme@uni-wuppertal.de - (Hubert Palme). - (is_special_filename) New function. - - * get.c: (GTSV_OPT*) Add GTSV_OPT_MATCH_FILES. - (trim_dictionary) Conditionalize some of the options on whether - GTSV_OPT_MATCH_FILES is in *options. - (rename_variables) Don't allow variables to be renamed as scratch - variables. - (MTF_*) New enum series. - (struct mtf_file) New struct. - (static vars mtf_head, mtf_tail, mtf_by, mtf_n_by, mtf_free) New - vars. - (cmd_match_files, mtf_free) New functions. - - * lexer.c: (match_int) Needed parentheses around name to escape - macro expansion. Reported by Micah Altman - . - - * print.c: Needed to include alloca.h. Reported by Micah Altman - . - - * recode.c: (convert_to_double) Parenthesize -DBL_MIN_10_EXP to - -(DBL_MIN_10_EXP). Reported by palme@uni-wuppertal.de (Hubert - Palme). - - * str.h: Include stdarg.h. Reported by palme@uni-wuppertal.de - (Hubert Palme) and Micah Altman . - -Thu Feb 5 00:18:21 1998 Ben Pfaff - - * html.c: (struct html_driver_ext) Move into htmlP.h. - (html_preopen_driver) Initialize cp_x, cp_y. - (html_submit) Implement as call to output_tab_table(). - (change_attributes) New function. - (escape_string) New function. - (output_tab_table) New function. - - * list.q: (write_all_headers) Add code for writing headers for the - html driver. - (clean_up) Write out the html close-table tag. - (determine_layout) Ignore html driver. - (list_cases) Write html data. - - * som.c: (som_submit) Move more of the code into output_table(). - - * tab.c: (static var hit) Make a global var and rename tab_hit. - (static var tab_table_class) Make a global var. - - * htmlP.h: New file. - -Tue Feb 3 16:12:18 1998 Ben Pfaff - - * dump-sysfile.c: Removed. - - * html.c: (preclose) Change comment in emitted code. - - * matrix-data.c: Debugging off by default. Comment fixes. - (static var container) New var. - (cmd_matrix_data) Create and destroy container. Initialize - is_per_factor[] to 0s. Move code into new function - string_to_content_type(). Require split values to be present in - the data when ROWTYPE_ is explicit. Call specific function, not - general read_matrices(). - (string_to_content_type) New function. - (context) Exclude all whitespace, not just spaces. - (mget_token) A dot is a number. Add assertion. - (static var data) Renamed nr_data. - (static var factor_values) Renamed nr_factor_values. - (read_matrices) Renamed read_matrices_without_rowtype(). Handle - only specific case. Close data_file before exit. - (fill_matrix) New function. - (read_data_lines) Renamed nr_read_data_lines(). Remove debug - printing. Style fixes. Message fixes. Move code into - fill_matrix(). - (read_matrices_without_rowtype) Rename - matrix_data_read_without_rowtype(). Fix off-by-one error on - loops. Allocate nr_data[] memory from arena. - (read_matrices_with_rowtype) Removed. - (read_splits) Renamed nr_read_splits(). Style fixes. - (read_factors) Renamed nr_read_factors(). - (dump_cell_content) Comment fixes. Arguments changed. Change - debug printing. All references changed. - (output_data) Renamed nr_output_data(). - (static var wr_content) New var. - (struct factor_data) New struct. - (static var wr_data) New var. - (static var wr_current) New var. - (matrix_data_source_destroy_source) Removed. - (read_matrices_with_rowtype) New function. - (matrix_data_read_with_rowtype) New function. - (wr_read_splits) New function. - (compare_factors) New function. - (wr_output_data) New function. - (wr_read_rowtype) New function. - (wr_read_factors) New function. - (wr_read_indeps) New function. - (glob var matrix_data_source) Make destroy_source member NULL as - well. - -Fri Jan 23 00:09:08 1998 Ben Pfaff - - * lexer.c: (syntax_error) Give better error message when at end of - file. - - * matrix-data.c: (var content_names[]) Fix PROX spelling. Change - N_SCALAR to output as plain N. - (mdump_token) Change output format. - (context) Fix message output interaction with spaces in input. - (another_token) New function. - (force_eol) Improved error message. - (static var max_cell_index) New var. - (read_matrices) Init `cells'. factor_values is now per-cell. - Init max_cell_index. - (read_data_lines) Replace `compare' local with new `compare' arg. - Debugging messages changed. Only read factors if per_factor. - Propagate error return from read_factors(), force_eol(). - Copy N_SCALAR values across the N vector. - (read_matrices_without_rowtype) Don't init `cells'. Don't need to - check parentheses manually since we now have is_per_factor[]. - Call read_data_lines() with new args. Check for end of data after - looping, using another_token(). - (read_factors) Arguments changed. Use max_cell_index to determine - whether to read or compare factors. Message fixes. - (dump_cell_content) New function. - (output_data) Completely rewritten because content types were - supported to be nested inside factor values, not vice versa. - -Thu Jan 22 00:26:38 1998 Ben Pfaff - - * lexer.c: (syntax_error) Support formatted varargs messages. - - * matrix-data.c: Turn debugging on by default. - (static content_type[]) New array. - (static content_names[]) New array. - (static rowtype_, varname_) New vars. - (static is_per_factor[]) New array. - (static split_values) Moved declaration. - (static n_continuous, first_continuous) New var. - (cmd_matrix_data) Don't init split_values. Assign ROWTYPE_ to - rowtype_. Simplify SPLIT code. Init is_per_factor[]. Assign - VARNAME_ to varname_. Initialize first_continuous, n_continuous. - Check for continuous variables. - [DEBUGGING] (debug_print) Remove content_names[]. - (mdump_token) New macro. - (mget_token_dump) New function. - (mdump_token) New function. - (context) New function. - (mget_token) Fix messages. - (static var data, split_values, factor_values) New vars. - (read_matrices) Manage split_values, factor_values. - (read_data_lines) New function. - (read_matrices_without_rowtype) Implemented. - (read_splits) Message fixes. Uses `just_read'. - (read_factors) New function. - (output_data) New function. - (matrix_data_source_destroy_source) Close the file handle. - (glob var matrix_source) Change name from "DATA LIST" to "MATRIX - DATA". - - * str.c: (strpadcmp) Removed. - - * vfm.c: (dump_splits) Initialize i; fix test for end of splits. - -Sun Jan 18 00:30:59 1998 Ben Pfaff - - * Lots of source files: Add cast to unsigned character to calls to - tolower() and toupper(). - - * aggregate.c: Set default_dict.splits to NULL. - - * command.c: (static variable tab[]) Add MATRIX DATA. - - * data-in.c: Add debugging defines. Formatting fixes. - - * expr-opt.c: Formatting fixes. - - * lexer.c: (syntax_error) Message fixes. - - * matrix-data.c: New enum series. - (static vars fmt, section, diag, explicit_rowtype, signle_split, - split_values, n_factors, factors, cells, pop_n, contents, - n_contents) New vars. - (cmd_matrix_data) Finished implementation. - (compare_variables_by_mxd_vartype) New function. - [DEBUGGING] (debug_print) New function. - (static vars mtoken, mtokstr, mtoklen, mtokval) New vars. - (read_matrices) New function. - (read_matrices_without_rowtype) New function. - (read_matrices_with_rowtype) New function. - (read_splits) New function. - (mget_token) New function. - (force_eol) New function. - [0] (test_tokenizer) New function. - (matrix_data_source_destroy_source) New function. - (glob var matrix_data_source) New var. - - * misc.h: Include ieeefp.h if present. - - * split-file.h: (cmd_split_file) Changes corresponding to struct - dictionary changes. - - * str.h: Fix memmem prototype. - - * temporary.c: (save_dictionary, restore_dictionary, - free_dictionary) Changes corresponding to struct dictionary - changes. - - * var.h: (MXD_* enums) New enum series. - (struct matrix_data_proc) New struct. - (struct split) Removed. - (struct dictionary) Changed `splits' member from `split *' to - `variable **'. - (macro force_create_variable) New macro. Replaced lots of - create_variable()/assert() calls with calls to this macro. - - * vars-atr.c: (discard_variables) Changed assertion. - [GLOBAL_DEBUGGING] (force_create_variable) New function - called by the macro of the same name. - (clear_variable) Changes to delete splits from the dictionary - corresponding to struct dictionary changes. - - * vars-prs.c: (parse_variables) [GLOBAL_DEBUGGING] Check for - corrupted variable `index' values in the dictionary passed in - every time this function is called. - - * vfm.c: (dump_splits, SPLIT_FILE_procfunc) Changes corresponding - to struct dictionary changes. - -Tue Jan 13 23:45:02 1998 Ben Pfaff - - * Makefile.am: (pspp_SOURCES) Add matrix-data.c. - - * command.c: New includes. - (static array cmd_table[]) Add ERASE, HOST, NEW FILE. - (cmd_erase) New function. - [unix] (shell) New function. - (run_command) New function. - (cmd_host) New function. - (cmd_new_file) New function. - - * expr-prs.c: (parse_primary) Message fix. - - * inpt-pgm.c: Formatting fix. - (cmd_reread) Implement the FILE subcommand. - - * matrix-data.c: New file. - - * q2c.c: (dump_header) Change output commenting style. - - * weight.c: Comment fix. - -Tue Jan 13 00:53:39 1998 Ben Pfaff - - * aggregate.c: (buf64_10x) Renamed buf64_1xx, all references - changed. - (buf_10x) Renamed buf_1xx, all references changed. - (cmd_aggregate) Implemented cases 010, 011, 110, and 111 (all - cases now implemented). - (create_sysfile) New function. - (agr_11x_func) New function. - - * data-in.c: (parse_numeric) Work properly if there's an - explicitly coded decimal point in the data and decimal places are - specified on DATA LIST. Bug reported by Dr Eberhard W Lisse - . - - * get.c: (cmd_get, cmd_save_internal) Allow extraneous slash - before file specification on GET, SAVE, XSAVE. Bug reported by Dr - Eberhard W Lisse . - - * q2c.c: [!HAVE_STRERROR] Include misc/strerror.c, not - strerror.c. Bug reported by Alexandre Oliva - . - - * sort.c: Include sort.h. Comment fixes. A few esthetic fixes. - (static var separate_case_tab) New var. - (cmd_sort_cases) Cancel temporary transformations here. Free - v_sort before return. - (sort_cases) Run an EXECUTE procedure if SEPARATE is nonzero and - we're reading from a sort stream. Don't cancel temporary - transformations. Offload internal sorting to do_internal_sort(). - (do_internal_sort) New function. Handles internal sorting even - when SEPARATE is nonzero. Doesn't free v_sort. - (do_external_sort) Take new arg SEPARATE. Only destroy `x' if - it's non-NULL. - (write_initial_runs) Take new arg SEPARATE. Only destroy the old - sink if SEPARATE is zero. - (read_output_cases) Renamed read_sort_output(), all references - changed. Now uses separate_case_tab when it exists. - (write_separate) New function. - - * vfm.c: (page_to_disk) Destroy memory_source_cases, not - memory_sink_cases. Don't redundantly call - vfm_source->destroy_source(). - (memory_stream_mode) After switching over, set memory_sink_cases - to NULL. - -Sat Jan 10 23:35:51 1998 Ben Pfaff - - * aggregate.c: (struct agr_var) Expand dbl[] array from 2 to 3 - elements. - (static var prev_case) New, moved out of aggregate_single_case() - local scope. - (static var buf64_10x, buf_10x) New. - (cmd_aggregate) Initialize prev_case. Comment fixes. Implement - the 000, 001, 100, and 101 cases. Free prev_case. - (parse_aggregate_functions) Disallow scratch variables. - (free_aggregate_functions) Only free agr_dict if non-null. Use - iter->function to determine numeric/string type, not - iter->src->type. - (aggregate_single_case) Don't manage prev_case. Initialize - aggregate info after dumping it. - (accumulate_aggregate_info) Fix sum, weighted sum, mean, weighted - mean, stddev, weighted stddev definitions. - (dump_aggregate_info) Implemented. - (initialize_aggregate_info) Renamed from - initialize_aggregate_functions(). Initializes dbl[2]. - (agr_00x_trns_proc, agr_00x_end_func, write_case_to_sfm, - agr_10x_trns_proc, agr_10x_trns_free, agr_10x_end_func) New. - - * cases.c: (alloc_val) Removed. - - * get.c: (cmd_save_internal) Initialize new `dict' member. - - * sfm-write.c: (sfm_write_dictionary, write_header, - write_variable, write_value_labels, write_documents) Reorganize, - simplify for new parameter structure. - (write_variable) Only one variable * argument now. - - * sfm.h: (struct sfm_write_info) Removed `pri', `sec', and - replaced by new `dict' member. - - * temporary.c: (new_dictionary) Initialize n_documents. - - * vars-atr.c: (dup_variable) Allocate `value's from dict into - v->fv manually. - (init_variable, replace_variable) Eliminate usage of alloc_val(). - - * vars-prs.c: (parse_DATA_LIST_vars) Accept PV_NO_SCRATCH option. - - * vfm.c: (arrange_compaction) Allow `temporary' value of 2 to - signal that AGGREGATE is to be used for forming final cases. - (close_active_file) Call end_func before stopping lagging. Cancel - temporary after finishing compaction. - (write_case) Comment fixes. Cleaned up. - (compact_case) Let AGGREGATE handle compaction when `temporary' is - 2. - -Sat Jan 10 02:10:47 1998 Ben Pfaff - - * Makefile.am: (BUILT_SOURCES) Add means.c. - (pspp_SOURCES) Add means.c. - (EXTRA_DIST) Add means.q. - - * command.c: (array cmd_table[]) Add MEANS. - - * common.h: Esthetic fixes. Comment fixes. Test for - MAX_SHORT_STRING greater than 8. - (macros LOWEST, HIGHEST) New. - - * data-in.c, data-list.c, recode.c: Comment fixes. - - * means.q: New file, base version. - - * mis-val.c: (parse_num_or_range, parse_numeric) Replace -DBL_MAX - with LOWEST, DBL_MAX with HIGHEST. - - * q2c.c: (dump_vars) Add an enum to array types giving the number - of values for the enum. - - * sfm-read.c: (sfm_read_dictionary, read_machine_flt64_info) - Replace second_lowest_value with second_lowest_flt64. - - * sfm-write.c: (write_variable, write_rec_7_34) Replace - second_lowest_value with second_lowest_flt64. - - * t-test.q: Comment fix. - - * temporary.c: (restore_dictionary) Esthetic fix. - - * tokens.h: (force_match_id, force_match, force_string, force_int, - force_num, force_id) Replace msg() with syntax_error(). - - * var.h: (struct means_proc) New. - (struct variable) Add mns member to `p' union. - - * vars-prs.c: (parse_variable, parse_dict_variable, - parse_variables, parse_DATA_LIST_vars) Replace msg() with - syntax_error(). - -Thu Jan 8 22:28:41 1998 Ben Pfaff - - * Makefile.am: (pspp_SOURCES) Add tab.h. - - * Most source files: Added a cast to unsigned char in usages of - the ctype is*() functions. Replaced `end of command expected' - calls to msg() with calls to syntax_error(). - - * frequencies.q: (dump_condensed) Fix tab_dim() column reference. - - * lexer.c: (hex_val) Removed (was dead code). - (idmatch) Parenthesize function name to avoid macro expansion. - - * postscript.c: Comment fixes. - (ps_preopen_driver) Change default font size to 10pt. - - * sfm-read.c: (read_variables) Byteswap sv.print, sv.write as - int32s. - (parse_format_spec) Change system-file format spec argument type - to int32. Parse the format spec with bitwise operators. - - * sfmP.h: (struct sysfile_format) Removed. - (struct sysfile_variable) Changed print, write members from - sysfile_format to int32. - - * tokens.h: Esthetic fixes. - [__GNUC__] (macro id_match) New macro to hopefully speed up - identifier matching. - (macros match_id, match_tok, match_int) Implemented in - compiler-independent manner; no longer GNU C only. - - * vfm.h: Include time.h. - -Mon Jan 5 11:06:15 1998 Ben Pfaff - - * data-list.c: (dump_fixed_table) Change tab_dim(). - - * dump-sysfile.c: (open_sysfile) Fix mmap() call. - - * error.c: Include command.h. - - * frequencies.g: Formatting fixes. - - * frequencies.q: Add tab_dim() calls. Make the total cell a - joined cell. - - * glob.c: Include command.h. - - * sfm-read.c: (struct sfm_fhuser_ext) New members sysmis, highest, - lowest. - (sfm_read_dictionary) Initialize sysmis, highest, lowest. - (sfm_read_machine_flt64_info) Update sysmis, highest, lowest. - (read_variables) Byteswap sv.type; byteswap sv.print, sv.write as - the other elements (is this right?). - (read_variables) Use lowest, highest members. - (parse_format_spec) New arg `vv' for more stringent checking. - (dump_dictionary) Byteswaps nonexplicit data. - (sfm_read_case) Byteswap numeric data. - - * som.c: Initialize table_num to 1. - (render_segments) Remember to increment y_index after each table - segment. - - * sysfile-info.c: (cmd_sysfile_info) Change tab_dim(). Don't call - avl_count() on a NULL tree. No title for the second table. - (cmd_display) Handle DISPLAY VECTORS by calling display_vectors(). - Handle AS_SCRATCH as AS_NAMES. Warn if no variables. Re-enable; - fix call to display_variables(). - (display_variables) Default to 4 columns, not 3. Set up headers. - Column title is Variable, not Name. Fix index column. - Add joint text. Add tab_dim(). Handle value labels properly. - Handle DISPLAY LABELS properly. Draw boxes correctly. - (describe_variable) Value labels don't need titles. Don't clear - nonexistent index column. - (compare_vectors_by_name) New function. - (display_vectors) New function. - - * tab.c: (tab_height) Add assertion. - (tab_null) Add debug code. - (evaluate_dimensions) Add debug code. - - * var.h: (struct variable) get_proc data is sometimes used - simultaneously with other per-procedure info, therefore it was - removed from the union. All references changed. - -Sun Jan 4 18:13:33 1998 Ben Pfaff - - * ascii.c: (ascii_close_page) Put title on second line of headers - if there is no subtitle. - - * command.c: (glob var cur_proc) Move definition here, from - common.c. - (cmd_remark) Emit blank line before remarks. - - * command.h: (glob var cur_proc) Move declaration here, from - common.h. - - * data-list.c: (dump_fixed_table) Fix messages. - (dump_free_table) Call tab_nat_dim(). - - * descript.q: (dump_z_table) Modify tab_dim() call. - - * frequencies.q: (dump_condensed, dump_statistics) Add tab_dim() - call. - (dump_statistics) Don't output header. - - * groff-font.c: Minor format fix. - - * html.c: Comment fix. - - * list.q: (write_varname) Indent after advancing page. - - * output.h: Minor reordering. - - * postscript.c: Comment fixes. Many places, '\n' was replaced by - a reference to eol[]. - (struct ps_driver_ext) New member eol[]. - (ps_preopen_driver) Initialize eol[]. - (ps_postopen_driver) Fix sense of text for text_opt, line_opt - defaults. Handle headers. Fix test for minimum page length. - (static var option_tab[]) Add `line-ends'. - (ps_option) Handle line-ends to change eol[]. - (postopen) Scale prop_em_width and fixed_width properly. Set the - prologue title to outp_title if applicable. Replace the prologue - line ends with eol[]. Call draw_headers() if headers are enabled. - (text_width) New function. - (out_text_plain) New function. - (draw_headers) New function. - - * print.c: (dump_table) Call tab_nat_dim(). - - * som.c: (som_blank_line) Only advance a line if not at the top of - a page. - (som_submit) Move several informational table calls here. - Increment subtable_num if SOMF_NO_TITLE not set. - (output_table) Advance a line if SOMF_NO_SPACING not set. - (render_columns, render_segments, render_simple) Handle spacing - between tables. Handle table titles. Remove debug output. - - * som.h: (SOMF_*) New enum series. - (struct som_table_class) New member `flags'. - - * sysfile-info.c: (cmd_sysfile_info) Calls tab_nat_dim(). No - headers or spacing. - (display_variables) Calls tab_nat_dim(). - (describe_variable) Remove restriction on number of value labels. - Make value labels separated by thin lines. - - * tab.c: (tab_create) Default `flags' to none. - (tab_float) New arg `w'. All references changed. - (tab_nat_dim) New function. - (tab_output_text) No title or spacing. - (tab_flags) New function. - (tabi_flags) New function. - (tabi_title) New function. - (strip_height) Removed. - (tabi_render) Skip title when necessary. - (static var tab_tab_class) Add tabi_flags, tabi_title. - (evaluate_dimensions) Disable display of column, row size. - (sum_columns) Add title height to top header. - (render_strip) Moved within file. - - * tab.h: (struct tab_table) New member `flags'. - - * vfm.c: (dump_splits) Calls tab_nat_dim(). No title. - -Sat Jan 3 16:55:44 1998 Ben Pfaff - - * Most source files: Add `const' attribute in all appropriate - places. - - * sysfile-info.c: (cmd_sysfile_info) Add tab_dim() call, add a - column to the variables table for use by describe_variable(). - (cmd_display) Disable for the present. - (display_documents) Don't wrap documents. - (display_variables) Table has four columns now. - (describe_variable) Table has four columns now. Don't use a - subtable, use joined cells instead. - - * tab.c: (tab_create) Don't set `join'. - (tab_realloc) ct array is not made up of a_string's. - Reallocate trh, hrh, h arrays, initialize trh array. Initialize - cell contents on GLOBAL_DEBUGGING, not DEBUGGING. - (text_format) New function. - (tab_title) Rewritten, uses text_format(). - (tab_text) Rewritten, uses text_format(). - (tab_joint_text) New function. - (tab_join) Removed. - (static var hit) New variable. - (render_strip) New args r1, r2. Implement joined cells that fit - on a single page. - (tabi_render) Increment hit. Pass new args to render_strip(). - (evaluate_dimensions) [GLOBAL_DEBUGGING] Check for uninitialized - cells. For t_naw and t_nah, ignore joined cells and null cells in - calculations. - - * tab.h: (struct tab_join_rect) Removed. - (struct tab_table) Removed `join'. - (TAB_JOIN_MAIN) Removed. - (struct tab_joined_cell) New struct. - (TAT_NOWRAP) New enum. - -Fri Jan 2 01:39:58 1998 Ben Pfaff - - * ascii.c: (ascii_postopen) Replace ASCII_* macros with their - expansions. - (ascii_postopen_driver) Fix initialization of *_spacing so that - the TAL_0 bit doesn't count. - - * data-list.c: (dump_fixed_table) Use natural width for Format - column. - - * glob.c: (rerange) Removed. - (get_date) Formatting fixes. Internationalization fix. - - * html.c: (html_postopen_driver) Replace HTML_DEFAULT_OUTPUT_FILE - with "pspp.html". - - * postscript.c: (ps_postopen_driver) Replace - PS_DEFAULT_OUTPUT_FILE with "pspp.ps". - - * som.c: (som_submit) Don't eject page before every table. - (output_table) Fix order of arguments on call to area(). - (render_columns) Fix calculation of max_len. - - * tab.c: (tabi_cumulate) Minor change to increase elegance. - (render_strip) New function. - (strip_height) New function. - (tabi_render) Rewrite as calls to render_strip(). - - * tab.h: (TAT_* enums) Removed TAT_RICH, all references removed. - Renumbered TAT_PRINTF, TAT_TITLE, TAT_FIX to correspond better - with the TAB_* and OUTP_T_* constants. - -Thu Jan 1 11:53:52 1998 Ben Pfaff - - * Makefile.am: Formatting fixes. - - * ascii.c: (ascii_postopen_driver) Initialize *_line_spacing[], - *_line_width[]. - - * data-list.c: (dump_fixed_table) Add tab_dim() call. - - * descript.q: (dump_z_table, display) Add tab_dim() calls. - - * dump-sysfile.c: (glob var length) Make type off_t. - (usage) Fix arguments. - (main) Return 0. - - * output.h: (OUTP_T_*) Change constants' value to match tab.h. - Now right-justification is the default so many references had to - change. - (struct outp_class) Removed line_width, all references changed. - (OUTP_DEV_*) Add OUTP_DEV_DISABLED. - (struct outp_driver) Add elements horiz_line_width, - vert_line_width, horiz_line_spacing, vert_line_spacing. Remove - som element. - - * postscript.c: (outp_encodings) Formatting fixes. Fix garbage - collection. - (postopen) Initialize all the informational members of - outp_driver. - - * som.c: (som_blank_line) New function, renamed from blank_line(), - all references changed. - (som_submit) Disables drivers whose pages can't be opened. - (render_columns, render_simple, render_segments) Add debug output. - (render_columns) Fix loop range. - (render_simple) Don't try to render the headers, they're taken - care of automatically. Advance cp_y past the table when done. - (render_segments) Fix loop ranges. - - * tab.c: Initialize new members of tab_table. - (tab_vline) Handle trv[]; don't set style for spacing-only lines. - (tab_hline) Handle trh[]; don't set style for spacing-only lines. - (tab_box) Handle trh[], trv[]; don't set style for spacing-only - lines. - (set_expr) Removed. - (tab_dim) New function. - (tab_col_width) Removed. - (tab_row_height) Removed. - (tab_output_text) Call tab_dim(). - (tabi_driver) Call evaluate_dimensions(), sum_columns(). - (tabi_area) Implemented. - (tabi_cumulate) Implemented. - (tabi_render) Partially implemented, but broken. - (var tab_table_class) Made static. - (evaluate_dimensions) New function. - (sum_columns) New function. - - * tab.h: (enum t_*) Now start at t_end. New: t_ptw, t_nr, t_nc, - t_nah, t_naw, t_neg, t_xch, t_dup, t_lbl, t_jnz, t_sac, t_sar, - t_scr, t_srr, t_sentinel. Removed: t_nat. - (struct tab_table) New: wl, wr, ht, hb, trh, hrh, trv, wrv, dim, - max_stack_height, w, h. Removed: ce, re. - (macro blank_line) Removed. - (glob var zero_length) Removed. - -Fri Dec 26 15:44:31 1997 Ben Pfaff - - * Most source files: include some of the new include files broken - out of var.h. - - * Makefile.am: (pspp_SOURCES) Add all the new source files to the - list. - - * aggregate.c: (glob var outfile) Make static. - - * command.c: (glob var pgm_state) Move here. - - * common.c: (glob vars endian, second_lowest_value, pgmname, - finished, curdate, cur_proc, start_interactive, history_file) Move - here. - - * descript.q: (structs dsc_z_score, descriptives_trns) Move here. - - * file-handle.q: (glob vars files, inline_file) Move here. - - * glob.c: Lost lots of glob vars, detailed in individual file - entries. - (init_glob) set_printer, set_screen were obsolete, deleted. - set_cprompt has fewer spaces because pspp has fewer letters than - fiasco. - - * inpt-pgm.c: (glob vars inp_init, inp_init_size) Move here. - (inp_nval) Made static. - - * lexer.c: (glob vars token, tokval, tokstr, tokstr_size, - tokstr_len, toklongstr, tokint) Move here. - - * misc.c: Lost several vars and functions. - - * set.q: (all the set_* variables) Move here. - - * str.c: (strmaxcpy, strbarepadcpy, strbarepadlencpy, strpadcpy, - blpstrset, strpadcmp, memrev, memrmem, cmp_str) Move here from - misc.c. - - * tab.c: (set_expr, tab_col_width, tab_row_height) New functions. - - * tab.h: (enum series t_*) New enums. - (struct tab_table) Use arena struct tag. New members ce, re. - - * tokens.h: Comment fixes. - - * var.h: Move lots of enums and variables and functions and - structures to other files. Use and declare a lot more union and - struct tags. Comment fixes. - - * vector.c: (glob vars vec, nvec) Move here. - - * vfm.c: (glob vars reinit_sysmis, reinit_blanks, init_zero, - init_blanks, last_vfm_invocation) Move here. - - * cases.h: New file. - (struct long_vec) Move here. - (vec_init, vec_clear, vec_insert, vec_delete, devector, envector) - Move here. - - * command.h: New file. - (STATE_* enums) Move here. - (glob var pgm_state) Move here. - - * format.c: New file. - (glob var formats) Move here. - (parse_format_specifier_name, fmt_to_string, - check_input_specifier, check_output_specifier, - check_string_specifier, convert_fmt_ItoO, parse_format_specifier) - Move here. - - * format.h: New file. Move functions now in format.c here. - (FMT_* enums) Move here. - (struct fmt_desc) Move here. - (FCAT_* enums) Move here. - (struct fmt_spec) Move here. - (glob vars formats, fmt_parse_ignore_error) Move here. - - * inpt-pgm.h: New file. - (INP_* enums) Move here, make #defines into enums. - (glob vars inp_init, inp_init_size) Move here. - - * sort.h: New file. - (glob vars v_sort, nv_sort) Move here. - (sort_cases, read_sort_output) Move here. - - * vector.h: New file. - (struct vector) Move here, add struct tag. - (glob vars vec, nvec) Move here. - (find_vector) Move here. - - * New file. - (glob vars last_vfm_invocation, temp_case, reinit_sysmis, - reinit_blanks, init_zero, init_blanks) Move here. - (struct case_stream) Move here. - (glob vars vfm_source, vfm_sink, vfm_memory_stream, - vfm_disk_stream, sort_stream, data_list_source, - input_program_source, file_type_source, get_source, n_lag) Move - here. - (procedure, write_case, lagged_case, compact_case, page_to_disk) - Move here. - -Wed Dec 24 22:40:42 1997 Ben Pfaff - - * Makefile.am: (pspp_SOURCES) Added html.c, som.c, som.h. - (LDADD) Add libdcdflib. - - * ascii.c: Comment and formatting fixes. Almost every external - function had an assert added, checking driver_open and page_open. - (ascii_init_driver) Broken into ascii_preopen_driver, - ascii_postopen_driver, ascii_close_driver. Manages driver_open. - (ascii_open_page) Sets page_open. - (ascii_close_page) Clears page_open. - - * html.c: Comment and formatting fixes. Almost every external - function had an assert added, checking driver_open and page_open. - (html_init_driver) Broken into html_preopen_driver, - html_postopen_driver, html_close_driver. Manages driver_open. - (html_open_page) Sets page_open. - (html_close_page) Clears page_open. - (html_submit) Disabled. - - * lexer.c: (parse_string) Remove debugging printf. - - * list.q: (determine_layout) Open a page if one is not yet open. - - * output.c: Comment fixes. - (add_class) Set the class member of the new list element. - (parse_options) Don't handle device type. - (colon_tokenize) New function. - (configure_driver) New four-field format with a field for device - type. Now initialize driver_open, page_open, next, and prev - fields. Use new colon_tokenize() function. Don't do a memory - copy to replace a driver, it doesn't work; instead delete the old - driver and insert a new one. - (destroy_driver) Don't call som_destroy_driver(). Close the page - if it's open. Find the class in the list of classes and decrement - that reference count. Remove the driver from the global driver - list. - (outp_iterate_enabled_drivers) Renamed outp_drivers(). All - references changed. Rewritten. Don't return a driver that's not - enabled. - (outp_eject_page) All references to som_internal_eject_page() - changed to use this. Sets cp_x to 0 as well as cp_y. - - * output.h: (OUTP_I_* enums) Removed. - (struct som_submission_form) Removed. - (struct outp_class) init_driver broken into preopen_driver, - postopen_driver, and close_driver. submit changed to take a - som_table argument. - - * postscript.c: Comment and formatting fixes. Almost every - external function had an assert added, checking driver_open and - page_open. - (ps_init_driver) Broken into ps_preopen_driver, - ps_postopen_driver, ps_close_driver. Manages driver_open. - (ps_open_page) Sets page_open. - (ps_close_page) Clears page_open. - - * som.c: New file, base implementation. - - * som.h: (struct som_table) Add struct tag. - (enum SOM_COL_ACROSS) Removed. - (SOM_ROWS, SOM_COLUMNS) New enums. - (struct som_table_class) Add member `cumulate'. Remove `segment'; - change `render' arguments. - (struct som_point, struct som_rect) Removed. - (som_submit_table) Fixed typo, should have been som_submit. - - * sysfile-info: (describe_variable) Don't try to insert a - subtable; just destroy it for now. - - * t-test.q: Include dcdflib/cdflib.h instead of cdflib.h. Fix - references to value labels. - - * tab.c: (tab_destroy) New function. - (tab_columns) Change argument. - [0] (tab_submit) Remove dead code. - (tab_title) Allocate string from the table's arena. - (tab_output_text) Only free the buffer if we allocated it. - (tab_submit) New function. - (static vars t, d) New static vars. - (tabi_table, tabi_driver, tabi_count, tabi_area, tabi_columns, - tabi_headers, tabi_cumulate, tabi_render) New functions. - (glob var tab_table_class) New global var. - - * tab.h: (struct tab_join_rect) Don't use a som_rect; directly - encapsulate the rectangle. All references changed. - -Sun Dec 21 16:18:58 1997 Ben Pfaff - - * All header files updated to use struct tags in addition to - typedefs for all structures. Don't use word `struct' in struct - tags. - - * Makefile.am: (pspp_SOURCES) Remove html.c. - (INCLUDES) Replace the lib/* includes with a single lib/ include; - all references updated. - - * command.c: (parse_cmd) Remove call to som_check_workspace. - (output_line) Update to new som. - - * data-in.c: (parse_numeric) A single dot is not an error; it is - the system-missing value. - - * data-list.c: (dump_fixed_table, dump_free_table) Update to new - som. - - * data-out.c: Added `const' as appropriate to many prototypes. - (convert_E, convert_F, convert_CCx) Take double argument instead - of value * argument. - (convert_format_to_string) Call changed functions appropriately. - Instead of modifying the caller's value for FCAT_SHIFT_DECIMAL, - make a local copy of the value. - - * descript.q: Remove custom_variables() prototype now provided by - q2c. - (custom_variables) Don't increment sbc_variables, the caller does - this. - (dump_z_table, display) Update to new som. - - * error.c: (vmsg) Add const to prototype. Remove code to handle - `too many errors' condition. - (check_error_count) New function. - (msg) Add const to prototype. - - * filename.c: (open_file) Rewrite for elegance. - - * frequencies.q: Remove custom_*() prototypes now provided by q2c. - (dump_full, dump_condensed, dump_statistics) Update for new som. - - * list.q: Don't include somP.h. Change all references to - som_driver_ext to refer to the new members of som_driver. Change - som_internal_eject_page() references to outp_eject_page(). - - * main.c: (parse) Rewrite for elegance. Add call to - check_error_count(). - - * output.c: (add_class, outp_list_classes, outp_configure_driver) - Rewrite or revise for new outp_driver_class_list structure. - (outp_iterate_enabled_drivers) Fix comparison between disabled - devices and current device type. - (outp_eject_page) New function. - - * output.h: Comment fixes. - (struct outp_driver) New members driver_open, page_open, cp_x, - cp_y, font_height, prop_em_width, fixed_width. Deleted members - ref_count, next. - (struct outp_driver_class_list) New struct. - (outp_class_list) Changed to type outp_driver_class_list; all - references updated. - - * print.c: (dump_table, print_trns_proc) Updated for new som. - - * q2c.c: (dump_vars) Simplify array subcommand code. Declare - prototypes for custom subcommands. - (dump_subcommand) Always include the `else'. - (dump_parser) Fix comments in output code. - - * set.q: Reordered functions. - - * som-frnt.c, som-high.c, som-low.c, somP.h: Removed. - - * som.h: Rewritten from scratch. - - * str.h: Remove dead code. - - * tab.c, tab.h: New files, base implementation. - - * sysfile-info.c: (cmd_sysfile_info, describe_variable) Update to - new som. - - * t-test.q: New code from John Williams - . Include math.h, cdflib.h. - Many many new static vars and defines. - (precalc, postcalc, g_postcalc, z_postcalc, t_pairs, t_groups, - groups_calc, pairs_calc, z_dev_calc, z_calc) New functions. - (struct value_list) New struct. - (variance, covariance, pooled_variance, oneway, pearson_r, f_sig, - t_crt, t_sig, print_t_groups) New functions. - (cmd_t_test) Implemented. - - * temporary.c: (cancel_temporary) Only free the temp_dict if it's - non-NULL. - - * vfm.c: (dump_splits) Update to new som. - -Thu Dec 4 23:02:22 1997 Ben Pfaff - - * Makefile.am: (fiasco_SOURCES) Add html.c. - - * aggregate.c: Base source. - - * ascii.c: (postopen, preclose) Reformat. - - * data-out.c, expr-evl.c: Comment fixes. - - * filename.c: (open_file) When opening a file for writing, use - line buffering instead of full buffering for better interactive - performance. Suggested by Valerio Aimale - . Also, recognize special file - names `stdin', `stdout', `stderr'. - - * groff-font.c: Comment fixes. - - * html.c: New file; base version. - - * list.q: (write_all_headers, clean_up, determine_layout, - list_cases) Ignore `special' devices for now. Needs to be fixed - later. - - * output.c: (outp_init) Add html driver to list; reverse list - order. - - * output.h: (struct outp_class_struct) New members `special', - `submit'; comment fixes. All references changed. - - * postscript.c: (ps_init_driver) Make defaults for text_opt, - line_opt depend on whether the OUTP_DEV_SCREEN bit is set on the - device. - (postopen) Comment fix. - (preclose) Comment fixes, formatting fixes. Change x->file.file - references to more proper f->file. - - * som-high.c: (som_submit_table) Special classes use their own - renderers. - - * som.h: Comment fixes. - - * temporary.c: (new_dictionary) Don't try to xstrdup() a NULL - string. - -Tue Dec 2 14:36:07 1997 Ben Pfaff - - * Makefile.am: (fiasco_SOURCES) Add aggregate.c back in. - - * aggregate.c: Still working on this. - - * command.c: (cmd_table[]) Add AGGREGATE back in. - (split_words) Make '-' a legal word separator as well as ' '. - - * main.c: Comment fixes. - - * q2c.c: (dump_parser) Don't require the procedure's full name to - be present, in the generated source. - - * t-test.q: Change name to `t-test' from `t test'. Let PAIRS be - multiply specified and let it be default; let MISSING, CRITERIA, - FORMAT be multiply specified. - (cmd_t_test) Parse command name. [DEBUGGING] Call debug_print(). - (custom_groups) Fix defaults. - (custom_pairs) Check whether this is a PAIRS subcommand before - attempting to parse. Better garbage collection. Proper storage - allocation. - [DEBUGGING] (debug_print) New function. - - * temporary.c: Comment fixes. - (copy_variable) Don't copy variable name and index. - (save_dictionary) Copy variable name and index by hand. - - * vars-atr.c: Comment fixes. - (create_variable) New dictionary argument. All references - changed. - (common_init_stuff) New dictionary argument. All references - changed. - (init_variable) New dictionary argument. All references changed. - (dup_variable) New function. - - * vars-prs.c: (parse_variables) If there are any errors, we always - return 0. Previously, it was possible for some types of errors to - be ignored. - -Sat Nov 22 01:20:59 1997 Ben Pfaff - - * Makefile.am: (fiasco_SOURCES) For 0.1.5 release, remove - aggregate.c. - - * command.c: (cmd_table[]) Comment out AGGREGATE; add T TEST. - - * list.q, t-test.q: Remove ALL option from VARLIST declaration in - grammar rules. - - * q2c.c: Comment fixes. - (SBC_* enums) Remove SBC_VARLIST_ALL; all references removed. - - * t-test.q: (cmd_list) Rename cmd_t_test. - - * temporary.c: (new_dictionary) Don't declare as static. - -Fri Nov 21 00:03:06 1997 Ben Pfaff - - * aggregate.c: Changes, still not finished. - - * file-handle.q, frequencies.q, list.q, set.q: Comment fixes. - - * q2c.c: Comment fixes. Now its output is internationalized. - (get_token) Fix parsing of escapes within literal strings. - (main) Fix bad #line directives in output. - - * t-test.q: Base implementation. - - * temporary.c: (new_dictionary) New function. - (restore_dictionary) [__CHECKER__] Change fill character to * - (from @). - -Sun Nov 16 01:29:57 1997 Ben Pfaff - - * Makefile.am: (BUILT_SOURCES, fiasco_SOURCES) Add t-test.c - - * aggregate.c: Changes, still not finished. - - * descript.q, list.q: Comment fixes. - - * q2c.c: Almost completely rewritten. - - * t-test.q: New file, not complete. - -Fri Nov 14 00:14:48 1997 Ben Pfaff - - * aggregate.c: Changes, still not finished. - - * sort.c: (sort_cases) Call cancel_temporary() instead of doing it - by hand. - - * temporary.c: (cancel_temporary) New function. - - * vars-atr.c: (discard_variables) Call cancel_temporary() instead - of doing it by hand. - - * vfm.c: (close_active_file) After restoring a TEMPORARY - dictionary, set temp_dict to NULL. Cancel TEMPORARY through - cancel_temporary(). - (SPLIT_FILE_procfunc) Comment fix. - -Tue Oct 28 16:08:45 1997 Ben Pfaff - - * Makefile.am: (fiasco_SOURCES) Add aggregate.c. - - * aggregate.c: New file, not finished yet. - - * command.c: (cmd_table) Add AGGREGATE. - - * common.h: (pgm_state) Move declaration to var.h. - - * lexer.c: (bin_value_func, oct_value_func, hex_value_func) i18n - fixes. - (parse_string) Message fix. - - * recode.c: Comment fix. - - * sfm-read.c: (read_variables) Code esthetic fixes. - (write_header) Default date is `Jan', not `JAN'. - - * sfmP.h: (bswap_int32) [!__linux__] Fix off-by-one errors. - - * sort.c: (cmd_sort_cases) Farm the work out to new function - parse_sort_variables(). - (parse_sort_variables) New function. - (sort_cases) New function. Cancels temporary transformations, - which sorting didn't do previously. - (cmd_sort_cases) Better garbage collection on error. Uses - do_external_sort(). - (write_initial_runs, merge_once) Improved code esthetics. - (sort_stream_read) Reduced to one call to read_output_cases(). - (read_output_cases) New function. - - * var-labs.c: (cmd_variable_labels) Re-enabled truncation of - variable labels to 120 characters. - - * var.h: Comment fixes. - (glob var pgm_state) From common.h. - - * vars-atr.c: (discard_variables) Set pgm_state to STATE_INIT. - - * vars-prs.c: (parse_DATA_LIST_vars) Support PV_SINGLE in - options. Set *names to NULL on error. - - * vfm.c: (memory_stream_init) Assert compaction_nval != 0. - -Thu Oct 9 09:59:49 1997 Ben Pfaff - - * sfm-write.c, vfm.c: [HAVE_UNISTD] #include , needed by - SunOS4. From Alexandre Oliva . - -Wed Oct 8 18:55:24 1997 Ben Pfaff - - * vfm.c: (page_to_disk) Added missing local variables. - -Tue Oct 7 20:23:17 1997 Ben Pfaff - - * get.c: Comment fix. - - * sort.c: (cmd_sort_cases) Attempt to perform internal sort if the - source is anything other than a disk stream, not just if it's in a - memory stream. Call page_to_disk() before external sort. - (allocate_cases) Message fix. - - * vfm.c: (prepare_for_writing) Warn user when paging workspace to - disk. - (page_to_disk) New function. - -Sun Oct 5 15:56:14 1997 Ben Pfaff - - * Makefile.am: (INCLUDES) Include .. instead of $(top_srcdir). - - * common.h: (macro strerror) Remove. From Alexandre Oliva - . - - * get.c: (dict_delete_run) The number of variables to delete is - not necessarily the number of variables that need to be shifted - up. - (trim_dictionary) Don't set *options to 0. Fix bug that caused - too many variables to be deleted. - - * postscript.c: Comment fix. - - * q2c.c: Include strerror.c. From Alexandre Oliva - . - - * set.q: #undef ON and OFF. From Alexandre Oliva - . - - * sfm-read.c: (sfm_read_dictionary) Don't set the file class too - early, otherwise errors cause a bad free(). - - * str.h: (macro nvsprintf) s/FORMATS/FORMAT/ typo. From Alexandre - Oliva . - - * temporary.c: (save_dictionary) Don't allocate memory if - n_documents is 0. - - * vfm.c: (memory_stream_write) Message fix. - -Sat Oct 4 16:20:43 1997 Ben Pfaff - - * command.c: (static var cmd_table[]) Define REPEATING DATA - command. - - * common.h: Added support for broken systems that are missing - EXIT_SUCCESS, EXIT_FAILURE, RAND_MAX, and/or strerror(). - - * Many source files: Replace syntax error messages via msg() with - call to syntax_error(). - - * data-list.c: (dump_fixed_table) Add support for dumping table - for REPEATING DATA as well as DATA LIST FIXED. - (cmd_repeating_data) Allows and requires `/' between subcommands. - Does proper thing with allowing rpd.starts_end to stay 0. Allows - CONTINUED specifications to be omitted. Forces CONTINUED to be - specified if ID is. Calculates starts_end, cont_end from logical - record length as reported by fhp. Calls dump_fixed_table() if - requested. Fixed length of record copied by memcpy. - (parse_num_or_var) Sets `num' to 0, not NOT_INT, for variables. - Message fix. - (realize_value) Returns sensible value for out-of-range variable - values. - (rpd_parse_record) New argument `ofs'. Fixed confusion between - length of occurrences and length of line. Added warning for - fields that exceed the line length. Fixed infinite loop. - (read_one_set_of_repetitions) Numerous minor changes for more - complete SPSS compliance. Message fixes. - - * dfm.c: (dfm_close) If the file being closed is the inline file, - read all the remaining data before closing it. - (dfm_get_record) Don't close the file on lossage, as either it - has been closed already or it doesn't belong to us. - - * error.c: (puts_stdout) New function. - (vmsg) Use puts_stdout instead of puts. - - * file-handle.q: (fh_record_width) New function. - - * inpt-pgm.c: (init_case) Fixed buffer overrun when inp_nval % 4 - == 0. - (clear_case) Ditto. - (input_program_source_read) Made an old kluge an approved method. - - * lexer.c: (syntax_error) New function. - - * misc.c: [BROKEN_RAND] (ansi_rand, ansi_srand; static var next) - New. - - * output.c: (oupt_get_paper_size) Message fix. - - * q2c.c: Numerous fixes to formatting of generated code made to - conform to GNU coding standards. Uses syntax_error() in generated - code. Other miscellaneous generated message fixes. Added support - for broken systems that are missing EXIT_SUCCESS, EXIT_FAILURE, - RAND_MAX, and/or strerror(). - -Sat Oct 4 02:09:56 1997 Ben Pfaff - - * data-in.c: Comment fixes. - - * data-list.c: (struct repeating_data_trns) New member `id_spec'. - (find_variable_input_spec) New function. - (cmd_repeating_data) Initializes id_spec. - (rpd_parse_record) Implemented. - (read_one_set_of_repetitions) Returns -3 by default in order to - kluge out some potential bugs. - - * data-out.c: Comment fixes. - - * file-type.c: (internal_cmd_record_type) Message fix. - - * inpt-pgm.c: (input_program_source_read) Special temporary kluge - for handling -3 return value. - -Sat Sep 20 23:58:15 1997 Ben Pfaff - - * data-list.c: Comment fixes. - (struct dls_var_spec) Reordered members. - (read_from_data_list_fixed) Restructured. - (struct repeating_data_trns) Reordered members. Renamed `starts' - as `starts_beg', `ends' as `starts_end'. - (cmd_repeating_data) Calculates length of repeated data if - necessary and possible. - (parse_num_or_var) Don't allow string variables. - (realize_value) New function. - (rpd_msg) New function. - (rpd_parse_record) New function. Currently stubbed out. - (read_one_set_of_repetitions) Implemented. - - * inpt-pgm.c: (input_program_source_read) Comment fix. - -Thu Sep 18 21:34:57 1997 Ben Pfaff - - * command.c: (cmd_end_repeat_p) Removed. - (init_cmd_parser) Doesn't set cmd_end_repeat_p. - (parse_cmd_name) Removed. - - * data-list.c: Comment fixes. - (data_list_pgm) Removed `eof' member. - (static var first) New var. - (cmd_data_list) Sets `first'. Ensures that DATA LIST uses the - FILE TYPE file inside FILE TYPE structures. - (append_var_spec) Appends to *first, not dls.spec. - (parse_fixed) Message fixes. - (struct rpd_num_or_var) New. - (struct repeating_data_trns) New. - (static var rpd) New. - (cmd_repeating_data) New function. - (parse_num_or_var) New function. - (parse_repeating_data) New function. - (read_one_set_of_repetitions) New function. - - * file-type.c: (cmd_file_type) Message fixes. Always - default_handle to FILE TYPE file handle. - (internal_cmd_record_type) Message fixes. - -Wed Aug 20 14:22:03 1997 Ben Pfaff - - * repeat.c: Comment fix. Disable debugging. - - * temporary.c: (restore_dictionary) Sets splits to NULL and - n_splits to 0 before destroying the variables because now doing - this tries to remove split variables. - - * vars-atr.c: (discard_variables) Asserts that n_splits is 0 after - destroying the dictionary. - (clear_variable) Removes a variable from splits after destroying - it. - -Mon Aug 18 18:06:55 1997 Ben Pfaff - - * cmdline.c: (set_compat) Removed. - (pick_compat) Removed. - (parse_command_line) Removed -c option. - (pre_syntax_message) Removed -c option. - (usage) Remove compatibility code. - - * common.h: (macros VER_PC, VER_WND, VER_X) Removed. - (glob var compat) Removed. - - * compute.c: (type_check) Fixed messages about type mismatches. - - * data-list.c: (cmd_data_list) Removed compatibility code. - (fixed_parse_compatible) Calls convert_negative_to_dash(). - Fixed bug where it only set the variable in fx.spec if it created - the variable itself. - (dump_fmt_list) Spelling fix. - (cut_field) Removed compatibility code. - - * dfm.c: (cmd_begin_data) Don't require a command terminator on - BEGIN DATA command. - - * expr-evl.c: (evaluate_expression) Implement LAG. - - * expr-prs.c: (parse_add) Calls convert_negative_to_dash(). - (parse_neg) Calls convert_negative_to_dash(). - (LAG_func) Increases n_lag to the lag requested. Fixed assignment - bug. - - * expr.h: (struct expression_struct) Removed member max_lag. - - * file-type.c: (parse_col_spec) Calls convert_negative_to_dash(). - (internal_cmd_record_type) Removed special handling to produce - negative numbers from dash tokens. - - * getline.c: (static var DO_REPEAT_level) New var. - (getl_add_DO_REPEAT_file) Increments DO_REPEAT_level. - (handle_line_buffer) Copies the line into getl_buf; doesn't call - copy_with_DO_REPEAT_substitutions(). - (getl_read_line) Maintains value of getl_mode. Calls - perform_DO_REPEAT_substitutions() whenever DO_REPEAT_level is - positive. - (getl_close_file) Decrements DO_REPEAT_level when appropriate. - - * getline.h: (getl_mode) New glob var. - - * glob.c: Comment fixes. - (init_glob) Restructured. Sets set_seed. - (init_compat_dependent) Removed. All references removed. - (get_date) Format changed from MM/DD/YY to DD MMM YYYY. - (__htonl, __htons) Removed. (What were these for?) - - * lexer.c: (static var tbl) Dash set to class CNUM. - (make_hexit) New function from data-out.c. - (get_token_representation) Rewritten. - (convert_negative_to_dash) New function. - (lex_init_compat_dependent) Removed. - (yylex) A dash is parsed as part of a number if it is followed by - a digit. The ASCII representation of a number is copied to - tokstr. String parsing farmed out to parse_string(). Comment - fixes. - (bin_value_func, oct_value_func, hex_value_func, parse_string) New - functions. - (preprocess_line) Line processing depends on interactive/batch - mode, not on compatibility mode. Removed PC+ compatibility code. - - * loop.c: (loop_3_trns_proc) Comment fix. - - * main.c: Remove dead code. - (main) Remove call to init_compat_dependent(). - - * misc.c: (convert_fmt_ItoO) Make E format conversion more - conformant. - - * print.c: (parse_string_argument) Calls - convert_negative_to_dash(). - (fixed_parse_compatible) Calls convert_negative_to_dash(). - - * repeat.c: (RPT_* defines) Removed. - (struct rpt_numeric) Removed. - (struct repeat_entry) New member type, changed `replacement' from - char * to char **. - (clean_up) Deallocation adapted to new repeat_entry. - (internal_cmd_do_repeat) `type' defaults to 0. Remove lookahead() - usage. Creates vars for `type' of 1. - (parse_ids) Sets type of 1. Adapted to new repeat_entry. - (store_numeric) Rewritten, new interface. - (parse_numbers) Rewritten. - (parse_strings) Rewritten. - (find_DO_REPEAT_substitution) New function. - (perform_DO_REPEAT_substitutions) New function. - (copy_with_DO_REPEAT_substitutions) Removed. - (debug_print) Rewritten. - - * set.q: Comment fix. - (custom_results) Removed compatibility code. - (internal_cmd_set) Removed SET EMULATION subcommand. Removed - compatibility code. - - * sysfile-info.c: (cmd_display) Removed compatibility code. - - * tokens.h: Comment fixes. - (token types enum) Removed `toktype' typedef name for this int - type. Removed SUBST. Restructured. - - * vars-atr.c: (discard_variables) Sets n_lag to 0. - - * vars-prs.c: Comment fix. - - * vfm.c: Comment fixes. - (glob var n_lag) New var. - (static vars lag_count, lag_head, lag_queue) New vars. - (procedure) Removed argument nlag. - (setup_lag) New function. - (close_active_file) Discards lagging state. - (lag_case) New function. - (lagged_case) New function. - (write_case) Lags a case if lagging. - - * weight.c: (cmd_weight) Removed compatibility code. - -Sun Aug 17 22:34:40 1997 Ben Pfaff - - * getline.h: (struct getl_script) New members loop_index, macros. - - * getline.c: (getl_add_file) Sets first_line field to NULL. - (getl_add_DO_REPEAT_file) New function. - (handle_line_buffer) When the current line's length is negative, - set the filename and line number. Increment line number after - reading line. Pass the line to - copy_with_DO_REPEAT_substitutions() for processing. - (getl_close_file) Free DO REPEAT lines before freeing the - filename, and just set the filename to NULL when doing this, - because otherwise the filename gets freed twice. - - * glob.c: (glob var queuing) Removed. All references removed. - - * lexer.c: Comment fixes. - (get_token_representation) New function. - - * repeat.c: Comment fixes. - (struct repeat_entry) Replaced type and v union members with a - simple string. - (append_record) New function. - (internal_cmd_do_repeat) Started reforming it for the new - repeat_entry struct. Properly records filename changes in the - getl_line_buf. Fixed improper use of = for ==. Fixed sense of - strncasecmp() result usage. Uses append_record() to simplify. - Properly discards END REPEAT line. Calls getl_add_DO_REPEAT_file - to add in the file. - - (copy_with_DO_REPEAT_substitutions) Started coding. - - [DEBUGGING] (debug_print_lines) New function. - - * set.q: (custom_results, internal_cmd_set) s/VER_PCP40/VER_PC/; - - * tokens.h: (macro is_id1, is_idn) New macros. - -Sat Aug 16 10:57:41 1997 Ben Pfaff - - * cmdline.c: (static var pre_syntax_message) Changed `win' - compatibility mode to `wnd'. - - * data-list.c: (fixed_parse_spss) Renamed - fixed_parse_compatible(). - - * glob.c: (init_glob) Excise unused code for - program_invocation_short_name. - - * lexer.c: (preprocess_line) Leading indentors are ignored in Wnd - as well as in X. - - * print.c: (fixed_parse_spss) Renamed fixed_parse_compatible(). - - * set.q: `win' compatibility renamed `wnd'. - -Thu Aug 14 22:11:12 1997 Ben Pfaff - - * filename.c: [__WIN32__] Change the included Windows header files - (again). - (absolute_filename_p) [__MSDOS__] A filename with a colon as the - second character is absolute. - (dirname) Fix logic error. Don't printf() the results. - (prepend_dir) Don't printf() the results. - - * getline.c: (handle_line_buffer) New function. - (getl_read_line) Reads line with handle_line_buffer() when - appropriate. - (getl_close_file) Discard line buffer data. - - * getline.h: Comment fixes. - (struct getl_line_list) New struct. - (getl_script_struct) Added line buffer members. These are hooks - for use by DO REPEAT to allow it to insert virtual source code - into the program. - - * glob.c: (init_glob) [__DJGPP__ || (__WIN32__ && __BORLANDC__)] - Override Borland C++ stupidity that claims Windows has a console - window size of 0x3. - - * repeat.c: This is in the process of being restructured from - using a token-buffering approach to the DO REPEAT facility to - using the more flexible approach of a line-buffering approach in - conjunction with the getline module. Comment fixes. - (struct tok_struct) Removed. - (static vars queue_index, queue_head, queue) Removed. - (static vars line_buf_head, line_buf_tail) New vars. - (internal_cmd_do_repeat) Instead of queuing tokens, queue lines. - Not complete. - (pull_queue, destroy_queue) Removed. - [DEBUGGING] (debug_print_tokens) Removed. - -Tue Aug 5 13:57:58 1997 Ben Pfaff - - * file-handle.q: (prepend_current_directory) New function. - (internal_cmd_file_handle, fh_get_handle_by_filename) Prepends - current directory before normalizing filename. - - * filename.c: (gnu_getcwd) New function. - (absolute_filename_p) New function. - (search_path) New argument, PREPEND. All references changed to - pass NULL except those explicitly mentioned. Uses - absolute_filename_p(). Prepends PREPEND before trying the - filename. - (dirname, prepend_dir) New functions. - - * getline.c: (getl_get_current_directory) New function. - (getl_include) Passes getl_get_current_directory() as PREPEND arg - to search_path(). - -Sun Aug 3 11:42:36 1997 Ben Pfaff - - * In several source files, the term `script' was replaced with - `syntax file' inside error messages. Usage of the term `script' - in the sense of a syntax file is now deprecated. - - * cmdline.c: (static vars pre_syntax_message, post_syntax_message) - Updated messages. - - * dump-sysfile.c: (usage) Update message. - - * getline.c: (getl_read_line) Ignore lines beginning with `#!'. - - * getline.h: (glob var getl_include_path) Declare extern. - - * list.q: Define EXTERN as extern before #including somP.h. - - * var.h: Remove declaration of `disptype' variable. - - * vfm.c: (close_active_file) After switching the data sink to a - data source, set vfm_sink to NULL, because it doesn't exist any - more. - -Thu Jul 17 21:41:44 1997 Ben Pfaff - - * glob.c: [__BORLANDC__] Include math.h. Define _matherr() and - _matherrl() to ignore all math errors. - - * sfm-read.c: (read_value_labels) When reading the labels from - disk, read the little parts separately instead of as a struct; - this avoids alignment problems. - - * sfm-write.c: (struct sfm_fhuser_ext) New member `elem_type'. - (sfm_write_dictionary) Sets elem_type and frees it on lossage. - (write_header) Allocates and initializes elem_type. - (sfm_write_case) Uses elem_type to determine how to handle each - flt64 element. - (sfm_close) Frees elem_type. - - * sfmP.h: Comment fix. - [__BORLANDC__] Uses #pragma -a to adjust structure member - alignment. - -Thu Jul 17 01:55:12 1997 Ben Pfaff - - * Makefile.am: (fiasco_SOURCES) Remove display.c. - - * common.c: Fix typo. - - * dfm.c: (read_record) Remove strncasecmp() emulation and fix the - sense of the condition. - - * expr-evl.c: (macro ALLOC_STRING_SPACE) [!PAGED_STACK] Add - line-continuation backslash. - - * filename.c: [__WIN32__] Include before . - - * frequencies.q: (custom_grouped, add_percentile) Don't use a - non-constant expression as an argument to sizeof. - - * glob.c: [__WIN32__ && __BORLANDC__] When including , - undefine gettext macro because that's a conio function. - - * hash.h: (hsh_prime_tab declaration) Remove. - - * list.q: (write_fallback_headers) Move `leader' allocation out of - main loop. Change to local_alloc() allocation. - - * output.h: Formatting fixes. Put __attribute__ in right place on - function prototypes. - - * sfm-read.c: (read_machine_flt64_info, read_variables) Change - incorrect `SECOND_LOWEST_VALUE' references to proper - `second_lowest_value'. - - * som-frnt.c: (EXTERN macro) Define as `extern' instead of null - value. This way 2 out of 3 of the som files define the vars - extern, the correct way, that actually works under BC++. - (som_set_float) Don't use nonconstant initializers for a struct. - - * som-high.c: Add the standard alloca() header. - (replicate_table) Add prototype. - - Merged DISPLAY routine. - * sysfile-info.c: (AS_*) New enum series. - (cmd_sysfile_info) Gutted. Calls describe_variable() to do the - dirty work. - (cmd_display, display_macros, display_documents, - display_variables) Stolen from defunct display.c. - (describe_variable) New function. - - * temporary.c: [0] (display_tree) New debug function. - (copy_variable) Performs shallow copy of value labels instead of - deep copy; i.e., just copys the AVL tree and increments the - reference counts. - - * val-labs.c: Comment fixes. - (do_value_labels) Optionally skip leading forward slash. - (get_label) Creates only a single value label instead of many - copies of one, and sets the reference count. - - * display.c: Removed. - - * dump-sysfile.c: New file, not yet complete. - -Fri Jul 11 23:02:18 1997 Ben Pfaff - - For lots of source files I added more verbose_msg's. These aren't - listed below as they have tested as being benign. In some cases - these replaced debug_printf() calls. - - * output.c: (outp_read_devices) Message fix. - - * postscript.c: (output_encodings) Message fix. Reports errors on - fclose(). - (postopen) Message fix. - -Fri Jul 11 14:09:40 1997 Ben Pfaff - - * dfm.c: (dfm_close) Don't call fclose() for a NULL FILE. - - * filename.c: (close_file_ext) Set f->file to NULL *after* closing - it. - - * main.c: Remove #include. - - * mis-val.c: (parse_numeric) Set .f member for each missing[] - instead of trying to just set the missing[] itself, which is a - gcc-specific idiom. - - * sfm-read.c: (read_variables) Same. - - * str.h: Add memmem() prototype. - - * val-labs.c, var-labs.c: Replace with . - -Thu Jul 10 22:13:53 1997 Ben Pfaff - - * Makefile.am: (q2c) Don't include any libraries in the link. - - * dfm.c: (force_line_buffer_extension) New macro. - (count_tabs) New function. - (tabs_To_spaces) New function. - (read_record) Calls tabs_to_spaces() on the line being processed. - - * q2c.c: Disabled i18n for this proglet so that libintl.a doesn't - have to be compiled twice (once for CC, once for LOCAL_CC). - -Sun Jul 6 19:14:33 1997 Ben Pfaff - - * Makefile.am: (INCLUDES) Add intl directory; fix directories. - (LDADD) Add @INTLLIBS@. - (q2c) Add LIBS, @INTLLIBS@ to link step. - - * inpt-pgm.c: Turn off debugging. - - * postscript.c: (postopen) Format fix. local_free() blocks - returned by local_alloc(); don't free() them. - -Sat Jul 5 23:44:51 1997 Ben Pfaff - - * data-in.c: (parse_string_as_format) Comment fix. Fix check for - string length. - - * data-list.c: (read_from_data_list_fixed) Pass proper value for - LEN arg, not simply the full string length. - - * sort.c: (allocate_file_handles) Check SPSS compatible temp file - directories before generic temp file directories. - - * vfm.c: Disable debugging. - -Fri Jul 4 13:26:41 1997 Ben Pfaff - - * get.c: Comment fix. - (cmd_save_internal) Always passes GTSV_OPT_SAVE option. - -Wed Jun 25 22:52:28 1997 Ben Pfaff - - * expr-prs.c: (debug_print_postfix) Conditionally included on - GLOBAL_DEBUGGING. Removed out_header() reference. - - * exprP.h: Removed #undef GLOBAL_DEBUGGING. - -Sun Jun 22 22:00:28 1997 Ben Pfaff - - * ascii.c: Removed obsolete ascii_close_page() prototype. - - * command.c: (output_line) Comment fix. - - * data-in.c: Formatting fix. - (parse_string_as_format) Now the `fc' argument is used only for - the purpose of error messages; it is not an index into the string - passed. All references changed. - - * data-list.c: Comment fix. - (cut_field) Comment fix. Now returns the column number of the - position of the field cut out on success. - (parse_field) Added `column' argument. Puts the column numbers in - the error message. - (read_from_data_list_free, read_from_data_list_list) Record the - column number returned by cut_field(), pass it to parse_field(). - - * dfm.c: Comment fix. - - * do-ifP.h: Comment fix. - - * expr-prs.c: (SYSMIS_func) Implemented string-type arguments for - the SYSMIS function. - - * expr.h, exprP.h: Comment fix. - - * glob.c: (init_glob) Only calls setlocale() and family if - ENABLE_NLS set. - - * hash.h: Comment fix. - - * include.c: Comment fix. - - * output.c: Comment fix. - - * postscript.c: (ps_line_intersection) Simplified assertion. - - * repeat.c: Comment fix. - - * vars-atr.c: Comment fix. - - * vars-prs.c: Comment fix. - - * vfm.c: (vector_initialization) [DEBUGGING] Fixed undefined - behavior with usage of postincrement. - (memory_stream_read) Discards cases as it goes. - -Sun Jun 15 16:45:17 1997 Ben Pfaff - - * Makefile.am: Cleans q2c, not just distcleans it. Distcleans - foo. - - * Most source files: Includes debug-print.h, related comment - fixes. - - * cases.c: (alloc_val) Removed complex allocation code. Merely - increments default_dict.nval and returns the former value. - (envector, devector) Removed references to lv member of struct - variable. - - * common.h: (macro VME) Replaced complex definition with simple - one. - - * data-list.c: (cmd_data_list) Sets vfm_source instead of - read_active_file and cancel_input_pgm. - (read_from_data_list, cancel_data_list) Removed. - (data_list_source_read, data_list_source_destroy_source) New - functions. - (glob var data_list_source) New var. - - * dfm.c: (open_file_r, open_file_w) Simplified debug output. - (cmd_begin_data) Improved criteria for an input program accessing - the inline file. Still not perfect. - - * do-if.c: (do_if_trns_proc) Simplified debug output. - - * expr-prs.c: Comment fixes. - [DEBUGGING] (debug_print_postfix) Simplified debug output. - - * file-handle.q: (fh_close_handle) Simplified debug output. - - * file-type.c: Comment fixes. - (cmd_file_type) Sets vfm_source instead of read_active_file and - cancel_input_pgm. - (cmd_end_file_type) On failure, discards variables in place of - just canceling the input program. - (read_from_file_type) Renamed file_type_source_read. - (cancel_file_type) Renamed file_type_source_destroy_source. - (glob var file_type_source) New var. - - * get.c: (GTSV_* enum series) New enums GTSV_OPT_SAVE, GTSV_NONE. - (cmd_get) Initializes options to GTSV_NONE before passing to - trim_dictionary(). Removed `lv' reference. Sets vfm_source - instead of read_active_file and cancel_input_pgm. - (cmd_save_internal) Initializes options before passing to - trim_dictionary(). Local var `nval' removed. - (dict_delete_run) Comment fixes. - (trim_dictionary) Comment fixes. Disallows scratch variables if - GTSV_OPT_SAVE set in options. - (read_from_get) Renamed get_source_read. - (cancel_get) Renamed get_source_destroy_source. - (glob var get_source) New var. - - * inpt-pgm.c: (cmd_input_program) Sets vfm_source instead of - read_active_file and cancel_input_pgm. - (read_from_input_program) Renamed input_program_source_read. - Simplified debug output. - (cancel_input_program) Renamed - input_program_source_destroy_source. - (glob var input_program_source) New var. - - * loop.c: (loop_1_trns_proc) Simplified debug output. - - * main.c: (dump_token) Made eof output more explicit. - - * sfm-read.c: (read_variables, dump_dictionary) Removed `lv' - references. - - * sort.c: (cmd_sort_cases) Disallows scratch variables. Removed - code for always-memory or always-disk cases. malloc's case-list - based on vfm_source_info.ncases. Explicit support for - memory_stream via memory_source_cases. - (do_external_sort) Sets vfm_source instead of read_active_file and - cancel_input_pgm. - (allocate_file_handles) The temporary directory permissions are - set to 0700 instead of 0777. - (allocate_cases) Formatting fixes. Simplified debug output. - (output_record) Compacts the case if necessary before writing it - out. - (close_handle, open_handle_w) Simplified debug output. - (write_initial_runs) Destroys vfm_sink, then sets it to - sort_stream. Writes records to memory based on - vfm_sink_info.case_size. - (write_to_sort_cases) Renamed sort_stream_write(). - (merge) Simplified error handling. Simplified debug output. - Formatting fixes. - (read_from_external_sort) Renamed sort_stream_read(). - Reads records based on vfm_source_info.case_size. - (sort_stream_write) Writes records to memory based on - vfm_sink_info.case_size. - (sort_stream_mode) New function. - (glob var sort_stream) New variable. - - * temporary.c: (cmd_temporary) Simplified debug output. - (copy_variable) Removed references to `lv'. - - * title.c: (get_title) Simplified debug output. - - * var.h: Comment fixes. - (struct get_proc) Removed member `lv'. - (struct variable) Removed member `lv'. Comment fixes. - (glob vars read_active_file, write_active_file, cancel_input_pgm) - Removed. - (struct case_stream) New. - - * vars-atr.c: (discard_variables) Changed cancel_input_pgm, - read_active_file references to use vfm_source. - (init_variable, replace_variable) Removed references to `lv'. - - * vfm.c: Comment fixes. - (glob var vfm_source, vfm_sink, vfm_source_info, vfm_sink_info) - New variables. - (static var queue, qh, qt, n_lag) Removed. All references - removed. - (glob var compaction_necessary, compaction_nval, compaction_case, - paging) New variables. - (record_case) Removed. - (procedure) Comment fixes. Calls vfm_source->read() instead of - read_active_file(). - (lag) Removed. - (prepare_for_writing, arrange_compaction, make_temp_case, - vector_initialization, setup_filter) New function. - (open_active_file) Most of the code moved into the abovementioned - new functions. Now sets temp_dict to &default_dict if there is no - temporary dictionary, for convenience. New debug output. - (close_active_file) Deals with changing the sink to the source. - Calls finish_compaction(). Frees compaction_case. Mostly - rewritten. - (glob vars disk_source_file, disk_sink_file) New vars. - (destroy_active_file, read_from_memory) Removed. - (disk_stream_init, disk_stream_read, disk_stream_write, - disk_stream_mode, disk_stream_destroy_source, - disk_stream_destroy_sink) New functions. - (glob var vfm_disk_stream) New var. - (glob vars memory_source_cases, memory_sink_cases, - memory_sink_iter, memory_sink_max_cases) New vars. - (memory_stream_init, memory_stream_read, memory_stream_write, - memory_stream_mode, memory_stream_destroy_source, - memory_stream_destroy_sink) New functions. - (glob var vfm_memory_stream) New var. - (write_case) Local var `i' renamed `cur_trns'; local var `retval' - named `more_cases'. Simplified debug output. Otherwise mostly - rewritten. - (record_case) Moved into the stream drivers. Removed. - (transform) Removed (was dead code). - (SPLIT_FILE_procfunc) s/vfm_replacement/vfm_sink_info/. In the - common case that the splits don't change, we don't need to copy - the case into prev_case again--pointless. - (compact_case) New function. - (finish_compaction) New function. - - * vfmP.h: Comment fixes. - (DEV_* enum series) Removed. - (struct storage) Renamed `stream_info'. Removed variant record. - Removed `device' member. - - * debug-print.h: New file. - -Sun Jun 8 01:12:38 1997 Ben Pfaff - - * autorecode.c: Turned off debugging. - - * data-list.c: (destroy_dls) Closes the associated file handle. - - * descript.q: (custom_variables) Added PV_NO_SCRATCH to - parse_variables() options. - - * dfm.c: (open_file_r) Removed gratuituous argument to msg() call. - - * display.c: (display_variables) Really fixed null cell bug. - - * file-handle.q: (fh_close_handle) Changed debugging message. - - * frequencies.q: (custom_variables) Added PV_NO_SCRATCH to - parse_variables() options. - - * list.q: Added PV_NO_SCRATCH in q2c varlist options. - (cmd_list) Fails if no variables specified. - (determine_layout) Writes blank lines manually. - - * loop.c: (loop_1_trns_proc) Made debugging code only print - messages if debugging. - - * q2c.c: (dump_subcommand) Appends sbc->message to SBC_VARLIST - parse_variables() arguments. - (main) Parses optional parenthesized options to varlist - subcommands into sbc->message. - - * sfm-read.c: Format fix. - - * var.h: (FV_*) New enum series. - (PV_*) New enum PV_NO_SCRATCH. - - * vars-prs.c: (find_var) Removed. - (fill_all_vars) Takes FV_* enum instead of boolean third - argument. Rewritten to deal with scratch as well as system - variables. - (parse_variables) Error message on scratch variable if - PV_NO_SCRATCH set. - - * vfm.c: (static var virt_begin_func) New var. - (procedure) Sets up virt_begin_func. - (SPLIT_FILE_procfunc) For the first case, calls virt_begin_func() - after dump_splits(). For succeeding groups changes, calls - virt_begin_func() instead of begin_func(). - -Fri Jun 6 22:42:23 1997 Ben Pfaff - - * count.c, data-out.c, file-handle.q, list.q, loop.c: Turned off - debugging. - - * dfm.c: Added some debugging messages, disabled by default. - (open_file_r) Fixed error message. - (read_record) On eof on inline_file, instead of calling - fh_close_handle(), simply jump to eof label like a normal file. - Message fixes. - - * display.c: Thin lines between rows for certain kinds of - listing. Fixed `null cell' bug. - - * error.c: (failure) Flush stdout, stderr before failing. - - * file-handle.q: (fh_close_handle) Added debugging message. - - * frequencies.q: (dump_full) Bottom line extends across entire - table width. Changed title formatting. - (dump_condensed) Changed title formatting. - (dump_statistics) Fixed title formatting. - - * glob.c: (init_glob) Moved initialization of cur_proc out of #if. - Sets default value of set_format. - - * list.q: (cmd_list) Calls blank_line() before determine_layout(). - Passes write_all_headers() to procedure() as pre-group func. - (write_all_headers) New function. - (determine_layout) Removed calls to write_header(). - Calls blank_line() before and after write_fallback_headers(). - - * recode.c: (recode_trns_free) Only attempts to free head->map if - non-NULL. - - * sfm-read.c: (read_variables) Allows `#' at beginning of system - file variable names but gives a warning. Sets `left' based on - first character being/not being `#'. On lossage frees dict->var. - - * som-high.c: (som_draw_title) Simplified title formatting. - - * vfm.c: (dump_splits) Fixed and changed splits formatting. - -Thu Jun 5 22:51:15 1997 Ben Pfaff - - * autorecode.c: (cmd_autorecode) Sets h_trans to NULL at - beginning. Frees v_src, v_dest on successful exit. Frees - h_trans[*], h_trans on lossage. - (recode) Frees h_trans[*], h_trans. - - * dfm.c: (dfm_close) Formatting change. - (open_inline_file) Now passed a dfm_fhuser_ext to initialize; no - longer allocates its own in inline_file. - (open_file_r) Passes the local dfm_fhuser_ext to - open_inline_file(). - (open_file_w) Message fix. - (read_record) Buffer reallocation strategy changed. Frees - ext->line even in inline_file to prevent leaks. - (dfm_put_record) Fixed bug where `ext' was cached before the file - was opened and thus it would be NULL when the file really was - open. - (cmd_begin_data) Sets up inline_file basics itself, then calls - open_inline_file() for the dfm_fhuser_ext. Formatting fix. - - * list.q: (write_line) Formatting fix. - (clean_up) Minor strategy change. Sets proportional font after - finishing cleanup. - (determine_layout) Sets fixed font before writing regular headers, - or after writing fallback headers. - - * modify-vars.c: (cmd_modify_vars) Frees variable lists for DROP - and KEEP vars after using them. - - * postscript.c: (ps_init_driver) Frees x->family. - (postopen) When loading fonts, free the temporary font name buffer - after using it. - (ps_text_set_font_by_position) Free temporary font name buffer - after using it. - (text) Fixed code that calculated `lig' so that `lig' always gets - initialized. Formatting fix. - - * som-low.c: (get_cell_size, som_get_table_size) `prop_height' -> - `font_height'. - [GLOBAL_DEBUGGIGN] (check_table) Use arena_alloc() to allocate - cells, not xmalloc(), so that the cells will get destroyed - automatically. - - * sysfile-info.c: (cmd_sysfile_info) Frees the dictionary after - using it. - -Tue Jun 3 23:33:22 1997 Ben Pfaff - - * ascii.c: (ascii_text_draw) Always sets metrics for strings that - are drawn. - - * dfm.c: Comment fix. - - * list.q: Comment fixes. Include somP.h. Removed static vars - table, n_columns, n_rows, part. New struct list_ext. New static - var line_buf. - (n_lines_remaining, n_chars_width, write_line) New functions. - (cmd_list, list_cases) Rewritten. - (begin_row, end_row, flush_table) Removed. - (write_header, clean_up, write_varname, write_fallback_headers, - determine_layout) New functions. - - * output.c: (outp_iterate_enabled_drivers) Minor reformat. - - * output.h: Comment fix. - - * postscript.c: Comment fix. - (struct ps_driver_ext) Removed prop_size, fixed_size members; - added font_size. All references changed. - (ps_init_driver) Initializes font_size. Simplified space checking - code. - (static var option_tab[]) Removed prop-size, fixed-size; added - font-size. - (ps_option) Handles font_size. - - * som-high.c: Moved prototypes into somP.h. - (som_init_driver) New function. - (som_submit_table) Moved some code into new function - som_init_driver(). - (build_target) Moved some code into new function - som_internal_eject_page(). - (som_eject_page) Uses som_internal_eject_page(). - (som_internal_eject_page) New function. - - * som-low.c: Moved prototypes into somP.h. - - * som.h: Formatting fixes. - - * somP.h: (struct som_driver_ext) Removed em_width; - added prop_em_width, fixed_width. - -Mon Jun 2 14:25:25 1997 Ben Pfaff - - * Makefile.am: Added `localedir' definition. Added - -DLOCALEDIR="..." to DEFS. Added -I. to INCLUDES. - - * ascii.c: (macro draw_line) Fixed capitalization. - - * ascii.c, autorecode.c, cases.c, cmdline.c, command.c, common.c, - compute.c, count.c, data-in.c, data-list.c, data-out.c, - descript.q, dfm.c, display.c, do-if.c, error.c, expr-evl.c, - expr-opt.c, expr-prs.c, file-handle.q, file-type.c, filename.c, - formats.c, frequencies.q, get.c, getline.c, glob.c, groff-font.c, - hash.c, heap.c, include.c, inpt-pgm.c, lexer.c, list.q, loop.c, - main.c, mis-val.c, misc.c, modify-vars.c, numeric.c, output.c, - postscript.c, print.c, q2c.c, recode.c, rename-vars.c, repeat.c, - sample.c, sel-if.c, sfm-read.c, sfm-write.c, sfmP.h, som-frnt.c, - som-high.c, som-low.c, sort.c, split-file.c, sysfile-info.c, - temporary.c, title.c, tokens.h, val-labs.c, var-labs.c, - vars-atr.c, vars-prs.c, vector.c, vfm.c, weight.c: Marked strings - for internationlization. - - * glob.c: [HAVE_LOCALE_H] Includes locale.h. - -Sun Jun 1 23:31:18 1997 Ben Pfaff - - * do-if.c, sort.c, val-labs.c: Comment fixes. - - * glob.c: (init_glob) Uncommented, updated i18n support. - - * arena.c, ascii.c, data-in.c, descript.q, error.c, expr-evl.c, - expr-opt.c, expr-prs.c, filename.c, frequencies.q, groff-font.c, - output.c, postscript.c, sfm-read.c, som-high.c, vars-prs.c: Made - the declarations of macros taking arguments a lot nicer. - -Sun Jun 1 17:22:04 1997 Ben Pfaff - - * error.h: Removed CE, CW aliases for SE, SW. - - * q2c.c: Removed explicit streq() definition since it's duplicated - in str.h. - - * approx.h, error.h, font.h, hash.h, misc.h, output.h, somP.h, - stats.h, str.h, tokens.h: Made the declarations of macros taking - arguments a lot nicer-looking of . - Comment fixes. - -Sun Jun 1 12:02:06 1997 Ben Pfaff - - * cmdline.c: Comment fixes. - (pick_compat) Changed return type to int. Now, instead of setting - glob var `compat' to the emulation, returns the emulation. All - references changed. - (parse_command_line) Added terminating null to end of - `long_options' array definition. - (pre_syntax_message) Fixes. - (usage) Shows the default emulation in the syntax message by - calling pick_compat(). - - * getline.c: (getl_add_include_dir) Separates paths with - PATH_DELIMITER, not DIR_SEPARATOR. - - * glob.c: (init_glob) Fixed references to DEFAULT_VER_PCP40, - DEFAULT_VER_WIN61, DEFAULT_VER_X40. - - * output.c: (outp_configure_macro) Make earlier definitions for a - particular key override later ones for the same key. - -Fri May 30 19:40:49 1997 Ben Pfaff - - * ascii.c: Comment fixes. - - * output.c: (outp_get_paper_size) - s/STAT_OUTPUT_INIT_FILE/STAT_OUTPUT_PAPERSIZE_FILE/. - -Sun May 25 22:34:07 1997 Ben Pfaff - - * ascii.c, postscript.c, sfm-read.c, sfm-write.c, sort.c: Include - . GNU libc 2 enforces this! - - * command.c: (parse_cmd) Fixed problem with `else' clause being - paired with wrong `if'. Comment fix. - -Fri May 9 16:53:52 1997 Ben Pfaff - - * getline.c: [!HAVE_LIBREADLINE] (read_console) Changed - blp_getline() to getline(). - - * output.c: (outp_eval_dimension) Changed the fix from last time; - there was no variable `a'. - - * q2c.c: (get_line) Fixed boundary condition overrun bug. - -Mon May 5 21:58:22 1997 Ben Pfaff - - * output.c: (outp_evaluate_dimension) Fixed handling of negative - numbers having fractional parts. Added case of a fraction without - a whole-number part. - -Fri May 2 22:08:05 1997 Ben Pfaff - - * ascii.c: (ascii_text_get_font_position) Removed. - - * expr.h, exprP.h: Disabled debugging. - - * groff-font.c, postscript.c: Changed `groff' to `Groff' in - several places. - - * output.h: (struct outp_class_struct) Removed - text_get_font_position method. All references deleted. - - * postscript.c: Big change here. Fontmaps were completely - eliminated because of a change in philosophy. Comment fixes. - (struct ps_fontmap, ps2dit_map, font_family, dit2family_map) - Removed. - (struct ps_driver_ext) `position', `fontmap', `prop_name', - `fixed_name' members removed. New members `prop_family', - `fixed_family'. `family' member changed to type char *. - (static var ps_fontmaps) Removed. - () Removed. - (ps_init_driver) Removed obsolete references, updated. - Initializes `translate_x', `translate_y', `scale'. Doesn't read - fontmap, of course. Refers to font names through internal_name - rather than subversive means. Frees proper items. - (static var option_tab[]) Removed `fontmap-file' option; renamed - `fixed-font', `prop-font'. - (ps_option) Corresponds to option_tab[]. - (read_fontmap, release_fontmap, ps_to_dit, compare_ps2dit, - hash_ps2dit, compare_dit2family, hash_dit2family, compare_family, - hash_family) Removed. - (postopen) Generates font names from family names. Gets - PostScript font name properly. New prologue file comment `!!!' - style. - (ps_open_page) Adds translate_x, translate_y to BP prologue - function; gives SF argument floating-point format. - (ps_text_set_font_by_name) Doesn't try to map PostScript->Groff - font name. Doesn't change font family. - (ps_text_set_font_by_position) Generates Groff font name from font - family name instead of through table lookup. - (ps_text_set_font_by_family) Renamed `ps_text_set_font_family', - all references changed. Reduced to simple string assignment. - (ps_get_font_name) Removed. - (ps_get_font_family) Reduced to string return. - (text) Doesn't save `position' since it no longer exists. Ugly - kluge to save font family--fix soon? - (load_font) Removed PostScript name argument. - -Thu May 1 14:58:59 1997 Ben Pfaff - - * postscript.c: Comment fix. - (ps_open_page) Puts scale factor in PostScript output. - -Sat Apr 26 11:49:32 1997 Ben Pfaff - - * Makefile.am: Distcleans q2c. - -Wed Apr 23 21:33:48 1997 Ben Pfaff - - * ascii.c: (delineate) Sets text size even if width is zero. - - * command.c: Comment fix. - (static var cmd_table[]) Re-enabled EVALUATE command. - (parse_cmd) Lotsa comment fixes. Fixed infinite loop in parsing - of comments in script files. Now more liberal on criteria for - performing a state transition--if *anything* happened correctly, - not just if *everything* happened correctly. - - * data-out.c: (convert_F) Comment fix. Why in the fsck does - Checker segfault on formatting large numbers and why in the fsck - hadn't I noticed this before? - - * expr.h, exprP.h: No longer turn off GLOBAL_DEBUGGING. - - * list.q: (cmd_list) Commented out the actual output routine - because of various problems. Probably will abandon the idea of - using the general `crushed tables' for the LIST procedure. - - * temporary.c: (restore_dictionary) Sets var_by_name to NULL after - clearing it. Allocates a new var_by_name dictionary before trying - to add members to it. - - * vars-atr.c: [DEBUGGING] (dump_one_var_node) Removed argument - `sib'. Changed type of `node' argument. - [DEBUGGING] (dump_var_tree) Replaced avlwalk() with - avl_walk_inorder(). - (clear_variable) Only dumps the var tree if var_by_name non-NULL. - [DEBUGGING] Only deletes the variable from var_by_name if that var - non-NULL. - -Fri Apr 18 16:48:41 1997 Ben Pfaff - - * Makefile.am: Added include files to SOURCES. Added - frequencies.q to EXTRA_DIST. Removed include/ from INCLUDES. Now - includes rules for q2c. Added `boast' target. - -Fri Apr 18 15:42:22 1997 Ben Pfaff - - * Makefile.am: Maintainer-clean Makefile.in. - - * Makefile.am: Fixed redundant EXTRA_DIST line. - - * ascii.c: Comment fixes. - (ascii_line_vert) Fixed overly aggressive range check. - - * display.c: Removed dead code. - - * list.q: Turn debugging on. - (flush_table) New debug code. - - * sfm-read.c: (read_value_labels) malloc's the structure before - trying to assign to its members. - - * sfm-write.c: Comment fix. - - * som-high.c: (som_submit_table) Sets som.t and som.d on each call - to output_table(). - (output_table) No arguments anymore--gets them through `som' - global. New debug code. In crushed tables, now sets `htv' as - well as `hv' to avoid bad confusion later. - (dump_crush_page) New debug code. - - * som-low.c: (som_dump_crush_page) New debug code. - -Thu Mar 27 01:11:29 1997 Ben Pfaff - - All source files: Broke long lines into multiple lines. - - * ascii.c: (ascii_close_page) Uses host_system var in place of - HOST_SYSTEM constant. - - * cmdline.c: (var syntax_message[]) Broke into - pre_syntax_message[] and post_syntax_message[]. - (usage) Outputs both parts, separated by driver list. - - * error.h: Fixed broken formatting. - - * expr-opt.c: (str_search, str_rsearch) New functions. - - * misc.c: (blp_getdelim) Removed. All references changed to - `getdelim'. - (str_search, str_rsearch) Removed. - (memrmem) New function. - - * misc.h: (blp_getline) Removed. All reference changed to - `getline'. - - * stat.h: New file. - - * filename.c: Includes "stat.h", not . - (blp_getenv) Uses host_system var instead of HOST_SYSTEM constant. - - * output.c: (outp_list_classes) Changed output formatting. - - * sfm-write.c: (write_header) Uses host_system var instead of - HOST_SYSTEM constant. - (write_rec_7_34) Extracts version numbers from the version string. - Untested. - - * sort.c: Includes "stat.h", not . - - * str.c: (strcasecmp) Removed. - - * title.c: (cmd_document) Uses host_system var instead of - HOST_SYSTEM constant. - - * version.c: Generated on-the-fly by the Makefile instead of being - static. - - * str.h: Comment fixes. Doesn't substitute for missing memmove or - memcpy. - [!HAVE_STRNCASECMP] Declares strncasecmp(). - - * version.h: Removed stray character. Comment fixes. - (vars host_system, build_system) New vars. - -Mon Mar 24 21:47:31 1997 Ben Pfaff - - * Most source files: Changed formatting of copyright notice; fixed - FSF address; reformatted to better conform to GNU standards; - comment fixes. Added markups to prevent GNU indent from messing - up my beautiful formatting :-). - - * q2c.c: (get_line) Ignores lines that begin with `/* *INDENT' so - that GNU indent markups can be passed through without problems. - -Wed Feb 19 21:30:31 1997 Ben Pfaff - - * get.c: Turned off debugging. - - * glob.c: (init_glob) Turned on save-file compression by default. - - * sfm-write.c: (sfm_write_case) Fixed bug which resulted in less - compression than was possible in save files. - -Sun Feb 16 20:57:20 1997 Ben Pfaff - - * data-out.c: (convert_F) Comment fixes. Debug message fixes. - - * frequencies.q: Removed Fiasco extensions. Updated calculation - algorithms. Polished output format. - (struct frq_info_struct) Removed members `max_degree', `min_n', - all references removed. - (macro frq_extensions) Removed. - (static vars min_n, max_degree) Removed, all references removed. - (internal_cmd_frequencies) Doesn't handle extensions. Doesn't - calculate `min_n', `max_degree'. - (postcalc) Passes new arg to dump_statistics(). - (dump_full) Honor NOLABEL option. Buggy? Adds variable name - title. - (dump_condensed) Adds variable name title. - (sum_freqs) Removed. - (calc_stats) Updated calculation algorithm. - (dump_statistics) Removed warning for too-few observations. - Changed table formatting. Adds variable name title if passed new - arg is nonzero. - - * output.h: Comment fix. - - * recode.c, sample.c, sort.c: Disabled debug code. - - * som-frnt.c: (som_set_value, som_set_float, som_set_text) - Improved debug code. - - * var.h: (enum series frq_*) Removed Fiasco extensions. - -Sat Feb 15 21:26:53 1997 Ben Pfaff - - * command.c: Added PROCESS IF to command table. - - * Lots & lots of places, removed checks for NULLs preceding calls - to free_expression(), which itself checks. - - * descript.q: Removed Fiasco extensions. Removed optimizations - for non-weighted active files. Implemented some options. - Finished polishing output format. Comment fixes. Merged - `descript.g'. - (static vars n_glob_miss_list, n_glob_valid, n_glob_missing, - max_degree, min_n) Removed. - (macro dsc_extensions) Removed. - (struct dsc_info_struct) Removed `min_n' member, all references - fixed. - (internal_cmd_descriptives) Removed calculation of min_n, - max_degree. Only deals with one `calc' routine instead of two - flavors. - (precalc) Eliminated redundancy. Updated for changes to - descriptives_proc structure. - (calc) Moved here from `descript.g'. Rewritten to calculate - statistics via `moments about the mean' rather than by summing, - summing squares, summing cubes, and so on. - (postcalc) Rewritten for new-style statistical calculation. - (display) Removed support for displaying variables across rows. - No longer crushes the descriptives table. Removed ancient code. - Added display of N, by variable and listwise. - - * descript.g: Removed; merged into `descript.q'. - - * expr-evl.c: (evaluate_expression) Now returns a double. For - numeric results, it returns the result as well as storing it in - the passed `value' structure if non-NULL. For string results it - just returns 0.0 and it must be passed non-NULL. Many references - to this function were optimized by use of this change, especially - but not exclusively in `compute.c'. - - * frequencies.g: Comment fix. - - * glob.c: (glob var process_if_expr) New global var. - - * postscript.c: (static var option_tab[]) Corrected entry for - `fixed_size'. - (postopen) Sets x->size to x->prop_size. - (ps_text_set_font_by_name) Sets font size as well as typeface for - PROP and FIXED fonts. - - * sel-if.c: (cmd_process_if) New function. - - * sfm-write.c: (struct sfm_fhuser_ext) New member `n_cases'. - (sfm_write_dictionary) Sets `n_cases' to 0. - (sfm_write_case) Increments `n_cases'. - (sfm_close) Attempts to seek the system file back to the header - and write the number of cases in its proper slot. - - * som-frnt.c: (som_insert_table) Masks off expansion options since - only SOPT_X_NORM seems to work sensibly. - - * som-low.c: (get_cell_size) Fixed bug when a table cell was sized - with a `fixed' value of 2. - - * sort.c: (cmd_sort_cases) Cancels PROCESS IF. - - * sysfile-info.c: (cmd_sysfile_info) Doesn't display more than 10 - value labels; uses SOPT_NONE instead of SOPT_X_BOTH. - - * var.h: (enum series dsc_*) Removed Fiasco extensions. - (struct descriptives_proc) Removed `miss_noweight'; new members - `X_bar', `M2', `M3', `M4', `min', `max'. - - * vars-atr.c: (discard_variables) Cancels PROCESS IF. - - * vfm.c: (close_active_file) Cancels PROCESS IF. - (write_case) Doesn't process cases unselected by PROCESS IF. - -Fri Feb 14 23:32:58 1997 Ben Pfaff - - * glob.c: (glob var err) Removed. - - * sysfile-info.c: (cmd_sysfile_info) When adjusting table size, - doesn't have to take into account number of value labels since - they're in a subtable anyway. Also, doesn't display more than 10 - value labels since we can't yet break pages in subtables. - -Tue Feb 4 15:15:50 1997 Ben Pfaff - - * som-frnt.c: (som_change_table_size) Simple change for elegance - that shouldn't change behavior. - (som_set_value) Comment fix. - - * som-high.c: (som_submit_table) Message fix. - -Wed Jan 22 21:54:00 1997 Ben Pfaff - - * command.c: Added SYSFILE INFO to command table. - - * file-handle.q: (fh_handle_filename) New function. - - * get.c: (save_trns_proc) Fixed a bug in padding of output data - with spaces. - - * main.c: (parse) New return value for command functions, -3. - - * misc.h: Comment fix. - - * output.h: Comment fixes. - (macro COMPONENTS) Removed. - - * postscript.c: (write_text) Modified literal_chars[] so that `(' - and ')' are not written to the output in strings as literals. - - * sfm-read.c: (sfm_read_dictionary) New argument. - (read_header) New argument. Sets the information structure's - values from the header information. - (read_variables) [__CHECKER__] Redefines isalnum()--some sort of - bizarre Checker problem, I guess. - (read_variables) Proper cleanup on lossage. - - * sfm.h: (struct sfm_read_info) New struct for use by - sfm_read_dictionary(). - - * som-frnt.c: (som_create_table) New argument CREATE_FLAGS, - currently used just for tables that can be dynamically resized and - thus have to be allocated with arena_malloc() instead of - arena_alloc(). All references changed. - (som_change_table_size) New function. - (som_insert_table) Bugfix: now inserts `cell', not `c'! - - * som-high.c: [GLOBAL_DEBUGGING] (check_table) Moved to som-low.c. - (som_submit_table) [GLOBAL_DEBUGGING] Doesn't call check_table() - any more. - - * som-low.c: (draw_cell) Calls draw_table_cell() for SCON_TABLE - cells. - (draw_intersection) Now takes an argument specifying the table in - question. All references changed. - (draw_table_cell) New function. - (som_get_table_size) [GLOBAL_DEBUGGING] Calls check_table(). - (som_get_table_size) Many nice new explanatory comments. - [GLOBAL_DEBUGGING] (check_table) Moved here from som-high.c. - - * som.h: New enum series SOM_CREATE_* for use as create flags with - som_create_table(). - - * str.h: Moved a comment here from TODO. - - * sysfile-info.c: New file. Reference implementation. - -Sun Jan 19 14:22:11 1997 Ben Pfaff - - * command.c: Added RENAME VARIABLES to table of commands. - - * data-in.c: (dls_error) Sets `cust_field'. - (parse_N) Message fix. - (parse_day_count) New function. - (to_roman) Never outputs VX as a `short form' of V. - (parse_month) Fixed parsing of Roman numerals. - (parse_trailer) Message fix. - (parse_DATE, parse_ADATE, parse_EDATE, parse_SDATE, parse_JDATE, - parse_QYR, parse_MOYR, parse_WKYR, parse_DTIME) Issue a message if - the date is invalid. - (parse_SDATE) Fixed swapped day, year. - (parse_JDATE) Fixed bug for dates in 1582. - (parse_DTIME) Allows days not between 1 and 31. - (parse_numeric) Makes local copy of f.type for easier usage. - FMT_DOLLAR fixed. - - * data-out.c: (convert_F) When outputting as scientific, properly - sets f.type as fp->type. - (insert_commas) Fixed operator precedence problem with setting of - nitems. Changed strcpy to memcpy (no null terminator). - (convert_date) Fixed FMT_JDATE: added 1900 to year. - (convert_CCx) Essentially rewritten, but now it works. - - * display.c: (cmd_display) Added DISPLAY FILE LABEL (undocumented - feature of Fiasco). - (display_documents) Implemented. - - * error.c: (glob var cust_field) New var. - (vmsg) Displays cust_field as part of message classes DE and DW. - - * formats.c: (debug_print) Fixed to compile under updated - dictionary format. - - * get.c: (cmd_get, cmd_save_internal) Close file handle on - failure. - - * misc.c: (parse_format_specifier) Formatting fix. - - * modify-vars.c: (struct var_modification) Renamed `n_reorder' as - `n_rename' for clarity. - (cmd_modify_vars) Initializes `forward' and `positional' at - appropriate times. Frees lists of vars to rename on failure. - Comment fix. Frees memory on success. - (rearrange_dict) Simplified `for' loop condition. - - * rename-vars.c: New file (reference implementation). - - * set.q: (internal_cmd_set) Fixed `emu' test condition. - - * sfm-read.c: (read_header) File label is created only if file - label in file is not blank. - (read_variables) Initializes `dict' local variable. - (read_documents) Proper behavior on lossage. - - * sfm-write.c: (write_header) Doesn't blank out the file label - (why was this here to begin with?!) - - * temporary.c: (save_dictionary) File label is copied only if - non-NULL. Doesn't try to xstrdup() dictionary documents. - Adapted so as to not irritate Checker. - (free_dictionary) Only destroys var_by_name if non-NULL. - - * title.c: (cmd_file_label) Doesn't skip FILE, LABEL tokens. - (cmd_document) Doesn't skip DOCUMENT token. Adds some header - lines to the document, indents the document. Also, it works now. - (add_document_line) New function. - - * var.h: (struct dictionary) Reordering. - - * vars-prs.c: (parse_variables) On lossage, only local_free()'s - bits if it was allocated to begin with. - -Thu Jan 16 13:08:57 1997 Ben Pfaff - - * command.c: Added MODIFY VARS to list of commands. - - * configure.in: Updated custom macros for autoconf 2.12. Removed - mmap reference; fixed termcap library reference. - - * display.c: (display_variables) Fixed a few bugs although it's - still not well written. - - * error.c: [!__CHECKER__] (chkr_disp_call_chain) New function. - (induce_segfault) Calls chkr_disp_call_chain() instead of - inducing an actual SIGSEGV. - - * expr-opt.c: (evaluate_tree) Swapped order of arguments to - str_search() and str_rsearch(). Fixed tests for matches on - OP_INDEX and OP_RINDEX. - - * filename.c: (good_getcwd) Removed as the new libc for Checker - doesn't contain this bug, apparently. - - * misc.c: (str_search, str_rsearch) Changed order of arguments for - consistency with GNU memmem. - (blp_getdelim) Changed `len' from `int' to `size_t'. - - * modify-vars.c: Reference implementation. - - * som-frnt.c: (zero_length) New global var. - (som_create_table) Message fix. - - * som.h: Added gcc attributions to som_set_text(), - som_output_text() prototypes. blank_line() refers to - zero_length[] instead of a literal null string to suppress gcc - warnings. - - * sort.c: (do_external_sort) Fixed fencepost error on lossage. - (allocate_cases) Decrements x_max so the last element of x[] can - be used by the algorithm. - - * var.h: Changed minor details of `variable' declaration. - (struct modify_vars_proc) New struct. - (struct variable) Added field p.mfv. - - * vars-atr.c: Comment fix. - - * vars-prs.c: (fill_all_vars) More optimal implementation. - - * vfm.c: (dump_splits) Sets the last byte of temp_buf to a null - character, which it shouldn't have to do but printf() seems to - read the null byte even though I supply a maximum length... - -Fri Jan 10 20:22:08 1997 Ben Pfaff - - * command.c: Removed command alias X for QUIT. - (parse_cmd) Fixed comment parsing. - - * dfm.c: (struct dfm_fhuser_ext) Fields `len', `size' are now of - type size_t. - (read_record) Fixed references to len, size. - (dfm_get_record) Restructured. - - * file-handle.h: (struct file_handle) Field `lrecl' now of type - size_t. - - * file-handle.q: (internal_cmd_file_handle) Checks for nonpositive - record length. - - * modify-vars.c: New file. Not complete. - - * set.q: (set_ccx) Fixed operator precedence problem regarding ^ - and ==. - - * sfm-read.c: (bswap_flt64, read_header, write_variable) Fixed - problems caused by int/size_t differences. - - * sort.c: (output_record, merge_once) Cast `size_t's to `int's in - appropriate spots. - - * str.c: (strcasecmp) Fixed bug that cropped up when the strings - being compared were of equal length. - -Thu Jan 2 19:08:23 1997 Ben Pfaff - - * command.c: Added DOCUMENT, DROP DOCUMENTS, FILE LABEL. - - * lexer.c: (get_dotted_rest_of_line) New function. - - * sel-if.c: (cmd_filter) Cannot choose string or scratch variables - as filters. - - * sfm-read.c: (sfm_read_dictionary) Calls read_documents() to read - type 6 records. Frees the dictionary properly. - (read_header) Initializes the dictionary instead of letting - read_variables() do it. Sets the dictionary file label from the - system file. - (read_documents) New function. - - * sfm-write.c: (sfm_write_dictionary) Calls write_documents() to - write type 6 record if appropriate. - (write_header) Writes file label from dictionary. - (write_documents) New function. - - * temporary.c: (save_dictionary, restore_dictionary, - free_dictionary) Properly handle new fields in dictionary struct. - - * title.c: (get_title) Returns after failure(). - (cmd_file_label, cmd_document, cmd_drop_documents) New functions - for new commands FILE LABEL, DOCUMENT, DROP DOCUMENTS. Untested. - - * var.h: (struct dictionary) New fields `label', `n_documents', - `documents'. - -Wed Jan 1 22:08:10 1997 Ben Pfaff - - * command.c: Added FILTER to list of commands. - - * frequencies.g: [WEIGHTING] Removed test for weighting!=-1 since - it's always true. - - * get.c: (cmd_save_internal) Removed weighting code since it's now - handled by sfm-write.c. Properly commented out debug code. - - * glob.c: (glob var weighting) Removed. - - * sel-if.c: Comment fixes. - (cmd_filter) New function. - - * sfm-read.c: (struct sfm_fhuser_ext) New field `weight_index'. - (sfm_read_dictionary) Sets weighting variable direct in the - created dictionary now. (Apparently we previously didn't support - weighting on GET?) - (read_header) Sets weight_index field in sfm_fhuser_ext from - header read from disk. - - * sfm-write.c: (sfm_write_dictionary) Comment fix. - (write_header) Now sets the weighting in the header from the - passed primary dictionary instead of from the sfm_write_info. - - * sfm.h: (struct sfm_write_info) Removed field `weight'. - - * som-high.c: (dump_crush_table) Fixed a couple of assertions that - broke on boundary conditions. - - * var.h: (struct dictionary) New fields `weight_var', - `weight_index', and `filter_var'. - (glob var weighting) Removed. This is now part of struct - dictionary. All references changed; the less mechanical changes - are described above. - - * vars-atr.c: (find_dict_variable) New function. - - * vfm.c: (static var filter_index) New variable. - (open_active_file) Initializes filter_index from default_dict. - (write_case) Calls proc_func() only if the filter variable is - nonzero; this implements FILTER behavior. - - * weight.c: (static var weight_varname) Removed. - (cmd_weight) Modified default_dict instead of glob vars. - (update_weighting) Changed the signature to modify a dictionary - instead of glob vars. Now returns the weighting variable. - (get_weighting_variable) Removed; its function is absorbed by - update_weighting(). - (stop_weighting) Operates on a dictionary now. - -Wed Jan 1 17:00:59 1997 Ben Pfaff - - * sort.c: Removed debugging info from messages. - (do_external_sort) Cleans up after itself by deleting the - temporary directory on failure. (On success it is deleted by the - input program.) - (allocate_cases) Removed debug code. Added clean up code. - (output_record) Removed debug code. - (merge) Added code to close all the input files that are currently - open. This is a likely location for bugs, because I'm not sure - about boundary conditions. Removed an unnecesary heap_delete(). - (merge_once) Removed input file "optimization" that in fact - screwed up the rest of the code. Message and comment fixes. - -Sun Dec 29 21:36:48 1996 Ben Pfaff - - * error.c: [__CHECKER__] (induce_segfault) Flushes output streams. - - * heap.c: (heap_delete) New argument. - - * sort.c: Finished implementation of external sort. - - * vfm.c: (read_from_disk) Returns after a disk error. - -Sun Dec 22 23:10:39 1996 Ben Pfaff - - * sort.c: (static var state) Removed. - (static vars max_handles, tmp_basename, tmp_extname, - huffman_queue) New variables. - (do_external_sort) Moved most code to new functions. - Creates huffman_queue. - (allocate_file_handles, allocate_cases) New functions. - (static vars run_no, run_length, file_index, case_count) New - variables. - (output_record) Returns success. Now really writes to the output - file. - (begin_run, end_run) New functions. - (write_initial_runs) Returns success. Initializes run_no to -1. - Calls begin_run(), end_run() at appropriate times. Outputs debug - messages. - (write_to_sort_cases) Calls begin_run(), end_run() at appropriate - times. - (merge) New function. - - * heap.c, heap.h: New files. Hopefully in near-final form. - -Sat Dec 21 21:51:04 1996 Ben Pfaff - - * glob.c: Added write_active_file to global vars. - - * sort.c: Several new miscellaneous static variables. - (cmd_sort_cases) Big comment fix. - (perform_case_2) Renamed `do_external_sort' and completely - rewritten. - (case_2_proc_func) Removed. - (output_record, write_initial_runs, write_to_sort_cases, - compare_record) New functions. - - * vfm.c: [DEBUGGING] (index_to_varname) Excised bit rot. - -Tue Dec 17 18:57:59 1996 Ben Pfaff - - * sort.c: (perform_case_2) Changed the method for allocation of - lots of memory--now allocates one case at a time in hopes that - more cases can be allocated with heavily fragmented memory. - - * var.h: (write_active_file) New global var. - - * vfm.c: (procedure, close_active_file, write_case, - SPLIT_FILE_procfunc) Now allow beginfunc, procfunc, and endfunc - arguments to procedure() to be NULL. All references to - procedure() that made use of dummy functions were changed to NULL - functions. - (open_active_file) If write_active_file is non-NULL, the output - device becomes DEV_PGM (a new enum). - (close_active_file) Sets write_active_file to NULL. - (read_from_memory) Comment fix. - (record_case) Calls write_active_file() when the output device is - DEV_PGM. - -Sun Dec 15 15:32:16 1996 Ben Pfaff - - * sort.c: New file. - - * autorecode.c: (cmd_autorecode) Fixed parsing of options. - Fixed checking for duplicate varnames. - (recode) xmalloc()'s the transformation instead of arena_alloc()'ing - it. - (autorecode_trns_free) Destroys hash tables for each recoding - specification. - (autorecode_proc_func) Compares NULL to *vpp instead of vpp. - - * command.c: Added SORT CASES to cmd_table. - (null_func, null_int_func) Prototyped. - - * descript.g: (calc_weight, calc_noweight) Computes own case - number now. - - * frequencies.q: (dump_statistics) Fixed problem with - too-few-cases warning message. - - * get.c: (cmd_save_internal) Handles weighting properly. - - * hash.c: (hsh_dump) Output format changed. - (force_hsh_insert) Actually works now, prototype changed. - - * list.q: (static var case_num) New variable. - (cmd_list) Initializes case_num. - (list_cases) Increments case_num. - - * var.h: Added definitions for SORT CASES. Comment fixes. - - * vfm.c: Some definitions moved to new file vfmP.h. Comment - fixes. `active' renamed vfm_active, `rep' renamed - vfm_replacement, all references changed. - (procedure) The procfunc no longer receives a case number. All - references changed. - (write_case) Subtle reordering. - (SPLIT_FILE_procfunc) Counts cases differently. Slightly less - redundant. - - * weight.c: (get_weighting_variable) New function. - - * vfmP.h: New file with definitions from vfm.c. - -Sat Dec 14 10:35:30 1996 Ben Pfaff - - * command.c: (FILE_TYPE_okay) Commented out some tests because - they're clumsy and not yet needed. - - * var.h: Most *_trns structures moved to their respective source - files. Some were moved into a new file, do-ifP.h. Comment fixes. - (union any_trns) Changed to a typedef for trns_header. - (struct input_program_pgm) Removed. - - * vars-prs.c: (parse_variables) Only local_free()'s bits if it - was allocated in the first place. - -Fri Dec 13 21:30:53 1996 Ben Pfaff - - * autorecode.c: New file. - - * command.c: Added AUTORECODE to command table; re-enabled SET. - - * data-out.c: (convert_F) Handles infinities and NaNs properly. - - * error.c: (vmsg) Comment fixes. - - * hash.c: Comment fix. - (hashpjw_d) New function. - (hashpjw) Reimplemented as call to more general function - hashpjw_d(). - (internal_comparison_fn) Initializes pointers properly. - (hsh_sort) [GLOBAL_DEBUGGING] New debugging code. - (force_hsh_insert, force_hsh_find) New debugging wrapper - functions. - - * main.c: (main) Message fix. - - * output.c: (outp_read_devices) Message fix. - - * set.q: Comment fixes. - (custom_results) Implemented Wnd/X form of subcommand. - (set_routing) New function. - (internal_cmd_set) Implemented ERRORS, MESSAGES. - - * settings.h: (SET_ROUTE_*) New enum series. - (set_results) Renamed set_results_file, all references changed. - (set_messages) Removed. - (glob vars set_errors, set_messages, set_results) New vars. - - * title.c: (get_title) Remembers to xstrdup() the result of - get_rest_of_line(). - - * var.h: (arc_item, arc_spec, autorecode_trns) New structures for - use by AUTORECODE. - (union any_trns) New element `arc'. - -Fri Dec 6 23:53:47 1996 Ben Pfaff - - * command.c: (output_line) Removed references to set_screen. - - * error.c: (static var terminating) New var. - (hcf) Sets terminating to 1. - (vmsg) If terminating is nonzero, does not attempt to call hcf(). - This prevents an infinite loop if an error occurs within hcf(). - - * expr-evl.c: (evaluate_expression) [__CHECKER__] Replaced case - statement circumlocution with `case 42000' trick. - (evaluate_expression) New support for OP_STR_MIS. - - * expr-opt.c: (evaluate_expression) [__CHECKER__] Replaced case - statement circumlocution with `case 42000' trick. - (dump_node) Handles OP_STR_MIS. - - * expr-prs.c: (MISSING_func, SYSMIS_func) Rewrote to handle string - variables exceptions. - (parse_function) Message fix. - (ops[]) Added OP_STR_MIS. - - * expr.h: Added OP_STR_MIS to OP_* enum. Comment fixes. - - * exprP.h: [__CHECKER__] Removed case statement circumlocution. - - * glob.c: Removed set_scrnfile glob var. - (init_glob) set_errorbreak set to 0 by default. - - * groff-font.c: Changed included files. - (groff_read_font) Initializes font_arena local var correctly. - (default_font) New function. - - * output.c: Comment fixes. - (glob var disabled_devices) New variable. - [GLOBAL_DEBUGGING] (static var iterating_driver_list) New - variable. - [GLOBAL_DEBUGGING] (reentrancy) New function. - [GLOBAL_DEBUGGING] (outp_read_devices, outp_done, find_driver, - outp_iterate_enabled_drivers) Calls to reentrancy(). - (destroy_list) New function. - (outp_done) Moved code to destroy_list(). - (parse_options) Parses `listing', `screen', `printer' options - internally. - (configure_driver) Sets new `device' member of driver. - (outp_iterate_enabled_drivers, outp_enable_device) New functions. - - * output.h: Comment fixes. New enum series OUTP_DEV_*. - (struct outp_driver_struct) New member `device'. - - * postscript.c: (find_encoding_file) Doesn't display its own error - messages. - (default_encoding) New function. - (switch_font) Calls default_encoding() if no encoding can be - found. - (text) Makes up a character metric if none exists for the desired - character. - (load_font) Properly copies a fallback filename. Calls - default_font() for a font if none at all are known. - - * set.q: Comment fixes. Removed OUTPUT subcommand. - (custom_listing) Calls outp_enable_device() to enable/disable - listing device. - (turn_screen_on) Removed. - (internal_cmd_set) Calls outp_enable_device() to enable/disable - screen, printer devices. - - * settings.h: Comment fixes. - (glob vars set_output, set_printer, set_screen, set_scrnfile) - Removed. - - * som-high.c: (som_submit_table, som_eject_page) Use - outp_iterate_enabled_drivers() instead of iterating - outp_driver_list directly. - -Wed Dec 4 21:34:17 1996 Ben Pfaff - - * data-in.c: (parse_EDATE, parse_SDATE) New functions. - (parse_string_as_format) Handles new formats. - (parse_numeric) Now handles DOT and PCT formats. - - * data-out.c: (convert_E, convert_F, insert_commas) Handle DOT - format now. - (convert_date) Handle EDATE and SDATE formats. - (convert_CCx) Now if there's not room for the currency characters, - converts it as F format if it's positive instead of giving up - quickly. Also fixed save-and-restore bug with decimal point - characters. - (convert_format_to_string) Handles new formats. - - * misc.c: (formats[]) Added new formats. - (convert_fmt_ItoO) Supports new formats. - - * sfm-read.c: (parse_format_spec) Supports new formats. Better - data checking. New argument, all references changed. - - * sfm-write.c: (write_format_spec) Supports new formats. - - * var.h: New formats FMT_DOT, FMT_PCT, FMT_EDATE, FMT_SDATE. - Comment fixes. - -Sun Dec 1 17:19:00 1996 Ben Pfaff - - * cmdline.c: Comment fixes. - (parse_command_line) Changed return type to void. - - * data-in.c: (parse_string_as_format) Added FMT_CCA...FMT_CCE to - switch. - (parse_numeric) Handles international numbers (comma as decimal - point). Some reformatting. - - * data-list.c: (parse_free) Default output format is now - set_format instead of hard-coded F8.2. - (read_from_data_list_list) Emits error message on undefined data - only if set_undefined is nonzero. - - * data-out.c: (convert_E) Changes decimal point from period to - comma if appropriate. Restructured. Better comments. - (convert_F) Changes decimal point from period to comma if - appropriate. - (insert_commas) Major bug with handling of negative values fixed. - Also, inserts periods instead of commas if appropriate. - (convert_CCx) New function. - (convert_format_to_string) Added FMT_CCA...FMT_CCE to switch. - (num_to_string) Changed `.' to set_decimal. - - * dfm.c: Comment fixes. - (dfm_close) Frees ext->line even in inline_file. - (open_inline_file) New function. - (open_file_r) When opening the inline file: now properly - recognizes `BEGIN DATA.' line, and calls open_inline_file() to - finish up. - (read_record) Calls fh_close_handle() instead of dfm_close() to - close the inline file. Makes a copy of the line getl_buf to avoid - interlock problems. - (dfm_get_record) Restructured. Now checks the return value of - open_file_r(). - (cmd_begin_data) Moved open code into open_inline_file(). Relaxed - checking for use of inline file. No longer tries to close inline - file. - - * error.c: (glob var error_already_flagged) New var. - (vmsg) Message change. Now checks max number of errors/warnings, - acts on it. - - * file-handle.q: (fh_handle_name) Now allows closing of - inline_file. - (fh_init_files) Reformatted. - - * get.c: (trim_dictionary) Checks SCOMP option instead of COMP. - - * getline.c: (getl_include) Fixed bug that popped up when called - when file queue was empty. - (read_console) Resets error_count, warning_count, - error_already_flagged to zero. - - * glob.c: Many changes to update list of variables. - (init_compat_dependent) Now this function is called whenever - `compat' changes. It now sets set_seed only if it hasn't - previously been referenced. It now calls - lex_init_compat_dependent(). - - * include.c: (cmd_include_at) Frees temporary buffer instead of - line buffer. - (cmd_include) Doesn't make copy of include file name. - - * lexer.c: Comment fixes. - (init_lex) Moved some code into new function - lex_init_compat_dependent(). - (lex_init_compat_dependent) New function. - (hex_val) Simplified. - (preprocess_line) Uses set_endcmd instead of hardcoding `.'. - - * main.c: Comment fixes. - (main) Reformatted. - - * misc.c: (formats[]) Added FMT_CCA...FMT_CCE. - (check_input_specifier) Disallows FMT_CCA...FMT_CCE. - (convert_fmt_ItoO) Detects FMT_CCA...FMT_CCE. - (setup_randomize) Sets set_seed_used. - - * set.q: Comment fixes. - (custom_results) Conditionalizes on `compat'. - (custom_log) Calls custom_journal(). - (set_ccx) New function. - (cmd_set) Calls init_compat_dependent() when `compat' changes. - Calls set_ccx() to handle CCA...CCE. Sets set_grouping - when set_decimal changes. Range-checks values for MITERATE, - MNEST. Message fixes. - - * settings.h: Comment fixes. - (struct set_cust_currency) New struct. - (set_cc[], set_grouping, set_seed_used) New global vars. - - * var.h: (FMT_CCA...FMT_CCE) New output formats. - (FCAT_OUTPUT_ONLY) New FCAT_* constant. - -Thu Nov 28 23:14:07 1996 Ben Pfaff - - * glob.c: Revised variables to correspond to settings.h. - (init_glob) Initializes variables from settings.h properly. - - * set.q: Began long-overdue major revision to correspond to new - philosophy. Most code changed. - - * settings.h: Mostly changed; reorganized, reordered, large new - comment. - -Thu Nov 28 19:46:10 1996 Ben Pfaff - - * get.c: (cmd_save_internal) No longer forces compression off. - - * sfm-read.c: (read_compressed_data) If eof is reached when - reading a new instruction octet, only signal error if we're in the - middle of a case. - - * sfm-write.c: (COMPRESSION_BIAS) New #define. - (struct sfm_fhuser_ext) New member `end'. - (write_header) Refers to COMPRESSION_BIAS instead of magic 100.0. - (ensure_buf_space) New function. - (sfm_write_case) Reimplemented in order to support compression. - (sfm_close) Writes out the remaining contents of the compression - buffer if any. - -Wed Nov 27 23:18:35 1996 Ben Pfaff - - * command.c: Defined SAVE and XSAVE commands in command table. - - * common.h: second_lowest_value is of type flt64, not double. - - * file-handle.h: Comment fix. - - * get.c: Comment fixes. - (static var `trns') New. - (save_write_case_func, save_trns_proc, save_trns_free, null_func, - cmd_save_internal, cmd_save, cmd_xsave) New functions. - (dict_delete_run) Clears the variables and frees them now. - (trim_dictionary) Sets default for compression. - On KEEP subcommand, frees deleted variables as well as clearing - them. Finally got the sense of the test for deleting all - variables correct. - [DEBUGGING] (dump_dict_variables) Message fix. - - * glob.c: (init_glob) set_compression set to 1 by default. - - * list.q: Properly #includes config.h. - - * misc.h: New macro REM_RND_UP. - - * settings.h: Comment fix. - - * sfm-read.c: (structs sysfile_header, sysfile_format, - sysfile_variable; inline function bswap_int32) Moved to new file - sfmP.h. - (corrupt_msg) [__CHECKER__] No longer induces segfault. - (sfm_read_dictionary) Fixed bug caused by failing to initialize - var_by_index. - (read_machine_flt64_info) Fixed some problems caused by confusion - between flt64 and double types. - (read_header) Message fix. - (read_variables) Fixed set of cases in which we byte-swap sv.print - and sv.write. Fixed confusion of flt64 and double. - - * sfm.h: (struct sfm_write_info) New. - - * som-high.c: (som_draw_title) Properly frees `s'. - - * temporary.c: (save_dictionary) Comment fix. - - * var.h: Comment fixes. New FMT_* enum, FMT_NUMBER_OF_FORMATS. - (struct trns_header) Formatting fix. - (struct save_trns) New. - - * vars-atr.c: (discard_variables) Comment fix. - - * sfm-write.c: New file, baseline release. - - * sfmP.h: New file, baseline release. - -Sun Nov 24 14:53:53 1996 Ben Pfaff - - * cmdline.c: (parse_command_line) `--version' output updated. - (glob var syntax_message[]) Added my e-mail address. - - * file-handle.q, lexer.c, vfm.c: Changed many instances of - `illegal' to `invalid'. - - * sfm-read.c: (struct sfm_fhuser_ext) New fields used as - uncompression buffer. - (sfm_close) Frees decompression buffer. - (sfm_read_dictionary) Initializes decompression buffer. - (buffer_input, read_compressed_data) New functions. - (sfm_read_case) Restructured; now calls read_compressed_data() to - handle compressed system file data. - - * var.h: Comment fix. - -Mon Nov 11 15:34:09 1996 Ben Pfaff - - * dfm.c: (dfm_close) Does not set h->{ext,class} because the - caller handles it. - - * get.c: New comments. New static var `get_file'. - (cmd_get) Now fully implemented. Calls discard_variables(); - initializes fv and lv for all variables; new debug code; sets - up the dictionary; sets up the input program. - (read_from_get, cancel_get) New functions. - - * sfm-read.c: Comment fixes. - (sfm_close) New static function. - (sfm_read_dictionary) Properly sets up the class of the - file_handle. No longer cares what size the data is in records of - type 7. Also, on failure, properly cleans up the file_handle and - free()s some stuff. - (read_variables) No longer thinks it knows `nval' of the - dictionary. Now sets p.get.fv, etc., instead of speculatively - setting fv itself. - (read_value_labels) Fixed off-by-one error in indexing of - var_by_index[]. - (sfm_read_case) New function. - (sfm_r_class) New static var. - - * var.h: (get_proc) New struct. - (struct variable) New member p.get. - -Thu Nov 7 20:52:28 1996 Ben Pfaff - - * get.c: Removed GTSV_OPT_MAP because of a misinterpretation of - the manual's meaning. - (rename_variables) New function. - (trim_variables) Doesn't try to parse MAP any more. Removed debug - code. Now properly reorders the dictionary on the KEEP keyword. - - * sfm-read.c: (read_value_labels) Fixed some bugs regarding - garbage collection. - - * vars-atr.c: (clear_variable) New argument `dictionary *'. - (rename_variable) New function. - (free_val_lab) Reformatted. - -Thu Nov 7 17:29:16 1996 Ben Pfaff - - * var.h: Reindented entire file. Comment fixes. - (glob vars var, var_by_name, nvar, N, nval, n_splits, splits) - Removed. - (glob var default_dict) New. - (struct indirect_dictionary) Removed. - - * Many other source files were changed to add `default_dict.' - before all references to the dictionary of the active file. - - * vars-atr.c: (make_indirect_dictionary) Removed. - - * glob.c: Reindented all variable declarations. Updated for - changed var.h. Comment fixes. - - * temporary.c: (restore_dictionary, save_dictionary) Simplified - because now we can mainly copy dictionary structs. - - * vars-prs.c: (is_dict_varname, parse_dict_variable, - parse_variables) Takes dictionary instead of indirect_dictionary - first argument. - (parse_variables) Instead of calling make_indirect_dictionary, - just sets DICT to &default_dict if DICT is NULL. Of course, lots - of `*dict.' references had to be changed to `dict->'. Removed - debug code. - -Thu Nov 7 15:48:52 1996 Ben Pfaff - - * get.c: Added GTSV_OPT_* series of enums. - (trim_dictionary, dict_delete_run) New functions. - [DEBUGGING] (dump_dict_variables) New function. - (cmd_get) Calls trim_dictionary() to get dictionary fully set-up. - [DEBUGGING] Calls dump_dict_variables() to display results. - - * glob.c: (cmp_variable) Now a public function declared in var.h. - - * sfm-read.c: Turned off debug code. Comment fixes. - (read_machine_int32_info, read_machine_flt64_info) New functions - to parse type 7 records. - (sfm_read_dictionary) Properly byteswaps several fields now. - Calls read_machine_*_info() to parse type 7 subtypes 3 and 4 - records. [DEBUGGING] Dumps dictionary. - (read_variables) Sets `index' field of variables created properly. - Constructs avl tree of variables in dictionary. [DEBUGGING] No - longer dumps dictionary. - (read_value_labels) Properly byteswaps fields. [DEBUGGING] New - debug code. - [DEBUGGING] (dump_dictionary) No longer stubbed out. - - * temporary.c: (restore_dictionary) Destroys `var_by_name' glob - var before destroying any variables just to save a little time. - - * var.h: (struct variable) Reordered in order to make name[] the - first member; this makes pointers to `variable' pointers to the - variable name, simplifying avl trees, etc. - (struct indirect_dictionary) New struct. - - * vars-atr.c: (find_variable) Rewritten for efficiency. - (make_indirect_dictionary, is_dict_varname, parse_dict_variable) - New functions. - (is_varname) Rewritten for efficiency. - (parse_variables) New argument, which is a `dictionary *'. All - references changed. This function now reads variable names from - the dictionary passed, or from the default dictionary if NULL. - -Tue Nov 5 18:34:59 1996 Ben Pfaff - - * misc.h: Added new macro DIV_RND_UP to perform integer division, - rounding up. Changed many references to ROUND_UP to use this - instead. - - * sfm-read.c: Includes avl.h. - (corrupt_msg) Induces a segfault under Checker. - (macro assertive_bufread) New. Many references to bufread() now - use this instead. - (sfm_read_dictionary) Split up into several functions. Added code - to read dictionary records following the the type 2 records. Not - quite complete. New variable `var_by_index'. - (read_header, read_variables) New functions extracted from - sfm_read_dictionary(). - (read_value_labels) New function. - (bufread) Checks ferror() if fread() doesn't return the expected - value; if ferror() is zero it's just EOF. - (dump_dictionary) Stubbed out. - - * BTW: The source code now exceeds 50000 lines! - -Mon Nov 4 22:03:28 1996 Ben Pfaff - - * command.c: Added GET to cmd_table[]. - - * list.q: Removed reference to alloca headers. - (cmd_list) Gave prototype. - - * sfm-read.c: Added DEBUGGING comments. - (sfm_read_dictionary) Checks bias correctly. Sets - dict->var_by_name to NULL. Calculates long_string_count - correctly. realloc's dict->var[] array to minimum size. - [DEBUGGING] Calls dump_dictionary. - [DEBUGGING] (dump_dictionary) New function. - - * temporary.c: (save_dictionary) Sets var_by_name to NULL. - (restore_dictionary) If the dictionary contains a non-NULL - var_by_name, uses that instead of generating one. - (free_dictionary) Destroys var_by_name. - - * var.h: (struct dictionary) Added field `var_by_name'. - - * get.c: New file, not complete. - -Sun Nov 3 12:24:36 1996 Ben Pfaff - - * mis-val.c: New enums MV_NOR_*. New struct num_or_range. - (parse_num_or_range) New function. - (parse_numeric) Reimplemented in order to support LOW THRU and - THRU HIGH missing values. - - * output.h: [__GNUC__>1 && __OPTIMIZE__] (width, height) Made - __attribute__((const)). - - * q2c.c: (get_token) Merged isdigit || isalpha into isalnum. - - * sfm-read.c: Finished reference implementation. - - * sfm.h: Includes var.h. - - * var.h: Comment fixes. - (struct `variable') Reordered some fields. - - * vars-atr.c: (is_num_user_missing) Added support for MISSING_* - constants added previously. - -Wed Oct 30 17:13:08 1996 Ben Pfaff - - * common.h: Comment fixes. Added declaration of - `second_lowest_value' as variable or macro. Made `compat_type', - `pgm_state_type' into anonymous enums. - - * display.c: Comment fix. - - * glob.c: [ENDIAN==UNKNOWN] Added definition for `endian' global - var. - [!defined SECOND_LOWEST_VALUE] Added definition for - `second_lowest_value' global var. - (compat, pgm_state global vars) Changed types to `int'. - (init_glob) Initializes `second_lowest_value'. - - * sfm-read.c: Continued work, not complete. - - * var.h: Added new MISSING_* constants to handle LOWEST and - HIGHEST. - -Sat Oct 26 23:06:06 1996 Ben Pfaff - - * sfm-read.c: New file, not complete. - - * cases.c: (vec_insert) Changed vector expansion algorithm. - (vec_delete) Fixed bug that screwed up deletion sometimes, it was - mucking up the RECODE transformation in particular. - (envector) Harmless change in notation. - - dfm is now fairly well tested again. - * dfm.c: (dfm_get_record) Only returns ext->ptr if ext is - non-NULL--duh. - (cmd_begin_data) if(ext->line) replaced by if(ext && ext->line). - - * recode.c: Comment fix. - - * sfm.h: Interface should be fairly final now, or at least for a - day or so... - - * vfm.c: [DEBUGGING] (index_to_varname) New function. - (open_active_file) [DEBUGGING] Translates ccase indices into - variable names now to make it easier to understand what's really - going on. - -Sat Oct 26 20:46:31 1996 Ben Pfaff - - * data-in.c: Comment fix. - - * data-list.c: Includes dfm.h. - (do_reading) Uses new function dfm_push_cust(). - - * data-out.c: (convert_time, convert_WKDAY, convert_MONTH) Added - `return 1;' at end. - - * file-handle.h: Completely changed. Some parts split off into - new file dfm.h. Implemented in file-handle.q. - (enum FH_*) Removed. - (struct fh_ext_class) New struct. - (struct file_handle) Retained only these fields: name, norm_fn, - fn, recform, lrecl, mode. New fields class, ext. - (get_handle_by_name, get_handle_by_filename, parse_file_handle, - close_handle, handle_name) Added `fh_' prefix to name, all - references changed. - - * dfm.h: New file, implemented in dfm.c. - (get_record, put_record, fwd_record, bkwd_record, set_record, - get_cur_col) Functions moved from file-handle.h, now prefixed with - `dfm_'. - (dfm_push_cust) New function. - - * sfm.h: New file. Incomplete. - - * dfm.c: All functions adjusted/rewritten for new dfm/fhp - interface. Functions reordered, comments changed. Not well - tested, probably full of bugs. - (struct dfm_fhuser_ext) New struct. - (dfm_close) New function. - (open_file_r) Pickier about finding `BEGIN DATA.' line. - (open_file_w) User messages changed. - (get_record) Comment fixed. - (read_record) Increments ext->ln even for inline_file. Calls - dfm_close() for inline_file when `END DATA.' encountered. - (dfm_get_record) Experimental restructuring. - (dfm_push_cust) New function. - (cmd_begin_data) Detects whether the inline file was fully read by - checking whether it is still open; detects whether it was read at - all by checking whether the line number is greater than zero. - - * file-handle.q: All functions adjust/rewritten for new dfm/fhp - interface. Functions reordered, comments changed. Not well - tested, probably full of bugs. - (init_file_handle) Removed initializers for obsolete fields, added - new fields. - (fh_close_handle) Much simpler, now mainly calls the class - function. - (fh_init_files) Renamed inline file internal filename. - - * file-type.c: Includes dfm.h. - (read_from_file_type) Doesn't use dfm internal state anymore. - - * inpt-pgm.c, print.c: Include dfm.h. - - * recode.c: (internal_cmd_recode) Casts strlen() return value to - int in comparison with other int. - - * som-high.c: (build_target) Fixed operator precedence problem in - if statement (& versus ==). - -Sat Oct 26 10:39:25 1996 Ben Pfaff - - * dfm.c: (read_record) Can now read fixed-length records; not - tested. - (put_record) Can now write fixed-length records; not tested. - - * file-handle.h: FH_* defines changed to enums. New enum series - FH_RF_*, FH_MD_*. - (struct file_handle) New members recform, lrecl, mode. - - * file-handle.q: Parser changed. - (internal_cmd_file_handle) Added support for new /RECFORM, /MODE, - /LRECL subcommands. These are compatible with Windows. - (init_file_handle) Initializes recform, mode fields. - - * q2c.c: (get_line) When outputting `!' comment lines, now - increments the output file line number so that `#line' directives - are correct. - (make_identifier) New function that converts an arbitrary string - into a valid C identifier. - (dump_vars) Calls make_identifier() in two places in order to - suppress some errors for bad identifiers. - (make_match) Allows TRUE as synonym for YES and FALSE as synonym - for NO. Allows numbers to be prefixed by underscores to make them - acceptable C identifiers but still to be parsed as numbers by the - Fiasco lexer. - -Thu Oct 24 20:13:42 1996 Ben Pfaff - - * command.c: Re-enabled RECODE, SAMPLE, SELECT IF. - - * dfm.c: Comment fixes. (get_record) Gives error if file handle - was opened for writing. - (open_file_w) New function. - (read_record) Uses strncasecmp if available. Improved error - messages, comments. - (put_record) New function. - - * file-handle.h: Moved function comments into dfm.c and - file-handle.q. Comment fixes. Removed declarations of - tilde_expand() and normalize_filename(). - (struct file_handle) Changed `open' from boolean to enumerated - field to allow for three states--closed, open for reading, open - for writing--all references changed. - - * file-handle.q: Includes filename.h. - - * print.c: (CMD_* enums) Renamed PRT_* and moved into var.h; all - references changed. - (alloc_line) Makes allowance for line terminator characters in - calculations. - (print_trns_proc) Now handles OUTFILE, WRITE differences. - (print_space_trns_proc) Handles OUTFILE differences. - - * recode.c, sample.c: Comment fixes. - - * var.h: (struct print_trns) Changed boolean field `eject' to - bitmapped field `options'; all references changed. New enums - PRT_* for use with this field. - - * exception.h, test-exception.c: Removed. - -Thu Oct 24 17:47:14 1996 Ben Pfaff - - * ascii.c: (delineate) Turned off debug output. - - * common.c: [Checker and Linux] (__assert_fail, __eprintf) Moved - to error.c. - - * data-in.c: (parse_string_as_format) Sets the entire string value - to spaces, not just the short string part of it. Is this correct - now? - - * data-out.c: (convert_date) Fixed DATETIME format problems with - decimal places, removed debug code. - - * dfm.c: (open_file_r) Fixed bug where an error would occur in the - middle of parsing BEGIN DATA that would cause the lexer to read - from a wild pointer `prog'; now calls new function - preprocess_line() in lexer.c. - - * error.c: [__CHECKER__] (hcf) Calls induce_segfault() on improper - termination. - [Checker and Linux] (__assert_fail, _eprintf) Moved from common.c. - Now call induce_segfault() to induce the segfault. - (induce_segfault) New function. - - * expr-opt.c: Comment fix. - (parse_sysvar) New function. - (parse_primary) Added system variable support--calls - parse_sysvar(). - (global var ops) Added OP_CASENUM operator. - - * expr.h: Comment fixes. - (OP_* enum) added OP_CASENUM operator. - (struct casenum_node) New struct. - (union any_union_union) New member `cas' of type `casenum_node'. - - * glob.c: (global var last_vfm_invocation) New var. - (init_glob) Initializes last_vfm_invocation. - - * lexer.c: (lookahead) Fixed reversed condition on if statement. - - * getline.c: (get_line) Split into get_line() and preprocess_line(). - (preprocess_line) New function. - - * var.h: Declares last_vfm_invocation. - - * vfm.c: (procedure) Sets last_vfm_invocation. - -Wed Oct 23 21:53:43 1996 Ben Pfaff - - * command.c: (parse_cmd) Fixed bad assertion related to - lookahead(). - - * data-in.c: (parse_month) Implemented to parse months according - to full interpretation of standard. - (to_roman) New function. - (parse_wk_delimiter) Bug fix (forgot to skip `WK' in string). - (parse_weekday) Bug fix (forgot to skip all the day name). - - * data-list.c: (read_from_data_list_fixed) Fixed bug that screwed - up parsing of multirecord data items. Also fixed user message. - - * data-out.c: Comment fix. - (year2, year4, convert_date, convert_time, convert_WKDAY, - convert_MONTH) New functions to support time & date output. - (convert_format_to_string) Calls new time & date output routines. - - * expr-prs.c: (nary_num_func) Found a bug, but didn't fix it yet. - - * lexer.c: (lookahead) Noted a previously unnoticed caveat in - comment. - - * main.c: [DEBUGGING] (dump_token) Updated to handle getline.h. - - * misc.c: (global var formats) Fixed declarations of DATETIME, - TIME, DTIME. - - * postscript.c: (text) Fixed a pair of bugs in the reallocation of - the output_char buffer. - - * vars-prs.c: (parse_DATA_LIST_vars) Fixed a failure to free - memory bug. Fixed user messages. - -Tue Oct 22 17:27:04 1996 Ben Pfaff - - * Removed #pragma argsused from lots of places. - - * data-in.c: Implemented zoned decimal and time-date formats. - Untested. This is a huge chunk of code--maybe 1000 lines and 50 - new functions. - - * data-out.c: Implemented zoned decimal format. - - * expr.h: Moved yrmoda() declaration here from exprP.h. - - * misc.c: (global var formats) Minor fixes--added - FCAT_SHIFT_DECIMAL to formats N and Z. - (convert_fmt_ItoO) Added support for format Z. - - * som-frnt.c: (som_set_value) Fixed bug regarding string values. - -Mon Oct 21 20:39:59 1996 Ben Pfaff - - * command.c: (parse_cmd) [GLOBAL_DEBUGGING] Inserted call to - som_check_workspace() that is activated between commands. - - * data-list.c: (dump_fixed_table, dump_free_table) Finished these - for good, I hope. - - * list.q: (begin_row) Changed title expansion style from - SOPT_X_VERT to SOPT_X_SHSP. - - * som-frnt.c: Now includes `somP.h'. - (som_push_workspace, som_pop_workspace) New functions that, taken - together, form a solution to the recursive table building problem - mentioned yesterday. Surrounded every table output routine - throughout the program with calls to these functions. - [GLOBAL_DEBUGGING] (som_check_workspace) New function. - (som_create_table) Checks that there's an active workspace. - (som_destroy_all_tables, som_crush) Removed. - - * som-high.c: (global var som_preserve_tables) Removed, all - references deleted. - (som_submit_table) Checks that there's an active workspace. - (dump_columnated_table) Doesn't columnate tables that would have - just one row per column. - (dump_crush_page, som_dump_crush_page) Removed debugging code. - (som_dump_crush_page) Moved row number labels from left side of - tables to right side. - (som_get_table_size) Added support for SOPT_X_SHSP. - - * som.h: New cell expansion type SOPT_X_SHSP. - - * somP.h: (global vars arena_stack, n_arena_stack, m_arena_stack) - New vars. - (global var curtab_arena) Moved from som-frnt.c. - -Sun Oct 20 13:45:28 1996 Ben Pfaff - - * ascii.c: [GLOBAL_DEBUGGING] (SUPPRESS_WARNINGS) New debug option - that causes bad location warnings to be suppressed. - (delineate) Saves current font when calling draw_text(); fixed - handling of NULLs when backing up. Also fixed line-wrapping bug. - - * command.c: Re-enabled `LEAVE', `NUMERIC', `PRINT', `PRINT EJECT', - `PRINT FORMATS', `PRINT SPACE', `STRING', `TITLE', `WRITE'. - - * common.c: Added code to cause assertion failure to dump core - when run under Checker. - - * data-list.c: (dump_fixed_table) Fixed some inconsistencies, but - there are still bugs. - - * glob.c: (__eprintf) Removed. - - * list.q: Inserted som_preserve_tables kluge that prevents tables - from being thrown away due to recursive table building through - som_output_line being called from a transformation during the LIST - procedure invocation. This is a general problem that must be - solved in a better way since it applies to all procedures in - general. - (begin_row) Changed title options to SOM_X_VERT from SOM_X_BOTH. - (flush_table) Removed SOM_TOPT_PRESERVE from submission options. - - * numeric.c: Fixed several errors in the form of msg() calls. - - * print.c: Updated for use of som. - (dump_table) Reimplemented. - (print_trns_proc) Calls som_eject_page() instead of eject_page(). - Calls som_output_text() instead of outs_line(). - - * som-frnt.c: (som_destroy_all_tables) Sets som_preserve_tables to - 0. - (som_output_text) Function moved from som-low.c. Interface - changed. - - * som-high.c: (som_preserve_tables) New global public variable - declared in som.h. - (som_submit_table) Destroys the tables only if som_preserve_tables - is 0. - (paginate_horizontally) Bugfix: sets som.mpw even if there's only - one subrow per row. Now labels subrows if there's more than one - subrow per row. - (dump_crush_table) Added wishlist comment. - (som_eject_page) New public function declared in som.h. - - * som-low.c: (som_dump_crush_page) Draws row labels if there's - more than one subrow per row. - (som_output_text) Moved to som-frnt.c. - - * som.h: (SOM_TOPT_PRESERVE) Removed. - - * title.c: (get_title) Changed interface. - (cmd_title) Changed `title' to `outp_title'. - (cmd_subtitle) Changed `subtitle' to `outp_subtitle'. - -Sun Oct 20 09:04:15 1996 Ben Pfaff - - * list.q: (flush_table) Conforms to new partial options in - som_submission_form. - - * som-high.c: (paginate_horizontally) Changed form of subrow - number labels. - (build_target) Omits spacing before table if - SOM_TOPT_PARTIAL_OMIT_TOP is selected. - (dump_crush_page) Changed interface. Only trims bottom rule if - SOM_TOPT_PARTIAL_OMIT_BTM is not selected. - (dump_crush_table) Handles partial tables. - (output_row_label) New function. - (som_dump_crush_page) Emits subrow number labels. Draws vertical - rule on the right edge of narrow subrows. - - * som.h: Changed SOM_SUB_PARTIAL_* series of submission type - constants to a series of SOM_TOPT_PARTIAL_* submission options. - All references updated. - -Fri Oct 18 19:46:49 1996 Ben Pfaff - - * misc.c: Comment fix. - - * som-high.c: (examine_table) Treats crushed tables separates for - purpose of determining header size. - (paginate_horizontally) Allots space for line numbers in crushed - tables with lots of subrows per row. Calculates the `maximum page - width', the width of the widest horizontal page. - (build_target) Removed trim argument; all references changed. - Stricter assertions. (dump_crush_page) New function. - (dump_crush_table) Reimplemented. - - * som-low.c: (som_dump_page) Uses new RULE_ROW &c. constants. - (som_dump_crush_page) Reimplemented, interface changed. - - * somP.h: Many many new helper macros for use with crushed tables. - (global var som) Removed `tv', `cum_y' members; all references - removed. New members `mpw', `digit_space'. - -Sun Sep 29 19:37:03 1996 Ben Pfaff - - * arena.c: (arena_alloc) [!DISCRETE_BLOCKS] Removed `size' - variable, changed to constant 1024. - (arena_ca_strdup) Changed `sizeof(a_string)' to - `sizeof(c_string)'. - (arena_ca_strdup) [!DISCRETE_BLOCKS] Changed bad cast from - `(c_string *)' to `(char *)'; this fixed some offset problems. - - * filename.c: (readlink_malloc) Changed initial allocation from - 100 bytes to 128. - (good_getcwd) Changed from xmalloc() to local_alloc(); removed - comment. - - * postscript.c: (read_fontmap) Fixed leak by changing &owner to - &fm->owner in several places. - - * som-high.c: (output_table) Changed interface to rest of world. - (examine_crush_table) Removed. Crushed tables are re-broken now, - in preparation for rewrite. - - * som.h: Comment fix. - -Sat Sep 28 21:28:07 1996 Ben Pfaff - - * ascii.c: (ascii_init_driver) Disposes of x->file.filename and x - itself in the cleanup stage. - - * descript.q: (display) At least temporarily, changed the table - format to a crushed table. - - * list.q: (begin_row) At least temporarily, added horizontal lines - between cases. - - * som-high.c: (examine_crush_table) Sets som.hh to the width of - the horizontal "headers," that is, to the width of the far left - and far right rules. - (justify_pagination) Sets som.th to the width of the widest row - in the crushed table. Fixed inner loop off-by-one error. - - * som-low.c: (som_dump_crush_page) Added code to draw horizontal - rules. - - * somP.h: Comment fix. - -Fri Sep 27 20:08:39 1996 Ben Pfaff - - * filename.c: (open_file_ext) Now, doesn't set f->file to NULL - before closing it; also, opens the constructed filename `s' - instead of f->filename. - - * postscript.c: Moved initialization of x->loaded, x->prop, - x->fixed, x->current, also the add_encoding() calls, into - postopen(). - (preclose) Destroys x->combos; sets x->loaded, x->combos to NULL; - sets x->last_font to NULL; sets x->next_combo to zero. - - * som-high.c: (crushed_row_height) Moved definition farther up. - (som_submit_table) Doesn't calculate line width, font size until - after calling open_page(), to accomodate changes to PostScript - driver. - (vert_headers) Removed; equivalent functionality moved to - examine_table(), examine_crush_table(). - (justify_pagination) Replaced with different algorithm. - (dump_crush_table) Bugfix that caused tables to fail to be clipped - at the bottom of the page. - -Thu Sep 26 22:20:26 1996 Ben Pfaff - - * command.c: Added cmd_list back into cmd_table. - - * freq.c, frequencies.q, repeat.c, list.q, vars-atr.c, vfm.c: - Comment fix: `#define DEBUGGING' --> `#define DEBUGGING 1'. - - * list.q: (flush_table) Updated to new som_submission_form format. - - * som-frnt.c: Comment fix. - - * som-high.c: Changed `#endif' to `#undef EXTERN'. - (output_table) Calls som_get_table_size() directly; handles - crushed tables. - (examine_crush_table) New function; calls vert_headers(). - (examine_table) Moved some code into new function, vert_headers(). - (justify_pagination) New function. - (dump_plain_table) Removed `static' from `cy'. - (dump_crush_table) New function. - - * som-low.c: (som_dump_crush_page) New function. - - * som.h: Comment fixes. - (enum SOM_TOPT_CRUSH) New. - (SOM_SUB_PARTIAL_BEG, SOM_SUB_PARTIAL_MID, SOM_SUB_PARTIAL_END) - Temporarily set to zero to make do with LIST procedure. - - * somP.h: Re-ordering. - -Wed Sep 25 19:36:11 1996 Ben Pfaff - - * som.c: Split into som-frnt.c, som-high.c, som-low.c. - - * somP.h: New file for use by som-high.c, som-low.c. - - * q2c.c: Added definition for VME. - (get_line) Now dumps `!' comment lines to the output file - verbatim. - - * crosstabs.q, descript.q, file-handle.q, frequencies.q, list.q, - set.q: Changed format of `!' comment lines. - -Tue Sep 24 18:39:09 1996 Ben Pfaff - - * All source files: Added copyright notice. - - * common.c: (xmalloc, xrealloc, xstrdup) Cast size_t's to unsigned - longs in msg() calls. - - * con32s.c: (xmalloc, xrealloc) Updated from common.c. - - * q2c.c: (xmalloc, xrealloc, xstrdup) Updated from common.c. - -Sat Sep 21 23:16:31 1996 Ben Pfaff - - * output.c: (outp_read_devices) Changed criteria for - distinguishing different types of lines. - -Fri Sep 20 22:52:28 1996 Ben Pfaff - - * cmdline.c: Changed syntax message. - - * filename.c: (good_getcwd) Bug fix (?). - (normalize_filename) [__BORLANDC__] Uses _fullpath() library - function. - (search_path) Appends DIR_SEPARATOR to directory name only if it - does not already end with one. - - * glob.c: Checks STAT_PAGER envvar before PAGER. - - * output.c: Checks environment variables instead of just local - macros. - -Tue Sep 10 21:39:00 1996 Ben Pfaff - - * arena.c: (arena_destroy) Swatted a subtle bug that cropped up - when the pointer passed to the function was within the arena - itself, so that it couldn't properly be set to NULL _after the - arena was freed_. - - * command.c: Re-enabled DISPLAY. - - * display.c: Rewritten to handle tables. Untested. - - * filename.c: (search_path) Fixed memory leak. - - * frequencies.q: (cmd_frequencies) Frees v_variables. - (postcalc) Calls cleanup_freq_tab() after displaying statistics. - (cleanup_freq_tab) New function to garbage collect. - (dump_full) Elegantized. - - * main.c: New comment. - - * output.h: New tag for tagged quotes: TAG_NEWLINE. - - * postscript.c: Comment fix. - (release_fontmap, free_font_entry) New functions. - (ps_init_driver) Sets free_font_entry() as the freefunc for - hashtable `loaded'. Calls release_fontmap() when destroying a - driver; also frees the output filename; also frees the - ps_driver_ext block. - (free_ps_encoding) Frees the filename as well as the encoding - block. - (output_encodings) Frees the line buffer and pops the msg-filename - stack. - (read_fontmap) Frees the fontmap filename and the line buffer. - (postopen, preclose) Misc. garbage collection fixes. - (ps_open_page) Destroys the `combos' hash table; sets `last_font' - to NULL; this fixes some output problems. - (text) Handles TAG_NEWLINE. Untested. - - * som.c: (cell_byte_size) Merged SCON_VALUE and SCON_TEXT cases. - (som_set_string) Removed. All references changed to - `som_set_text'. - (som_set_text) Rewritten. New interface. More general. - - * som.h: Minor format changes. - (struct som_value_cell) Removed; all references changed to - `som_text_cell'. - (enums SOT_*) Changed. - -Mon Sep 9 21:43:13 1996 Ben Pfaff - - * command.c: Re-enabled SPLIT FILE. - - * postscript.c: Comment fix. - - * som.h: Added `SOT_NONE'. - - * split-file.h: (cmd_split_file) Removed superfluous parenthesis. - - * vfm.c: (dump_splits) Reimplemented. - -Sat Sep 7 22:35:12 1996 Ben Pfaff - - * Compiled the project under gcc 2.7.2, which gave some new - warnings. This led to many additions of casts from unsigned to - int sprinkled throughout the code. - - * arena.c: Many uses of `unsigned' changed to `size_t'. - - * command.c: Added END FILE, END REPEAT to command table. - (var cmd_end_repeat) Renamed cmd_end_repeat_p. - (find_command, FILE_TYPE_okay) Not commented out anymore. - (parse_cmd) Calls FILE_TYPE_okay again. - (output_line) Added calls to som_output_text() to put the line - in the output files. - - * common.c: (macro VME) Format changes. - (xstrdup) Asserts that its argument is not NULL. - - * data-list.c: Implemented dump_fixed_table(). - - * inpt-pgm.c: Formatting changes. Comment changes. - (end_case_proc) Renamed end_case_trns_proc. - (cmd_end_file, end_file_trns_proc) New functions. - - * misc.c: Many uses of `int' and `unsigned' changed to `size_t'. - - * misc.h: (local_strdup) New macro corresponding to strdup() but - allocating its data through local_alloc() if possible--that is, if - GNU C is in use. - - * postscript.c: Comment changes. - (quote_ps_name, quote_ps_string, output_encodings) New functions. - (output_line, add_string) New macros supporting - output_encodings(). - (postopen) Fixed contents of ${fixed-font} and ${prop-font} - substitution vars. Calls output_encodings() when a line - consisting of `!encodings' is encountered. - (preclose) Some code moved into quote_ps_string(). - (dump_line) Changed into macro supporting dump_fancy_line(). - (switch_font) Now outputs DSC "%%IncludeResource: font (...)" - command when appropriate. - (write_text) Fixed `literal_char' array (I think it's fixed, at - least.) - (text) Fixed bug when width was zero. Now exits immediately on - zero height_left. Now, when executing `goto restart;', checks - that cp `if(px!=-1 || py!=-1)'. - (build_target) Only inserts spacing if SOM_TOPT_SPACING not - selected. - (som_text_table) Removed. - (som_output_text) New function. - - * som.h: (struct som_submission_form) Removed `header', `reuse', - replaced with bitmapped field `options'. - (SOM_TOPT_*) New enum set for som_submission_form.options. - (SOT_*) New enum set for som_output_text(). - - * temporary.c: (copy_variable) When copying the var label, only - calls xstrdup() if it's non-NULL. - - * var.h: (enum type `vartype') Removed; all references changed to - `int'. - - * vars-atr.c: (init_variable) Changed local var `nbytes' from - `int' to `size_t'. - -Thu Sep 5 22:05:56 1996 Ben Pfaff - - * font.h: Comment changes. - - * groff-font.c: (groff_read_font) Initializes `name' field to - NULL. Handles `encoding' field. - - * hash.c: (hsh_dump) [GLOBAL_DEBUGGING] Output formatting changes. - - * postscript.c: (struct font_entry) Removed `position' field. - (struct ps_font_combo) New struct. - (struct ps_driver_ext) Removed field `next_position'. New fields - `combos', `next_combo'. `last_font' field changed from - `font_entry *' to `ps_font_combo *'. - (ps_init_driver) Reformatted; handles new fields. When - OPO_AUTO_ENCODE is set, adds the two default fonts' encodings to - the encoding list. - (get_encoding, find_encoding_file) New functions. - (add_encoding) Some code moved out into find_encoding_file(). - (postopen) Changed value for ${title}. - (preclose) Sets `loaded' field to NULL after destroying the hash - table. - (ps_open_page) Added comment. Inits the `combos' and `next_combo' - fields. - (ps_text_set_font_by_position) Figures out the current family if - not known. - (compare_ps_combo, hash_ps_combo, free_ps_combo) New functions. - (switch_font) Implemented. - (write_text) Calls switch_font() more often. Format changes. - #undefs its macros after they're no longer useful. - (text) Changed `continue' at one point to a jump to the top of the - loop because we don't want `separate' reset to 0 at that point. - (load_font) No longer sets `position' in the font_entry created. - -Wed Sep 4 21:45:35 1996 Ben Pfaff - - * font.h: (struct font_desc) New member `encoding', which is not - properly handled yet. - - * glob.c: (init_glob) Some new i18n code, which is probably - screwed up. - - * output.c: (outp_read_devices, outp_get_paper_size) Changed - `size' local from `int' to `size_t'. - - * postscript.c: New driver configuration parameter `auto-encode'. - New enums OPO_AUTO_ENCODE, ODA_COUNT. - (struct font_entry) New member `position'. - (struct ps_driver_ext) Reordered. New hash table member - `encodings'; new members `next_position', `next_encoding', - `last_font'. Members `current', `prop', `fixed' changed from type - `font_desc *' to `font_entry *'; all references changed. - (struct ps_encoding) New struct. - (read_ps_encodings, compare_ps_encoding, hash_ps_encoding, - free_ps_encoding, add_encoding) New functions. - (ps_init_driver) Added OPO_AUTO_ENCODE to default - x->output_options. Initializes new members of ps_driver_ext. - Changed default value for prologue_fn, encoding_fn. Calls - read_ps_encodings after loading default fonts. - (option_tab[], ps_option) Handle new configuration parameter. - (switch_font) New function. - (struct output_char) `font' member changed from `font_desc *' to - `font_entry *'. New member `separate'. - (read_fontmap) Changed `size' from `int' to `size_t'. - (output_line, put_number) New macros for write_text(). - (write_text) Optimizes text output by consolidating multiple - calls to PostScript `show' operator. - (text) Keeps track of when text arguments can't be consolidated by - write_text(), and marks those spots in the output stream. - (load_font) Sets `position' of the allocated font_entry to -1, cuz - the font hasn't been switched to by switch_font(), which is where - the position is important--the PostScript is what cares about the - position. - -Sat Aug 31 23:52:38 1996 Ben Pfaff - - * hash.c: (hsh_destroy) Ignores NULL argument. Doesn't try to - call a NULL free_func. - (hsh_rehash) Elegantized. - (hsh_probe) Fix bug that manifested when the table was expanded - and thus had to change location in memory. Good thing - too--otherwise could have been much more subtle. - (hsh_find) [GLOBAL_DEBUGGING] Not stubbed out anymore. - (hsh_foreach) New function for hash table iteration. - - * hash.h: (struct hsh_iterator) New. - - * lexer.c: (parse_tagged_quote) Font and family name strings in - tags are now null-terminated. - - * output.c: (outp_evaluate_dimension) Fixed over-aggressive unit - parsing. - (internal_get_paper_size, outp_get_paper_size) Fixed; now work as - documented. (Never before tested?) - - * output.h: Comment changes. - - * postscript.c: New driver options `optimize-text-size', - `optimize-line-size', `max-fonts-simult'. New enum set for - specing cached line types. Comment fixes. - (struct line_form) New struct. - (struct ps_driver_struct) New members `text_opt', `line_opt', - `max_fonts', `lines'. - (ps_init_driver) Initializes new members of ps_driver_struct. - (user option type enum set) New member `nonneg_int_arg'. - (static var option_tab[]) Supports new options. - (ps_option) Handles new options. - (find_ps_file) Made static. No longer calls hsh_dump(). - (ps_get_var) Made static. - (preclose) Dumps out proper DSC trailer. - (ps_open_page) Elegantized. - (ps_close_page) Calls dump_lines() if appropriate. - (ps_line_horz, ps_line_vert, ps_line_intersection) Reduced to - wrappers around line(). - (int_2_compare, compare_line, dump_line, dump_fancy_line, - dump_lines, hash_line, free_line, line) New functions for support - of line caching. - (write_text, text) Made static. - (text) Added to font support, not finished. - -Thu Aug 29 21:36:41 1996 Ben Pfaff - - * font.h: (struct font_desc) New members ascent, descent. - - * groff-font.c: (groff_read_font) Calculates font ascent and - descent from the ascent and descent of the `d' and `p' characters, - respectively, as per a suggestion on comp.fonts. - - * postscript.c: (ps_open_page, ps_close_page, ps_line_horz, - ps_line_vert, ps_line_intersection) Rewritten to deal with changed - prologue. - (write_text) Handles text right-justification and centering (not - full justification). Still very inefficient. (One output line - per character?!) - (struct output_char) Added fields for font and font size. - (text) Many bugfixes. - -Sat Aug 24 23:26:00 1996 Ben Pfaff - - * cmdline.c: (usage) Calls outp_list_classes(). - - * font.h: Comment fix. - - * groff-font.c: New exported global var `space_index'. - (groff_init) New function to initialize `space_index'. - (hash_kern) Casts result to unsigned. - (font_name_to_index) Renamed font_char_name_to_index. All - references changed. Also, now returns the value of `space_index' - when passed an ASCII space character as an argument. Fixed - handling of nulls. - (font_get_kern_adjust) Changed i from `int' to `unsigned'. - Handles passed NULL pointers properly. - - * lexer.c: (parse_tagged_quote) Comment fix. Better range - checking. - - * output.c: (outp_list_drivers) Removed. Removed all references. - - * output.h: Comment fixes. - - * postscript.c: (ps_open_global) Calls groff_init(). - (output_char) New structure. - (write_text) New function. - (text) No longer stubbed out! Now the output is correct--with a - few exceptions, one of them being that the page has to be held - upside down into a mirror. - -Sun Aug 11 21:31:22 1996 Ben Pfaff - - * font.h: Comment fix. - - * font.c: (name_to_index) Renamed font_name_to_index, made extern. - All callers changed. - (number_to_index) Renamed font_number_to_index, made extern. All - callers changed. - (font_get_kern_adjust, font_get_char_metrics) New functions. - - * output.h: New constant OUTP_T_INTERNAL_DRAW. - - * postscript.c: Changed default line width back to 1/2 point. - (ps_line_horz, ps_line_vert, ps_line_intersection) Now lines are - in the center of the space allotted for them, not just a fixed - offset from the edge of the space; this fixes some bugs. - (ps_line_intersection) Now supports all command line styles. - (ps_text_get_size) Bug fix in computation of em width. - (text) New function, the meat behind ps_text_metrics and - ps_text_draw. Not complete. - (ps_text_metrics, ps_text_draw) Removed the stub taken from - ascii.c; call text(). - -Sat Aug 10 23:28:17 1996 Ben Pfaff - - * arena.c: (arena_free) Assert that the argument is non-NULL. - - * groff-font.c: (add_kern) Calls arena_free() for old_kern if and - only if old_kern is non-NULL. - - * postscript.c: (ps_init_driver) Changed default line width to 1 - point. - (postopen) New prologue variables. - (ps_line_horz, ps_line_vert, ps_line_intersection) Implements some - more of the common line styles properly, but not all. - (ps_text_metrics) Fixed problem with this stubbed out version that - kept it from taking font sizes into account. - -Thu Aug 8 22:31:11 1996 Ben Pfaff - - * arena.c: (arena_malloc) Bug fix. - (arena_dump) [GLOBAL_DEBUGGING] New function. - - * ascii.c: Comment fix. - (count_fancy_chars, delineate) Now static functions. - - * filename.c: (interp_vars) Bug fixes. - - * font.h: Comment fixes. - - * glob.c: (init_glob) Sets set_viewwidth, set_viewlength at - beginning in case we have an error message to display before - initializing the display. - - * groff-font.c: Comment fix. Changed rehash threshold from 2/3 - full to 1/2 full. - (groff_read_font) Bug fixes. - (name_to_index) Increments hash.used. Sets `name' field of hash - entry properly. - (add_kern) Sets kern_max_used after rehashing. Other bug fixes. - - * hash.c: Return type changed. - - * postscript.c: Continued development. Now marks lines on the - paper, but very buggy. - -Sat Aug 3 20:50:35 1996 Ben Pfaff - - * Changed comments in many source files from `/* xxx /* yyy */' to - `/* xxx */ /* yyy */' for cleanliness. - - * arena.c: (arena_sd_strdup) New function. - - * ascii.c: (struct ascii_driver_ext) New member `file'. - (ascii_init_driver) Fills out member `file' for initing; uses - close_file_ext for closing drivers. - (ascii_option) Changed %.*s back to %s because the a_string's are - always null-terminated. - (postopen, preclose) New functions. - (ascii_open_page) Uses new style of open_file_ext. - (ascii_option, commit_line_buf, output_lines) Use ext->file.file - instead of this->output. - (__assert_fail) Removed. - - * cmdline.c: Changed syntax_message[]. - - * error.c: #include's only if the history - library is available, not if just the readline library is - available. - - * filename.c: (expand_line) Removed alloca() support. - (interp_vars) No longer tilde-expands argument. Limit on output - length removed. - (tilde_expand) Now treats argument as path rather than filename. - [!unix] Now is a no-op function. - (search_path) Better verbose message formatting. - (open_file, close_file) Comment fixes. - (close_file) [!unix] Doesn't bother with pipes. - (open_file_ext) Completely rewritten, interface revamped. - (close_file_ext) New function. - - * font.h: Comment changes. - - * frequencies.q: Removed AIX alloca support since it doesn't use - alloca. - - * hash.c: Comment changes & additions. - (hsh_create) Initializes entire table instead of first M entries. - (hsh_probe) Stupid bug fixed. Now it works. - (hsh_dump) [GLOBAL_DEBUGGING] New function. - - * main.c: (parse) Detects EOF properly in token-eating loop. - Should the STOP token have its value changed to 0? - - * misc.c: (blp_getdelim) [HAVE_GETDELIM] Now it's a macro. - (blp_getline) Now it's a macro. - - * output.h: (struct outp_driver) Removed members output, filename. - - * output.c: (outp_init) [!NO_POSTSCRIPT] Installs PostScript - drivers in driver table. - (outp_read_devices) Frees buf. Warns if there are no active - output drivers. - (outp_configure_clear) Sets outp_configure_vec to NULL after - deleting its elements. - (configure_driver, destroy_driver) Removed references to output, - filename members of outp_driver. - (outp_evaluate_dimension, internal_get_paper_size, - outp_get_paper_size) New functions. - - * postscript.c: Continued development. Now links but doesn't make - any marks on the page. Lotsa bugs I suppose. - - * str.c: (strcasecmp) [!HAVE_STRCASECMP] New function. - - * str.h: Comment changes. - -Sat Jul 27 22:32:38 1996 Ben Pfaff - - * Removed dependencies on non-nested comments in several files. - Also removed references to (unix || __unix__) in #if's since - prefh.orig makes those two equivalent. - - * ascii.c: (ascii_open_global) Creates ascii_arena. - (ascii_close_global) Destroys ascii_arena. - (ascii_init_driver) Doesn't create ascii_arena. - (ascii_copy_driver) Removed. - (ascii_option) Possible bugfix regarding %s vs. %.*s with a_string's. - (outp_class ascii_class) Removed ascii_copy_driver reference. - - * frequencies.q: Now can display all statistics except median. - Still not finished. - - * output.c: Handles outp_class.ref_count so output class - destructors are called properly. - (add_class) Sets ref_count to 0. - (configure_driver) Initializes class if ref_count++ is 0. - (destroy_driver) Destructs class if --ref_count is 0. Frees the - class output file name. - - * output.h: (struct outp_class) Removed copy_driver, inited. - Added ref_count. - - * postscript.c: Completely replaced but not finished. - -Tue Jul 23 21:48:36 1996 Ben Pfaff - - * approx.h: #includes . - - * arena.h, arena.c: Many functions changed to take an arena ** - instead of an arena *, for consistency. All callers changed. - (arena_alloc) Now creates a new arena if passed *A that is NULL. - (arena_destroy) Sets *A to NULL. - - * ascii.c: (delineate) Implements OUTP_T_VERT correctly. Removed - assertion that `width' be positive. - - * command.c: Removed #if's from cmd_table. - (walk_cmdtable_func) [0] New function (debug code). - (init_cmd_parser) [0] Dumps out cmd_table (debug code). - (parse_cmd) Doesn't return failure for unimplemented commands. - - * common.h: (SYSMIS) Changed from DBL_MAX to -DBL_MAX. - (SYSCODE) New constant macro. - - * descript.q: Checks for positive n_variables before performing - analysis. - - * file-handle.q: (get_handle_by_filename) Bug fix: passes &f to - avl_find instead of &fp as arg 2. - - * frequencies.g, frequencies.q: Continued updating; now compiles & - works again, but not complete. - - * main.c: Changes to user messages. - - * misc.c: (reverse) [0] New function. - - * settings.h: Comment removed. #includes "common.h". - - * som.c: (som_set_null) New function. - (som_set_value, som_set_string, som_set_text) More detailing - assertions. - (som_set_float) Implemented function. - (dump_columnated_table) Bug fix regarding page breaks. - (draw_cell) Bug fix regarding text that spilled out of a cell. - (draw_intersection, draw_horz_rule, draw_vert_rule) No longer draw - null lines. - (get_cell_size) Support SCON_EMPTY cells. - (get_table_size) When calculating rules' widths and heights, mask - out SLIN_SPACING bit. Added SOPT_X_HLTL support. - - * som.h: (som_any_cell) New option SOPT_X_HTLT. Removed - SOPT_X_SHADE. - (struct som_submission_form) New member `header'; all users - changed. - - * val-labs.c: (get_label) User messages changed. - - * var.h: Changed FREQUENCIES structures. - - * vars-atr.c: (is_num_user_missing, is_str_user_missing) Made - inline. - -Fri Jul 19 19:11:13 1996 Ben Pfaff - - * approx.h: Definition of EPSILON now depends on system's - DBL_EPSILON. Removed GNU C specific code. - (cmpapx) Renamed approx_compare. - - * frequencies.g, frequencies.q: Continued updating; still doesn't - compile. - - * groff-font.c: (name_to_index) Fix bug that kept it from - compiling. - - * hash.c, hash.h: Completed work. - - * var.h: Changes to freq_tab, frequencies_proc. - -Wed Jul 17 21:23:36 1996 Ben Pfaff - - New hashing code. - * hash.c, hash.h: New files. Not completed. - * Makefile.am: Added hash.c to source file list. - * font.h: (struct font_desc) New member kern_size_p. - * groff-font.c: Uses hash.h. - (hashpjw) Moved to hash.c. - (next_prime_power) Rewrote, renamed hsh_next_prime, moved to - hash.c. - (static var hash) New member size_p. - * var.h: Includes hash.h. - (struct freq_tab) Changed AVL_TREE to hash_tab. - - * vars-prs.c: Comment, formatting fixes. - - * frequencies.g, frequencies.q: Continued updating. Not yet - working. - - * formats.c: Bug fix. - -Tue Jul 16 22:10:04 1996 Ben Pfaff - - Increasing parallelism between DESCRIPTIVES and FREQUENCIES. - * descript.g: Comment fixes. - * descript.q: Comment fixes. Moved some declarations into var.h. - Made dsc_info a static table. Updated FIXMEs. - (internal_cmd_descriptives) Beautified. - - * frequencies.q: Started updating into working order. - * frequencies.g: New file analogous to descript.g. - * var.h: Comment fixes. Added structures for FREQUENCIES. - - * som.c: Removed vestiges of crushing and partial table support. - -Sun Jul 14 15:45:31 1996 Ben Pfaff - - * Many more changes to som.c especially, but these will not be - documented as I have resolved to remove them. This patchlevel is - being released solely so that I can fall back to it if I decide - that removing the changes is not a good idea. - -Sat Jul 13 09:58:44 1996 Ben Pfaff - - * som.c: (global var som) New member `cum_y'. - (build_target) Properly handles titles for partial tables. - (dump_partial_beg, dump_partial_mid, dump_partial_end) - Merged into single new function dump_partial(). Fixed problem - with titles on partial tables. - (dump_table) Calls dump_partial() for all parts of partial tables. - (dump_page) Criteria for drawing title changed. - -Fri Jul 12 22:03:36 1996 Ben Pfaff - - * command.c: (cmd_table) Added LIST, WEIGHT. - - * command.c: (cmd_remark) No longer frees `s' since it's not - dynamically allocated. - - * data-out.c: (convert_f) Now correctly handles the case where - abs(v->f)<1 but v->f rounds to a value of 1.00 given the specified - number of decimals. - (som_destroy_all_tables) Removed argument. All callers changed. - (som_vline, som_hline) Argument validity checking corrected. - (som_set_value) Implemented half-heartedly. - (replicate_table) Copies tables piece-by-piece when using Checker. - - * som.h: New line style SLIN_1THIN, currently equivalent to - SLIN_0. New enum set SOM_SUB_*. - (struct som_submission_form) Removed `seq_no'. Added `type'. - - * list.q: Newly working file; uses partial tables. - - * som.c: (som_reduce_table) Renamed som_set_table_height(). - (som_crush) Removed argument `group'. - (global var som) Removed `nt', `seq_no'. Added `type'. - (som_submit_table) Arguments changed. - (output_table) Removed partial table code. - (build_target) New arg; partial table support added. All callers - changed. - (dump_plain_table) Removed partial table code. - (dump_partial_beg, dump_partial_mid, dump_partial_end) New functions. - (dump_table) Supports partial tables. - (dump_page) New argument to allow not drawing top and/or bottom - headers. All callers changed. Supports partial tables. - -Sat Jul 6 22:22:25 1996 Ben Pfaff - - * data-out.c: Changed `#include ' to `#include - "approx.h". - (convert_F) Comment fix. Now won't print `-.000', etc. - - * descript.q: Now Z-scores work, although there appears to - be a bug (which might actually be in data-out.c:convert_F()). - (descriptives_trns_proc, descriptives_trns_free) New functions. - (run_z_pass) Implemented. - - * var.h: Comment fixes. - (dsc_z_score, descriptives_trns) New structs. - (descriptives_trns) Added to any_trns as `dsc'. - - * error.c, error.h: New error class, IS (Installation Script - error), used in those instances where the error is in the - installation, but there is a script file or installation file that - can be usefully referred to. - - * output.c: Change many IE classes to IS classes. - - * cases.c, command.c, common.c, crosstabs.q, expr-evl.c, - frequencies.q, list.q, vars-prs.c, vfm.c: Removed reference to - HAVE_MALLOC_H because Borland C++ alloca() is broken, so why - include the corresponding header? - - * glob.c: (init_glob) Don't malloc term_buffer under Checker. - Don't bail out if termcap can't be read. - - * som.c: (som_destroy_table) Removed. - (som_reduce_table, som_destroy_all_tables) New functions. - (som_crush) New function, not implemented. - - * som.h: New table option STAB_CRUSH. Comment fix. New struct - som_submission_form. Function prototypes revised. - - Outputting huge tables (1000s of rows) a few rows at a time - is supported, though untested. May even break everything. - Actually, the code doesn't even compile right now. - * som.c: (struct som) New fields htv, nt, seq_no. - (som_submit_table) Multiple arguments changed to a single - pointer to struct submission_form. Only increments subtable_num - if seq_no is zero. Only destroys table if it's not going to - be reused. - (replicate_table) New function. - (output_table) Comment fix. - (examine_table) Changed inline code to code calling - replicate_table(). Calculates htv. Supports partial tables. - (draw_title) Removed comment. - (build_target) Only allows for title on first part of partial - tables. - (dump_plain_table) Only resets table chunk number on first part - of partial tables; FIXME: doesn't work quite right. Supports - partial tables. - (dump_page) Titles only on first part of partial tables. - -Fri Jul 5 20:16:19 1996 Ben Pfaff - - * Thanks to an unreliable IDE hard drive, I have spent the last - day reconstructing my Debian GNU/Linux installation and redoing - the previous day's changes--somehow I managed to save every file - except for output.c and output.h. So the following changes could - really be considered independent of the output.c, output.h changes - from Jul 4. - - * output.h, output.c: Moved the outp_configure_vec global var, - outp_names struct, and enum set OUTP_S_* from output.h to output.c. - outp_configure_vec is now static. - -Thu Jul 4 20:20:24 1996 Ben Pfaff - - * The entire philosophy behind configuration of the output drivers - changed. Now there is a termcap-type configuration where drivers - to be read are determined beforehand, rather than parsing the - entire output init file and storing it in memory & deciding what - to actually use later. Faster & more memory-efficient at the same - time, cool. - - * output.c: Comment fix. Removed outp_init_drivers global var. - Removed all references to synonyms. New structure outp_defn. New - global vars outp_macros, outp_configure_vec. - (search_name, delete_name, add_name, check_configure_vec, - expand_name, find_defn_value) New static functions. - (outp_configure_clear, outp_configure_add, outp_configure_macro, - outp_read_devices) New extern functions. - (outp_init) Much functionality moved into outp_read_devices. - (outp_read_devices) Format of output init file changed; name of - file is `devices' rather than `output' to avoid Makefile - conflicts. - (outp_clear) Renamed outp_done. - (outp_list_classes) Bug fix, cleaned up. - (outp_list_drivers) Not implemented anymore. - (outp_configure_driver) Now a static function; simplified; now - interpolates macros; supports new structure. - (outp_enable_driver, match_synonym) Removed; all references - removed. - (find_driver) First argument removed. - - * output.h: Global var outp_init_drivers removed; new structure - outp_names; new enum set OUTP_S_*; new global var - outp_configure_vec; function prototypes for output.c exports - updated. - - * main.c: (main) Calls outp_read_devices() after parsing the - command line. - - * cmdline.c: (parse_command_line) New option -v --verbose; - --version changed to -V. --device option changed syntax to just - take a single device name. Accepts key=value declaration of - output init file macros. Syntax message updated. - - * filename.c: (expand_line) New function. - (interp_environ_vars) Renamed interp_vars; no longer uses - fixed-size buffer. - (blp_getenv) Allows $ARCH and $VER pseudo-environment-vars to be - overridden by real environment vars. - (search_path) Uses verbose_msg() instead of #ifdef'd printf(). - * filename.h: interp_environ_vars() renamed interp_vars(). - - * error.c, error.h: Added extern variable `verbosity', message - class MM. - - * error.c: (vmsg) Support message class MM. - (verbose_msg) New function. - - * descript.q: (generate_z_varname) Bug fix in generation of - Z-score varnames. - (dump_z_table) Bug fix in column headers. - - * ascii.c: (ascii_init_driver) Changed minimum number of lines per - page from 29 to 15. Don't set a default for ops[OPS_INIT, - OPS_DONE]. Writes the uninit string when the driver is closed. - (ascii_open_page) Write the init string before the first page. - (output_shorts) Form of main loop changed from `while' to `for'. - Bug fix with overstrikes: the character is printed *after* the - backspace. Eliminated a lot of `& 0xff' modifiers. - (advance_to_left_margin) New function. - (return_carriage, output_lines) Handle left margin. - -Thu Jul 4 00:35:59 1996 Ben Pfaff - - * ascii.c: New option `carriage-return-style'. - - * ascii.c: (count_fancy_chars) New function. - (delineate, text_metrics) Use new function; bug fixes regarding - rich text strings. - (text_draw) Bug fix with rich text. - (output_string, output_shorts) Reordered. - (output_shorts) Now handles boxchars and some overstrike font - changes. - (output_char, return_carriage) New functions. - (output_lines) Now handles overstriking and font changes properly; - some code moved to output_shorts. - -Tue Jul 2 22:13:23 1996 Ben Pfaff - - [GLOBAL_DEBUGGING] - * ascii.c: New member `debug' in ascii_driver_ext. - (ascii_init_driver, delineate) Uses new member. - - Now you can set a vertical height on writing text. - * ascii.c: (delineate) Keeps track of vertical position. - (text_draw) No longer considers fully justified text an internal - error. - - * output.h: New flag OUTP_T_VERT; other OUTP_T_ values changed. - - Tables' titles are drawn; they can have variable height. - * som.c: `som' struct has new member, title_height. - (draw_title) New argument. Moved within file. All caller - changed. - (build_target) New argument, amount of space needed for first row. - Calculates height of title, takes that into account. All callers - changed. - (dump_plain_table, dump_columnated_table) Took calculation of y1, - y2 out of loop. - (dump_columnated_table) [GLOBAL_DEBUGGING] Debugging code - improved. - (dump_columnated_table) Organized for readability. - (dump_page) Makes use of som.title_height. - - * som.c: Many comment bug fixes. - - * descript.q: (try_name, generate_z_name) Bug fix regarding - generation of Z-score variable names. - * var.h: Removed num from descriptives_proc; all referents removed. - -Mon Jul 1 22:13:39 1996 Ben Pfaff - - * ascii.c: (ascii_line_horz, ascii_line_vert, - ascii_line_intersection) Added debugging code. - - Added a descriptive line above each table to describe it. - * command.c: (parse_cmd) Calls som_new_series. - - * som.c: New static vars table_num, subtable_num. New `som' - member `title'. - (dump_page) New arguments. - (som_submit_table) Handle new variables. - - * som.c, som.h: (som_submit_table) New arguments. All callers - changed. - (som_new_series) New function. - (build_target) Makes room for extra line. - (draw_title) New function. - (dump_page) Calls draw_title. Bug fix: doesn't always set - som.ext->cp to 0. - - Columnation of tables support. - * som.h: Deleted fr, lr, ri from som_table. Reorganized. - - * som.c: Deleted references to fr, lr, ri. - (som_columnate) Bux fix: sets group member of table. - (som_add_options) Function removed. - (dump_table) Split into three functions; extensively reworked. - - * descript.q: (dump_z_table) Better output table formatting; added - title support to correspond to som.h changes. - (display) Title support. - - * output.h: Added OUTP_T_NONE. - -Mon Jul 1 13:00:00 1996 Ben Pfaff - - * descript.q: Improved handling of Z scores; still not perfect. - - * output.h, ascii.c: Added hook for getting em width of current - font. - - * som.c: Uses new em-width hook. Added debugging code to - several functions. - (som_columnate) New argument. - (som_add_options) Removed. - -Jun 29 17:40:47 1996 Ben Pfaff - - * som.h, som.c, output.c, output.h, ascii.c: Updated to work with - rules as a property of the table instead of as a property of the - cells. - - * ascii.c: Added `header' to table of options. - - * descript.q: Added even shorter statistic names; modified to work - with new som interface. - - * misc.c (blp_getdelim): Bug fix. - - * version.c: includes 'conf.h'. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/src/automake.mk b/src/automake.mk index 73ff8136ff..efbdf72012 100644 --- a/src/automake.mk +++ b/src/automake.mk @@ -37,7 +37,3 @@ include $(top_srcdir)/src/math/automake.mk include $(top_srcdir)/src/output/automake.mk include $(top_srcdir)/src/language/automake.mk include $(top_srcdir)/src/ui/automake.mk - - - -EXTRA_DIST += src/OChangeLog diff --git a/src/data/OChangeLog b/src/data/OChangeLog deleted file mode 100644 index ef91902bc4..0000000000 --- a/src/data/OChangeLog +++ /dev/null @@ -1,2541 +0,0 @@ -2008-07-25 Ben Pfaff - - * casereader-translator.c (struct casereader_arithmetic_sequence): - New struct. - (casereader_create_arithmetic_sequence): New function. - (cas_translate): New function. - (cas_destroy): New function. - -2008-07-26 John Darrington - - * case-ordering.c case-ordering.h: Removed the value_cnt - associated with the ordering structure. - -2008-07-16 Jason Stover - - * category.c (cat_get_category_count): New function. - -2008-05-15 Ben Pfaff - - Patch #6512. - - * data-out.c (output_infinite): Use gsl_isnan instead of isnan, - and gsl_isinf instead of isinf, as a stopgap measure for - portability until appropriate gnulib modules are available. - - * por-file-writer.c (format_trig_double): Similarly, use - gsl_finite instead of finite. - -2008-03-18 John Darrington - - * data-in.c: If category is custom currency, then use - numeric format for input. - -2008-03-06 Ben Pfaff - - * dictionary.c (var_name_is_insertable): New function. - (make_hinted_name): Don't accept variable names that match PSPP - keywords. Thanks to Jason Stover for reporting the problem. - -2008-03-06 Ben Pfaff - - * format-guesser.c (syntax): Require month names to be spelled out - as English words, so that single characters that happen to be - Roman numerals don't get detected as months. Thanks to John - Darrington for reporting this bug. - -2008-03-04 Ben Pfaff - - Patch #6441. Reviewed by John Darrington. - - * format.c (fmt_fix): New function. - (fmt_fix_input): New function. - (fmt_fix_output): New function. - - * format.def: Correct minimum width for DATETIME format. It was - 7, should have been 17. - - * automake.mk: Add new files. - - * format-guesser.c: New file. - - * format-guesser.h: New file. - -2008-02-18 Ben Pfaff - - Patch #6426. Reviewed by John Darrington. - - * format.c (min_width): Renamed fmt_min_width and made public. - Updated all references. - (max_width): Renamed fmt_max_width and made public. Updated all - references. - (max_decimals): Renamed fmt_max_decimals and made public. Updated - all references. - (var_create): Use the new functions for default variable - attributes below. - (var_default_formats): New function. - (var_default_measure): New function. - (var_default_alignment): New function. - - * format.h (macro FMT_MAX_NUMERIC_WIDTH): New macro. - -2008-02-09 Ben Pfaff - - Add a couple of extensions to GET DATA TYPE=TXT. Patch #6412. - Thanks to John Darrington for review. - - * data-in.c (data_in): Add new argument to designate the last - column of the data field being parsed, for use in error messages. - Update all callers. - - * data-parser (struct data_parser): New member `quote_escape'. - (data_parser_create): Initialize quote_escape. - (data_parser_set_quotes): New function. - (cut_field): Support escaped quotes. - (parse_delimited_span): Ditto. - (parse_delimited_no_span): Ditto. - - * get-data.c (parse_get_txt): Support ESCAPE extension subcommand - in enhanced mode. Only support multiple quote characters in - enhanced mode. - -2008-02-06 John Darrington - - psql-reader.c psql-reader.h: Read more than one tuple at - once. Fix bug reading a query which returns no data. Fix bug - when transformation followed a reader. - Ask the server for the number of records in the query, for the - benefit of the gui. - -2008-02-05 John Darrington - - psql-reader.c: So yesterday they release postgresql 8.3.0 - which has money represented with 64 bits. They must get - paid more than me. - -2008-02-02 John Darrington - - psql-reader.c psql-reader.h: New files. Thanks to Ben Pfaff - for reviewing this code. - -2008-02-02 Ben Pfaff - - Patch #6347. - - * sys-file-reader.c (read_variable_record): Allow missing values - to be specified on long string variables, but warn about them - because PSPP does not yet support them. - (read_extension_record): Ignore extension records 20 and 21, which - PSPP does not yet support. - (read_header): Fix error message when floating-point format cannot - be identified. - -2008-02-01 Ben Pfaff - - Patch #6386. Thanks to John Darrington for review and for the - updates to gnumeric-reader.c. - - * dictionary.c (make_hinted_name): New function. - (make_numeric_name): New function. - (dict_make_unique_var_name): New function. - - * gnumeric-reader.c (devise_name): Removed. - (munge_name): Removed. - (gnumeric_open_reader): Use new function - dict_make_unique_var_name. - - * short-names.c (set_var_short_name_suffix): Use new function - str_format_26adic. - -2008-01-19 John Darrington - - * settings.c settings.h: Moved static variables into a - single struct. Renamed functions to have a settings_ prefix. - -2008-01-14 John Darrington - - * data-out.c (output_AHEX): Corrected number of bytes in - call to output_hex. Closes bug #22011 - -2008-01-02 John Darrington - - * variable.c variable.h: Replaced var_get_value_name with - var_append_value_name which doesn't use any static data. - Thanks to Ben for review. - -2007-12-07 Ben Pfaff - - Patch #6302. - - * casegrouper.c (casegrouper_get_next_group): Cause a casegrouper - made from an empty casereader produce a casegrouper with no - groups, instead of one with one group that has no cases. - - * casereader.c (casereader_is_empty): New function. - -2007-12-06 Ben Pfaff - - Patch #6303. - - * sys-file-reader.c (read_display_parameters): Handle variable - display parameters record with only 2 data items per variable. - Reported by Guido Gay . - -2007-12-04 Ben Pfaff - - * identifier.c (lex_id_match_n): New function. - (lex_id_match): Reimplement in terms of lex_id_match_n. - -2007-11-24 Ben Pfaff - - * automake.mk (src_data_libdata_a_SOURCES): Add val-type.h, to fix - make distcheck. - -2007-11-24 Ben Pfaff - - Fix warning reported when reading back system files that include - very long string variables. Thanks to Guido Gay for - reporting this bug. - - * short-names.c (short_names_assign): Fix dumb typo, in which `i' - was written where `j' was meant. - -2007-11-18 Ben Pfaff - - Properly write variables that include a range of missing values to - system files. Thanks to Guido Gay for reporting - this bug. - - * sys-file-writer.c (write_variable): Correctly calculate - n_missing_values field when writing variables that include a range - of missing values. - -2007-11-10 Ben Pfaff - - Cleanups and bug fixes devised while writing up documentation. - Patch #6262. - - * automake.mk (src_data_libdata_a_SOURCES): Add new files. - - * dict-class.c: New file. - (dict_class_from_id): Move here. - (dict_class_to_name): Move here. - - * dict-class.h: New file. - (enum dict_class): Move here. Change from consecutive integers to - consecutive bits, to make testing for any of multiple values - easier. Add new DC_ALL constant. - - * dictionary.c (struct dictionary): Change `case_limit' from - size_t to casenumber. - (dict_get_vars): Make final argument an enum dict_class. - (dict_get_vars_mutable): Ditto. - (dict_get_case_limit): Change return value to casenumber. - (dict_set_case_limit): Change final argument to a casenumber. - (dict_unset_split_var): Add assertion. Rephrase slightly. - (dict_set_label): Use xstrndup to simplify. - - * format.c (fmt_step_width): AHEX format also needs 2-byte - stepping. - (fmt_set_style): Simplify assertions. - - * missing-values.c (mv_add_num_range): Rename mv_add_range. - Simplify implementation. - (mv_has_value): Simplify implementation. - (mv_pop_value): Remove the first value, not the last, to avoid - having GET followed by SAVE reverse the order of missing values. - (mv_peek_value): Rename mv_get_value. Simplify assertion. - (mv_has_range): Simplify implementation. - (mv_peek_range): Rename mv_get_range. - (can_resize_string): Removed. - (mv_is_resizable): Use value_is_resizable. - (mv_resize): Use value_resize. - - * short-names.h (SHORT_NAME_LEN): Move here. - - * val-type.h: New file, for definitions related to type and width - of abstract values. Before, these definitions were mixed among - those related to "union value" and those related to variables. - (macro SYSMIS): Move here. - (macro LOWEST): Move here. - (macro HIGHEST): Move here. - (macro MAX_STRING); Move here. - (enum val_type): New enum with values VAL_NUMERIC and VAL_STRING. - Replaces enum var_type that had values VAR_NUMERIC and VAR_STRING. - All references updated. - (val_type_is_valid): New function. Replaces var_type_is_valid. - All references updated. - (val_type_from_width): New function. Replaces - var_type_from_width. All references updated. - - * value-labels.c (val_labs_copy): Renamed val_labs_clone. All - references updated. - (val_labs_can_set_width): Use value_is_resizable. - (val_labs_add): Simply return false if the value labels set is too - wide, instead of having undefined behavior. - (val_labs_replace): Ditto. - (val_labs_replace): Ditto. - (val_labs_first): Set iterator to null if iteration is complete. - (val_labs_first_sorted): Ditto. - (val_labs_done): Become a no-op if the iterator is null. - - * value.c (value_is_resizable): New function. - (value_resize): New function. - - * variable.c (var_get_dict_class): New function. - - * variable.h (macro LONG_NAME_LEN): Rename VAR_NAME_LEN. Update - all references. - -2007-11-08 Ben Pfaff - - * data-in.c: Make formatted data parsing locale-independent. - (parse_number): Use c_strtod instead of strtod, to avoid - locale-specific behavior. - (parse_Z): Ditto. - -2007-11-06 Ben Pfaff - - Patch #6256: add support for binary, 360 file formats. Reviewed - by John Darrington. - - * data-in.c (struct data_in): Add `encoding' member. - (data_in): Add `encoding' parameter, and re-encode the data passed - in where appropriate. Update all callers to pass it in. - (parse_A): Implement EBCDIC recoding wart described in manual. - (parse_AHEX): Implement EBCDIC recoding. - - * data-out.c (data_out_legacy): New function. - (data_out): Make into a wrapper around data_out_legacy. - - * file-handle-def.c (struct file_handle): New member `encoding'. - (fh_create_file): Set encoding. - (fh_default_properties): Set default encoding. - (fh_get_legacy_encoding): New function. - - * file-handle-def.h (enum fh_mode): New modes FH_MODE_FIXED - (that replaces FH_MODE_BINARY), FH_MODE_VARIABLE, - FH_MODE_360_VARIABLE, FH_MODE_360_SPANNED. - (struct fh_properties): New member `encoding'. - -2007-11-05 Ben Pfaff - - Patch #6258. Reviewed by John Darrington. - - * file-handle-def.c (fh_lock): Add comment that TYPE should be - marked with N_() in the caller. Added these markings to each - caller too. Should make i18n easier. - Suggested by Chusslove Illich . - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * file-handle-def.c: Separate locking of files for input and for - output, to allow both to take place at once. Also, distinguish a - file handle from the identity of the underlying file, because the - identity of a file changes over time and the file handle can't - represent two different identities. - (struct file_handle): Remove `next', `open_cnt', `deleted', - `type', `open_mode', `aux', `identity' members. Change `id' from - char array to char *. Add `ref_cnt' member. - (file_handle_from_ll) New function. - (file_handles) Removed. - (named_handles) New variable. - (fh_init) Initialize named_handles. - (fh_done) Remove name from all named_handles. - (free_handle) Updated for modified struct file_handle. - (unname_handle) New function. - (fh_ref) New function. - (fh_from_file_name) Removed. - (fh_unref) New function. - (fh_unname) New function. - (fh_from_id) Rewritten. - (create_handle) Updated for modified struct file_handle. - (fh_inline_file) Increment the handle's ref count. - (fh_create_file) Updated for modified struct file_handle. - (fh_create_scratch) Ditto. - (fh_free) Removed. - (mode_name) Removed. - (fh_open) Removed. - (fh_close) Removed. - (fh_is_open) Removed. - (fh_get_id) Updated for modified struct file_handle. - (fh_get_default_handle) Increment the handle's ref count. - (fh_set_default_handle) Handle ref counts. - (struct fh_lock) New structure. - (locks) New static var. - (fh_lock) New function. - (fh_unlock) New function. - (fh_lock_get_aux) New function. - (fh_lock_set_aux) New function. - (fh_is_locked) New function. - (make_key) New function. - (free_key) New function. - (compare_fh_locks) New function. - (hash_fh_lock) New function. - - * file-handle-def.h (enum fh_access) New enum. - - * file-name.c: Made file_identity the same in all supported - environments. - (struct file_identity): New `name' member. - (fn_get_identity): For a file that doesn't exist, get the - dev/inode of its directory plus its name. If even the directory - doesn't exist, just use its name. Merge the Windows - implementation into the Unix one. - (fn_compare_file_identities): Rewritten. Merge the Windows - implementation into the Unix one. - (fn_hash_identity): New function. - - * make-file.c (struct replace_file): New structure. - (all_files): New static var. - (replace_file_start): New function. - (replace_file_commit): New function. - (replace_file_abort): New function. - (free_replace_file): New function. - (unlink_replace_files): New function. - - * por-file-reader.c (struct pfm_reader): Add `lock' member. - (close_reader): Unlock file. - (pfm_open_reader): Lock file. - - * por-file-writer.c (struct pfm_writer): Add fh_lock, replace_file - members. - (pfm_open_writer): Lock file and prepare for its replacement. - (close_writer): Unlock file. - - * scratch-handle.h (struct scratch_handle): Add unique_id so that - different generations of a scratch file can be distinguished. - - * scratch-reader.c (scratch_reader_open): Verify that the file is - a scratch file. - - * scratch-writer.c (struct scratch_writer): Add `lock' and `dict', - remove scratch_handle member. - (scratch_writer_open): Lock handle. Prepare to replace handle - data, instead of doing it immediately. - (scratch_writer_casewriter_destroy): Replace handle data and - unlock handle. - - * sys-file-reader.c (struct sfm_reader): Add `lock' member. - (sfm_open_reader): Lock file. - (close_reader): Unlock file. - - * sys-file-writer.c (struct sfm_writer): Add fh_lock, replace_file - members. - (sfm_open_writer): Lock file and prepare for its replacement. - (close_writer): Unlock file. - -2007-11-02 Ben Pfaff - - * data-out.c (output_number): Use isfinite (from C99) instead of - gsl_isfinite, since we now have universal support for it in - gnulib. - (output_infinite): Ditto. - [!HAVE_ROUND] (round): Remove definition, since we now have a - replacement in gnulib. - -2007-10-27 John Darrington - - * dictionary.c: Fixed bug in dict_clone, where the vardict.dict member - wasn't initialised correctly. Closes bugs #21330 and 21397 - - -2007-10-08 Ben Pfaff - - Fix bug #21280. Thanks to John Darrington for review. - - * file-name.c (create_stream): New function. - - * por-file-writer.c (pfm_open_writer): Use fh_open to open the - file handle before creating the file, to ensure that we don't - truncate a file that we're reading. Make code easier to read by - using create_stream. - - * sys-file-write.c (sfm_open_writer): Ditto. - -2007-10-01 Ben Pfaff - - Fix bug #21192. Thanks to John Darrington for review. - - * casereader.c (casereader_read): Decrement case_cnt before - calling the casereader's "read" member function, so that we - interact properly with lazy_casereader. - - * datasheet.c: Add regression test for above bug fix. - (clone_datasheet): New function. - (lazy_callback): New function. - (check_datasheet_casereader): New function. - (check_datasheet): Check datasheet contents are reported correctly - through an ordinary casereader and a lazy casereader. - (clone_model): Use clone_datasheet. - -2007-09-24 Ben Pfaff - - Patch #6210. Reviewed by John Darrington. - * settings.c: Drop "long view", which is not needed any longer. - (static var long_view): Removed. - (force_long_view): Removed. - (get_viewwidth): Removed. - (init_viewport): Removed long_view reference. - -2007-09-19 John Darrington - - * settings.c settings.h: Changed viewport's length and width to be - owned by the user interface which uses the data library. This allows - better abstraction, and makes dynamically adjustable dimensions easier. - -2007-09-18 Ben Pfaff - - * procedure.c (proc_extract_active_file_data): New function. - - * lazy-casereader.h: New file. - - * lazy-casereader.c: New file. - - * casereader.c (casereader_dynamic_cast): New function. - -2007-09-14 Ben Pfaff - - * dictionary.c (dict_clone): Copy case indexes from cloned - dictionary. Fixes bug #21061. Reviewed by John Darrington. - -2007-09-13 John Darrington - - * value.c value.h (create_value): New function. - -2007-09-12 Ben Pfaff - - Make it clear that translator casereader and casewriter translate - functions are supposed to destroy their input case. - - * casereader-translator.c (struct casereader_translator): Change - input case parameter of translate member function from const - struct ccase * to struct ccase *. - (casereader_create_translator): Ditto, for translate parameter. - - * casewriter-translator.c (struct casewriter_translator): Ditto. - (casewriter_create_translator): Ditto. - -2007-08-27 John Darrington - - * sys-file-reader.c (read_display_parameters): Force display width - to 8, if the sys file says 0 (like SPSS does). - -2007-08-12 Ben Pfaff - - * dictionary.c (dict_dump): New function. - -2007-08-12 Ben Pfaff - - Drop dict_compactor in favor of using the new struct case_map. - - * dictionary.c (struct copy_map): Removed. - (struct dict_compactor): Removed. - (dict_make_compactor): Removed. - (dict_compactor_compact): Removed. - (dict_compactor_destroy): Removed. - - * procedure.c (struct data_set): Change `compactor' member to be a - struct case_map *. - (proc_open): Use case_map_to_compact_dict instead of - dict_make_compactor. - (proc_casereader_read): Use case_map_execute instead of - dict_compactor_compact. - (proc_commit): Use case_map_destroy instead of - dict_compactor_destroy. - - * scratch-writer.c (struct scratch_writer): Change `compactor' - member to be a struct case_map *. - (scratch_writer_open): Use case_map_to_compact_dict instead of - dict_make_compactor. - (scratch_writer_casewriter_write): Use case_map_execute instead of - dict_compactor_compact. - -2007-08-12 Ben Pfaff - - * automake.mk: Add case-map.c, case-map.h. - - * case-map.c: New file. - - * case-map.h: New file. - -2007-08-12 Ben Pfaff - - * dictionary.c (dict_compact_values): Don't delete scratch - variables as well as compacting case indexes. Update all callers. - (dict_get_compacted_value_cnt): Rename dict_count_values and - change interface. Update all callers. - (dict_get_compacted_value_cnt): Remove. - (dict_compacting_would_shrink): Remove. - (dict_compacting_would_change): Remove. - (dict_make_compactor): Add new parameter. Update all callers. - - * procedure.c (proc_casereader_read): Use casewriter_get_value_cnt - instead of dict_count_values, changing an O(N) operation into - O(1). - -2007-08-12 Ben Pfaff - - * casereader.c (casereader_read): Don't require cases read by a - casereader to be exactly the expected size: as long as they're big - enough, it's OK. - -2007-08-12 Ben Pfaff - - Make casewriters keep track of the number of `union value's in - each case. This is useful for two reasons: casewriter_write can - then check that the case being written is large enough, and later - recipients of the casewriter can determine the size of the case. - - * casewriter-translator.c (casewriter_create_translator): Add - value_cnt parameter. - - * casewriter.c (struct casewriter): Add value_cnt member. - (casewriter_write): Check that the case passed in is big enough. - (casewriter_get_value_cnt): New function. - (casewriter_create): Add value_cnt parameter. - -2007-08-09 Ben Pfaff - - Fix bug reported by Jason Stover. - * settings.c: Move get_termcap_viewport and in particular the - #include for to the end of the file. curses.h - redefines bool on some systems (e.g. OpenBSD), which causes - disagreement between uses of bool before its inclusion and - afterward. - Tested by Jason Stover. - -2007-07-29 Ben Pfaff - - Provisional fix for bug #18692 and bug #20161. Reviewed by John - Darrington. - - * file-name.c (fn_open): Only pass "r" or "w" to popen as mode - argument (never "rb" or "wb") because SUSv3 says that only those - modes are defined, and glibc in fact rejects other modes. - - Open portable files with fn_open so that they can be read from - pipes. Fix missing fh_close call to go along with fh_open. - Report an error if the file close reports an error. - * por-file-reader.c (close_reader): New function. - (por_file_casereader_destroy): Use close_reader. - (pfm_open_reader): Open file with fn_open. - -2007-07-28 Ben Pfaff - - Make PSPP able to read all the portable files I could find on the - web. Thanks to John Darrington for review. Bug #17620. - * por-file-reader.c (struct pfm_reader): New member `line_length'. - (error): Print file offset in hexadecimal. - (warning): New function. - (advance): Treat lines less than 80 bytes long as padded to 80 - bytes with spaces. - (pfm_open_reader): Call read_documents if we find an "E" record. - (convert_format): Convert invalid formats to the default format - instead of aborting reading the file. - (read_variables): Rename duplicate variable names instead of - aborting reading the file. - (read_value_label): Allow string variables of different widths to - be assigned value labels in the same record. Replace duplicate - value labels instead of aborting. - (read_documents): New function. - - * por-file-writer.c (pfm_open_writer): Call write_documents if the - dictionary has documents. - (write_documents): New function. - -2007-07-25 Ben Pfaff - - Fix bugs related to bug #17213. - - * settings.c: Use HAVE_LIBNCURSES instead of HAVE_LIBTERMCAP, - since the former is what config.h has. Include the needed ncurses - headers. - (static var echo) Rename to `do_echo' because the original name is - the same as an ncurses identifier. - (get_termcap_viewport) Use error instead of msg. - - * file-name.c (fn_interp_vars): Fix interpolation of $VARS. - (fn_close): Don't close stdin, stdout, stderr. - -2007-07-26 John Darrington - - * procedure.c procedure.h: Added callbacks which get invoked whenever - a dataset's transformation chain changes. - -2007-07-24 Ben Pfaff - - Fix bug #6113. - * sys-file-writer.c (write_variable_display_parameters): Use new - var_default_display_width function to choose display width of - segments after the first one in a given variable. - * variable.c (var_create): Use var_default_display_width to pick - new variable's display width. - (var_default_display_width): New function. - Reviewed by John Darrington. - -2007-07-24 Ben Pfaff - - Fix bug #20427. - * por-file-writer.c (write_variables): Write weight variable. - Reviewed by John Darrington. - -2007-07-23 Ben Pfaff - - Improvements to system file reader and writer. - - First, move all detailed knowledge of very long strings into - sys-file-private.[ch], so that this nasty stuff can be isolated. - - * sys-file-private.c (REAL_VLS_CHUNK): New macro. - (EFFECTIVE_VLS_CHUNK): New macro. - (min_int): New function. - (max_int): New function. - (sfm_width_to_bytes): Rewrite. - (sfm_width_to_octs): New function. - (sfm_segment_alloc_width): New function. - (sfm_segment_alloc_bytes): New function. - (sfm_segment_used_bytes): New function. - (sfm_segment_offset): New function. - (sfm_segment_effective_offset): New function. - (sfm_dictionary_to_sfm_vars): New function. - - * sys-file-private.h (MIN_VERY_LONG_STRING): Removed. - (EFFECTIVE_LONG_STRING_LENGTH): Removed. - (struct sfm_var): New structure. - - Next, improvements to the system file reader. - - * sys-file-reader.h (struct sfm_read_info): Changed `case_cnt' to - type casenumber. Added `version_major', `version_minor', - `version_revision'. - - * sys-file-reader.c (struct sfm_reader): Replaced `flt64_cnt' by - `oct_cnt'. Rename `vars', `var_cnt' to `sfm_vars', `sfm_var_cnt'. - Change `case_cnt' to type casenumber. Removed `has_vls'. - (struct sfm_var): Removed. - (sfm_open_reader): Don't warn on wrong case size if the file was - written by SPSS 13, which tends to get it wrong. Use - sfm_dictionary_to_sfm_vars. - (read_header): Always output system file info. - (read_variable_record): Simplify code for reading missing values. - (read_machine_int32_info): Save version numbers from system file - into info struct passed as new argument. - (read_long_string_map): Restructured to use new sys-file-private - functions. - (read_value_labels): Use size_overflow_p. - (sys_file_casereader_read): Get rid of distinction between fast - and slow paths. Use information provided by sys-file-primate's - struct sfm_var to simplify code. - (skip_whole_strings): New function. - (read_int32): Renamed read_int. Changed return value to int. - Updated all callers. - (read_flt64): Renamed read_float. Changed return value to - double. Updated all callers. - (int32_to_native): Removed. Changed callers to use - integer_convert. - (flt64_to_double): Removed. Changed callers to use float_convert. - - Finally, get rid of int32, flt64 terminology and types in system - file writer. The former wasn't very useful since a POSIX "int" - can hold the whole range of int32 and we generally didn't have a - need for it to be exactly-32-bits, just at-least-32-bits. The - latter was inconvenient because we had to assume that it could be - different from double and thereby convert special values SYSMIS, - HIGHEST, LOWEST to and from it in multiple places. Instead, now - we just use "int" and "double" in most places, and do conversions, - if necessary, very close to where we do I/O. This change meant - that the writer code couldn't represent records in the file as C - structs any longer, but that's no great loss. The code actually - seems to be more readable without them. - - Simplify the compression buffering code: only buffer as much as - necessary, which is no more than eight 8-byte units at any given - time. - - * sys-file-writer.c (typedef flt64): Removed. - (macro second_lowest_flt64): Removed. - (struct sysfile_header): Removed. - (struct sysfile_variable): Removed. - (struct sfm_writer): Removed `needs_translation', `has_vls', - `flt64_cnt'. Changed `compress' to type bool and `case_cnt' to - type casenumber. Renamed `vars' to `sfm_vars', `var_cnt' to - `sfm_var_cnt'. Replaced `buf', `end', `ptr', `x', `y' for - compression buffering by `opcodes', `opcode_cnt', `data', - `data_cnt'. Renamed `var_cnt_vls' as `segment_cnt'. - (sfm_open_writer): Use sfm_dictionary_to_sfm_vars. Use simple - data writer functions instead of structures. - (calc_oct_idx): New function. - (write_header): Use simple data writer functions instead of - structures. - (write_format_spec): Renamed write_format. New argument. - (write_variable_continuation_records): New function. - (write_variable): Use simple data writer functions instead of - structures. Use write_variable_continuation_records. Write - entire very long string instead of requiring caller to understand - them. - (write_value_labels): Use simple data writer functions instead of - structures. - (write_documents): Ditto. - (write_variable_display_parameters): Use sys-file-private - functions to simplify. Use simple data writer functions instead - of structures. - (write_vls_length_table): Use simple data writer functions instead - of structures. - (write_longvar_table): Ditto. - (write_rec_7_34): Break into new functions - write_integer_info_record, write_float_info_record. Use simple - data writer functions instead of structures. - (buf_write): Removed. - (append_string_max): Removed. - (ensure_buf_space): Removed. - (sys_file_casewriter_write): Get rid of the distinction between - fast and slow paths, which didn't seem to be too useful. Use new - functions write_case_uncompressed, write_case_compressed. - (put_instruction): Removed. - (put_element): Removed. - (write_compressed_data): Removed. - (close_writer): Use flush_compressed. Only write case count to - system file if it will fit in the field. - (write_case_compressed): New function. - (write_case_uncompressed): New function. - (flush_compressed): New function. - (put_cmp_opcode): New function. - (put_cmp_number): New function. - (write_int): New function. - (convert_double_to_output_format): New function. - (write_float): New function. - (write_value): New function. - (write_string): New function. - (write_bytes): New function. - (write_zeros): New function. - (write_spaces): New function. - - Reviewed by John Darrington. - -2007-07-22 Ben Pfaff - - Don't try to write very long strings to portable files. The - format does not support it. - - * por-file-writer.c (MAX_POR_WIDTH): New macro. - (pfm_open_writer): Limit output width to MAX_POR_WIDTH. - (write_format): Add arg to take width to resize format to. - (write_value): Limit width of value written to MAX_POR_WIDTH. - (write_variables): Limit width of variable and its output formats - to MAX_POR_WIDTH. - Reviewed by John Darrington. - -2007-07-22 Ben Pfaff - - * sys-file-reader.c (read_variable_to_value_map): Use max_warnings - local variable instead of literal 5. - Reviewed by John Darrington. - -2007-07-22 Ben Pfaff - - Fix problems with uniqueness of short names in system files with - very long string variables. Now a variable may have multiple - short names. - - * automake.mk (src_data_libdata_a_SOURCES): Add new files - short-names.c, short-names.h. - - * dictionary.c (dict_clone): Clone all the short names. - (compare_strings): Move into short-names.c. - (hash_strings): Ditto. - (set_var_short_name_suffix): Ditto. - (dict_assign_short_names): Ditto, rename short_names_assign, - change to assign all short names. - - * por-file-writer.c (write_variables): Use short_names_assign - instead of dict_assign_short_names. - - * short-names.c: New file. - - * short-names.h: New file. - - * sys-file-private.c (sfm_width_to_segments): New function. - - * sys-file-reader.c (read_long_var_name_map): Save and restore all - the short names, not just the first one. - - * sys-file-writer.c (cont_var_name): Removed. - (sfm_open_writer): Use short_names_assign instead of - dict_assign_short_names. Use unique short names assigned by - short_names_assign instead of those generated by cont_var_name. - - * variable.c (struct variable): Remove `short_name' member, - replace by `short_names' and `short_name_cnt'. - (var_create) Initialize new members. - (var_get_short_name_cnt): New function. - (var_get_short_name): Now takes an index argument. Changed most - callers to pass 0. - (var_set_short_name): Ditto. - (var_clear_short_name): Renamed var_clear_short_names, changed to - clear all short names. - - Reviewed by John Darrington. - -2007-07-22 Ben Pfaff - - * variable.c (var_set_width): Use new var_set_width function. - - * missing-values.c (mv_n_values): Drop assertion, which was not - needed. - - * format.c (fmt_default_for_width): New function. - (fmt_resize): New function. - - Reviewed by John Darrington. - -2007-07-18 John Darrington - - * datasheet.c (datasheet_delete_columns): Added assertion to check - we're not deleting outside the range of the sheet. - - - * dictionary.c dictionary.h variable.c: Added the ability for string - variables to be resized. - - * vardict.h: Added some prototypes (moved from dictionary.h) as - these should only be called by variable.c - - -2007-07-14 John Darrington - - * sfm-reader.c: Respect case_cnt field in file header. - -2007-07-01 John Darrington - - * transformation.c transformation.h (trns_chain_execute): Changed the - signature (Patch #6057) - -2007-06-10 Ben Pfaff - - * casereader-filter.c (casereader_filter_destroy): Make sure to - write all the remaining excluded cases to the casewriter, if any. - - * caseinit.c (init_list_destroy): Rewrite. - (init_list_clear): Ditto. - - * casegrouper.c (casegrouper_get_next_group): Always set *reader - to null when returning false. - -2007-06-06 Ben Pfaff - - Actually implement the new procedure code and adapt all of its - clients to match. Also adapt all of the other case sources and - sinks in the tree and their clients to use the - casereader/casewriter infrastructure. - - * automake.mk: Add and remove files. - - * any-reader.c: Change into a casereader. - * por-file-reader.c: Ditto. - * scratch-reader.c: Ditto. - * sys-file-reader.c: Ditto. - - * any-writer.c: Change into a casewriter. - * por-file-writer.c: Ditto. - * scratch-writer.c: Ditto. - * sys-file-writer.c: Ditto. - - * procedure.c: Change to use casereader, casewriter, caseinit, and - other new infrastructure. - - * scratch-handle.c: Adapt to new infrastructure. - - * case-sink.c: Removed, now dead code. - * case-sink.h: Ditto. - * case-source.c: Ditto. - * case-source.h: Ditto. - * casefile-factory.c: Ditto. - * casefile-private.h: Ditto. - * casefile.c: Ditto. - * casefile.h: Ditto. - * casefilter.c: Ditto. - * casefilter.h: Ditto. - * fastfile.c: Ditto. - * fastfile.h: Ditto. - * fastfile-factory.c: Ditto. - * fastfile-factory.h: Ditto. - * storage-stream.c: Ditto. - * storage-stream.h: Ditto. - -2007-06-06 Ben Pfaff - - Add datasheet code. - - * automake.mk: Add new files. - - * datasheet.c: New file. - - * datasheet.h: New file. - -2007-06-06 Ben Pfaff - - Until now, the procedure code has provided a case to the - case_source, which has filled in the data values that come from - the active file. "Left" data values that don't come from the - active file naturally stay the same from case to case, because the - procedure code keeps using that same case. - - One of the compromises that comes with the new procedure code is - that the active file allocates and provides its own case, which - the procedure code then has to resize to provide room for any - other variables that should go in the case and then fill in the - values of "left" variables. Then, when we're done with that case, - we have to save the values of "left" variables to copy into the - next case read from the active file. - - The caseinit code helps with this. - - * automake.mk: Add new files. - - * caseinit.c: New file. - - * caseinit.h: New file. - -2007-06-06 Ben Pfaff - - * value.h (value_cnt_from_width): New function. - - * variable.c (var_get_value_cnt): Use new function. - -2007-06-06 Ben Pfaff - - Add casegrouper, to allow cases read from a given casereader to be - broken into groups, each of which has its own casereader. - Generally cases are grouped based on having equal values for some - set of variables. - - * automake.mk: Add new files. - - * casegrouper.c: New file. - - * casegrouper.h: New file. - -2007-06-06 Ben Pfaff - - Add interface to lexicographical ordering of cases. - - * automake.mk: Add new files. - - * case-ordering.c: New file. - - * case-ordering.h: New file. - -2007-06-06 Ben Pfaff - - Add casereaders and casewriters, the basis of the new data processing - implementation. A casereader is a uniform interface to reading cases - from a data source; a casewriter is a uniform interface to writing - cases to a data sink. - - * automake.mk: Add new files. - - * casereader-filter.c: New file. - - * casereader-provider.h: New file. - - * casereader-translator.c: New file. - - * casereader.c: New file. - - * casereader.h: New file. - - * casewriter-provider.h: New file. - - * casewriter-translator.c: New file. - - * casewriter.c: New file. - - * casewriter.h: New file. - -2007-06-06 Ben Pfaff - - "casewindow" data structure that extends the deque (from libpspp) - of cases with the ability to dump cases to disk if we get too many - of them in memory. - - * automake.mk: Add new files. - - * casewindow.c: New file. - - * casewindow.h: New file. - -2007-06-06 Ben Pfaff - - sparse_cases data structure that augments a sparse_array of cases - with the ability to dump cases to disk if we get too many cases in - memory. - - * automake.mk: Add new files. - - * sparse-cases.c: New file. - - * sparse-cases.h: New file. - -2007-06-06 Ben Pfaff - - Adds a low-level on-disk case array data structure. - - * automake.mk: Add new files. - - * case-tmpfile.c: New file. - - * case-tmpfile.h: New file. - -2007-06-06 Ben Pfaff - - In a couple of places we calculate the maximum number of cases to - keep in memory based on the user-defined workspace. Enable - centralizing the calculation through a new function. - - * settings.c (get_workspace_cases): New function. - -2007-06-06 Ben Pfaff - - The casenumber type is defined in transformations.h, but case.h is - a more sensible place. Move it. - - * case.h (CASENUMBER_MAX): New macro. - (typedef casenumber): Move here, from transformations.h. - -2007-06-03 Ben Pfaff - - Slightly generalize case_to_values and case_from_values functions. - - * case.c (case_to_values): Rename case_copy_out, change interface. - (case_from_values): Rename case_copy_in, change interface. - - * fastfile.c (fastfilereader_get_next_case): Update caller. - (write_case_to_disk): Ditto. - -2007-06-02 Ben Pfaff - - Clean up after a forgotten part of patch #5829. - - * casedeque.h: Remove unused file. - - * automake.mk: Remove casedeque.h from sources. - -2007-05-10 Jason Stover - - * category.c: Removed redundant #include - -2007-05-06 Ben Pfaff - - Abstract the documents within a dictionary a little better. - Thanks to John Darrington for suggestion, initial version, and - review. Patch #5917. - - * dictionary.c (struct dictionary): Change `documents' member from - char * to struct string. - (dict_clear): Destroy struct string. - (dict_get_documents): Convert struct string to char *. - (dict_set_documents): Set struct string. Pad to 80-character - multiple. - (dict_clear_documents): New function. - (dict_add_document_line): New function. - (dict_get_document_line_cnt): New function. - (dict_get_document_line): New function. - - * dictionary.h (macro DOC_LINE_LENGTH): New macro. - - * sys-file-reader.c (read_documents): Use new document functions. - -2007-04-19 John Darrington - - * sys-file-reader.c: When reading a system file which has no - long name table, automatically create one where the long names - are the lower case versions of the short names. - -2007-04-22 Ben Pfaff - - * dictionary.c (dict_set_split_vars): dict_destroy expects that - dict_clear will free most data related to the dictionary. - dict_clear does a decent job, except that dict_set_split_vars on - some systems won't actually free the dict's "split" member. - Instead, it'll allocate a 1-byte region. Fix this. - - * value.c (value_copy): New function. - (value_set_missing): Ditto. - -2007-04-22 John Darrington - - * Deleted existing category.h and moved cat-routines.h into - category.h Encapsulated struct cat_vals better. - -2007-04-19 John Darrington - - * sys-file-reader.c: When reading a system file which has no - long name table, automatically create one where the long names - are the lower case versions of the short names. - -2007-04-16 John Darrington - - * sys-file-reader.c: Some versions of Other Software seem to - produce system files with string variables' measure set to - zero. We'll assume these are supposed to be nominal variables. - -2007-03-30 Ben Pfaff - - * procedure.c: Adapt to new deque data structure. - -Mon Feb 19 10:53:21 2007 John McCabe-Dansted - Ben Pfaff - - * file-name.c: Mingw compatibility fixes. - (fn_search_path): Use ISSLASH instead of comparing against '/' - directly. - (fn_dir_name): Use dir_name from gnulib. - (fn_is_absolute): Use IS_ABSOLUTE_FILE_NAME from gnulib. - (fn_get_identity): Use GetFullPathName instead of canonicalize - from gnulib, because the latter does not fully support - Windows-style path names. Use this implementation based on the - detected presence of Windows instead of the absence of Unix, since - the new implementation is Windows-specific. - (fn_compare_file_identities): In Windows implementation, compare - names case-insensitively. - -Sun Feb 18 13:28:02 2007 Ben Pfaff - - * make-file.c: Don't include mkstemp.h, because gnulib now causes - to have the same effect. - -Sun Feb 18 11:20:24 2007 Ben Pfaff - - * por-file-reader.c: Add missing _() around messages. - -Sun Feb 11 20:44:13 2007 Ben Pfaff - - * make-file.c: Include "mkstemp.h", without which linking on - mingw32 fails. - -Thu Feb 8 14:59:05 2007 Ben Pfaff - - Reduce platform dependence. - - * file-name.c (fn_tilde_expand): Removed, and removed calls to it. - Everywhere we using this, we really should have just depended on - the shell to expand tildes. - (fn_search_path): Simplify, given that we don't do tilde expansion - any longer. - (fn_normalize): Removed. Caller changed to use the canonicalize - module from gnulib. - (fn_get_cwd): Removed. Only user was fn_normalize. - (fn_is_absolute): Really only test for absolute names. - (fn_is_special): Use pipe files if HAVE_POPEN, not if we're in - unix. - (fn_readlink): Removed, as it was only used fn_normalize. - (fn_exists): Assume the stat function is available; gnulib does. - (fn_open): Use pipe files if HAVE_POPEN, not if we're in unix. - -Sat Feb 3 21:52:17 2007 Ben Pfaff - - * dictionary.c (dict_create_vector_assert): New function. - -Wed Feb 7 21:25:15 2007 Ben Pfaff - - * file-name.c (fn_normalize): Correct name of function - fn_is_special. Thanks to John McCabe-Dansted - for pointing this out. - -Thu Feb 1 16:53:37 2007 Ben Pfaff - - We are using a single member in struct file_handle, the "name" - field, for more than one purpose. When it begins with '"', it's a - file name; otherwise, it's a token that can be used to identify - it. When that assertion fires, it's because we searched for the - name case-sensitively as a file name (so that there was no match), - and then we try to insert it case-insensitively as a token, which - fails because duplicates aren't allowed. - - Solution: break the two purposes into two separate fields. This - fixes the problem and likely makes the code easier to read too. - - Fixes bug #18922. Thanks to John Darrington for bug report and - review. - - * file-handle-def.c (struct file_handle): New `id' member. - (fh_from_name): Rename fh_from_id. Update all callers. - (create_handle): New `id' parameter. Update all callers. - (fh_create_file): Ditto. - (fh_get_id): New function. - -Mon Jan 15 16:18:10 2007 Ben Pfaff - - * case.c (case_is_null): Change return type to bool. - -Mon Jan 15 10:57:28 2007 Ben Pfaff - - Add debugging code. - - * case.c (case_clone) [DEBUGGING]: When debugging, don't use - reference counting to share data. This makes it easy for - valgrind, etc. to find accesses to cases that have been destroyed - but have been kept around by another user's ref-count. This often - happens when the data set is small enough to find in memory; if a - bigger data set that would overflow to disk were used, then data - corruption would occur. - -Mon Jan 15 10:55:18 2007 Ben Pfaff - - Simplify code. - - * case.c (case_unshare): Make it check internally whether the - ref_cnt is greater than 1, so that the callers don't have to. - Update callers not to check. - -Mon Jan 15 10:53:01 2007 Ben Pfaff - - Before, I was thinking that I might want to get rid of reference - counting at some point. Now, I'm pretty sure that it's here to - stay. Thus, because we have to store the value_cnt anyway for - reference-counted cases, we might as well expose it to users. - - * case.c (case_get_value_cnt): New function. - (case_resize): Drop OLD_CNT argument. Update all callers. Only - resize case if its size actually changed. - - * casefile.c (casefile_append_xfer): Use case_get_value_cnt - instead of peeking inside struct case directly. - (casefile_append): Ditto. - -Mon Jan 15 10:50:22 2007 Ben Pfaff - - Get rid of the inlines for the case functions, which made the - header file hard to read. (Also, in testing with "-O2 -DNDEBUG", - the inlines didn't speed up "make check" at all, which is not a - perfect benchmark but seems indicative.) - - * case.c: Remove #ifdef DEBUGGING...#endif around many function - definitions. Remove some assertions on nonnull pointers that were - redundant with a pointer dereference soon after in the function. - Also: - (struct case_data): Move definition here from case.h. - (case_data): Ditto. - (case_num): Ditto. - (case_str): Ditto. - (case_data_wr): Ditto. - -Sun Jan 14 21:41:12 2007 Ben Pfaff - - * automake.mk: Add casedeque.h to sources. - - * casedeque.h: New file. - - * procedure.c: (struct dataset) Change lag_count, lag_head, - lag_queue member into single struct casedeque member. Update all - users to use the casedeque instead. - (lag_case) Removed. - -Sun Jan 14 21:43:12 2007 Ben Pfaff - - * procedure.c: Simplify lagged cases interface. Updated all - clients--well, the only client--to use the simplified interface. - (dataset_n_lag) Removed. - (dataset_set_n_lag) Removed. - (dataset_need_lag) New function. - -Tue Jan 9 07:20:05 WST 2007 John Darrington - - * dictionary.c procedure.c: More changes to ensure that callbacks occur - whenever appropriate, but only when the dataset/dictionary is in a - consistent state. - -Sun Jan 7 08:33:04 WST 2007 John Darrington - - * dictionary.c dictionary.h : Added callbacks for change of filter and - split variables. Refactored some code to ensure that callbacks get - invoked when appropriate. - - * procedure.c (proc_cancel_temporary_transformations): Make sure that - replace_dict callback occurs when permanent_dict replaces the current - dictionary. - -Wed Jan 3 11:02:11 WST 2007 John Darrington - - * dictionary.c dictionary.h : Added callback for when the weight - variable of a dictionary changes. - -Mon Jan 1 10:36:26 WST 2007 John Darrington - - * dictionary.c dictionary.h : Added replace_source and replace_dict - callbacks, and functions to deal with them. - -Fri Dec 22 13:56:08 2006 Ben Pfaff - - Simplify missing value handling. - - * missing-values.h (enum mv_class): New type. - (enum mv_type): Moved definition into missing-values.c and renamed - each MV_* to MVT_*, to distinguish them from the exposed mv_class - enums. Updated all uses. - (struct missing_values): Changed type of `type' from `enum - mv_type' to `int' because the definition is no longer exposed. - - * missing-values.c (mv_is_value_missing): Add new enum mv_class - parameter. Update all callers. - (mv_is_num_missing): Ditto. - (mv_is_str_missing): Ditto. - (mv_is_value_user_missing): Removed. Changed callers to use - mv_is_value_missing. - (mv_is_num_user_missing): Removed. Changed callers to use - mv_is_num_missing. - (mv_is_str_user_missing): Removed. Changed callers to use - mv_is_str_missing. - (mv_is_value_system_missing): Removed. Changed callers to use - mv_is_value_missing. - (mv_set_type): Removed. Changed callers to use mv_clear. - (mv_clear): New function. - - * variable.c (var_is_value_missing): Add new enum mv_class - parameter. Update all callers. - (var_is_num_missing): Ditto. - (var_is_str_missing): Ditto. - (var_is_value_user_missing): Removed. Changed callers to use - var_is_value_missing. - (var_is_num_user_missing): Removed. Changed callers to use - var_is_num_missing. - (var_is_str_user_missing): Removed. Changed callers to use - var_is_str_missing. - (var_is_value_system_missing): Removed. Changed callers to use - var_is_value_missing. - - * casefilter.c (struct casefilter): Use enum mv_class in place of - bool. - (casefilter_variable_missing): Adapt to new member. - (casefilter_create): Change signature to take enum mv_class, - update callers. - -Fri Dec 22 20:08:38 WST 2006 John Darrington - - * casefile-factory.h fastfile-factory.c fastfile-factory.h: New files. - - * case-sink.c case-sink.h procedure.c procedure.h - storage-stream.c: Now uses the factory. - -Sat Dec 16 22:05:18 2006 Ben Pfaff - - Make it possible to pull cases from the active file with a - function call, instead of requiring indirection through a callback - function. - - * case-source.h (struct case_source_class): Change ->read function - to return a single case, instead of calling a callback function - for each case. Change ->destroy function to return an error - status. - - * case-source.c (free_case_source): Pass along the value returned - by the case_source ->destroy function. - - * procedure.c (struct write_case_data): Removed. - (struct dataset): Added some members to track procedure state. - (procedure): Optimize the trivial case at this level. - (internal_procedure): Re-implement in terms of proc_open, - proc_read, proc_close. - (proc_open) New function. - (proc_read) New function. - (proc_close) New function. - (write_case) Moved into proc_read. - (close_active_file) Moved closing of data source into proc_close. - - * storage-source.c: Rewrote to conform with modified - case_source_class interface. - - * transformations.c (trns_chain_execute): Added argument to allow - starting execution from an arbitrary transformation. Updated - callers. - - * transformations.h (enum TRNS_NEXT_CASE) Renamed TRNS_END_CASE. - -Sat Dec 16 14:09:25 2006 Ben Pfaff - - * sys-file-reader.c (read_display_parameters): Don't assume that - MEASURE_* and ALIGN_* have the same values found in system files. - - * sys-file-writer.c (write_variable_display_parameters): Ditto. - - * variable.h: Change MEASURE_NOMINAL, MEASURE_ORDINAL, - MEASURE_SCALE to be 0-based instead of 1-based. This also fixes - the value of n_MEASURES, which was off by 1 (at least from my - point of view). - -Sat Dec 16 12:17:34 WST 2006 John Darrington - - * dictionary.c dictionary.h vardict.h variable.c: Added optional - callbacks which are invoked when the dictionary or its - variables are changed. - - * missing-values.c missing-values.h value-labels.c: Tidied up - consistency checks, and made some of them return false - instead of assert-failing. - -Wed Dec 13 19:30:11 2006 Ben Pfaff - - * calendar.c (calendar_days_in_month): New function. - -Mon Dec 11 07:53:39 2006 Ben Pfaff - - * value-labels.c (hash_int_val_lab): Only hash as many bytes as - the value label's width. - -Sun Dec 10 14:21:29 2006 Ben Pfaff - - * sfm-private.h: Move contents into sys-file-writer.c, which is - the only remaining user. Removed Borland C++-specific directives. - - * sys-file-reader.c: Clean up and rewrite entire file. The - rewritten version is simpler and better abstracted, and should be - easier to maintain and extend. It avoids using structures to read - file data, which is prone to padding variations among compilers. - It should also handle non-IEEE 754 system files, although I - haven't been able to find any. It has been tested against many - .sav files obtained from the Web and found to produce the same - results as the earlier version of the code, or in some cases - improved results. It is more tolerant of format variations found - in the wild. - - * sys-file-reader.h (struct sfm_read_info): Removed `big_endian' - member, putting an enum integer_format in its place. New member - `float_format'. Changed `compressed' member to type bool. - -Sun Dec 10 13:48:53 2006 Ben Pfaff - - * dictionary.c (dict_delete_consecutive_vars): New function. - -Sat Dec 9 20:08:25 2006 Ben Pfaff - - * file-name.c (fn_search_path): Remove prefix arg that was unused - by any caller. Updated all callers. - -Sat Dec 9 20:04:22 2006 Ben Pfaff - - * format.c (fmt_dollar_template): Use user's decimal point - character. Add assertion. - -Sat Dec 9 20:02:25 2006 Ben Pfaff - - * format.c (fmt_dollar_template): New function, based on - dollar_format_template from var-type-dialog.c. - -Sat Dec 9 18:05:59 2006 Ben Pfaff - - * data-out.c (output_scientific): Fix bad assumption that "buf" is - null-terminated. - -Sat Dec 9 17:23:23 2006 Ben Pfaff - - Finish converting struct variable to an opaque type. In this - phase, we add remaining setter and getter functions, convert the - remaining PSPP code to use them, and do a bunch of cleanup. The - resulting changes are pervasive but mostly trivial, and only the - notable changes are logged. - - * automake.mk (src_data_libdata_a_SOURCES): Add the new source - files. - - * case.c (case_data): Renamed case_data_idx. - (case_num): Renamed case_num_idx. - (case_str): Renamed case_str_idx. - (case_data_rw): Renamed case_data_rw_idx. - - * case.h (case_data): New function with old name and an interface - that takes a variable instead of an index, which is easier to - use. Updated all callers to use the new interface, or to use the - new *_idx function (see above). - (case_num): Ditto. - (case_str): Ditto. - (case_data_rw): Ditto. - - * category.c (cat_stored_values_destroy): Changed interface to - take a struct cat_vals * instead of a struct variable *. - - * dictionary.c (dict_clone): Use new vector_clone function. - (dict_clear) Use new var_destroy function. - (add_var) New function. - (dict_create_var) Rewrite in terms of dict_create_var_assert. - (dict_create_var_assert) Rewrite in terms of add_var. - (dict_clone_var) Rewrite in terms of dict_clone_var_assert. - (dict_clone_var_assert) Rewrite in terms of var_clone, add_var. - (dict_lookup_var) Use new var_create, var_destroy functions. - (dict_contains_var) Rewrite in terms of new vardict functionality. - (set_var_dict_index) New function. - (set_var_case_index) New function. - (reindex_vars) New function. - (dict_delete_var) Rewrite in terms of new vardict functionality. - (dict_reorder_var) Ditto. - (dict_reorder_vars) Ditto. - (rename_var) New function. - (dict_rename_var) Use rename_var. - (dict_rename_vars) Use pool to simplify code. Use rename_var. - (dict_get_compacted_idx_to_fv) Rename - dict_get_compacted_dict_index_to_case_index, update callers. - (dict_create_vector) Use new vector_create function. - (dict_clear_vectors) Use new vector_destroy function. - (set_var_short_name_suffix) Move here from variable.c, renamed - from var_set_short_name_suffix, make static, update caller. - - * sys-file-private.c: New file. - (sfm_width_to_bytes) Moved here from variable.c, renamed from - width_to_bytes, update callers. - - * sys-file-private.h: New file. Later it will supplant - sfm-private.h; for now it supplements it. - (macro MIN_VERY_LONG_STRING) New macro. - (macro EFFECTIVE_LONG_STRING_LENGTH) New macro, from value.h. - - * sys-file-reader.c: Use MIN_VERY_LONG_STRING - 1 where - MAX_LONG_STRING was used before. - - * sys-file-writer.c: Ditto. - - * value-labels.c: Change the paradigm here to be that a null - pointer is OK for a struct val_labs * in most cases; it just - represents an empty set of value labels. - (val_labs_copy) A copy of a null set is a null set. - (val_labs_count) A null set has 0 labels. - (val_labs_replace) Change return type to void. Rewrite for - simplicity. - (val_labs_find) A null set does not contain the value. - (value_to_string) Moved to variable.c, renamed var_get_value_name, - transposed argument order, updated all callers. - - * value.c: New file. - (value_dup) Moved here from variable.c. - (compare_values) Ditto. - (hash_value) Ditto. - - * value.h: (macro MAX_SHORT_STRING) Rewrote for simplicity. - (macro MAX_LONG_STRING) Removed, because it was only interesting - for system files, not for general code. - (macro MAX_VERY_LONG_STRING) Ditto. - (macro EFFECTIVE_LONG_STRING_LENGTH) Moved to sys-file-private.h. - (macro MAX_ELEMS_PER_VALUE) Removed, as it was unused. - - * vardict.h: New file, for an interface between variables and - their dictionaries. - - * variable.c: A lot of functions were moved around, for better - organization. - (struct variable) Move definition here, from variable.h. - (var_type_adj) Removed--makes i18n hard. - (var_type_noun) Ditto. - (var_create) New function. - (var_clone) New function. - (var_destroy) New function. - (var_set_name) Assert that variable is not in a dictionary. - (compare_var_names) Rename compare_vars_by_name and fix a couple - of callers who thought the args were strings. - (hash_var_name) Rename hash_var_by_name. - (compare_var_ptr_names) Rename compare_var_ptrs_by_name. - (hash_var_ptr_name) Rename hash_var_ptr_by_name. - (var_is_very_long_string) Removed, because it was only interesting - to system file code. - (var_set_missing_values) Allow the argument to be the wrong width, - as long as we can resize it. Simplify callers who were doing the - resizing themselves. - (var_get_value_labels) New function. - (var_has_value_labels) New function. - (var_set_value_labels) New function. - (alloc_value_labels) New function. - (var_add_value_label) New function. - (var_replace_value_label) New function. - (var_clear_value_labels) New function. - (var_lookup_value_label) New function. - (var_get_value_name) Moved here from variable.c, renamed from - var_get_value_name, transposed argument order, updated all - callers. - (var_to_string) Moved here, from variable-label.c. - (var_set_leave) New function. - (var_get_leave) New function. - (var_must_leave) New function. - (var_set_short_name_suffix) Moved to dictionary.c, renamed - set_var_short_name_suffix. - (var_get_dict_index) New function. - (var_get_case_index) New function. - (var_get_obs_vals) New function. - (var_set_obs_vals) New function. - (var_has_obs_vals) New function. - (var_get_vardict) New function. - (var_set_vardict) New function. - (var_has_vardict) New function. - (var_clear_vardict) New function. - (value_dup) Moved to value.c. - (compare_values) Ditto. - (hash_value) Ditto. - - * variable.h: (enum NUMERIC) Rename VAR_NUMERIC, update all users. - (enum ALPHA) Rename VAR_STRING, update all users. - - * vector.c: New file. - (struct vector) Moved here, from variable.h. - (check_widths) New function. - (vector_create) New function. - (vector_clone) New function. - (vector_destroy) New function. - (vector_get_name) New function. - (vector_get_var) New function. - (vector_get_var_cnt) New function. - (compare_vector_ptrs_by_name) New function. - - * vector.h: New file. - -Sun Dec 10 11:32:56 WST 2006 John Darrington - - * casefilter.c (casefilter_variable_missing): Avoided comparision of - string variables to SYSMIS. Thanks to Ben Pfaff for reporting this - problem. - -Sat Dec 9 07:18:03 WST 2006 John Darrington - - * value-labels.c (destroy_atoms): New function. - * value-labels.c (atom_create): Call destroy_atoms in atexit handler. - -Thu Dec 7 17:38:26 2006 Ben Pfaff - - Thanks to Jason Stover for pointing out this problem. - - * data-out.c (output_number): Use gsl_finite from GSL, which is - portable, instead of isfinite, which is not. - (power256) Ditto. - -Thu Dec 7 15:22:38 WST 2006 John Darrington - - * variable.c variable.h (value_dup): New function. - -Mon Dec 4 22:20:17 2006 Ben Pfaff - - Start converting struct variable to an opaque type. In this - phase, we add a bunch of setter and getter functions and convert - most of the PSPP code to use them. The resulting changes are - pervasive but mostly trivial, and only the notable changes are - logged. - - * format.c (fmt_equal): New function. - - * variable.c (var_type_is_valid): New function. - (measure_is_valid) Moved here, from format.c. - (alignment_is_valid) Moved here, from format.c. - (var_get_name) New function. - (var_set_name) New function. - (width_to_type) New function. - (var_get_type) New function. - (var_get_width) New function. - (var_set_width) New function. - (var_is_numeric) New function. - (var_is_alpha) New function. - (var_is_short_string) New function. - (var_is_long_string) New function. - (var_is_very_long_string) New function. - (var_get_missing_values) New function. - (var_set_missing_values) New function. - (var_clear_missing_values) New function. - (var_has_missing_values) New function. - (var_is_value_missing) New function. - (var_is_num_missing) New function. - (var_is_str_missing) New function. - (var_is_value_user_missing) New function. - (var_is_num_user_missing) New function. - (var_is_str_user_missing) New function. - (var_is_value_system_missing) New function. - (var_get_print_format) New function. - (var_set_print_format) New function. - (var_get_write_format) New function. - (var_set_write_format) New function. - (var_set_both_formats) New function. - (var_get_label) New function. - (var_set_label) New function. - (var_clear_label) New function. - (var_has_label) New function. - (var_get_measure) New function. - (var_set_measure) New function. - (var_get_display_width) New function. - (var_set_display_width) New function. - (var_get_alignment) New function. - (var_set_alignment) New function. - (var_get_value_cnt) New function. - (var_get_leave) New function. - (var_get_short_name) New function. - - * variable.h: (struct variable) Removed "type" and "nv" members; - they are now computed from "width" where needed. - -Mon Dec 4 21:38:40 2006 Ben Pfaff - - * missing-values.c (mv_resize): Don't write beyond end of the - allocated buffer when resizing a long string. - -Sat Dec 2 16:28:32 2006 Ben Pfaff - - Clean up identifier code: don't require identifier enumerations to - be in a particular order; make better use of string library; - expose less of the internals. - - * identifier.c: (lex_skip_identifier) Rename lex_id_get_length, - change interface. Updated all callers. - (lex_id_match) Change interface to use struct substring, update - all callers. - (lex_id_match_len) Removed. Update callers to use lex_id_match. - (global array keywords[]) Make static, change form. Update all - users to use lex_id_name instead. - (lex_is_keyword) New function. - (lex_id_to_token) Change interface to use struct substring, update - all callers. - (lex_id_name) New function. - - * identifier.h: (T_FIRST_KEYWORD) Removed. Changed users to call - lex_is_keyword instead. - (T_LAST_KEYWORD) Removed. - (T_N_KEYWORDS) Removed. - -Sat Nov 18 20:46:35 2006 Ben Pfaff - - * format.c: (fmt_date_template) Distinguish characters for which a - space is output and any date delimiter is allowed on input, from - those for which a space is output and only a space is allowed on - input. The former is represented by X, the latter by a space. - Also, drop distinction between h and H, changing the former to the - latter. - - * data-in.c: Completely rewrite internals to conform to SPSS input - formats as closely as possible. - (data_in) Changed external interface by replacing the structure - that was used as a single argument by a set of arguments. Updated - all callers. - (data_in_finite_line) Removed. Converted all callers to use plain - data_in. - (data_in_get_integer_format) New function. - (data_in_set_integer_format) New function. - (data_in_get_float_format) New function. - (data_in_set_float_format) New function. - - * data-in.h: (enums DI_IGNORE_ERROR, DI_IMPLIED_DECIMALS) Removed. - (struct data_in) Removed. - - * data-out.c: (output_date) Drop each component from the input as - it is output, to allow us to drop the distinction between h (a - count of hours) and H (the hour of day) template characters. - Also, handle new X template character. - (output_scientific) Follow more rational rule on when to drop - fraction introduced between SPSS 13 and 15. Updated test case to - match new behavior. - -Sat Nov 11 11:41:26 2006 Ben Pfaff - - Fix buffer overflow reported by John Darrington. - - * data-out.c (output_bcd_integer): In case of SYSMIS, etc., - realize that DIGITS is a count of nibbles, not of bytes. - -Sat Nov 4 15:59:56 2006 Ben Pfaff - - * calendar.c (calendar_offset_to_gregorian) Also return the - year-of-day. Change callers to new interface. - - * data-out.c: Completely rewrite internals to conform to SPSS - output formats as completely as possible. - (data_out) Change interface to put input parameters before output - parameters, for consistency with the style I now prefer. Update - all callers. - (data_out_get_integer_format) New public function. - (data_out_set_integer_format) New public function. - (data_out_get_float_format) New public function. - (data_out_set_float_format) New public function. - - * data-out.h: New file. Move prototype for data_out here, from - format.h. - - * format.c: (fmt_step_width) Use equality comparison instead of - bitwise and, for clarity. - (fmt_is_string) Ditto. - (fmt_input_to_output) Fix categories that are translated to F - format. - -Sun Nov 5 08:29:34 WST 2006 John Darrington - - * casefilter.c casefilter.h (new files), casefile.c casefile.h - casefile-private.h: Added casefilter to assist commands with missing - values. - -Sat Nov 4 11:47:09 2006 Ben Pfaff - - Implement SET ERRORS, SHOW ERRORS. Fixes bug #17609. - - * settings.c: (route_errors_to_terminal) New variable. - (route_errors_to_listing) New variable. - (get_error_routing_to_terminal) New function. - (set_error_routing_to_terminal) New function. - (get_error_routing_to_listing) New function. - (set_error_routing_to_listing) New function. - - * settings.h: (SET_ROUTE_* enums) Removed, because unused. - -Tue Oct 31 19:58:27 2006 Ben Pfaff - - * format.c: Completely rewrite, to achieve better abstraction. - Rewrite all references to formats in other files. - - * format.def: Rewrite and reorganize. - - * settings.c: Move everything related to custom currency formats - into format.[ch], changing them in form, so as to group related - code and definitions better. Changed all references to use the - new functions. - (static var decimal) Removed. - (static var grouping) Removed. - (static var cc) Removed. - (get_decimal) Removed. - (set_decimal) Removed. - (get_grouping) Removed. - (set_grouping) Removed. - (get_cc) Removed. - (set_cc) Removed. - - * settings.h: (macro CC_CNT) Removed. - (macro CC_WIDTH) Removed. - (struct custom_currency) Removed. - -Tue Oct 31 19:56:19 2006 Ben Pfaff - - * data-in.c (data_in): Use switch statement instead of table, to - avoid dependence on the order of the FMT_* enums. - -Tue Oct 31 19:35:36 2006 Ben Pfaff - - * data-out.c: (num_to_string) Removed, because it was dead code. - -Tue Oct 31 18:09:24 2006 Ben Pfaff - - * data-in.c (parse_trailer): Fix error message. - -Sat Oct 28 11:56:50 2006 Ben Pfaff - - * format.c (fmt_is_binary): New function. - -Thu Oct 19 22:59:56 WST 2006 John Darrington - - * procedure.c procedure.h: Encapsulated the static data into a single - struct. - -Sat Oct 14 16:56:44 2006 Ben Pfaff - - * casefile.c (casereader_read_xfer): Always initialize the case, - even on an error condition. - -Wed Sep 27 09:37:49 WST 2006 John Darrington - - * procedure.c (case_limit_trns_proc): Fixed buglet which rendered the - entire function useless. - -Mon Sep 25 17:11:46 WST 2006 John Darrington - - * casefile-private.h casefile.c casefile.h fastfile.c: Created new - casereader method casereader_clone. - - * procedure.c pransformations.h: Introduced new type casenum_t - -Thu Sep 21 07:00:30 2006 Ben Pfaff - - * variable.c: (width_to_bytes) Rephrase code for clarify. - -Sun Jul 16 19:52:03 2006 Ben Pfaff - - * format.c: (fmt_type_from_string) New function. - (fmt_to_string) Include decimals in output if the format has - decimals, even if the format type does not. This way, we can - accurately reproduce incorrect formats in user output. - (check_common_specifier) Make the check for a bad format type an - assertion, so we get bug reports if they show up. Fix message. - Check for decimal places with a format type that doesn't allow - them. - (check_input_specifier) Remove check for FMT_X, which has been - deleted. - (check_output_specifier) Ditto. - - * format.def: Remove FMT_T, FMT_X, FMT_DESCEND, FMT_NEWREC. - - * format.h: (macro FMT_TYPE_LEN_MAX) New macro. - (struct fmt_desc) Use FMT_TYPE_LEN_MAX in definition. - (enum fmt_parse_flags) Removed. - -Mon Jul 17 18:26:21 WST 2006 John Darrington - - * casefile.c casefile.h: Converted to an abstract base class. - * casefile-private.h fastfile.c fastfile.h: New files. - * automake.mk procedure.c scratch-writer.c storage-stream.c - -Wed Jul 12 21:02:26 2006 Ben Pfaff - - * procedure.c (internal_procedure): Create sink_case with only as - many values as the compacted dictionary. - -Wed Jul 12 21:01:00 2006 Ben Pfaff - - Remove "debugging" code that caused plenty of false positives and - no true positives. - - * case.h (struct ccase): [DEBUGGING] Remove `this' member. - - * case.c: Remove all references to `this' member. - -Thu Jul 6 19:09:53 2006 Ben Pfaff - - Fix link error noted by Jason Stover. - - * storage-stream.c: Include . - -Tue Jul 4 08:47:35 2006 Ben Pfaff - - Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support - ALL) and additional underlying system file issues. - - Thanks to John Darrington for review. - - First problem: var_hash points to variables not owned by the - sys-file-reader, which the caller may free or modify. Use an - array of sfm_vars instead, as done earlier (e.g. CVS version - 1.12). - - * sys-file-reader.c (struct sfm_reader): Remove var_hash, svars - members and remove all code that references it. Add vars, var_cnt - members. Remove fix_specials member, which was unused. - (struct sfm_var) Remove name member, which was unused. - (sfm_close_reader) Free vars member instead of var_hash. - (compare_var_shortnames) Removed. - (hash_var_shortname) Removed. - (sfm_open_reader) Fill out vars array. - (compare_var_index) Removed. - (sfm_read_case) Use vars instead of var_hash. - - Second problem: we're confused about when we actually have very - long strings, causing us to choose incorrectly between slow path - and fast path in sfm_read_case. - - * sys-file-reader.c: (sfm_open_reader) Only mark has_vls if we - have very long strings, not when we have long variable names, - which is an unrelated feature. - -Tue Jun 27 12:06:49 2006 Ben Pfaff - - * variable.h: Move var_set and variable parsing declarations to - new header, src/language/lexer/variable-parser.h. Modified lots - of files to include the new header. - -Sun Jun 25 22:39:32 2006 Ben Pfaff - - * value-labels.c (value_to_string): When there's no value label, - format the variable according to its print format, instead of - always effectively using A or F format. - -Mon Jun 19 18:05:42 WST 2006 John Darrington - - * casefile.c (casefile_get_random_reader): Nasty hack to get around - the mode assertion. - - * format.c: Removed tortological assertion. - -Fri Jun 9 12:20:09 2006 Ben Pfaff - - Reform string library. - - * file-name.c (fn_interp_vars): Change interface to take a - substring as input. Updated all users. - -Fri Jun 9 12:11:24 2006 Ben Pfaff - - * format.c (measure_is_valid): Really return false when m >= - n_MEASURES. - -Tue Jun 6 18:46:26 2006 Ben Pfaff - - Implement random access to casefiles, for use in GUI. - - * casefile.c: (struct casereader) Add `random', `file_ofs', - `buffer_ofs' members. - (casefile_get_random_reader) New function. - (read_open_file) Break part into new function - seek_and_fill_buffer(). - (fill_buffer) Update buffer_ofs, file_ofs. - (casereader_seek) New function. - -Tue May 30 19:52:33 WST 2006 John Darrington - - * settings.c: Added call to i18n{done, init}. - -Tue May 9 21:09:17 2006 Ben Pfaff - - * procedure.h: Add WARN_UNUSED_RESULT to procedure function - prototypes. - -Tue May 9 21:08:05 2006 Ben Pfaff - - * casefile.c: Convert many uses of `int' to `bool'. - -Sat May 6 22:49:43 2006 Ben Pfaff - - * transformations.c (trns_chain_destroy): Destroy chain's trns - member, to fix memory leak. - -Sat May 6 22:48:30 2006 Ben Pfaff - - * storage-stream.c (storage_source_decapsulate): Destroy case - source to fix memory leak. - -Sat May 6 22:46:47 2006 Ben Pfaff - - * scratch-reader.c (scratch_reader_read_case): Copy into existing - case passed as argument instead of initializing the argument as a - case. Fixes memory leak that showed up in - tests/command/aggregate.sh with scratch files. - -Sat May 6 22:45:55 2006 Ben Pfaff - - * procedure.c (proc_done): Destroy default_dict, to fix memory - leak. - -Sat May 6 22:44:44 2006 Ben Pfaff - - Simplify procedure_with_splits(). - - * procedure.c (struct split_aux_data): Removed case_count member. - (procedure_with_splits) Don't initialize case_count. - (split_procedure_case_func) Check whether prev_case is null - instead of case_count. - (split_procedure_end_func) Ditto. - -Sat May 6 22:42:23 2006 Ben Pfaff - - * case.c (case_move): Do nothing if dst and src are the same - object. - (case_try_create) Merge two similar cases. - (case_copy) Unshare only if data must be actually copied. - -Sun May 7 10:04:06 WST 2006 John Darrington - - * data-in.c data-out.c dictionary.c sys-file-reader.c - sys-file-writer.c variable.c variable.h: Reworked very long string - support for better encapsulation. - -Sat May 6 19:02:00 2006 Ben Pfaff - - * value-labels.c (val_labs_can_set_width): New function. - (val_labs_set_width) Clear labels if increasing width to long - string. - (val_labs_destroy) Remove unneeded test for null. - -Sat May 6 16:14:08 2006 Ben Pfaff - - * value-labels.h: Remove unneeded dependency on variable.h. - -Sat May 6 15:58:36 2006 Ben Pfaff - - Get rid of `char *c' member in union value, for cleanliness. - - * value.h: (union value) Remove `c' member. - -Sat May 6 15:36:59 2006 Ben Pfaff - - Make dictionary compacting functions a little more general. - - * sys-file-writer.c (sfm_open_writer): Use - dict_compacting_would_change(). - (does_dict_need_translation) Removed. - -Sat May 6 15:35:42 2006 Ben Pfaff - - Make dictionary compacting functions a little more general. - - * dictionary.c (dict_needs_compaction): Rename - dict_compacting_would_shrink(). Update all callers. - (dict_compacting_would_change) New function. - -Sat May 6 14:25:49 2006 Ben Pfaff - - * sys-file-writer.c: (does_dict_need_translation) Fix bug: - inverted return value (!). - -Sat May 6 13:37:52 2006 Ben Pfaff - - Continue reforming procedure execution. - - * procedure.c: Search and replace "vfm" by "proc". Notably: - (static var vfm_source) Rename proc_source. Update all - references. - (static var vfm_sink) Rename proc_sink. Update all references. - -Sat May 6 12:38:55 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, remove - PROCESS IF, which was deprecated anyway and can be easily - simulated with TEMPORARY followed by SELECT IF. - - * procedure.c: (open_active_file) Don't call - add_process_if_trns(). - (discard_variables) Get rid of redundant call to - proc_cancel_all_transformations(). - (add_process_if_trns) Removed. - (process_if_trns_proc) Removed. - (process_if_trns_free) Removed. - -Sat May 6 10:58:05 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, add - `const' to the case passed to procedure()'s callback. - - Updated all users of procedure() as well. - - * procedure.c: (struct write_case_data) Add "const" to ccase - parameter for case_func member. - (procedure) Add "const" to ccase parameter for proc_func - parameter. - (multipass_case_func) Make ccase parameter const. - (internal_procedure) Add "const" to ccase parameter for case_func - parameter. - (split_procedure_case_func) Make ccase parameter const. - (multipass_split_case_func) Make ccase parameter const. - -Sat May 6 10:30:33 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - the output code for SPLIT FILE groups in procedure.c, which really - shouldn't be doing any output. Move it into the individual - procedures instead. This also adds some flexibility. - - Updated many users of procedure_with_splits() and - multipass_procedure_with_splits() to call - output_split_file_values() and to deal with increased use of - const. - - * procedure.c: (struct split_aux_data) Add "const struct ccase *" - parameter to begin_func member. - (procedure_with_splits) Add "const struct ccase *" parameter to - begin_func parameter. Make ccase parameter const in proc_func - parameter. - (split_procedure_case_func) Don't dump split file group. Pass - case to begin_func. - (dump_splits) Moved to language/dictionary/split-file.c as - output_split_file_values(). - (struct multipass_split_aux_data) Add "const struct ccase *" - parameter to split_func member. - (multipass_procedure_with_splits) Add "const struct ccase *" - parameter to split_func parameter. - (multipass_split_case_func) Save new SPLIT FILE case before - outputting case. - (multipass_split_output) Pass saved SPLIT FILE case to split_func. - -Fri May 5 22:48:50 2006 Ben Pfaff - - Continue reforming procedure execution. Change - internal_procedure() so that it calls open_active_file() and - close_active_file(), which isolates most of the actual procedure - functionality. - - * procedure.c: (struct write_case_data) Rename `proc_func' member - to `case_func' and update all references. - (procedure) Rewrite as one-line wrapper around - internal_procedure(). - (struct multipass_aux_data) New. - (multipass_callback) Renamed multipass_case_func(). Use struct - multipass_aux_data as auxiliary data. - (multipass_end_func) New function. - (multipass_procedure) Rewrite as wrapper for internal_procedure() - that uses multipass_case_func, multipass_end_func. - (internal_procedure) Add `end_func' argument. Move optimization - of trivial case in here. Move call to open_active_file() and - close_active_file() in here. Now assert that vfm_source is - non-null. - (procedure_with_splits_callback) Rename - split_procedure_case_func(). - (split_procedure_end_func) New function. - (multipass_split_callback) Rename multipass_split_case_func. - (multipass_split_end_func) New function. - (discard_variables) No need to test for nonnull vfm_source. - -Fri May 5 21:34:02 2006 Ben Pfaff - - Continue reforming procedure execution. Get rid of unused member. - - * procedure.c: (struct write_case_data) Remove `cases_analyzed' - member. - (write_case) Don't increment cases_analyzed. - -Thu May 4 21:50:11 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, move - procedure.c and procedure.h from src to src/data. Update - makefiles and #includes accordingly. - - * procedure.c: Moved here from src/. - - * procedure.h: Moved here from src/. - -Wed May 3 22:42:12 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c, - transformations.h. - - * dictionary.c: (global variable default_dict) Move to - src/procedure.c. - - * variable.h: (TRNS_*) Move to transformations.h. - (struct transformation) Move to transformations.c. - -Thu May 4 13:47:06 WST 2006 John Darrington - - * sys-file-reader.c: Fixed invalid read problems. - -Tue May 2 15:57:10 2006 Ben Pfaff - - * storage-stream.c: Add missing function comments. - -Tue May 2 15:50:21 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, add some - new, needed functionality to storage-stream. - - * storage-stream.c: (storage_source_decapsulate) New function. - -Tue May 2 15:43:36 2006 Ben Pfaff - - * variable.c (width_to_bytes): Declarations must precede - statements for C90 compliance. - -Tue May 2 10:42:05 WST 2006 John Darrington - - * data-out.c, data-in.c, variable.c, variable.h: New functions - copy_mangle and copy_demangle for reading/writing cases; emulates the - way SPSS deals with strings > 255 bytes. - - * sys-file-reader.c sys-file-writer.c: Added support for Record 7, - subtype 14 needed for strings longer than 255 bytes. - - * dictionary.c, format.def, value.c : Updated to use MAX_STRING - instead of literal values. Also fixed some constness issues. - - * format.h: Constness - - * sfm-private.h: Renamed the case_size identifier, since I discovered - that SPSS's respect for this variable is very nominal. - -Mon May 1 15:45:42 2006 Ben Pfaff - - Change case limit type from int to size_t. - - * dictionary.c: (struct dictionary) Change type of case_limit - member. - (dict_get_case_limit) Change return type. - (dict_set_case_limit) Change parameter type. - -Wed Apr 26 20:01:19 2006 Ben Pfaff - - * variable.h: (struct variable) Rename `reinit' member as `leave' - and invert sense. Fix up all references. - -Wed Apr 26 19:39:28 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, break - procedure.c into multiple files. - - * automake.mk: (src_data_libdata_a_SOURCES) Add all the new files. - - * case-sink.c: New file. - - * case-sink.h: New file. - - * case-source.c: New file. - - * case-source.h: New file. - - * storage-stream.c: New file. - - * storage-stream.h: New file. - -Wed Apr 26 14:55:19 2006 Ben Pfaff - - * variable.h: (struct variable) Remove `init' member and all - references to it from other files. It was initialized in several - places, but nothing really ever used it for anything worthwhile. - Thanks to Jason Stover for pointing out how confusing this - member is. - -Sun Apr 23 22:04:45 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * casefile.c: (io_error) Use err_msg() instead of err_vmsg(). - Format message ourselves. - - * data-in.c: (vdls_error) Ditto. - - * por-file-reader.c: (error) Ditto. - - * sys-file-reader.c: (corrupt_msg) Ditto. - -Sun Apr 16 18:49:51 2006 Ben Pfaff - - GNU standards require "file name" instead of "filename" in - documentation. It's nice for our code to follow the convention - too. - - * casefile.c: (struct casefile) Rename `filename' member to - `file_name'. Updated all references. - - * file-name.c: [!unix] (struct file_identity) Rename - normalized_filename member to normalized_file_name. Updated all - references. - -Sun Apr 16 18:35:33 2006 Ben Pfaff - - We don't really support anything but Unix-like environments well, - so we might as well de-obfuscate by writing directory and path - separators explicitly. - - * file-name.h: (macro DIR_SEPARATOR) Removed. Changed all usages - to just '/'. - (macro PATH_SEPARATOR) Removed. Changed all usages to just ':'. - (macro DIR_SEPARATOR_STRING) Removed. Changed all usages to just - "/". - (macro PATH_SEPARATOR_STRING) Removed. Changed all usages to just - ":" - -Sun Apr 16 18:28:35 2006 Ben Pfaff - - GNU standards require "file name" instead of "filename" in - documentation. It's nice for our code to follow the convention - too. - - * filename.c: Rename to file-name.c. - - * filename.h: Rename to file-name.h. Update all inclusions. - Update header guards. - - * automake.mk: Update file names. - -Sun Apr 16 16:42:47 2006 Ben Pfaff - - * filename.c: (fn_dirname) Renamed fn_dir_name(), all references - updated. - (fn_basename) Removed (dead code). - (fn_absolute_p) Renamed fn_is_absolute(), all references updated. - (fn_special_p) Renamed fn_is_special(), all references updated. - (fn_exists_p) Renamed fn_exists(), all references updated. - -Sun Apr 16 16:33:58 2006 Ben Pfaff - - * filename.c: (fn_tilde_expand) Rewrite for cleaner code. - Also, now it only tilde-expands file names, not paths. - (fn_search_path) Tilde-expand one directory at a time. - -Sun Apr 16 16:28:06 2006 Ben Pfaff - - * filename.c: (fn_search_path) rewrite for cleaner code. Also, - get rid of non-Unixlike version of the code, which has probably - never been tested. - (fn_prepend_dir) Removed (dead code). - - * filename.h: (macro DIR_SEPARATOR_STRING) New. - (macro PATH_SEPARATOR_STRING) New. -Sun Apr 16 16:05:28 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we get - rid of VM() and the other msg() support for "verbosity", replacing - it by a new function verbose_msg(). - - * filename.c: (fn_search_path) Use verbose_msg() instead of - msg(VM(), ...). - -Sat Apr 15 19:53:19 2006 Ben Pfaff - - * sfm-private.h: Get rid of #defines after #error, which makes no - sense. - -Sat Apr 15 19:48:57 2006 Ben Pfaff - - Get rid of our own int32 type in favor of the standard int32_t - type. - - * sfm-private.h: (int32 macro) Don't define this anymore. Do - include . - - * sys-file-reader.c: Use int32_t instead of int32 throughout. - - * sys-file-writer.c: Use int32_t instead of int32 throughout. - -Sat Apr 15 19:36:47 2006 Ben Pfaff - - Remove ill-considered file routines that are no longer used. - - * filename.c: (fn_open_ext) Removed. - (fn_close_ext) Removed. - - * filename.h: (struct file_ext) Removed. - -Mon Apr 3 13:22:39 2006 Ben Pfaff - - * variable.c (var_is_valid_name): Move declarations before code - for C90 compliance. - -Tue Apr 4 15:28:40 WST 2006 John Darrington - - * filename.ch (fn_interp_vars): Fixed small buglet. - -Tue Mar 28 13:47:16 WST 2006 John Darrington - - * filename.[ch] (fn_interp_vars): Changed the signature and semantics - so as to modify the string inline. Thus makeing it easier to - destroy the results when no longer needed. - -2006-03-25 Jason Stover - - * category.c (cat_stored_values_destroy): Fixed memory leak. - -Fri Mar 24 18:15:41 2006 Ben Pfaff - - Add some missing frees. Thanks to John Darrington for reporting - these. - - * any-writer.c (any_writer_close): Free writer. - - * any-reader.c (any_reader_close): Free reader. - -Mon Mar 20 16:33:53 2006 Ben Pfaff - - * por-file-reader.c: (error) Mark as NO_RETURN. - -Sat Mar 11 15:06:07 WST 2006 John Darrington - - * settings.c: Changed default value of scompress to true. - -Sat Mar 4 13:22:51 2006 Ben Pfaff - - * sfm-private.h: Include variable.h, to get SHORT_NAME_LEN. - - * value.h: Remove check on MAX_SHORT_STRING, which I don't think - really applies. - - * variable.h: Move definition of SHORT_NAME_LEN, LONG_NAME_LEN - here from pref.h.orig. - -Sat Mar 4 12:50:48 WST 2006 John Darrington - - * sys-file-reader.c: Fixed bug reading compressed files. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Numerous renames. See src/ChangeLog for details. - - * Moved files from src directory diff --git a/src/data/automake.mk b/src/data/automake.mk index 5f2120c038..4ad8a23738 100644 --- a/src/data/automake.mk +++ b/src/data/automake.mk @@ -123,6 +123,4 @@ src_data_libdata_la_SOURCES = \ src/data/vector.c \ src/data/vector.h -EXTRA_DIST += \ - src/data/OChangeLog \ - src/data/sys-file-encoding.pl +EXTRA_DIST += src/data/sys-file-encoding.pl diff --git a/src/data/sys-file-reader.h b/src/data/sys-file-reader.h index 011d541954..4fc14456fe 100644 --- a/src/data/sys-file-reader.h +++ b/src/data/sys-file-reader.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2009, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/language/OChangeLog b/src/language/OChangeLog deleted file mode 100644 index a32af121a9..0000000000 --- a/src/language/OChangeLog +++ /dev/null @@ -1,250 +0,0 @@ -2008-03-04 Ben Pfaff - - Patch #6441. Reviewed by John Darrington. - - * command.def: Add DEBUG FORMAT GUESSER command. - -2007-12-04 Ben Pfaff - - * command.def: Add GET DATA command. - -2007-11-05 Ben Pfaff - - Patch #6258. Reviewed by John Darrington. - - * command.c (report_state_mismatch): Replace code to construct an - error message from bits and pieces by a switch statement that - hard-codes each possible error. Makes i18n easier. - Suggested by Chusslove Illich . - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * command.def: Add DEBUG PAPER SIZE command. - -2007-09-05 John Darrington - - * command.c (do_parse_command): Translate CMD_FAILURE into - CMD_CASCADING_FAILURE, if the ERRMODE_STOP is set on the syntax - source. - -2007-06-06 Ben Pfaff - - * command.def: Add DEBUG DATASHEET command. Remove DEBUG CASEFILE - command. - -2007-03-18 Ben Pfaff - - * syntax-string-source.c (close): Rename to do_close to avoid - conflict with POSIX function of the same name. - -Thu Feb 8 15:04:42 2007 Ben Pfaff - - Reduce platform dependence. - - * command.c (shell): Always define this function, instead of only - in unix, but make it a stub when fork or execl is not available. - (run_command): Move parsing code into cmd_host. - (cmd_host): Drop unix dependence now that the shell function is - always defined. - -Sun Jan 21 15:31:52 WST 2007 John Darrington - - * command.c command.h: Renamed cmd_parse to cmd_parse_in_state. - New function cmd_parse. - -Wed Dec 13 21:02:51 2006 Ben Pfaff - - * command.def: Add DELETE VARS. - -Sat Dec 16 22:15:55 2006 Ben Pfaff - - Make it possible to pull cases from the active file with a - function call, instead of requiring indirection through a callback - function. - - * command.def: Marked MATRIX DATA as unimplemented. - -Sun Dec 3 11:59:10 2006 Ben Pfaff - - * syntax-file.c (read_syntax_file): Always read GETL_BATCH lines. - -Wed Nov 29 19:35:44 WST 2006 John Darrington - - * command.c: Updated to reflect changed function names. - - * line-buffer.c line-buffer.h: Removed. Guts of it moved to - libpspp/getl.[ch] The rest moved to files listed below. - - * syntax-file.c syntax-file.h prompt.c prompt.h: New files. - -Wed Nov 22 06:26:42 2006 Ben Pfaff - - * command.def: HOST command needs F_KEEP_FINAL_TOKEN. - -Sat Oct 28 16:15:56 WST 2006 John Darrington - - * linebuffer.c linebuffer.h: Moved getl_buf from here, into - lexer/lexer.c - -Thu Oct 26 20:19:00 2006 Ben Pfaff - - * command.def: Add DEBUG FLOAT FORMAT. - -Fri Oct 20 10:59:06 WST 2006 John Darrington - - * command.def: Added additional unimpl commands. - -Sun Oct 15 19:38:55 2006 Ben Pfaff - - * command.c: (do_parse_command) Issue an error for unimplemented - commands, instead of silently ignoring them. Reported by John - Darrington. - -Wed Jun 28 11:38:23 2006 Ben Pfaff - - Don't offer both the full and abbreviated names for a single - command in command name completion. - - * command.c: (enum flags) Add F_ABBREV flag. - (cmd_complete) Ignore command with F_ABBREV flag set. - - * command.def: Add F_ABBREV to N, Q, SORT commands. - -Tue Jun 27 22:36:38 2006 Ben Pfaff - - Fix regression in command name completion reported by John - Darrington. Now completion is again state-dependent and occurs - only on the first line of a command. - - * command.c (do_parse_command): Move reading the first token of - the command here, from execute_command and cmd_input_program. - Call set_completion_state and getl_set_prompt_style here. - (do_parse_command) Use in_correct_state instead of - verify_valid_command. - (verify_valid_command) Break into two new functions, - in_correct_state and report_state_mismatch. - (set_completion_state) New function. - (cmd_complete) New function. - [HAVE_READLINE] (pspp_attempted_completion_function) Removed. - [HAVE_READLINE] (command_generator) Removed. - - * line-buffer.c: (struct getl_source) Change `interactive' member - signature to take enum getl_prompt_style instead of const char *. - (create_interactive_source) Ditto, for parameter type. - (getl_append_interactive) Ditto. - (read_line_from_source) Pass get_prompt_style() to interactive - function instead of get_prompt(). - (get_prompt) Removed. - (get_prompt_style) New function. - -Sat May 6 13:25:25 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, remove - PROCESS IF, which was deprecated anyway and can be easily - simulated with TEMPORARY followed by SELECT IF. - - * command.def: Removed PROCESS IF. - -Mon May 1 18:17:52 2006 Ben Pfaff - - Further clean up the CMD_* command result codes. - - * command.c (cmd_result_is_valid): New function. - (cmd_result_is_success) Assert that argument is valid. Simplified - check to one for a positive result. - (cmd_result_is_failure) Assert that argument is valid. Simplified - check to one for a negative result. - (do_parse_command) Check that command's returned result is valid. - - * command.h: (enum cmd_result) Renamed CMD_QUIT to CMD_FINISH and - updated all users. Removed CMD_END_SUBLOOP in favor of new - CMD_PRIVATE_FIRST...CMD_PRIVATE_LAST range. Changed failure codes - to have negative values. - -Mon May 1 15:56:56 2006 Ben Pfaff - - Remove vestiges of FILE TYPE support. - - * command.def: Mark FILE TYPE, RECORD TYPE unimplemented. - -Wed Apr 26 21:13:46 2006 Ben Pfaff - - CLEAR TRANSFORMATIONS is unsafe as implemented. It's a fair - amount of work to implement it correctly, so make it - unimplemented. - - * command.c: (cmd_clear_transformations) Removed. - - * command.def: Mark CLEAR TRANSFORMATIONS as unimplemented. - -Wed Apr 26 13:06:42 2006 Ben Pfaff - - Work on readline completion. - - * command.c: (pspp_completion_function) Removed. - (pspp_attempted_completion_function) New function. - (command_generator) New function. - -Wed Apr 26 13:04:48 2006 Ben Pfaff - - Improve the way we handle the various parsing "states". Until now - we've hard-coded the state transitions in the command definition - file, but that's error-prone and, worse, it's redundant--we can - figure out what state we're in anyhow. We can cleanly handle - INPUT PROGRAM and FILE TYPE with a nested command-processing loop. - - * command.c: (cmd_result_is_success) New function. - (cmd_result_is_failure) New function. - (enum states) New enum. - (enum flags) New enum. - (struct command) Add states, flags members. Remove transition, - skip_entire_name, debug members. Renamed func member as function. - (macro DEFCMD) Removed. - (macro DBGCMD) Removed. - (macro SPCCMD) Removed. - (macro UNIMPL) Removed. - (macro DEF_CMD) New. - (macro UNIMPL_CMD) New. - (macro COMMAND_CNT) Changed to static const var, renamed - command_cnt. Updated all references. - (FILE_TYPE_okay) Removed. - (cmd_parse) Rewrote in terms of do_parse_command(). - (do_parse_command) New function. - (find_command) New function. - (unknown_command_error) Use struct string to simplify code. - (parse_command_name) Recognize comment command names. Handle - flags. Don't reject testing-mode-only commands here--let higher - level do it. - (verify_valid_command) New function. - (cmd_comment) New function. - - * command.def: Completely rewritten and now sensibly organized. - - * command.h: (enum STATE_*) Renamed CMD_STATE_*. - (CMD_*) Now "enum cmd_result". Added CMD_QUIT. New - CMD_END_SUBLOOP. Removed CMD_TRAILING_GARBAGE, CMD_PART_SUCCESS, - CMD_PART_SUCCESS_MAYBE and replaced all references by CMD_FAILURE. - Added CMD_NOT_IMPLEMENTED. - (macro DEFCMD) Removed. - (macro DBGCMD) Removed. - (macro SPCCMD) Removed. - (macro UNIMPL) Removed. - (macro DEF_CMD) New. - (macro UNIMPL_CMD) New. - -Mon Apr 3 11:03:36 2006 Ben Pfaff - - * list.q: (write_all_headers) Adapt to new html and output - internals. - (clean_up) Ditto. - (write_varname) Ditto. - (write_fallback_headers) Ditto. - (determine_layout) Ditto. - (list_cases) Ditto. - - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/automake.mk b/src/language/automake.mk index 6c0eaa90a0..7e684a7f6a 100644 --- a/src/language/automake.mk +++ b/src/language/automake.mk @@ -34,5 +34,3 @@ nodist_src_language_liblanguage_la_SOURCES = \ $(src_language_stats_built_sources) \ $(language_tests_built_sources) \ $(expressions_built_sources) - -EXTRA_DIST += src/language/OChangeLog diff --git a/src/language/control/OChangeLog b/src/language/control/OChangeLog deleted file mode 100644 index 3421bdf428..0000000000 --- a/src/language/control/OChangeLog +++ /dev/null @@ -1,149 +0,0 @@ -2008-05-15 Ben Pfaff - - Patch #6512. - - * loop.c (loop_trns_proc): Use gsl_finite instead of finite, , as - a stopgap measure for portability until appropriate gnulib modules - are available. - -2007-09-23 Ben Pfaff - - Bug #21111. Reviewed by John Darrington. - - * do-if.c: Fix ELSE and ELSE IF clauses. - (add_clause): Drop TARGET_INDEX argument and figure out the target - of the jump on our own. The caller couldn't compensate for the - inserted BREAK transformation. Updated all callers. - -Fri Feb 2 22:41:43 WST 2007 John Darrington - - * repeat.c (parse_numbers): Fixed bug parseing ranges vs. lists. - Ensured that floats are accepted in lists, but not in ranges. - -Tue Dec 19 08:12:46 2006 Ben Pfaff - - Fix LOOP. Thanks to Daniel Williams - for reporting one of the bugs - fixed here. - - * loop.c (cmd_loop): Keep track of whether we created the index - variable and delete it if parsing fails, instead of creating it - after parsing the IF clause. This allows the index variable to be - used in the IF clause. This incidentally fixes a segfault when no - index variable was used. Also, return CMD_CASCADING_FAILURE if we - fail. - (parse_if_clause): Don't allow more than one IF clause. - (parse_index_clause): Don't allow more than one index clause. - Create the index variable if it doesn't exist. - (end_loop_trns_proc): Invert the sense of END LOOP's IF clause. - -Sat Dec 9 20:12:34 2006 Ben Pfaff - - * repeat.c (parse_lines): Issue an error when attempting to nest - DO REPEAT in compatibility mode. - -Sat Dec 2 17:01:59 2006 Ben Pfaff - - Significant cleanup to DO REPEAT. - - * repeat.c: (struct line_list) Rename struct repeat_line. Use - struct ll instead of explicit "next" pointer. Make "file_name" - const. Change "const char *line" to "struct substring text". Add - `syntax' member. Update all references. - (enum repeat_entry_type) Rename repeat_macro_type, update all - references. - (struct repeat_entry) Rename struct repeat_macro. Use struct ll - instead of explicit "next" pointer. Change "char[] id" to "struct - substring name". Change "char **replacement" to "struct substring - *replacements". Update all references. - (struct repeat_block) Use struct ll_list for lists of lines, - macros. Change "cur_line" to struct ll *. - (cmd_do_repeat) Don't bother adding an empty getl source at all. - This saves special-casing an empty source in repeat_read. - (parse_specification) Use new find_macro function. - (find_macro) New function. - (skip_indentor) Removed. - (recognize_keyword) Change interface, update callers. - (recognize_do_repeat) Ditto. - (recognize_end_repeat) Ditto. - (parse_lines) Use lex_preprocess_line to preprocess the input line - to check for DO REPEAT and END REPEAT, instead of coding it - inline. - (parse_ids) Need to make a copy of the array parsed by - parse_mixed_vars_pool, instead of using it verbatim, because we're - using struct substring now. - (add_replacement) Use struct substring in interface, instead of - const char *, and update all callers. - (find_substitution) Rewrite using substring, in terms of - find_macro. - (do_repeat_filter) Use struct substring to simplify code. - (current_line) New function. - -Sat Dec 2 16:40:12 2006 Ben Pfaff - - Fix lack of ->name and ->location in DO REPEAT's getl_interface. - See bug #15702. - - * repeat.c: (cmd_do_repeat) Initialize name, location in - getl_interface. - (do_repeat_read) Adjust semantics of cur_line so that, after the - call, it points to the line just returned, instead of to the next - line to be returned. Thus, do_repeat_name and do_repeat_location - can use cur_line to obtain the info they need. - (do_repeat_name) New function. - (do_repeat_location) New function. - -Thu Nov 30 22:01:27 2006 Ben Pfaff - - * repeat.c (do_repeat_read): Properly handle empty DO REPEAT...END - REPEAT block. Fixes bug #18407. Thanks to John Darrington for - reporting this bug. - -Sat Oct 28 16:18:48 WST 2006 John Darrington - - * repeat.c: Eliminated references to extern variable getl_buf. - -Sun May 7 18:18:33 2006 Ben Pfaff - - Fix memory leaks. - - * repeat.c: (parse_ids) Take pool parameter and allocate all - memory from pool. Reduce implementation from loop to single call - to parse_mixed_vars_pool(). - (store_numeric) Removed. - (add_replacement) New function. - (parse_numbers) Take pool parameter and allocate all memory from - pool. Require ranges to be in increasing order. - (parse_strings) Take pool parameter and allocate all memory from - pool. - -Wed May 3 22:45:41 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * do-if.c: (cmd_do_if) Use finalizer to ensure control stack gets - cleared. - (do_if_finalize_func) New function. - - * loop.c: (create_loop_trns) Use finalizer to ensure control stack gets - cleared. - (loop_trns_finalize) New function. - - * temporary.c: (global var temporary) Removed. Changed references - to use proc_make_temporary_transformations_permanent() or - proc_in_temporary_transformations(). - (global var temp_dict) Removed. - (global var temp_trns) Removed. - (cmd_temporary) Reimplement in terms of - proc_in_temporary_transformations() and - proc_start_temporary_transformations(). - (cancel_temporary) Moved to procedure.c, renamed - proc_cancel_temporary_transformations(). - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/control/automake.mk b/src/language/control/automake.mk index 3e87e5a0b6..11c5fdc3d0 100644 --- a/src/language/control/automake.mk +++ b/src/language/control/automake.mk @@ -8,5 +8,3 @@ language_control_sources = \ src/language/control/loop.c \ src/language/control/repeat.c \ src/language/control/temporary.c - -EXTRA_DIST += src/language/control/OChangeLog diff --git a/src/language/data-io/OChangeLog b/src/language/data-io/OChangeLog deleted file mode 100644 index 1eda1c0595..0000000000 --- a/src/language/data-io/OChangeLog +++ /dev/null @@ -1,637 +0,0 @@ -2008-05-15 Ben Pfaff - - Patch #6512. - - * inpt-pgm.c (reread_trns_proc): Use gsl_finite instead of finite, - as a stopgap measure for portability until appropriate gnulib - modules are available. - -2008-02-06 John Darrington - - * get-data.c: Add a /BSIZE subcommand to PSQL reader. - -2008-02-02 John Darrington - - * get-data.c (cmd_get_data): Support PSQL type. - -2007-12-07 Ben Pfaff - - Patch #6302. - - * data-parser.c (data_parser_make_active_file): Fix case count - argument to casereader_create_sequential, which fixes data reading - in the GUI. - Provided by John Darrington. - -2007-12-04 Ben Pfaff - - Move DATA LIST parsing into generic infrastructure, and generalize - it slightly. Then, use the same infrastructure to implement GET - DATA/TYPE=TXT. - - * data-parser.c: New file. - - * data-parser.h: New file. - - * data-list.c (struct dls_var_spec): Removed. - (ll_to_dls_var_spec): Removed. - (enum dls_type): Removed. - (struct data_list_pgm): Rename struct data_list_trns. Remove - pool, specs, type, record_cnt, delims, skip_records, value_cnt - members. Add new `parser' member. - (cmd_data_list): Use data-parser infrastructure. - (parse_fixed): Ditto. - (parse_free): Ditto. - (dump_fixed_table): Removed. - (dump_free_table): Removed. - (cut_field): Removed. - (read_from_data_list): Removed. - (read_from_data_list_fixed): Removed. - (read_from_data_list_free): Removed. - (read_from_data_list_list): Removed. - (data_list_trns_free): Rename arguments for clarity. - (data_list_trns_proc): Ditto. - (data_list_casereader_read): Removed. - (data_list_casereader_destroy): Removed. - (data_list_casereader_class): Removed. - - * get-data.c (cmd_get_data): Support TXT type. - (set_type): New function. - (parse_get_txt): New function. - -2007-12-04 Ben Pfaff - - * placement-parser.c (parse_column): New function. - (parse_column_range): Add `base' argument. Update all callers. - -2007-12-04 Ben Pfaff - - Make GET DATA a separate command, instead of something invoked - indirectly from GET. - - * automake.mk: Remove get-data.h from sources. - - * get-data.h: Removed. - - * get-data.c (parse_get_data_command): Rename cmd_get_data. - - * get.c (parse_read_command): No longer any need to check for DATA - keyword. - -2007-12-04 Ben Pfaff - - * src/language/data-io/data-reader.c (struct dfm_reader): New - `file_size' member to support dfm_get_percent_read. - (dfm_open_reader): Initialize file_size. - (dfm_get_percent_read): New function. - -2007-11-08 Ben Pfaff - - Patch #6256: add support for binary, 360 file formats. Reviewed - by John Darrington. - - * data-reader.c (struct dfm_reader): New member `block_left'. - (dfm_open_reader): Initialize block_left. For FH_MODE_TEXT, open - the file in text mode. - (read_error): New function. - (partial_record): New function. - (try_to_read_fully): New function. - (enum descriptor_type): New enum. - (read_descriptor_word): New function. - (corrupt_size): New function. - (read_size): New function. - (read_file_record): Implement new modes. - (read_record): Now take care of tracking line numbers here. - (dfm_reader_get_legacy_encoding): New function. - - * data-writer.c (dfm_put_record): Implement new modes. - (dfm_writer_get_legacy_encoding): New function. - - * file-handle.q: Parse new formats. - (cmd_file_handle): Set up new formats. - - * print.c (struct print_trns): New member `encoding'. - (internal_cmd_print): Set encoding. - (print_trns_proc): Recode output data if necessary. - (flush_records): Recode leader byte. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * data-list.c (cmd_data_list): Manage file handle reference - counts. - - * data-reader.c (struct dfm_reader): Add `lock' member. - (dfm_close_reader): Simplify, as reference counting is now - separate from locking. - (dfm_open_reader): Lock file. - - * data-writer.c (struct dfm_writer): Add fh_lock, replace_file - members. - (dfm_open_writer): Lock file and prepare for replacement. - (dfm_close_writer): Unlock file and replace it. - - * file-handle.q (cmd_close_file_handle): Use fh_unname. - (fh_parse): Don't distinguish existing handles for a given file - name from new ones. Manage file handle reference counts. - - * get.c (parse_read_command): Manage file handle reference counts. - (parse_write_command): Ditto. - (mtf_close_all_files): Ditto. - - * inpt-pgm.c (cmd_reread): Manage file handle reference counts. - - * print-space.c (cmd_print_space): Manage file handle reference - counts. - - * print.c (internal_cmd_print): Manage file handle reference - counts. - -2007-11-03 John Darrington - - * get.c: Add GET DATA command variant. - - * get-data.c get-data.h (new files): Added support for - GET DATA /TYPE='gnm' command. - -2007-09-23 Ben Pfaff - - Bug #21111. Reviewed by John Darrington. - - * data-list.c (data_list_trns_proc): Properly set retval when END - subcommand is in use. - (cmd_data_list): Don't allow END subcommand to be used with DATA - LIST FREE or LIST. - -2007-09-12 Ben Pfaff - - * get.c (get_translate_case): Change input case parameter from - const struct ccase * to struct ccase *, to match change in - casereader and casewriter translators. Destroy input case, to fix - memory leak. - -2007-08-12 Ben Pfaff - - * get.c (parse_read_command): Compact the values in the target - dictionary, to save space. - -2007-08-12 Ben Pfaff - - * get.c (struct case_map): Move into new file src/data/case-map.c. - (start_case_map): Ditto, and rename case_map_prepare_dict. - (finish_case_map): Ditto, and rename case_map_from_dict. - (map_case): Ditto, and rename case_map_execute. - (destroy_case_map): Ditto, and rename case_map_destroy. - (case_map_get_value_cnt): Ditto. - -2007-08-12 Ben Pfaff - - * get.c (case_map_get_value_cnt): New function. - -2007-07-25 Ben Pfaff - - Fix bug #17100. - * data-list.c (read_from_data_list_fixed): Handle multi-record - DATA LIST correctly. - -2007-07-11 Ben Pfaff - - * get.c (map_case): Create destination case instead of leaving it - undefined. Fixes bug #20285. - Reviewed by John Darrington. - -2007-06-06 Ben Pfaff - - * get.c: Essentially rewrite MATCH FILES to support FIRST and - LAST. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * data-list.c: Make DATA LIST into a casereader. - - * get.c: Change GET, IMPORT, SAVE, EXPORT to use casereaders, - casewriters. - - * inpt-pgm.c: Use caseinit code. Turn INPUT PROGRAM into a - casereader. - - * list.q: Adapt to new procedure code. - -2007-05-06 Ben Pfaff - - Abstract the documents within a dictionary a little better. - Thanks to John Darrington for suggestion, initial version, and - review. Patch #5917. - - * get.c (mtf_merge_dictionary): Simplify creating merged document. - - * sys-file-info.c (display_documents): Use new - dict_get_document_line_cnt and dict_get_document_line functions. - -Thu Feb 1 16:56:02 2007 Ben Pfaff - - * file-handle.q (fh_parse): Update to new fh_create_file - prototype. - -Sat Dec 16 22:16:18 2006 Ben Pfaff - - Make it possible to pull cases from the active file with a - function call, instead of requiring indirection through a callback - function. - - * automake.mk: Removed matrix-data.c. - - * matrix-data.c: Removed. - - * data-list.c (data_list_source_read): Conform with new - case_source_class interface. - (data_list_source_destroy): Ditto. - - * get.c (case_reader_source_class): Ditto. - (case_reader_source_destroy): Ditto. - (parse_output_proc): Take advantage of new procedure interface. - (output_proc): Removed. - (struct mtf_file): Add "struct ccase *" member to allow use of new - procedure interface. - (cmd_match_files): Take advantage of new procedure interface. - (mtf_processing_finish): Removed. - (mtf_read_nonactive_records): Renamed mtf_read_records. Now reads - from every file, without any exception for the active file. - (mtf_compare_BY_values): Simplify for new interface. - (mtf_processing): Simplify for new interface. - - * inpt-pgm.c (is_valid_state): New function. - (input_program_source_read): Conform with new case_source_class - interface. - (input_program_source_destroy): Ditto. - (end_case_trns_proc): Now just needs to return TRNS_END_CASE. - -Sat Dec 9 18:43:34 2006 Ben Pfaff - - * list.q (cmd_list): Use new var_create, var_destroy functions. - -Thu Nov 30 21:51:58 2006 Ben Pfaff - - * inpt-pgm.c (cmd_reread): Always return error code upon detecting - syntax error. Fixes bug #18419. Thanks to John Darrington for - reporting this bug. - -Sun Nov 19 09:17:45 2006 Ben Pfaff - - * data-list.c (parse_free): Follow documented (but odd) rule that - N format is treated as F format for free-field input. - - * data-reader.c (read_file_record): Drop new-line character from - input text lines. This is symmetrical with the recently changed - dfm_put_record semantics. - -Thu Nov 2 20:56:03 2006 Ben Pfaff - - Implement SKIP keyword on DATA LIST. Fixes bug #17099. - - * data-list.c: (struct data_list_pgm) Add `skip_records' members. - (cmd_data_list) Set skip_records based on user input. - (data_list_source_read) Skip records requested by user. - -Tue Oct 31 20:04:06 2006 Ben Pfaff - - * placement-parser.c: (PRS_TYPE_T) Now that struct fmt_spec uses - an enum fmt_type for its type member, we can't depend on the - ability to put negative values into that member as out-of-band - values, because enum fmt_type might be an unsigned type. So use - values around SCHAR_MAX instead, because we know that SCHAR_MAX - will fit into any type, signed or unsigned, and there aren't - nearly that many format types. - (parse_var_placements) Add for_input parameter to specify whether - we're parsing input or output formats. Update all callers. - (fixed_parse_columns) Ditto. - (fixed_parse_fortran) Ditto. - -Tue Oct 31 18:21:48 2006 Ben Pfaff - - * print-space.c (print_space_trns_proc): Let dfm_put_record add - the new-line character, to match dfm_put_record change below. - -Sat Oct 28 11:57:19 2006 Ben Pfaff - - * data-writer.c (struct dfm_writer): Removed `bounce' member, and - all references to it. - (dfm_put_record) Change semantics so that it adds formatting - itself, such as new-line characters, instead of putting that - responsibility on the caller. Also, pad binary records with - spaces instead of zeros, for compatibility. - - * print.c (struct prt_out_spec) New member `sysmis_as_spaces'. - (struct print_trns) Remove `omit_new_lines' and all references, - since dfm_put_record() is taking care of that. Add - `include_prefix'. - (internal_cmd_print) Allow an empty set of data to print. Set - include_prefix. - (parse_specs) Allow an empty set of data to print. - (parse_variable_argument) Only add space with PRINT command. Set - sysmis_as_spaces. - (print_trns_proc) Indent records if include_prefix is set, for - compatibility. Output SYSMIS as spaces if sysmis_as_spaces is - set. Put "1" in first column if PRINT EJECT is used with an - external output file. - (flush_records) Ditto. - -Sat Oct 28 16:19:57 WST 2006 John Darrington - - * data-reader.c: Eliminated references to extern variable getl_buf - -Sat Aug 5 08:25:07 2006 Ben Pfaff - - Fix bug #17329 in REREAD parsing, reported by John Darrington. - - * inpt-pgm.c (cmd_reread): Fix file handle parsing. - -Mon Jul 31 10:32:31 2006 Ben Pfaff - - * print.c (parse_specs): Allow a comma between specifications. - -Sun Jul 16 19:57:10 2006 Ben Pfaff - - * automake.mk: (src_language_data_io_libdata_io_a_SOURCE) Add - print-space.c, placement-parser.c, placement-parser.h. - - * data-list.c: Basically rewrote the whole thing. Broke out a lot - of code into placement-parser.c. Code is much cleaner now. - - * placement-parser.c: New file. - - * placement-parser.h: New file. - - * print.c: Basically rewrote the whole thing. Broke out PRINT - SPACE into print-space.c. Code is much cleaner now. - - * print-space.c: New file. - -Sat Jul 1 17:39:40 2006 Ben Pfaff - - Fix bug #11612, "q2c documentation does not agree with code". - - * list.q: Audit use of q2c "+" prefixes that indicate that a - command may appear multiple times. - -Sat Jul 1 20:44:22 2006 Ben Pfaff - - Fix bug #15786: System File Creation crashes if directoy is - nonexistent. - - * get.c (parse_write_command): Check that the any_writer open - succeeds. - -Tue Jun 27 22:44:28 2006 Ben Pfaff - - Fix regression in command name completion reported by John - Darrington. Now completion is again state-dependent and occurs - only on the first line of a command. - - * inpt-pgm.c: (cmd_input_program) Reading of first token in - command moved into cmd_parse. - -Fri Jun 9 13:56:00 2006 Ben Pfaff - - Reform string library. - - * matrix-data.c (context): Use dynamic string. - (another_token) Deal with changed dfm_get_record() interface. - (mget_token) Ditto. - (force_eol) Ditto. - - * data-list.c (struct data_list_pgm) Delete delims, delim_cnt - members, replacing them by struct string delims. Update all - references to use struct string functions. - (cut_field) Change interface to avoid needing "end_blank", by - getting the data-reader to remember that state for us. Change - internals to use substring. Update both callers. - - * data-reader.c (read_file_record): Use ds_read_stream(). - (dfm_get_record) Change interface to return substring. Updated - all callers. - (dfm_expand_tabs) Use ds_find_char(). Now maintain position - relative to end-of-line. Use ds_swap(). - (dfm_reread_record) Don't limit position by line length. - (dfm_column_start) Make parameter const. - (dfm_columns_past_end) New function. - (dfm_get_column) New function. - -Thu May 25 18:26:26 WST 2006 John Darrington - - * print.c (print_trns_free): Made the code agree with the comment, by - not freeing PRT. Has the side effect that the command no longer - crashes on invalid syntax. - -Tue May 9 20:55:46 2006 Ben Pfaff - - * get.c (cmd_match_files): Fix memory leak replacing default_dict. - -Sat May 6 22:25:09 2006 Ben Pfaff - - Fix segfault. - - * list.q (write_fallback_headers): (write_fallback_headers) - Properly record width of leader and pass it to write_varname(). - -Sat May 6 19:03:13 2006 Ben Pfaff - - * get.c: (mtf_merge_dictionary) Fix value label memory leak. - -Sat May 6 13:51:16 2006 Ben Pfaff - - Use a casefile, instead of a case sink, for MATCH FILES output. - It's more straightforward, although it has the same effect. - - * get.c: (struct mtf_proc) Replace `sink' case sink member by - `output' casefile member. - (cmd_match_files) Work with casefile instead of sink. - (mtf_processing) Add case to casefile instead of sink. - -Sat May 6 10:43:07 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - the output code for SPLIT FILE groups in procedure.c, which really - shouldn't be doing any output. Move it into the individual - procedures instead. This also adds some flexibility. - - * list.q (write_all_headers): Call output_split_file_values(). - -Wed May 3 23:00:17 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * data-list.c: (data_list_trns_proc) Return TRNS_END_FILE at end - of file. (Why didn't we do this before?) - (cmd_match_files) Direct procedure output to null sink. - Use discard_variables() instead of indirect version. - - * inpt-pgm.c: Use transformation chain. - (struct input_program_pgm) Add trns_chain member. - (cmd_input_program) Initialize trns_chain member and capture - transformations with proc_capture_transformations(). - (input_program_source_read) Use trns_chain_execute(). - (destroy_input_program) Destroy input chain. - -Tue May 2 10:39:56 WST 2006 John Darrington - - * list.q Changed from using fixed length char buffers to struct - string so that any length variables can be used. - -Mon May 1 18:21:19 2006 Ben Pfaff - - Further clean up the CMD_* command result codes. - - * (enum cmd_result_extensions) New. Add CMD_END_INPUT_PROGRAM and - CMD_END_CASE result codes. - (struct input_program_pgm) Added case_nr, write_case, wc_data - members for use by END CASE transformation. - (emit_END_CASE) New function. - (cmd_input_program) Interpret CMD_END_CASE by outputting an END - CASE transformation. If none is output by the input program - itself, add one automatically at the end. Change lack of - variables from warning to error. - (cmd_end_input_program) Return CMD_END_INPUT_PROGRAM instead of - CMD_END_SUBLOOP. - (input_program_source_read) No longer any need to special-case END - CASE. Handle TRNS_DROP_CASE properly. Initialize new members in - inp for use by END CASE transformation. - (destroy_input_program) New function. - (input_program_source_destroy) Just call destroy_input_program(). - (cmd_end_case) Just return CMD_END_CASE. - (end_case_trns_proc) No longer a stub handled by - input_program_source_read(). Actually output the case and - increment the case number. - -Mon May 1 16:06:30 2006 Ben Pfaff - - Remove vestiges of REPEATING DATA support. - - * data-list.c: (struct rpd_num_or_var) Removed. - (struct repeating_data_trns) Removed. - (cmd_repeating_data) Removed. - (find_variable_input_spec) Removed. - (parse_num_or_var) Removed. - (parse_repeating_data) Removed. - (realize_value) Removed. - (struct rpd_parse_info) Removed. - (rpd_parse_record) Removed. - (repeating_data_trns_proc) Removed. - (repeating_data_trns_free) Removed. - (repeating_data_set_write_case) Removed. - (rpd_msg) Removed. - - * inpt-pgm.c: (input_program_source_read) Don't deal with - REPEATING DATA. - - * data-list.h: Removed. - - * automake.mk (src_language_data_io_libdata_io_a_SOURCES): Removed - data-list.h. - -Mon May 1 15:58:28 2006 Ben Pfaff - - Remove vestiges of FILE TYPE support. - - * data-list.c: (cmd_data_list) Don't check for FILE TYPE. - (cmd_repeating_data) Ditto. - - * automake.mk (src_language_data_io_libdata_io_a_SOURCES): Remove - file-type.c, file-type.h. - - * file-type.c: Removed. - - * file-type.h: Removed. - -Wed Apr 26 13:16:28 2006 Ben Pfaff - - Improve the way we handle the various parsing "states". Until now - we've hard-coded the state transitions in the command definition - file, but that's error-prone and, worse, it's redundant--we can - figure out what state we're in anyhow. We can cleanly handle - INPUT PROGRAM and FILE TYPE with a nested command-processing loop. - - * data-list.c: (cmd_data_list) Use in_file_type() or - in_input_program() in place of case_source_is_class() or - case_source_is_complex(). - - * file-type.c: NB: Not really fixed except minimally to compile, - because it doesn't work anyway. - (in_file_type) New function. - (cmd_record_type) No need to check that we're in FILE TYPE. - (cmd_end_file_type) Ditto. - (var file_type_source_class) Make static. - - * get.c: (cmd_match_files) Check vfm_source instead of pgm_state. - - * inpt-pgm.c: (in_input_program) New function. - (cmd_input_program) Rewrite to include nested command processing - loop. - (cmd_end_input_program) Just return CMD_END_SUBLOOP. - (var input_program_source_class) Make static. - (cmd_end_case) No need to check that we're in INPUT PROGRAM. - (cmd_end_file) Ditto. - - * automake.mk (src_language_data_io_libdata_io_a_SOURCES): Add - file-type.h, inpt-pgm.h. - - * file-type.h: New file. - - * inpt-pgm.h: New file. - -Tue Apr 25 13:11:55 2006 Ben Pfaff - - * print.c: Don't special-case MS-DOS line terminators. - (macro LINE_END_WIDTH) Removed. - (alloc_line) Line ends are 1 byte. - (print_trns_proc) Just output \n for line end. - -Sun Apr 23 22:05:58 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * data-list.c: (macro RPD_ERR) Removed. - (rpd_msg) New function. Updated all references to tmsg() to call - this function instead. - -Sat Apr 15 19:38:13 2006 Ben Pfaff - - Remove last users of struct file_ext so we can get rid of it - entirely. - - * data-reader.c: (struct dfm_reader) Change file member from - struct file_ext to FILE *. Updated all references. - (dfm_close_reader) Close file with fn_close() instead of - fn_close_ext(). Also, make a copy of the file name from the file - handle before closing it, because we can't extract it after we - close the file. - (dfm_open_reader) Open file with fn_open() instead of - fn_open_ext(). - - * data-writer.c: (struct dfm_writer) Change file member - struct file_ext to FILE *. Updated all references. - (dfm_close_writer) Close file with fn_close() instead of - fn_close_ext(). Also, make a copy of the file name from the file - handle before closing it, because we can't extract it after we - close the file. - (dfm_open_writer) Open file with fn_open() instead of - fn_open_ext(). - -Sat Apr 15 18:00:32 2006 Ben Pfaff - - * data-list.c: Add prototype to suppress warning for - cmd_repeating_data(). - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/data-io/automake.mk b/src/language/data-io/automake.mk index edb548c524..906a8ed158 100644 --- a/src/language/data-io/automake.mk +++ b/src/language/data-io/automake.mk @@ -31,5 +31,3 @@ language_data_io_sources = \ all_q_sources += $(src_language_data_io_built_sources:.c=.q) EXTRA_DIST += $(src_language_data_io_built_sources:.c=.q) CLEANFILES += $(src_language_data_io_built_sources) - -EXTRA_DIST += src/language/data-io/OChangeLog diff --git a/src/language/dictionary/OChangeLog b/src/language/dictionary/OChangeLog deleted file mode 100644 index 20778a242d..0000000000 --- a/src/language/dictionary/OChangeLog +++ /dev/null @@ -1,118 +0,0 @@ -2008-03-16 Ben Pfaff - - Patch #6452. Reviewed by John Darrington. - - * variable-display.c (cmd_variable_width): Fix parsing bug. Also, - limit variable display widths to within range 1 thru 2 * - MAX_STRING. - -2007-11-11 Ben Pfaff - - * sys-file-info.c (display_variables): Fix DISPLAY LABELS. Thanks - to Guido Gay for reporting this bug. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * apply-dictionary.c (cmd_apply_dictionary): Manage file handle - reference counts. - - * sys-file-info.c (cmd_sysfile_info): Manage file handle reference - counts. - -2007-08-12 Ben Pfaff - - Output variable measurement level, alignment, and display width as - part of DISPLAY DICTIONARY and SYSFILE INFO output. Bug #13019. - Reviewed by John Darrington. - * sys-file-info.c (cmd_sysfile_info): Allow space for new rows of - info in output. - (display_variables): Ditto. - (describe_variable): Output variable measurement level, alignment, - and display width as part of DISPLAY DICTIONARY and SYSFILE INFO - output. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * apply-dictionary.c: Now any_reader_open returns a casereader. - - * sys-file-open.c: Now sfm_reader_open returns a casereader. - -Sat Feb 3 21:52:35 2007 Ben Pfaff - - * vector.c (cmd_vector): Add support for specifying an output - format in the short form of the command, fixing bug #18706. - Rewrite to get rid of weird data structure and simplify. - - * sys-file-info.c (display_vectors): For DISPLAY VECTORS, display, - in addition to the names of vectors, the names, positions, and - print formats of the variables contained in the vectors. - -Wed Dec 13 20:59:54 2006 Ben Pfaff - - * automake.mk: Add delete-variables.c - - * delete-variables.c (cmd_delete_variables): New function, in new - file. - -Sun Dec 10 13:55:58 2006 Ben Pfaff - - * sys-file-info.c (cmd_sysfile_info): Report floating-point format - used in system file. - -Sat Dec 9 18:44:26 2006 Ben Pfaff - - * variable-label.c: Move to src/data/variable.c. - - * vector.c (cmd_vector): Use PV_SAME_WIDTH in parse_variables - call, because string variables in a vector must have the same - width. - -Thu Nov 30 22:06:21 2006 Ben Pfaff - - * value-labels.c (get_label): Allow commas between values and - labels and between value labels. Fixes bug #18303. Thanks to - John Darrington for reporting this bug. - -Sat Nov 4 16:04:19 2006 Ben Pfaff - - * numeric.c: (cmd_string) Check that output format is valid. - Simplify parsing. - -Wed Nov 1 20:50:54 2006 Ben Pfaff - - * sys-file-info.c: (cmd_display) Use compare_var_ptr_names to - compare "struct variable **"s, not compare_var_names. Fixes bug - #17423. - -Sat May 6 19:03:34 2006 Ben Pfaff - - * apply-dictionary.c: (cmd_apply_dictionary) Use new function - val_labs_can_set_width(). - -Sat May 6 10:43:22 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - the output code for SPLIT FILE groups in procedure.c, which really - shouldn't be doing any output. Move it into the individual - procedures instead. This also adds some flexibility. - - * split-file.c (output_split_file_values): New function. - -Sat May 6 10:42:19 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - the output code for SPLIT FILE groups in procedure.c, which really - shouldn't be doing any output. Move it into the individual - procedures instead. This also adds some flexibility. - - * automake.mk (src_language_dictionary_libcmddict_a_SOURCES): Add - split-file.h. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/dictionary/automake.mk b/src/language/dictionary/automake.mk index 15243b65aa..0891828081 100644 --- a/src/language/dictionary/automake.mk +++ b/src/language/dictionary/automake.mk @@ -18,5 +18,3 @@ language_dictionary_sources = \ src/language/dictionary/vector.c \ src/language/dictionary/variable-display.c \ src/language/dictionary/weight.c - -EXTRA_DIST += src/language/dictionary/OChangeLog diff --git a/src/language/expressions/OChangeLog b/src/language/expressions/OChangeLog deleted file mode 100644 index 18c9441f8e..0000000000 --- a/src/language/expressions/OChangeLog +++ /dev/null @@ -1,147 +0,0 @@ -2008-05-15 Ben Pfaff - - Patch #6512. - - * evaluate.c (expr_evaluate): Use gsl_finite instead of finite, as - a stopgap measure for portability until appropriate gnulib modules - are available. - - * helpers.h (copy_string): Ditto. - -2007-10-12 Ben Pfaff - - Patch #6224. - - * helpers.c: Don't need our own trunc function implementation - anymore, since we now use the one from gnulib. - -2007-07-17 Ben Pfaff - - Patch #19335. Reviewed by John Darrington. - - * evaluate.h.pl: Use strict and all warnings. Fix warnings that - this triggers. - - * evaluate.inc.pl: Ditto. - - * generate.pl: Ditto. - - * operations.h.pl: Ditto. - - * optimize.inc.pl: Ditto. - - * parse.inc.pl: Ditto. - -2007-04-15 Ben Pfaff - - * parse.c (expr_get_function): New function. - (expr_get_function_cnt): New function. - (expr_operation_get_name): New function. - (expr_operation_get_prototype): New function. - (expr_operation_get_arg_cnt): New function. - -Thu Feb 1 06:59:27 2007 Ben Pfaff - - * parse.c (parse_function): Accept TO in any case for use with - n-ary functions. Fixes bug #18923. Thanks to John Darrington for - reporting this bug. - -Sat Dec 16 12:20:14 2006 Ben Pfaff - - * operations.def: Reverse order of arguments to DATEDIFF, for - compatibility. Thanks to Daniel Williams - for reporting this bug. - -Wed Dec 13 19:30:26 2006 Ben Pfaff - - Implement support for DATESUM, DATEDIFF expression functions. See - patch #5637. - - * helpers.c (enum date_unit): New enum. - [!HAVE_TRUNC] (trunc): New function. - (recognize_unit): New function. - (year_diff): New function. - (month_diff): New function. - (quarter_diff): New function. - (date_unit_duration): New function. - (expr_date_difference): New function. - (enum date_sum_method): New function. - (recognize_method): New function. - (add_months): New function. - (expr_date_sum): New function. - - * operations.def: Implement DATESUM, DATEDIFF functions. Mark - VALUELABEL no_abbrev. - -Sun Dec 10 16:49:33 2006 Ben Pfaff - - * operations.def: Implement VALUELABEL function. Add DATEDIFF, - DATESUM unimplemented stubs. - - * parse.c (type_coercion_core): Add support for OP_var type, which - is a name for a numeric or string variable. - (is_compatible) New function. - (check_operator) Only require values to be compatible with their - expected types, not identical. - (is_valid_node) Ditto. - (compare_names) Always return mismatch if the command name can't - be abbreviated. - (lookup_function_helper) Pass the new OPF_NO_ABBREV flag to the - comparison function. - - * generate.pl (init_all_types): Add support for a type just called - "var" that may be a numeric or string variable name. Also, add a - no_abbrev option that prevents a function name from being - abbreviated (in case of naming conflict otherwise). - - * parse.inc.pl: Output OPF_NO_ABBREV flag. - - * private.h: Add OPF_NO_ABBREV flag. - -Wed Jul 12 21:03:17 2006 Ben Pfaff - - * evaluate.c (cmd_debug_evaluate): Don't try to resize a null - case. - -Fri Jun 9 13:59:15 2006 Ben Pfaff - - Reform string library. - - * generate.pl (init_all_types): `struct fixed_string' is now - `struct substring'. - -Sun May 7 10:05:42 WST 2006 John Darrington - - * evaluate.c: Removed call to copy_mangle, and replaced with the - original buf_copy_rpad. - -Mon May 1 15:11:48 2006 Ben Pfaff - - Prohibit LAG following TEMPORARY. This both matches SPSS behavior - and fixes a bug: we saved the cases for LAG before TEMPORARY but - allowed access to variables created afterward anyhow (which could - cause a segfault). - - * generate.pl: Parse "perm_only" flag on operations. - - * operations.def: Add "perm_only" flag to LAG operations. - - * parse.c: Disallow OPF_PERM_ONLY operations after TEMPORARY. - - * parse.inc.pl: Output OPF_PERM_ONLY flag for "perm_only" - operations. - - * private.h: Add OPF_PERM_ONLY flag. - -Sun Apr 23 22:06:45 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * helpers.c: (expr_error) Use err_msg() instead of err_vmsg(). - Format message ourselves. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/expressions/automake.mk b/src/language/expressions/automake.mk index ad6b684821..cc856127ae 100644 --- a/src/language/expressions/automake.mk +++ b/src/language/expressions/automake.mk @@ -38,6 +38,4 @@ generate_from_pl = $(MKDIR_P) `dirname $@` && \ .incpl.inc: $(generate_from_pl) -EXTRA_DIST += \ - src/language/expressions/OChangeLog \ - src/language/expressions/TODO +EXTRA_DIST += src/language/expressions/TODO diff --git a/src/language/lexer/OChangeLog b/src/language/lexer/OChangeLog deleted file mode 100644 index aea10c5f11..0000000000 --- a/src/language/lexer/OChangeLog +++ /dev/null @@ -1,235 +0,0 @@ -2007-12-04 Ben Pfaff - - * lexer.c (lex_match_id_n): New function. - (lex_match_id): Reimplement in terms of lex_match_id_n. - -2007-08-16 Ben Pfaff - - Implement journaling. Bug #17240. - - * lexer.c (lex_get_line_raw): Pass the line read to journal_write. - -2007-06-03 Ben Pfaff - - Implement missing functions for subcommand integer lists. - - * subcommand-list.c (subc_list_int_create): New function. - (subc_list_int_push): New function. - (subc_list_int_count): New function. - (subc_list_int_at): New function. - (subc_list_int_destroy): New function. - -2007-05-06 Ben Pfaff - - Abstract the documents within a dictionary a little better. - Thanks to John Darrington for suggestion, initial version, and - review. Patch #5917. - - * lexer.c (lex_entire_line): Add const to parameter. - (lex_entire_line_ds): Ditto. - (lex_rest_of_line): Drop end_dot parameter. Update all callers to - use lex_end_dot instead. - (lex_end_dot): New function. - -2007-05-03 John Darrington - - * lexer.c lexer.h: Added lex_is_string function. - -2007-04-15 Ben Pfaff - - * q2c.c: Fully support lists of integer values. Add support for - lists of string values. Add some more needed declarations to - headers. - -Fri Feb 16 11:14:42 2007 Ben Pfaff - - Better support cross-compiling by using CC_FOR_BUILD and - EXEEXT_FOR_BUILD for q2c. - - * automake.mk: Use EXEEXT_FOR_BUILD and CC_FOR_BUILD to build and - clean q2c. - - * q2c.c: Avoid external dependencies, besides the standard C - library. - -Sun Feb 11 20:31:51 2007 Ben Pfaff - - * q2c.c: Make q2c link under mingw32, by eliminating the - dependency on localtime. Gnulib replaces localtime by a fixed - version, but we don't link q2c against gnulib. q2c only uses - localtime to put the time of processing into the output file, - which I've never in practice found to be useful, so the patch just - drops this feature. - -Wed Dec 13 21:00:24 2006 Ben Pfaff - - * variable-parser.c (parse_variables): If not successful, set - output pointer to NULL and output count to 0. - -Sat Dec 9 18:46:11 2006 Ben Pfaff - - * variable-parser.h: New PV_SAME_WIDTH variable parsing option. - - * variable-parser.c (add_variable): Implement new PV_SAME_WIDTH - option. - (parse_var_set_vars) Ditto. - (array_var_set_lookup_var_idx) Use new var_create, var_destroy - functions. - -Sat Dec 2 21:19:50 2006 Ben Pfaff - - General clean-up. - - * lexer.c: (lex_token_name) Don't use a static buffer or, rather, - use a separate static buffer for each possible answer. - (lex_token_representation) Now use lex_token_name as building - block. Previously this broke lex_force_match because it uses - lex_token_name in a call to lex_error, which in turn uses - lex_token_representation. - (lex_force_match_id) Use lex_match_id as building block, to - simplify. - (parse_id) Rewrite to work with modified lex_id_to_token and - lex_id_get_length. The computation of rest_of_line is a bit of an - abomination but it will get fixed later. - -Sat Dec 2 20:16:50 2006 Ben Pfaff - - * lexer.c (struct lexer): Change function signature for - `read_line' to take an "enum getl_syntax *" instead of "bool *". - (lex_create) Ditto, for argument. - (lex_preprocess_line) New function. - (lex_get_line_raw) New arg, to allow caller to obtain getl_syntax - of the line read. - (lex_get_line) Use lex_get_line_raw and lex_preprocess_line to - simplify. - -Sun Nov 19 09:20:42 2006 Ben Pfaff - - * range-parser.c (parse_num_range): Because data_in takes an enum - fmt_type now, not a struct fmt_spec, change the type of the - corresponding argument. Updated all callers. - (parse_number) Ditto. - -Sun Nov 12 06:34:06 WST 2006 John Darrington - - * format-parser.c format-parser.h lexer.c lexer.h q2c.c range-parser.c - range-parser.h subcommand-list.c variable-parser.c - variable-parser.h: - - Encapsulated the lexer into an object, and updated everything - accordingly. - -Tue Oct 31 18:09:32 2006 Ben Pfaff - - * range-parser.c (parse_number): Fix error message. - -Sat Oct 28 16:17:18 WST 2006 John Darrington - - * lexer.c lexer.h: Added a line_buffer (previously an external - reference called getl_buf). - -Thu Oct 26 20:18:03 2006 Ben Pfaff - - * lexer.c (parse_string): Make lexing of binary, hex, and octal - strings work (fixes bug #17948). Allow null bytes in strings, now - that there's a use for them (see tests/formats/float-format.sh). - -Sun Jul 16 21:03:34 2006 Ben Pfaff - - * format-parser.h: New file. Moved prototypes of format-parser.c - functions here, from lexer.h. - - * format-parser.c: (parse_format_specifier_name) Rewrote and - changed semantics. - (parse_abstract_format_specifier) New function. - (parse_format_specifier) Rewrote in terms of - parse_abstract_format_specifier. Removed "options" parameter, so - callers had to be updated. Callers that didn't want messages - emitted were changed to use the new msg_disable/msg_enable - functions. - - * variables-parser.c: (parse_variables_pool) New function. - (register_vars_pool) New function. - (parse_DATA_LIST_vars_pool) New function. - (parse_mixed_vars_pool) Use register_vars_pool. Assert that - PV_APPEND is not in the options. - -Sat Jul 1 17:40:38 2006 Ben Pfaff - - Fix bug #11612, "q2c documentation does not agree with code". - - * q2c.c (parse_subcommand): Make "+" mean ARITY_MANY, absence - mean ARITY_ONCE_ONLY. - -Tue Jul 4 09:45:12 2006 Ben Pfaff - - Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support - ALL) and additional underlying system file issues. - - * variable-parser.c (add_variable): Move test earlier for clarity - and efficiency. - (parse_var_set_vars) Accept ALL within a variable list, not just - at the beginning of one. - -Tue Jun 27 22:54:30 2006 Ben Pfaff - - * automake.mk (src_language_lexer_liblexer_a_SOURCES): Add - variable-parser.h. - -Tue Jun 27 19:15:33 2006 Ben Pfaff - - Add auxiliary data pointer to q2c parse_ function, and - pass it along to the custom parser functions. - - Updated all uses of custom functions in all the existing .q files. - - * q2c.c (dump_declarations): Include auxiliary parameter in - function prototypes. - (dump_subcommand) Include aux arg in calls to custom functions. - (dump_parser) Include aux param in parse_ function - definition. Include aux arg in calls to custom functions. - -Tue Jun 27 12:07:34 2006 Ben Pfaff - - * variable-parser.h: New header. Moved the var_set and variable - parsing declarations here. - - * q2c.c (main): Emit include for new variable-parser.h header. - -Sun Jun 25 22:41:00 2006 Ben Pfaff - - * q2c.c (dump_free): For SBC_DBL_LIST, enclose the output code in - curly braces, because it contains a variable declaration and might - not be at the beginning of a block. - -Fri Jun 9 14:02:19 2006 Ben Pfaff - - Reform string library. - - * q2c.c (dump_subcommand): ds_c_str() became ds_cstr(), in - generated code. - -Wed Apr 26 13:30:41 2006 Ben Pfaff - - * lexer.c: (lex_discard_rest_of_command) New function. - -Mon Apr 24 14:12:08 2006 Ben Pfaff - - * q2c.c: Use exit.h from gnulib instead of checking for and - defining EXIT_SUCCESS and EXIT_FAILURE by hand. - -Sat Apr 15 14:30:35 2006 Ben Pfaff - - * q2c.c: Change DEBUGGING macro to DUMP_TOKENS for clarity and to - avoid dumping all the tokens to stdout when --enable-debug is - passed to configure. - -Fri Mar 10 08:29:25 2006 Ben Pfaff - - * q2c.c: (dump_free) Free proper member for var list, instead of - hard-coding to v_variables. Thanks to Jason Stover for reporting - this bug. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/lexer/automake.mk b/src/language/lexer/automake.mk index 11771a248d..bea557f8a9 100644 --- a/src/language/lexer/automake.mk +++ b/src/language/lexer/automake.mk @@ -32,5 +32,3 @@ src/language/lexer/q2c$(EXEEXT_FOR_BUILD): $(top_srcdir)/src/language/lexer/q2c. CLEANFILES += src/language/lexer/q2c$(EXEEXT_FOR_BUILD) - -EXTRA_DIST += src/language/lexer/OChangeLog diff --git a/src/language/stats/OChangeLog b/src/language/stats/OChangeLog deleted file mode 100644 index 9dfdb062ad..0000000000 --- a/src/language/stats/OChangeLog +++ /dev/null @@ -1,644 +0,0 @@ -2008-07-24 Jason H Stover - - * glm.q (run_glm): Dropped weight argument. - -2008-07-22 Jason H Stover - - * glm.q (run_glm): Re-written to form covariance matrix rather - than store entire data set in memory. - - * glm.q (data_pass_one): Renamed prepare_categories() to - data_pass_one(). Accumulate mean and variance. - -2008-06-21 Jason Stover - - * regression.q (reg_stats_coeff): Use new accessor function - pspp_coeff_get_sd. Fixed bug 23567. No longer call compute_moments - in run_regression. Pass entire design_matrix to pspp_linreg (). - -2008-05-29 John Darrington - - * examine.q: Fixed bug where incorrect levels of dereferencing - were applied to pointers. - -2008-04-09 John Darrington - - * regression.q: Fix display of degrees of freedom. - -2008-04-08 Jason Stover - - * regression.q (identify_indep_vars): Don't panic unless - n_indep_vars is 0. - -2008-03-16 Ben Pfaff - - Bug #22037. Thanks to John Darrington for reporting this bug. - - * crosstabs.q (calc_general): Only the short string prefix of long - string variables are tabulated, so we must not copy or zero out - more data than that. - -2008-03-10 Jason Stover - - * regression.q (run_regression): Removed code for EXPORT - subcommand. Remove use of coefficient 0 as the intercept. - -2008-02-14 John Darrington - - * examine.q: Fixed counts of missing variables. Thanks to - Jason Stover for reporting this problem. - -2008-01-02 John Darrington - - * binomial.c chisquare.c examine.q frequencies.q oneway.q regression.q : updated - all users of var_get_value_name to use replacement function var_append_value_name. - -2007-12-07 Ben Pfaff - - Patch #6302. - - * crosstabs.q (precalc): Initialize data structures even if the - first case cannot be read. - - * frequencies.q (precalc): Ditto. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * aggregate.c (cmd_aggregate): Manage file handle reference - counts. - - * correlations.q (internal_cmd_frequencies): Ditto. - (cor_custom_matrix): Ditto. - - * regression.q (regression_custom_export): Ditto. - (cmd_regression): Ditto. - -2007-10-12 Ben Pfaff - - * flip.c (flip_file): No need to conditionally substitute for - "fseeko" and "off_t" manually anymore, as gnulib takes care of it - for us. - -2007-09-21 Jason Stover - - * regression.q (run_regression): Partial fix of memory leak, bug - 21056. - -2007-09-19 Ben Pfaff - - Fix bug #21108. - - * aggregate.c (cmd_aggregate): Destroy casereader consistently, - even if casereader fails. - - * examine.q (run_examine): Ditto. - - * glm.q (run_glm): Ditto. - - * oneway.q (run_oneway): Ditto. - - * regression.q (run_regression): Ditto. - - * t-test.q (calculate): Ditto. - - * descriptives.c (calc_descriptives): Ditto. Also avoid - gratuitous casereader_clone. - -2007-09-13 Jason Stover - - * regression.q (cmd_regression): Move declaration of models in to - definition of cmd_regression. - - * regression.q (run_regression): Free mom to fix memory leak. - -2007-09-12 Ben Pfaff - - * crosstabs.q (postcalc): Free sorted_tab and the structures that - it points to, to plug a memory leak. Fixes bug #20910. Thanks to - John Darrington for reporting this bug and for review. - -2007-09-04 Ben Pfaff - - * crosstabs.q (cmd_crosstabs): Free xtab and the structures that - it points to, to plug a memory leak. Fixes bug #18315. - -2007-08-15 Jason Stover - - * regression.q (identify_indep_vars): Print an error if dependent - and independent variables are the same. Fixes bug 19819. - -2007-08-12 Ben Pfaff - - * flip.c: Drop use of dict_get_compacted_dict_index_to_case_index - and just use the ordinary case indexes. There seemed to be no - reason for the former method. - -2007-08-03 Ben Pfaff - - * rank.q (rank_cmd): Instead of sorting by SPLIT FILE vars, group - by them. Fixes bug #17239. - Reviewed by John Darrington. - -2007-08-01 Ben Pfaff - - Clean up handling of median, by treating it almost like any other - percentile. Fixes bug #17424. Thanks to John Darrington for - review. - * frequencies.q (internal_cmd_frequencies): Fix handling of bit - masks for `stats' variable. If median is selected, turn it off - and add a 50th percentile. - (add_percentile): Simplify code a little. - (calc_stats): Drop special casing of median. - (dump_statistics): Ditto, except that we label the 50th percentile - as "50 (Median)" to make it clear that it's also the median. - -2007-07-31 Ben Pfaff - - Remove integer mode from FREQUENCIES and incidentally fix bug - #17421. Reviewed by John Darrington. - * frequencies.q (int_pool): Rename data_pool. - (gen_pool): Rename syntax_pool. - (enum FRQM_*): Removed. - (struct freq_tab): Removed `mode', `vector', `min', `max', - `out_of_range', `sysmis' members. - (calc): Delete support for integer mode. - (precalc): Ditto. - (postprocess_freq_tab): Ditto. - (cleanup_freq_tab): Ditto. - (frq_custom_variables): Ditto. - -2007-07-28 John Darrington - - * t-test.q: Moved the order in which groups are displayed in the - independent samples case, where a cut point is given. - -2007-07-27 Ben Pfaff - - * regression.q (run_regression): Move casereader_destroy call so - that it always gets called, not just if there was some valid - data. Fixes bug #19581. - Reviewed by Jason Stover. - -2007-07-24 Ben Pfaff - - * flip.c (struct flip_pgm): Remove `case_size' member (now - unused). - (cmd_flip): Pass var_cnt as number of cases instead of case_cnt, - to fix bug #20494. Don't assign to `case_size' member, which was - unused after assignment. - (build_dictionary): When NEWNAMES not used, get the number of - variables right, to fix bug #20493. - -2007-07-10 Jason Stover - - * glm.q: Initial version of the GLM procedure. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * aggregate.c: Simplify greatly since everything is more uniform - now. - - * autorecode.c: Adapt to new procedure code. - * binomial.c: Ditto. - * chisquare.c: Ditto. - * crosstabs.q: Ditto. - * descriptives.c: Ditto. - * examine.q: Ditto. - * npar-summary.c: Ditto. - * frequencies.q: Ditto. - * npar.q: Ditto. - * oneway.q: Ditto. - * regression.q: Ditto. - * sort-cases.c: Ditto. - * t-test.c: Ditto. - - * sort-criteria.c: Rewrite to output a struct case_ordering. - - * flip.c: Rewrite to be a casereader. - - * rank.q: Simplify greatly since casereaders are much more - flexible than what we had before. - -2007-05-15 Jason Stover - - * regression.q (run_regression): Tell the user when the data - contain no valid cases. - -2007-05-08 Jason Stover - - * regression.q: Partial fix of bug which caused a crash if - dependent variable and independent variable were the same. - -2007-04-16 John Darrington - - * t-test.q: Changed the output width of reported counts and - degrees of freedom, to avoid truncating these values. Thanks - to Seth Woolley for reporting this problem. A proper fix involves - re-thinking the output driver. - -2007-04-12 Jason Stover - - * regression.q (run_regression): Added if (n_data >0) to fix bug - 19581. - -2007-03-29 Jason Stover - - * regression.q (prepare_data): New function. - - * regression.q (compute_moments): New function. - -2007-03-18 Ben Pfaff - - * crosstabs.q (static var write): Rename write_style to avoid - conflict with POSIX function of same name. - -2007-03-16 Jason Stover - - * regression.q (run_regression): Added support for moments. - -Sat Feb 17 08:16:00 2007 Ben Pfaff - - * flip.c (flip_sink_create): Improve error message when temporary - file cannot be created. - -Tue Feb 6 19:58:03 2007 Ben Pfaff - - * flip.c (flip_file): Give better error message on end-of-file. - -2007-02-04 Jason Stover - - * regression.q: Fixed p-value computation in the test for - individual regression coefficients. - -Mon Jan 15 11:03:20 2007 Ben Pfaff - - Fix bugs found by valgrind when --enable-debug is used with the - new case code. These bugs are hidden when the data set is small - enough to find in memory; if a bigger data set that would overflow - to disk were used, then data corruption would occur. - - * chisquare.c (create_freq_hash): Pass free_freq_mutable_hash to - hsh_create as free function. Make copy of data put into hash. - - * oneway.q (free_value): New function. - (run_oneway): Use free_value as arg to hsh_create. Make copy of - data put into hash. - - * rank.q (rank_cases): Don't access data in case after we've given - away the case. - -Tue Jan 9 19:16:11 2007 Ben Pfaff - - Fix bug #18739. - - * aggregate.c (parse_aggregate_functions) Initialize - function_name. - -Fri Dec 22 14:04:09 2006 Ben Pfaff - - Simplify missing value handling. - - * aggregate.c (struct agr_var): Remove `bool include_missing', add - `enum mv_class exclude'. Remove `int missing', add `bool - saw_missing'. Update users. - - * descriptives.c (struct dsc_trns): Removed `int - include_user_missing', add `enum mv_class exclude'. Update users. - (struct dsc_proc): Ditto. - - * examine.q: (static var value_is_missing): Rename - `exclude_values', change type to `enum mv_class'. Update users. - - * rank.q: Ditto. - -Fri Dec 22 19:22:18 WST 2006 John Darrington - - * frequencies.q : Fixed bug #17420, where the table bounds were overun - when /FORMAT=nolabels was given. - -Wed Dec 20 18:45:31 WST 2006 John Darrington - - * binomial.c binomial.h : New files. Thanks to Jason Stover - for assistance with these. - - * chisquare.c chisquare.h freq.c freq.h npar-summary.c npar-summary.h - npar.h npar.q: New files. Implementing NPAR TESTS. - - * frequencies.q : Moved structure definitions into freq.[ch] - -Sat Dec 16 22:26:44 2006 Ben Pfaff - - Make it possible to pull cases from the active file with a - function call, instead of requiring indirection through a callback - function. - - * aggregate.c (cmd_aggregate): Take advantage of new procedure - interface. - (agr_to_active_file): Removed. - (presorted_agr_to_sysfile): Removed. - - * autorecode.c (cmd_autorecode): Take advantage of new procedure - interface. - (autorecode_proc_func): Removed. - - * flip.c (struct flip_pgm): New members to allow conformance with - new case_source_class interface. - (cmd_flip): Adapt to new case_source_class interface. - (flip_source_read): Ditto. - (flip_source_destroy): Ditto. - -Sat Dec 16 12:54:27 2006 Ben Pfaff - - * rank.q (rank_custom_variables): Allow grouping variables to be - strings. Fixes bug #18533. Thanks to John Darrington for review. - -Sat Dec 9 18:47:51 2006 Ben Pfaff - - * regression.q (is_depvar): Compare variable pointers instead of - variable names. - -Thu Dec 7 15:26:25 WST 2006 John Darrington - - * examine.q: Allocated the categorical values for the dependent and - independent variables, on the heap. Hence they can be of any width. - -Wed Dec 6 21:14:26 2006 Ben Pfaff - - * regression.q (reg_inserted): Compare variable pointers instead - of variable indexes. - -Mon Dec 4 22:33:46 2006 Ben Pfaff - - * crosstabs.q (insert_summary): Use var_to_string for labeling. - (output_pivot_table) Ditto. - (submit) Ditto. - - * frequencies.q (setup_z_trns): Ditto. - (dump_full) Ditto. - (dump_condensed) Ditto. - (dump_statistics) Ditto. - - -Sun Nov 5 08:31:42 WST 2006 John Darrington - - * t-test.q, oneway.q: Changed to use the new casefilter structure. - -Sat Oct 14 16:52:28 2006 Ben Pfaff - - * rank.q: (rank_sorted_casefile) Add some missing case_destroy() - calls to fix a memory leak. - -Sun Oct 8 09:45:40 WST 2006 John Darrington - - * rank.q: Plugged a small memory leak which occurred under error - conditions. - -Sat Oct 7 11:06:01 WST 2006 John Darrington - - * rank.q: Implemented most of the RANK command. - -2006-07-14 Jason Stover - - * regression.q (run_regression): New function to move knowledge of - pspp_linreg_cache out of math/coefficient.[ch]. - -Sat Jul 1 17:41:46 2006 Ben Pfaff - - Fix bug #11612, "q2c documentation does not agree with code". - - * examine.q: Audit use of q2c "+" prefixes that indicate that a - command may appear multiple times. - - * frequencies.q: Ditto. - - * oneway.q: Ditto. - - * regression.q: Ditto. - - * t-test.q: Ditto. - -Fri Jun 23 14:18:22 2006 Ben Pfaff - - Support long string variables on FREQUENCIES, as - an extension when in enhanced algorithms mode. For Greg Hunt - . - - * frequencies.q: (struct freq) Change `v' member from union value - to union value *. Update all references. - (struct var_freqs) Add width, print members to represent effective - variable width and display format. - (calc) Copy entire long string value into the hash table. - (frq_custom_variables) Set new width, print members. - (hash_value_alpha) Get width from var_freqs. - (compare_value_alpha_a) Ditto. - (compare_freq_alpha_a) Ditto. - (compare_freq_alpha_d) Ditto. - (dump_full) Get display format from var_freqs. - (dump_condensed) Ditto. - -Mon Jun 19 22:07:13 2006 Ben Pfaff - - * frequencies.q: (dump_full) Only put the first MAX_SHORT_STRING - bytes of string variables into the output cells, seeing as we only - copy that many. - (dump_condensed) Ditto. - -Mon Jun 19 21:52:05 2006 Ben Pfaff - - Fixes a bug reported by Greg Hunt . - - * frequencies.q: (hsh_hash_bytes) We only copy the first - MAX_SHORT_STRING bytes of string variables, so we must only - compare that many bytes, even if the string variable is longer. - (compare_value_alpha_a) Ditto. - (compare_freq_alpha_a) Ditto. - (compare_freq_alpha_d) Ditto. - -2006-05-11 Jason Stover - - * regression.q: Adjusted code to account for cache->coeff being a - pspp_linreg_coeff **. - -Sun May 7 18:31:25 2006 Ben Pfaff - - Fix memory leak. - - * aggregate.c (cmd_aggregate): Free default_dict before replacing - it. - -Sun May 7 17:09:19 2006 Ben Pfaff - - * flip.c (flip_file): Check return value of pool_fclose(). - -Sat May 6 16:00:13 2006 Ben Pfaff - - Get rid of `char *c' member in union value, for cleanliness. - - * aggregate.c: (union agr_argument) New union. - (struct agr_var) Change element type of arg[] from union value to - union agr_argument. - (parse_aggregate_functions) Change local variable types likewise. - - * autorecode.c: (union arc_value) New union. - (struct arc_item) Change "from" from union value to union - arc_value. - (recode) Change local variable from union value to union - arc_value. - (autorecode_trns_proc) Ditto. - (compare_alpha_value) Ditto. - (hash_alpha_value) Ditto. - (compare_numeric_value) Ditto. - (hash_numeric_value) Ditto. - (autorecode_proc_func) Ditto. - -Sat May 6 10:43:33 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - the output code for SPLIT FILE groups in procedure.c, which really - shouldn't be doing any output. Move it into the individual - procedures instead. This also adds some flexibility. - - * crosstabs.q (precalc): Call output_split_file_values(). - - * descriptives.c (calc_descriptives): Ditto. - - * examine.q (run_examine): Ditto. - - * frequencies.q (precalc): Ditto. - - * oneway.q (run_oneway): Ditto. - - * regression.q (run_regression): Ditto. - - * t-test.q (calculate): Ditto. - -Wed May 3 23:05:31 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * aggregate.c (cmd_aggregate) Use discard_variables(). - -2006-04-28 Jason Stover - - * regression.q (regression_trns_resid_proc): Pass only the - variables used in the model to (*model->residual)(). - - * regression.q (regression_trns_pred_proc): Pass only the - variables used in the model to (*model->pred)(). - -2006-04-26 Jason Stover - - * regression.q: Added support for multiple transformations. - - * regression.q (regression_trns_resid_proc): New function. - - * regression.q (regression_trns_pred_proc): New function. - - * regression.q (subcommand_save): Added support for saving - predicted values. - - * regression.q (regression_trns_free): New function. - - * regression.q (reg_get_name): New function. - - * regression.q (reg_save_var): New function. - -Tue Apr 25 13:18:56 2006 Ben Pfaff - - * rank.q (parse_rank_function): Use SE instead of ME for parse - errors. - -Tue Apr 25 13:16:28 2006 Ben Pfaff - - * flip.c (flip_sink_write): Use snprintf() to simplify a bit of - code. - -2006-04-21 Jason Stover - - * regression.q (try_name): New function. (Partly copied from - try_name in descriptives.c.) - - * regression.q (subcommand_save): Choose residual variable names - correctly. - -2006-04-20 Jason Stover - - * regression.q (cmd_regression): Moved call to subcommand_save() - outside multipass_procedure_with_splits(). - - * regression.q (regression_trns_proc): Fixed value counter n_vals - before calling *model->residual(). - -2006-04-19 Jason Stover - - * regression.q (regression_trns_proc): Fixed the look-up of the - number of variables. - -2006-04-18 Jason Stover - - * regression.q (regression_trns_proc): Look up the residual - variable in the linear regression cache. - - * regression.q (subcommand_save): Set the residual variable in the - linear regression cache. - -2006-04-17 Jason Stover - - * regression.q (regression_trns_proc): Accept case_idx as an int - to match the definition of trns_proc_func. - -2006-04-17 Jason Stover - - * regression.q (regression_trns_proc): New function. - - * regression.q (subcommand_save): Create variable residuals and - add a transformation to assign values to them. Also free the - linreg_cache if the SAVE command was not called. Removed the - casereading loop. Placed actual computation of residuals in - regression_trns_proc. - - * regression.q (run_regression): Moved call to free - pspp_linreg_cache to subcommand_save. - -Sat Apr 15 18:01:03 2006 Ben Pfaff - - * examine.q (output_examine): Add casts to fix warnings. - -2006-04-07 Jason Stover - - * regression.q (subcommand_save): New function. - -2006-04-04 Jason Stover - - * regression.q: New function reg_has_categorical () to tell - whether a pspp_linreg_struct was made with any variables of type - ALPHA. - - * regression.q: (subcommand_export): Call - reg_print_categorical_encoding() only if the model uses any - categorical variables. - -Mon Mar 27 16:00:42 2006 Ben Pfaff - - * crosstabs.q: (output_pivot_table) Drop spurious space from - message. - -2006-03-15 Jason Stover - - * regression.q: Added custom syntax parser for VARIABLES subcommand - - * regression.q: Moved most instructions for run_regression () - inside the loop over dependent variables. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/stats/automake.mk b/src/language/stats/automake.mk index 7bcb4d911a..cdd2b8dc82 100644 --- a/src/language/stats/automake.mk +++ b/src/language/stats/automake.mk @@ -71,5 +71,3 @@ EXTRA_DIST += src/language/stats/glm.c all_q_sources += $(src_language_stats_built_sources:.c=.q) EXTRA_DIST += $(src_language_stats_built_sources:.c=.q) CLEANFILES += $(src_language_stats_built_sources) - -EXTRA_DIST += src/language/stats/OChangeLog diff --git a/src/language/tests/OChangeLog b/src/language/tests/OChangeLog deleted file mode 100644 index d76583f974..0000000000 --- a/src/language/tests/OChangeLog +++ /dev/null @@ -1,53 +0,0 @@ -2008-03-04 Ben Pfaff - - Patch #6441. Reviewed by John Darrington. - - * automake.mk: Add new file. - - * format-guesser-test.c: New file. - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * automake.mk: Add new file. - - * paper-size.c: New file. - -2007-06-06 Ben Pfaff - - * automake.mk: Add new file. - - * datasheet-test.c: New file. - -2007-04-22 Ben Pfaff - - Implement model checker for testing purposes. - - Patch #5873. - - * automake.mk: Add check-model.[ch]. - - * check-model.h: New file. - - * check-model.q: New file. - -Thu Oct 26 20:19:19 2006 Ben Pfaff - - * automake.mk: Add float-format.c. - - * float-format.c: New file. - -Sat Oct 14 16:21:45 2006 Ben Pfaff - - * casefile-test.c: (test_casereader_clone) Free cases that we - read, to avoid memory leak. - -Tue Jun 6 18:48:00 2006 Ben Pfaff - - * casefile-test.c: (test_casefile) Test the new casereader_seek() - function. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/tests/automake.mk b/src/language/tests/automake.mk index 5f025cd5ef..429c770975 100644 --- a/src/language/tests/automake.mk +++ b/src/language/tests/automake.mk @@ -6,5 +6,3 @@ language_tests_sources = \ src/language/tests/moments-test.c \ src/language/tests/paper-size.c \ src/language/tests/pool-test.c - -EXTRA_DIST += src/language/tests/OChangeLog diff --git a/src/language/utilities/OChangeLog b/src/language/utilities/OChangeLog deleted file mode 100644 index 5701c38fc4..0000000000 --- a/src/language/utilities/OChangeLog +++ /dev/null @@ -1,85 +0,0 @@ -2007-09-16 Ben Pfaff - - * set.q (show_warranty): Use fputs to print lack-of-warranty - statement, instead of msg. This is because msg now outputs the - message to output devices, and the output subsystem is not - prepared to deal with table cells that exceed one page in length. - Thanks to John Darrington for bug report and review. Bug #21093. - (show_copying) Ditto. - -2007-08-16 Ben Pfaff - - Implement journaling. Bug #17240. - - * set.q: Add LOG subcommand as synonym for JOURNAL. - (stc_custom_journal): Implement. - (stc_custom_log): New function. - -2007-05-06 Ben Pfaff - - Abstract the documents within a dictionary a little better. - Thanks to John Darrington for suggestion, initial version, and - review. Patch #5917. - - * title.c (add_document_line): Removed. - (add_document_trailer): New function. - (cmd_document): Rewrite to yield SPSS-like output and to use the - updated document API. - (cmd_add_documents): Ditto. - -2007-05-03 John Darrington - - * title.c: Implemented ADD DOCUMENT command. - -Sun Nov 19 09:21:39 2006 Ben Pfaff - - * set.q: Add RIB, RRB settings to control binary formats used by - data_out. - (cmd_set) Implement SET RIB, RRB. - (show_rib) New function. - (show_rrb) New function. - (static var show_table[]) Add SHOW RIB, RRB. - -Sat Nov 4 16:05:47 2006 Ben Pfaff - - * set.q: Add WIB, WRB settings to control binary formats used by - data_out. - (cmd_set) Implement SET WIB, WRB. - (stc_to_integer_format) New function. - (stc_to_float_format) New function. - (show_integer_format) New function. - (show_float_format) New function. - (show_wib) New function. - (show_wrb) New function. - (static var show_table[]) Add SHOW WIB, WRB. - -Sat Nov 4 11:48:23 2006 Ben Pfaff - - * set.q: Update ERRORS, MESSAGES, RESULTS command syntax. - (cmd_set) Handle ERRORS command. - (show_errors) New function. - (var show_table[]) Add ERRORS to the table. - -Tue Oct 31 20:10:24 2006 Ben Pfaff - - * set.q (cmd_set): Drop the `ok' variable, which didn't do - anything useful. - (extract_cc_token) Adapt to new fmt_number_style. - (do_cc) Ditto. - (format_cc) Ditto. - (show_cc) Change parameter to be an enum fmt_type. Adjust all - callers. - -Wed Apr 26 15:06:22 2006 Ben Pfaff - - * set.q: Use SN instead of MN for most output from SHOW, because - the output is tied to the SHOW command that caused it. - -Tue Apr 25 13:21:12 2006 Ben Pfaff - - * permissions.c (change_permissions): Use SE instead of ME for - errors associated with a syntax file command. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/utilities/automake.mk b/src/language/utilities/automake.mk index 46fe09c451..cb6910678d 100644 --- a/src/language/utilities/automake.mk +++ b/src/language/utilities/automake.mk @@ -17,6 +17,3 @@ language_utilities_sources = \ all_q_sources += $(src_language_utilities_built_sources:.c=.q) EXTRA_DIST += $(src_language_utilities_built_sources:.c=.q) CLEANFILES += $(src_language_utilities_built_sources) - - -EXTRA_DIST += src/language/utilities/OChangeLog diff --git a/src/language/xforms/OChangeLog b/src/language/xforms/OChangeLog deleted file mode 100644 index 4e15b1eda2..0000000000 --- a/src/language/xforms/OChangeLog +++ /dev/null @@ -1,84 +0,0 @@ -2007-04-16 Ben Pfaff - - * recode.c (parse_map_in): Improve error message when user - attempts to use THRU with string variables. - Suggested by seth@swoolley.homeip.net. - -2007-04-15 Ben Pfaff - - * recode.c (parse_mappings): Initialize "out" member of mapping - for CONVERT, fixing an uninitialized data bug. - -2007-04-15 Ben Pfaff - - * recode.c (enlarge_dst_widths): Source isn't null-terminated, so - don't pretend it is. - (var_is_num_missing): MISSING should include system-missing values - too. - -Thu Feb 1 16:51:16 2007 Ben Pfaff - - * recode.c (find_src_numeric): Handle MAP_SYSMIS case, which was - carelessly overlooked until now. Fixes bug #18917. Thanks to - John Darrington for bug report and review. - -Sat Dec 9 18:48:20 2006 Ben Pfaff - - * compute.c (struct compute_trns): Remove `fv' member, which was - redundant with `variable'. - -Thu Nov 30 22:46:50 2006 Ben Pfaff - - * compute.c: Fix bug #17422, which reports that a variable created - by assignment in a COMPUTE command could not be used in the - computation expression. - (struct lvalue) Drop `var_name' member in favor of `variable' - pointer. Add `is_new_variable' member to allow us to know whether - to delete the variable at destruction time, in case of an error. - (lvalue_parse) Create variable whose name is specified, if it does - not already exist, as a numeric variable. - (lvalue_get_type) Rewrite to work with revised lvalue structure. - New `dict' parameter, which propagates back up its call chain. - (lvalue_finalize) No need to create variable here since we did so - at parse time. - (lvalue_destroy) Destroy variable if `is_new_variable' set. - -Sat Oct 7 11:04:01 WST 2006 John Darrington - - * automake.mk fail.c: Added a debug transformation which always fails. - -Sat May 6 16:02:55 2006 Ben Pfaff - - Get rid of `char *c' member in union value, for cleanliness. - - * recode.c: (union recode_value) New union. - (struct map_in) Change x, y types to union recode_value. - (struct map_out) Change value type to union recode_value. - (find_src_string) Wrap data_in() call so it uses a real `union - value'. - -Sat May 6 14:08:42 2006 Ben Pfaff - - * select-if.c (cmd_filter): Make FILTER without any further - keywords turn off filtering, with a warning, for compatibility. - Change errors from cascading failures to ordinary failures. Check - for command terminator. - -Sat May 6 13:25:57 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, remove - PROCESS IF, which was deprecated anyway and can be easily - simulated with TEMPORARY followed by SELECT IF. - - * select-if.c (cmd_process_if): Removed. - (global var process_if_expr) Removed, along with all references - globally. - -Tue Apr 25 13:23:25 2006 Ben Pfaff - - * select-if.c (cmd_process_if): Use SW instead of MW for warning - associated with a syntax file command. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/language/xforms/automake.mk b/src/language/xforms/automake.mk index ddb1021fe2..d0fe1cb6c0 100644 --- a/src/language/xforms/automake.mk +++ b/src/language/xforms/automake.mk @@ -8,5 +8,3 @@ language_xforms_sources = \ src/language/xforms/sample.c \ src/language/xforms/recode.c \ src/language/xforms/select-if.c - -EXTRA_DIST += src/language/xforms/OChangeLog diff --git a/src/libpspp/OChangeLog b/src/libpspp/OChangeLog deleted file mode 100644 index 229b4f93c2..0000000000 --- a/src/libpspp/OChangeLog +++ /dev/null @@ -1,819 +0,0 @@ -2008-05-15 Ben Pfaff - - Patch #6512. - - * hash.c (hsh_hash_int): Use gsl_isnan instead of isnan, as a - stopgap measure for portability until appropriate gnulib modules - are available. - - * misc.h (macro isinf): Remove implementations of isinf, isnan, - and finite, because they were not effective and we are now using - the equivalent GSL functions. - -2008-03-04 Ben Pfaff - - Patch #6427. Reviewed by John Darrington. - - * automake.mk: Remove moved files. - - * syntax-gen.c: Moved to src/ui (and rewritten). - - * syntax-gen.h: Ditto. - -2008-03-04 Ben Pfaff - - Patch #6441. Reviewed by John Darrington. - - * str.c (ss_match_char_in): New function. - -2008-02-18 Ben Pfaff - - Patch #6426. Thanks to John Darrington for review. - - * str.c (ds_read_line): Add argument to limit the length of the - line to be read. Update all callers. - -2008-02-01 Ben Pfaff - - Patch #6386. Thanks to John Darrington for review. - - * str.c (str_format_26adic): New function. - -2007-12-24 John Darrington - - * taint.c (taint_destroy): Return true if pointer is null. - -2007-11-25 Ben Pfaff - - * float-format.c (assemble_number): Only store 32 bits for Z short - format. Partial fix for bug #21590. - -2007-11-08 Ben Pfaff - - * str.c (ds_read_stream): Change return value semantics to be more - useful. Update all users. - -2007-11-03 John Darrington - - * i18n.c i18n.h: Added convertor from UTF8 to system. - This is needed for reading gnumeric files (and possibly others). - -2007-10-11 Ben Pfaff - - * xalloc.h: Removed. Changed all users to include "xalloc.h" from - gnulib instead. - - * xalloc.c: Removed. - -2007-10-11 Ben Pfaff - - * alloc.h (local_alloc): Removed. Changed all users to use - xmalloca instead. - (local_free): Removed. Changed all users to use freea instead. - -2007-10-11 Ben Pfaff - - * float-format.c (float_get_lowest): New function. - - * magic.c: Removed. - - * magic.h: Removed. Changed all references to NOT_INT, - NOT_DOUBLE, and NOT_LONG to use other constants. Changed - references to second_lowest_value to call float_get_lowest. - -2007-10-10 Ben Pfaff - - We assume IEEE-754 now. - - * float-format.h (enum float_format): Don't check for - FPREP_IEEE754 macro any longer. - - * magic.h: Ditto. - -2007-09-16 Ben Pfaff - - * copyleft.c: Add trailing new-lines to lack-of-warranty - statement. - -2007-09-05 John Darrington - - * getl.c: Add extra members to struct getl_source, to maintain the - error mode and the syntax_mode. - -2007-07-25 Ben Pfaff - - * getl.c (getl_append_source): Add source to *end* of list. - Otherwise the list ends up in reverse order. - - * automake.mk (src/libpspp/version.c): Use $HOME instead of ~ in - paths. We don't interpolate ~. - -2007-07-22 Ben Pfaff - - * str.h: Include xstrndup.h also. - - * float-format.c (float_get_double): New function. - -2007-07-06 Ben Pfaff - - * copyleft.c (legal): Update startup notice to use format - recommended by latest GNU coding standards. - -2007-06-06 Ben Pfaff - - * array.c (binary_search): Fix assertion. - -2007-06-06 Ben Pfaff - - Add error propagation layer. Patch #5916, slightly revised. - - * automake.mk: Add new files. - - * taint.c: New file. - - * taint.h: New file. - -2007-06-03 Ben Pfaff - - Add ability for reverse iteration to tower code. - - * tower.c (tower_last): New function. - (tower_prev): New function. - (abt_to_tower_node): New function. - (first_node): Use abt_to_tower_node. - (last_node): New function. - (next_ndoe): Use abt_to_tower_node. - (prev_node): New function. - -2007-06-03 Ben Pfaff - - * tower.c: Cache repeated lookups of a single tower element. This - turns such lookups into O(1) operations without harming the big-O - of other operations. - - * tower.h (struct tower): Add members for caching. - - * range-set.c (range_set_clone): New function. - - * array.c (insert_range): New function. - (insert_element): New function. - (move_range): New function. - -2007-04-25 Ben Pfaff - - * model-checker.c: Don't use type sighandler_t, which is a GNU - extension. Reported by "Daniel E WILLIAMS" - . - -2007-04-25 John Darrington - - * i18n.c: Fixed bug converting long strings - -2007-04-22 Ben Pfaff - - Patch #5884. - - * ll.h (ll_for_each_reverse): New macro. - (ll_for_each_reverse_continue): New macro. - (ll_for_each_reverse_safe): New macro. - (ll_for_each_safe_reverse_continue): New macro. - (ll_for_each_reverse_preremove): New macro. - (ll_for_each_reverse_postremove): New macro. - (ll_remove__): Removed (dead code). - (ll_tail__): New macro. - (ll_prev__): New macro. - -2007-04-22 Ben Pfaff - - Implement model checker for testing purposes. - - Patch #5873. - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Add - model-checker.[ch]. Alphabetize. - - * model-checker.c: New file. - - * model-checker.h: New file. - -2007-04-03 Ben Pfaff - - Apply patches #5828, #5837, #5841, #5843. - - * abt.c (insert_relative): New function. - (abt_insert_after): New function. - (abt_insert_before): New function. - - * range-map.c: New file. - - * range-map.h: New file. - - * range-set.c: New file. - - * range-set.h: New file. - - * tower.c: New file. - - * tower.h: New file. - -2007-04-01 Ben Pfaff - - * bt.c: Need #include . Thanks to "John McCabe-Dansted" - for pointing this out. - -2007-03-31 Ben Pfaff - - Patch #5827. - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Add bt.c. - - * bt.h: New file. - - * bt.c: New file. - -2007-03-30 Ben Pfaff - - Patch #5829. - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Add deque.c. - - * deque.h: Completely rewrote. Adapted client to new interface. - - * deque.c: New file. - -2007-03-25 Ben Pfaff - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Add - sparse-array.[ch]. - - * pool.c (pool_zalloc): New function. - (pool_calloc): New function. - - * sparse-array.c: New file. - - * sparse-array.h: New file. - -Mon Mar 5 20:55:49 CET 2007 John Darrington - - * i18n.c: Cast second argument of iconv using ICONV_CONST - -2007-02-22 Ben Pfaff - - * string.h: Don't include vsnprintf.h any more, because gnulib has - now absorbed it into string.h. - -Thu Feb 22 12:25:52 CET 2007 John Darrington - - * syntax-gen.h syntax-gen.c: New files. - -Sun Feb 18 11:21:41 2007 Ben Pfaff - - * alloc.h: Remove useless parentheses in #if "defined" operator. - - * misc.h: Ditto. - -Tue Feb 6 20:00:13 2007 Ben Pfaff - - * misc.h [!HAVE_ISINF] (isinf): Define only if isinf is not - defined as a macro, because mingw seems to have the macro without - the function. - [!HAVE_ISNAN] (isnan): Ditto, for symmetry only. - [!AHVE_FINITE] (finite): Ditto, for symmetry only. - -Tue Feb 6 19:58:46 2007 Ben Pfaff - - * compiler.h (PRINTF_FORMAT): Use __printf__ instead of printf to - avoid problem with "#define printf libintl_printf" that libintl is - fond of doing. - (SCANF_FORMAT): Ditto, for symmetry only. - -Tue Feb 6 19:47:10 2007 Ben Pfaff - - * float-format.h: [FPREP_IEEE754] [WORDS_BIGENDIAN] Add missing - comma. - -Wed Jan 24 21:13:32 2007 Ben Pfaff - - * abt.c: New file. - - * abt.h: New file. - - * automake.mk: Add abt.c, abt.h to sources. - -Sun Jan 14 21:44:18 2007 Ben Pfaff - - * automake.mk: Add deque.h to sources. - - * deque.h: New file. - -Wed Jan 10 06:49:38 2007 Ben Pfaff - - * automake.mk: Add heap.c, heap.h to sources. - - * heap.c: New file. - - * heap.h: New file. - -Sun Dec 10 13:54:03 2006 Ben Pfaff - - * str.c (ss_tokenize): Skip the first delimiter character - following the token. Otherwise, changing delimiters from token to - token can't have a sensible effect, because we'll get the previous - delimiter as part of the next token. - (ss_match_string): New function. - -Sat Dec 9 18:48:55 2006 Ben Pfaff - - * misc.h (macro range): Removed, as it was unused. - -Sat Dec 9 07:19:01 WST 2006 John Darrington - - * array.c: Removed gratuitous #include - -Thu Dec 7 20:33:23 WST 2006 John Darrington - - * getl.c getl.h : Changed signature of create function to take a - string indicating the initial include path. - -Sun Dec 3 11:36:10 2006 Ben Pfaff - - * str.h (SS_LITERAL_INITIALIZER): Cast the string literal to "char - *". This normally does nothing but when GCC's -Wwrite-strings is - used it fixes a warning that otherwise can't be avoided. - -Sun Dec 3 11:35:35 2006 Ben Pfaff - - * str.c (ss_alloc_substring_pool): New function. - (ss_alloc_uninit_pool) New function. - -Sun Dec 3 11:28:06 2006 Ben Pfaff - - * getl.h: (enum getl_syntax) New enumeration to distinguish - between "batch" and "interactive" in a clearer way than a bool. - (struct getl_interface) Add an arg to "read" to return the - intended syntax mode. Add an arg to "filter" to specify the - syntax mode of the line to filter. - - * getl.c (do_read_line): Instead of returning the syntax type of - the line read based on whether the source itself is interactive, - return it based on whether the line itself should be treated as - having batch or interactive syntax. Also, adapt interface to the - new interfaces of lex_init() and getl_interface. - -Wed Nov 29 19:35:44 WST 2006 John Darrington - - * getl.c getl.h: New files. Created interface from base of - language/line-buffer.[ch] - - * msg-locator.c msg-locator.h: New files. Moved from - language/line-buffer.[ch] - -Fri Nov 24 17:27:00 2006 Ben Pfaff - - * misc.h: (min) Removed. All references updated to use MIN, from - minmax.h provided by gnulib. - (max) Ditto (for MAX). - -Sun Nov 19 09:22:26 2006 Ben Pfaff - - * str.c (ss_get_long): New function. - (ss_compare_case) Ditto. - (ss_equals) Ditto. - (ss_equals_case) Ditto. - -Tue Oct 31 19:28:19 2006 Ben Pfaff - - * str.h: [!HAVE_STRCHR] Drop compatibility code, because now we - assume a C89 compliant library. (Gnulib makes this assumption so - we might as well too.) - [!HAVE_STRRCHR] Ditto. - -Thu Oct 26 20:19:50 2006 Ben Pfaff - - * automake.mk: Add the new files. - - * legacy-encoding.c: New file. - - * legacy-encoding.h: New file. - - * float-format.c: New file. - - * float-format.h: New file. - - * integer-format.c: New file. - - * integer-format.h: New file. - -Sun Oct 15 09:49:50 WST 2006 John Darrington - - * hash.c hash.h: Added hsh_create_pool, a hash which uses a pool - for its memory allocation. - -Mon Jul 31 15:49:46 2006 Ben Pfaff - - * compiler.h: (macro CONST_FUNCTION) New macro. - (macro PURE_FUNCTION) New macro. - -Sun Jul 16 21:07:35 2006 Ben Pfaff - - * message.c: (static int messages_disabled) New variable. - (msg_emit) Don't emit the message if messages are disabled. - (msg_disable) New function. - (msg_enable) New function. - - * str.c: (free_string) New function. - (ds_register_pool) New function. - (ds_unregister_pool) New function. - (ds_set_length) New function. - -Mon Jul 10 17:26:58 WST 2006 John Darrington - - * llx.c: #included compiler.h and removed explicit preprocessor cruft. - -Fri Jul 7 20:01:26 2006 Ben Pfaff - - * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add assertion.h. - - * assertion.h: New file. Replaced usage of assert(0) and abort() - with NOT_REACHED() from this file throughout the source tree. - - * message.c: (request_bug_report_and_abort) Revise message printed - to include request to include lines above the message, which - should include an assertion failure message in many cases. - (msg_assert_fail) Removed. - - * message.h: (assert) Removed. - (request_bug_report_and_abort) Mark NO_RETURN. - -Mon Jul 3 09:36:42 WST 2006 John Darrington - - * i18n.c: Made character conversion tolerant of failure to create the - necessary iconv structs. - -Sat Jul 1 15:32:54 2006 Ben Pfaff - - * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add new files. - - * ll.c: New file. - - * ll.h: New file. - - * llx.c: New file. - - * llx.h: New file. - -Sun Jun 25 22:35:28 2006 Ben Pfaff - - Optimize rehashing: we know that none of the entries in the hash - table are equal, so we need not compare them to each other during - rehashing. - - * hash.c: (locate_empty_entry) New function. - (rehash) Use locate_empty_entry() instead of - locate_matching_entry(). - -Fri Jun 9 14:03:29 2006 Ben Pfaff - - Reform string library. - - * str.c (ss_empty): New function. Replaces some uses of ls_init() - or ls_null(). - (ss_cstr) New function. Replaces some uses of ls_init(). - (ss_buffer) New function. Replaces some uses of ls_init(). - (ss_substr) New function. - (ss_head) New function. - (ss_tail) New function. - (ss_alloc_substring) New function. Replaces use of ls_create(). - (ss_alloc_uninit) New function. - (ss_dealloc) New function. Replaces use of ls_destroy(). - (ss_truncate) New function. - (ss_rtrim) New function. - (ss_ltrim) New function. - (ss_trim) New function. - (ss_chomp) New function. - (ss_separate) New function. - (ss_tokenize) New function. - (ss_advance) New function. - (ds_create) Renamed ds_init_cstr(). Updated all callers. - (ss_match_char) New function. - (ss_get_char) New function. - (ss_get_until) New function. - (ss_get_chars) New function. - (ss_is_empty) New function. - (ss_length) New function. Replaces ls_length(). - (ss_data) New function. Replaces many uses of ls_c_str(). - (ss_end) New function. Replaces ls_end(). - (ss_at) New function. - (ss_first) New function. - (ss_last) New function. - (ss_span) New function. - (ss_cspan) New function. - (ss_compare) New function. - (ss_pointer_to_position) New function. - (ss_xstrdup) New function. - (ds_init) Renamed ds_init_empty(). All callers updated. - (ds_init_string) New function. - (ds_init_substring) Changed interface to take a struct substring. - Updated all callers. - (ds_init_cstr) New function. Replaces ds_create(). All callers - updated. - (ds_assign_substring) Changed interface to take a struct - substring. Updated all callers. - (ds_assign_buffer) Removed. Changed all callers to use - ds_assign_substring(). - (ds_assign_c_str) Renamed ds_assign_cstr(). All callers updated. - (ds_ss) New function. - (ds_substr) New function. - (ds_head) New function. - (ds_tail) New function. - (ds_rtrim) New function. Replaces ds_rtrim_spaces(). All callers - updated. - (ds_ltrim) New function. Replaces ds_ltrim_spaces(). All callers - updated. - (ds_trim) New function. Replaces ds_trim_spaces(). All callers - updated. - (ds_rtrim_spaces) Removed. - (ds_ltrim_spaces) Removed. - (ds_trim_spaces) Removed. - (ds_separate) Changed interface to use substrings. All callers - updated. - (ds_tokenize) Changed interface to use substrings. All callers - updated. - (ds_c_str) Renamed ds_cstr(). All callers updated. - (ds_span) Changed interface to use substring for SKIP_SET and - dropped OFS. All callers updated. - (ds_cspan) Changed interface to use substring for STOP_SET and - dropped OFS. All callers updated. - (ds_find_char) New function. - (ds_compare) New function. - (ds_pointer_to_position) New function. - (ds_xstrdup) New function. Replaced all users of - xstrdup(ds_c_str(s)) by a call to this function. - (ds_gets) Renamed ds_read_line(). All callers updated. - (ds_get_config_line) Renamed ds_read_config_line(). All callers - updated. - (ds_puts) Renamed ds_put_cstr(). All callers updated. - (ds_put_substring) New function. Replaces ds_concat(). All - callers updated. - (ds_concat) Removed. - (ds_append_uninit) Renamed ds_put_uninit(). All callers updated. - (ds_printf) Renamed ds_put_format(). All callers updated. - (ds_vprintf) Renamed ds_put_vformat(). All callers updated. - (ds_putc) Renamed ds_put_char(). All callers updated. - (ds_putc_multiple) Renamed ds_put_char_multiple(). All callers - updated. - (ls_create) Removed. Replaced by ss_alloc_substring(). - (ls_create_buffer) Removed. Replaced by ss_alloc_substring(). - (ls_init) Removed. Replaced by ss_buffer(). - (ls_shallow_copy) Removed. Just use assignment. - (ls_destroy) Removed. Replaced by ss_dealloc(). - (ls_null) Removed. - (ls_null_p) Removed. - (ls_empty_p) Removed. Replaced by ss_is_empty(). - (ls_c_str) Removed. - (ls_end) Removed. Replaced by ss_end(). - - * str.h (struct fixed_string): Renamed struct substring, updated - all users. - (CC_SPACES) New macro. - (CC_DIGITS) Ditto. - (CC_XDIGITS) Ditto. - (CC_LETTERS) Ditto. - (CC_ALNUM) Ditto. - (SS_EMPTY_INITIALIZER) Ditto. - (SS_LITERAL_INITIALIZER) Ditto. - (struct string) Removed string, length members. Add substring - member. - (DS_INITIALIZER) Rename DS_EMPTY_INITIALIZER. - -Tue May 30 19:45:12 WST 2006 John Darrington - - * i18n.c i18n.h: New files. - -Tue May 16 06:50:35 2006 Ben Pfaff - - * automake.mk (src/libpspp/version.c): Removed groff_font_path, - which is no longer used. - - * message.c (request_bug_report_and_abort): Don't print - groff_font_path, which no longer exists. - - * version.h (locale_dir): Removed groff_font_path. - -Sun May 14 22:06:53 2006 Ben Pfaff - - * str.c (spprintf): Moved definition of spprintf() here, from - str.h. - - * str.h: (nsprintf) Removed. Changed all users to use sprintf() - instead. - (nvsprintf) Removed. Changed all users to use vsprintf() instead. - -Sun May 14 20:52:20 2006 Ben Pfaff - - * str.c (ds_init): Remove `capacity' argument and just initialize - the string to a capacity of zero. Updated all callers. - -Tue May 9 09:56:57 2006 Ben Pfaff - - * va_copy.h: Removed. Now use va_copy() provided by gnulib - instead. - - * automake.mk: (src_libpspp_libpspp_a_SOURCES) Removed va_copy.h. - -Sun May 7 18:17:32 2006 Ben Pfaff - - * pool.c (pool_vasprintf): New function. - (pool_asprintf) New function. - -Sun May 7 17:09:54 2006 Ben Pfaff - - * compiler.h: (macro WARN_UNUSED_RESULT) New macro. - -Sun May 7 14:32:25 2006 Ben Pfaff - - * va_copy.h: New header. - - * str.c: Use header instead of inlining va_copy() macro - implementation. - -Sun May 7 10:06:29 WST 2006 John Darrington - - * array.c array.h: Constness of sort. - -Thu May 4 18:01:37 WST 2006 John Darrington - - * message.c message.h: Added functions to create and copy a msg. - -Tue May 2 15:41:50 2006 Ben Pfaff - - * str.c (ds_append_uninit): No need to add 1 to arg passed to - ds_extend(), because the argument does not include space for a - null terminator. Also, fix warning. - -Tue Apr 25 11:07:19 2006 Ben Pfaff - - Finish reforming error message support. In this phase, move - message.c into libpspp. - - * message.c: Move here from src/. Also remove a few unneeded - headers. - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Add message.c. - -Tue Apr 25 10:54:44 2006 Ben Pfaff - - Continue reforming error message support. In this phase, drop - actual message printing from core code, substituting a callback, - and add the callback to each UI. Also, move verbose_msg() into - its own module. - - * automake.mk (src_libpspp_libpspp_a_SOURCES): Added - verbose-msg.c, verbose-msg.h. - - * verbose-msg.c: New file. - - * verbose-msg.h: New file. - -Mon Apr 24 17:26:47 2006 Ben Pfaff - - Continue reforming error message support. In this phase, rename - all the message functions and types to start with "msg", except - for the ones that will be moving to other modules anyway. - - All references to the identifiers below were updated likewise. - - * message.h: (enum file_locator) Renamed `enum msg_locator'. - (struct error) Renamed `struct msg'. - (err_assert_fail) Renamed msg_assert_fail(). - -Sun Apr 23 22:07:06 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * message.h: (struct error) Remove `title' member. Add `text' - member. - -Sun Apr 16 20:43:35 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we - divide the classification of messages along "category" and - "severity" axes. - - * message.h: (enum msg_class) Named this set of enumerations. - (enum msg_category) New enum: MSG_GENERAL, MSG_SYNTAX, MSG_DATA. - (enum msg_severity) New enum: MSG_ERROR, MSG_WARNING, MSG_NOTE. - (msg_class_to_category) New inline function. - (msg_class_to_severity) New inline function. - (msg_class_from_category_and_severity) New inline function. - (struct error) Removed `class' member, added `category', - `severity'. Updated all users of this struct to use the new - members. - -Sun Apr 16 20:33:19 2006 Ben Pfaff - - * str.c (ds_vprintf): Don't try to write into the string if it is - null. - -Sun Apr 16 18:52:41 2006 Ben Pfaff - - GNU standards require "file name" instead of "filename" in - documentation. It's nice for our code to follow the convention - too. - - * message.h: (struct file_locator) Rename filename member to - file_name. Updated all references. - -Sun Apr 16 16:05:43 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we get - rid of VM() and the other msg() support for "verbosity", replacing - it by a new function verbose_msg(). - - * message.h: (enum ERR_CLASS_COUNT) Renamed ERR_CLASS_CNT. - (enum ERR_CLASS_MASK) Removed. - (enum ERR_VERBOSITY_SHIFT) Removed. - (enum ERR_VERBOSITY_MASK) Removed. - (macro VM) Removed. - -Sun Apr 16 11:48:07 2006 Ben Pfaff - - Start reforming error message support. In this phase, we get rid - of "installation errors" and change all uses of msg() in the - output drivers to uses of error() or error_at_line(). - - * message.h: Remove IE, IS enums. - -Mon Apr 3 11:10:21 2006 Ben Pfaff - - * str.c: (ds_separate) Change interface for cleanliness and - consistency with ds_tokenize(), and rewrite to shorten and - simplify. Updated all callers. - (ds_tokenize) New function. - -Fri Mar 31 10:38:46 2006 Ben Pfaff - - Add freaderror() analogous to fwriteerror() in gnulib. - - * freaderror.c: New file. - - * freaderror.h: New file. - -Thu Mar 30 16:15:37 2006 Ben Pfaff - - * str.c: (ds_create) Adjust capacity selection. - (ds_init) Use MAX macro for clarity. - (ds_create_substr) Rewrote. - (ds_replace) Renamed ds_assign_c_str(), reimplemented. Changed - all callers to use a ds_assign_*() function. - (ds_init_substring) New function. - (ds_assign_string) New function. - (ds_assign_substring) New function. - (ds_assign_buffer) New function. - (ds_assign_c_str) New function. - (ds_truncate) Rewrote for clarity. - (ds_rpad) Reimplement in terms of ds_putc_multiple(). - (ds_ltrim_spaces) Reimplement. - (ds_trim_spaces) New function. - (ds_separate) New function. - (ds_c_str) Make tolerant of null pointer, allowing static - initialization of strings. - (ds_find) Rename ds_span(), change interface. - (ds_n_find) Rename ds_cspan(), change interface. - (ds_at) New function. - (ds_first) Reimplement in terms of ds_at(). - (remove_comment) New function. - (ds_get_config_line) Reimplement in terms of other functions. - Change type of LINE_NUMBER parameter. Updated all callers. - (ds_vprintf) Modify for clarity. - (ds_putc) Better to be safe than sorry. - (ds_putc_multiple) New function. - - * str.h: (struct string) Reorder members. - (macro DS_INITIALIZER) New macro that can be used to initialize a - string (as empty). - (ds_c_str) Remove inline version. - -Tue Mar 28 13:49:11 WST 2006 John Darrington - - * str.[ch]: New functions ds_create_substr, ds_find, ds_n_find, - ds_ltrim_spaces - -Sat Mar 4 12:59:01 2006 Ben Pfaff - - * compiler.h: New file. - -Sat Mar 4 11:55:16 2006 Ben Pfaff - - * str.h: Now assume that sprintf() returns the correct value. - Always implement spprintf as a static inline function. Change - nsprintf, nvsprintf to simple macros that call sprintf, vsprintf. - - * str.c: Remove spprintf, nsprintf, nvsprintf conditional - definitions. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/libpspp/automake.mk b/src/libpspp/automake.mk index 4d791bf708..ff8f7c28fe 100644 --- a/src/libpspp/automake.mk +++ b/src/libpspp/automake.mk @@ -130,6 +130,3 @@ src/libpspp/version.c: $(top_srcdir)/AUTHORS Makefile echo "const char *const authors[] = {" >> $@ sed -e 's/^/ \"/' -e 's/$$/\",/' $(top_srcdir)/AUTHORS >> $@ echo "0 };" >> $@ - - -EXTRA_DIST += src/libpspp/OChangeLog diff --git a/src/math/OChangeLog b/src/math/OChangeLog deleted file mode 100644 index 0025534194..0000000000 --- a/src/math/OChangeLog +++ /dev/null @@ -1,197 +0,0 @@ -2008-08-17 Jason H Stover - - * linreg.c (post_sweep_computations): New function to re-use the - re-usable. New function cache_init() to re-use the re-usable. - pspp_linreg_with_cov() now estimates parameters via reg_sweep(). - -2008-08-16 Jason H Stover - - * linreg.c (pspp_linreg_with_cov): New function to estimate - parameters directly from covariance matrix instead of using the - entire data set. - - * linreg.c (rearrange_covariance_matrix): New function to ensure - the columns of the covariance matrix correspond to the variables - in the model. - -2008-07-24 John Darrington - - * merge.c merge.h sort.c sort.h: Removed the value_cnt associated - with case ordering. This ensures that the casereader returned by - sort_execute now has the same dimensions as the casereader passed - in. - -2008-07-24 Jason H Stover - - * covariance-matrix.c (covariance_pass_two): Dropped weight - argument. Corrected update of the entries of the covariance - matrix. - - * covariance-matrix.c (column_iterate): Dropped weight - argument. Corrected update of the entries of the covariance - matrix. - - * covariance-matrix.c (covariance_update_categorical_numeric): - Dropped weight argument. Corrected update of the entries of the - covariance matrix. - -2008-07-17 Jason H Stover - - * covariance-matrix.c (covariance_update_categorical_numeric): - Altered to match new code in covariance_pass_two(); - - * covariance-matrix.h: Fix declaration of covariance_pass_two. - - * covariance-matrix.c (covariance_pass_two): Moved numeric and - categorical scopes of V2 inside for loop. If V1 is not - categorical, but V2 is, recurse with the order of the variables - reversed to use the code in the previous "if" scope. - -2008-07-16 Jason Stover - - * covariance-matrix.c (covariance_pass_two): Renamed - covariance_pass_one. Fixed update of covariance matrix when both - variables are categorical. - (column_iterate): New function. - -2008-07-15 Jason Stover - - * covariance-matrix.c (covariance_pass_one): New file, new function. - -2008-06-21 Jason Stover - - * linreg.c (pspp_linreg): Accept a struct design_matrix. Use new - accessor functions pspp_coeff_get_mean, pspp_coeff_get_sd. New - functions pspp_linreg_get_indep_variable_mean, - pspp_linreg_set_indep_variable_mean, - pspp_linreg_get_indep_variable_sd, - pspp_linreg_set_indep_variable_sd. Altered pspp_linreg_get_coeff - to use accessor function pspp_coeff_var_to_coeff. - - * coefficient.c: New functions pspp_coeff_get_mean, - pspp_coeff_set_mean, pspp_coeff_get_sd, pspp_coeff_set_sd, - pspp_coeff_var_to_coeff. Added doubles to hold mean and standard - deviation in struct varinfo. - -2008-06-14 Jason Stover - - * linreg/: moved linreg.[ch] to src/math. - -2008-05-15 Ben Pfaff - - Patch #6512. - - * moments.c (calc_moments): Use gsl_finite instead of finite, as a - stopgap measure for portability until appropriate gnulib modules - are available. - -2008-03-10 Jason Stover - - * coefficient.c (pspp_linreg_get_coeff): Removed use of - coefficient 0 as intercept. - -2008-03-01 Jason Stover - - * coefficient.c (pspp_coeff_init): Ensure first arg is not a null - pointer. - - * coefficient.c (pspp_linreg_get_coeff): Make sure we don't return - a result beyond the last coefficient, or start with a coefficient - beyond the last one if there is only one. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * automake.mk: Add new files. - - * levene.c: Adapt to new casereaders. Abstract better. - - * merge.c: New file. - - * merge.h: New file. - - * sort.c: Rewrite in terms of case_ordering, merger. - -2007-05-31 Jason Stover - - * interaction.c: New file. - * interaction.h : New file. - -Mon Feb 5 15:42:14 2007 Ben Pfaff - - * moments.c (moments_pass_two): Reduce number of multiplications. - -Thu Dec 7 15:27:49 WST 2006 John Darrington - - * factor-stats.c factor-stats.h: Changed independent values to - be pointers rather than copies. - -Wed Dec 6 21:14:59 2006 Ben Pfaff - - * coefficient.c: (pspp_coeff_get_value) Compare variable pointers - instead of variable indexes. - (pspp_linreg_get_coeff) Ditto. - (design_matrix_col_to_var_index) Removed. - (design_matrix_col_to_var) Compare variable pointers - instead of variable indexes. - (cmp_dm_var_index) Ditto. - (design_matrix_var_to_column) Ditto. - (dm_var_to_last_column) Ditto. - -Sun Nov 5 08:30:32 WST 2006 John Darrington - - * levene.c levene.h Changed to use the new casefilter structure. - -2006-07-15 Jason Stover - - * coefficient.c (pspp_coeff_init): Make design_matrix arg const. - -2006-07-14 Jason Stover - - * coefficient.c (pspp_coeff_init): Removed use of - pspp_linreg_cache to make the routines more generally useful. - -2006-05-19 Jason Stover - - * coefficient.h: Renamed pspp_linreg_coeff to pspp_coeff. - - * coefficient.c: Moved to src/math. - - * coefficient.h: Moved to src/math. - -Tue May 9 21:09:37 2006 Ben Pfaff - - * sort.c (sort_active_file_to_casefile): Check return value of - multipass_procedure(). - -Wed May 3 23:06:43 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * sort.c: (prepare_to_sort_active_file) Don't run a procedure - here. - (sort_active_file_in_place) Rewrite to run a procedure, capture - the output, sort the output, and set that as the source for the - next procedure. - (struct sort_to_casefile_cb_data) New structure. - (sort_to_casefile_callback) New function. - (sort_active_file_to_casefile) Rewrite to use - multipass_procedure(). - -Sat Apr 29 11:09:33 WST 2006 John Darrington - - * removed unused variable. - -Sat Apr 15 18:01:22 2006 Ben Pfaff - - * factor-stats.c (metrics_postcalc): Add casts to fix warnings. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/math/automake.mk b/src/math/automake.mk index c6d1de4491..cdcc2c8cb7 100644 --- a/src/math/automake.mk +++ b/src/math/automake.mk @@ -33,5 +33,3 @@ src_math_libpspp_math_la_SOURCES = \ src/math/trimmed-mean.c src/math/trimmed-mean.h \ src/math/tukey-hinges.c src/math/tukey-hinges.h \ src/math/wilcoxon-sig.c src/math/wilcoxon-sig.h - -EXTRA_DIST += src/math/OChangeLog diff --git a/src/output/OChangeLog b/src/output/OChangeLog deleted file mode 100644 index b1928b970b..0000000000 --- a/src/output/OChangeLog +++ /dev/null @@ -1,406 +0,0 @@ -2008-02-08 John Darrington - - * journal.c: (journal_write) flush the stream on writes. - Useful for discovering syntax which causes a crash. - -2007-09-25 Ben Pfaff - - Patch #6210. Reviewed by John Darrington. - - * ascii.c: Implement ability to resize output device parameters to - fit terminal window size as it changes. - (struct ascii_driver_ext): New members `auto_width', - `auto_length'. - (ascii_open_driver): Initialize new members, call - update_page_size. - (update_page_size): New function to update device size. - (handle_option): Support new "auto" setting for length, width. - (ascii_open_page): Call update_page_size. - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * output.c (TWO_CHARS macro): Removed. - (outp_evaluate_dimension): Changed interface, rewritten. Updated - all callers. - (internal_get_paper_size): Removed. - (parse_unit): New function. - (parse_paper_size): New function. - (outp_get_paper_size): Tweaked interface, rewritten. - (get_standard_paper_size): New function. - (read_paper_conf): New function. - (get_default_paper_size): New function. - - * postscript.c (ps_open_driver): Use system default paper size as - default paper, instead of hard-coding US letter. - (handle_option): Allow outp_evaluate_dimension to supply error - message instead of generating it here. - -2007-09-21 Ben Pfaff - - * ascii.c (struct ascii_driver_ext): New member reported_error. - (ascii_open_driver): Initialize reported_error. - (ascii_open_page): Initialize the rest of the ascii driver data - even if we fail to open the output file. Fixes bug #21117. - - * chart.c (chart_create): Initialize lp member. Fixes crash if - chart initialization fails. - - * html.c (html_open_driver): Don't free chart_file_name in error - case, since html_close_driver will do that. Fixes crash if file - open fails. - - * postscript.c (ps_close_driver): Don't try to write to file if - it's null. Fixes crash if file open fails. - -2007-09-08 John Darrington - - * postscript.c html.c: Remove #include "getline.h" to concurr with - new gnulib arrangements. - -2007-08-23 Ben Pfaff - - Implement journaling. Bug #17240. - - * automake.mk (output_sources): Add journal.c, journal.h. - - * journal.c: New file. - - * journal.h: New file. - -2007-08-16 Ben Pfaff - - * output.c output.h: export function outp_configure_driver_line. - * ascii.c: Added an "append" property. - -2007-08-12 Ben Pfaff - - Add support for charts to ASCII driver. Bug #16364. - Thanks to John Darrington for review. - - * ascii.c (struct ascii_driver_ext): Add chart_type, - chart_file_name, chart_cnt members. - (ascii_open_driver): Initialize new members. - (static array option_tab): Add new options, reorganize slightly. - (handle_option): Handle new options. - (ascii_submit): New function. - (ascii_chart_initialise): Implement. - (ascii_chart_finalise): Implement. - - * chart.c (chart_init_separate): New function. - (chart_finalise_separate): New function. - - * dummy-chart.c (chart_init_separate): New function. - (chart_finalise_separate): New function. - - * html.c (html_open_driver): Don't free chart_file_name. - (html_close_driver): Do free chart_file_name. - (handle_option): Only give an error for chart-files options that - don't contain "#". - (html_initialise_chart): Use new chart_init_separate. - (html_finalise_chart): Use new chart_finalise_separate. - -2007-07-25 Ben Pfaff - - Allow the user to specify an initialization string to write at the - beginning of an ASCII output file. - * ascii.c (struct ascii_driver_ext): New member `init'. - (ascii_open_driver): Initialize `init'. - (ascii_close_driver): Parse `init'. - (ascii_open_page): Write `init' to output file. - - * output.c (get_option_token): Fix parsing of octal constants. - -2007-07-25 Ben Pfaff - - Make interactive output go to the terminal (bug #17213), by - causing the UI to flush output to the user when it prompts for a - command. - - * ascii.c (ascii_open_driver): Move the file open into - ascii_open_page, so that we can re-open after a flush. - (ascii_close_driver): Close file using ascii_flush. - (ascii_open_page): Open the output file if it's not already open. - Use fn_open so that we can support pipes. - (ascii_close_page): Do nothing if output file not open. - (ascii_flush): New function. - (static var ascii_class): Add ascii_flush. - - * manager.c (som_flush): New function. - - * output.c (outp_flush): New function. - -Tue Feb 20 07:03:48 2007 Ben Pfaff - - * html.c: Don't need to include "getlogin_r.h" anymore, because - gnulib merged it into . - -Sun Feb 18 11:20:35 2007 Ben Pfaff - - * postscript.c: Add missing _() around message. - -Sun Feb 11 17:59:30 2007 Ben Pfaff - - * html.c (html_initialise_chart): Mark `this' parameter UNUSED to - account for NO_CHARTS case. - -Sat Feb 3 21:56:46 2007 Ben Pfaff - - * table.c (tab_hline): Allow t->nr as y argument, so that we can - draw a line below the bottom row of the table. - -Wed Feb 7 21:38:12 2007 Ben Pfaff - - * afm.c: Add #include . Thanks to John McCabe-Dansted - for pointing out the need. - -Sun Oct 8 07:09:34 WST 2006 John Darrington - - * table.c (tab_destroy): Freed title, since this is not allocated - from the pool. - - * html.c (html_open_driver): Freed chart_file_name. - -Wed Jul 12 21:03:37 2006 Ben Pfaff - - * table.c (tab_natural_width): Get rid of warning on empty column, - which tended to just trigger false positives because we handle - joined cells so badly. We need a real fix, and the warning is not - helpful. - - * table.c (tab_offset): [DEBUGGING] Let row, col arguments be as - big as row or column count. - -Wed Jul 12 20:58:19 2006 Ben Pfaff - - * output.c (outp_drivers): [DEBUGGING] Delete unused declaration. - -Sat Jul 1 17:20:03 2006 Ben Pfaff - - Make the destination for charts configurable in the HTML driver. - Fixes bug #15723, "HTML driver creates .png files insecurely". - - * htmlP.h: (struct html_driver_ext) Add chart_file_name, chart_cnt - members. - - * html.c: (html_open_driver) Initialize new members. - (option_tab var) Add "chart-files" option. - (handle_option) Parse "chart-files" option. - (html_initialise_chart) Name file based on "chart-files" option. - -Sat Jul 1 22:41:26 2006 Ben Pfaff - - Fix bug #16644: Output Driver crashes in DISPLAY VARIABLES. - - * table.c (tab_create): Don't allocate t->hrh, t->wrv yet, because - the table size might change before we're ready to use them. - (tabi_table) Allocate them here instead. - -Fri Jun 9 14:42:35 2006 Ben Pfaff - - Reform string library. - - * output.c (init_default_drivers): Update call to - configure_driver() to new interface. - (get_option_token) Use a modifiable substring in interface instead - of a separate position parameter. Use ss_get_*() functions. - (configure_driver) Take and work with substrings. - (configure_driver_line) Update call to configure_driver() to new - interface. - (outp_get_paper_size) Use substrings. - - * output.h (struct outp_class): Change open_driver interface to - use substring. Update all implementations. - - * table.c (text_format): Change to return substring. - (tab_title) Use xvasprintf(). - - * table.h (struct tab_table): Change title member to char *. - -Thu May 25 18:02:53 WST 2006 John Darrington - - * table.c: Removed redundant extern declaration. - -Sun May 14 14:03:56 2006 Ben Pfaff - - * output.c (outp_eject_page): Always make sure that a page is open - upon return. - -Sun May 14 13:54:58 2006 Ben Pfaff - - * postscript.c: (ps_chart_finalise) Fix format of %%EndDocument - comment, which screwed up gv's idea of where one page ended and - the next one began. Thanks to John Darrington for pointing out - the bug. - -Sun Apr 16 11:48:25 2006 Ben Pfaff - - Start reforming error message support. In this phase, we get rid - of "installation errors" and change all uses of msg() in the - output drivers to uses of error() or error_at_line(). - - * Removed all inclusion of in this directory. - - * output.c: Changed all uses of msg() to error() or - error_at_line(). - (outp_read_devices) Maintain line number in int variable instead - of "struct file_locator". - (tokener) Renamed get_option_token(), rewritten, changed interface. - (outp_parse_options) Change `options' argument to type const - struct string *. Rewritten. - (configure_driver) Passes a struct string * to ->open_driver() - instead of char *. - (outp_get_paper_size) Maintain line number in int variable instead - of "struct file_locator". Removed stupid cache. - - * output.h: (struct outp_class) Change `open_driver' function to - take const struct string * instead of const char *. Updated all - implementations. - -Mon Apr 3 11:14:38 2006 Ben Pfaff - - Rewrite a lot of the output drivers and infrastructure. - Started transitioning from msg() to error(). - Vertical rules in tables now default to putting a small gap - between columns, instead of no gap or rule at all. - See NEWS for user-visible changes. - - * automake.mk: (output_sources) Add afm.c, afm.h. Remove font.h, - groff-font.c. - - * afm.c, afm.h: New files. - - * font.h: Removed. - - * groff-font.c: Removed. - - * ascii.c: Rewrote and simplified. - - * html.c: Ditto. - - * postscript.c: Ditto. - - * output.c: (struct outp_driver_class_list) Move here from - output.h. Remove ref_count member and all references to it. - (outp_init) Remove epsf_class references. - (init_default_drivers) Use new configure_driver_line() interface. - (parse_options) Renamed outp_parse_options(), changed interface. - (configure_driver) Changed args from `const char *'s to `const - struct string *'s. Rewrote. Don't call ->open_global(). Now - just calls ->open_driver() instead of ->preopen_driver(), - ->option(), ->postopen_driver(). - (configure_driver_line) Adapt to new configure_driver() interface. - (destroy_driver) Don't call ->close_global(). - (option_cmp) Removed. - (outp_match_keyword) Rewrite for simplicity. - (outp_open_page) New function. Changed all equivalent - functionality to use this function instead. - (outp_close_page) Ditto. - (outp_eject_page) Use above functions. - (outp_string_width) Add font argument and change all callers to - pass one. - - * output.h: (struct rect) Removed. - (OUTP_L_*) Name this enumeration "enum outp_line_style". - (OUTP_L_SPECIAL) Removed. - (struct color) Removed. - (OUTP_F_*) Removed. - (struct outp_styles) Removed. - (OUTP_T_*) Removed. - (enum outp_justification) New, containing OUTP_RIGHT, OUTP_LEFT, - OUTP_CENTER. - (enum outp_font) New, containing OUTP_FIXED, OUTP_PROPORTIONAL, - and OUTP_EMPHASIS. - (struct outp_text) Replaced `options' member by `font' and - `justification'. Renamed `s' to `string'. Removed `w', `l'. - Updated all usages. - (struct outp_class) Removed `magic', `open_global', - `close_global', `font_sizes', `preopen_driver', `option', - `postopen_driver', `line_horz', `line_vert', `line_intersection', - `box', `polyline_begin', `polyline_point', `polyline_end', - `text_set_font_by_name', `text_set_font_by_position', - `text_set_font_family', `text_get_font_name', - `text_get_font_family', `text_set_Size', and `text_get_size' - members. Added `open_driver', `close_driver', `line' members. - Changed interface of `open_page', `close_page', `text_metrics', - `text_draw' members. Updated all usages. - (struct outp_driver) Rearranged members. Removed `driver_open', - `res', `horiz', `vert', `horiz_line_spacing', `vert_line_spacing' - members. - (struct outp_option_info) Removed. - (struct outp_driver_class_list) Removed. - (outp_match_keyword) Changed interface. - - * table.c: (tab_create) Now ignores reallocable argument: tables - can always be reallocated. Use pool_create_container(). - Initialize vertical rules to UCHAR_MAX. - (options_to_font) New function. - (tab_destroy) Remove futile assignment. - (tab_realloc) Initialize vertical rules to UCHAR_MAX. - (text_format) Use xvasprintf() instead of local_alloc(). - (tab_title) Always format the argument, and drop the option - argument. Change all callers to agree. - (tab_natural_width) Adapt to new ->text_metrics() interface. - (tab_natural_height) Ditto. - (tab_joint_text) Clear rules within the joined cell. Now - necessary because of the default to put spacing between cells. - (tab_output_text) Use xvasprintf() instead of local_alloc(). - Remove special cases for fixed-width font. - (rule_to_spacing_type) New function. - (tabi_driver) Calculate rule widths manually now that we don't - have ->trh or ->trv. Implement new default for vertical rules. - (render_rows) New function. - (tabi_render) Rewrite in terms of render_rows() for clarity. - (translate_justification) New function. - (rule_to_draw_type) New function. - (get_hrule) New function. - (get_vrule) New function. - (render_horz_rule) New function. - (render_vert_rule) New function. - (render_rule_intersection) New function. - (strip_width) New function. - (strip_height) New function. - (render_cell) New function. - (render_strip) Rewrite in terms of new functions. - - * table.h: (TAB_EMPH) New flag. - (TAB_FIX) New flag. - (TAL_3) Removed. - (TAL_GAP) Added. - (TAL_SPACING) Removed. - (struct tab_table) Members `trh', `hrv', `hr_tot', `vr_tot' - removed. - [DEBUGGING] (reallocable) Removed. - (TAT_FIX) Removed. All references replaced by TAB_FIX. - (TAT_TITLE) Now implies TAB_EMPH. - -Thu Mar 30 16:26:56 2006 Ben Pfaff - - * output.c: (colon_tokenize) Removed. - (configure_driver_line) Rewrote to use ds_separate(). Fixed leak. - -Tue Mar 28 13:50:53 WST 2006 John Darrington - - * html.c, postscript.c, output.c: Changed to fit the new signature - of fn_interp_vars - -Sun Mar 5 13:19:32 2006 Ben Pfaff - - * postscript.c: (postopen) Fix segfault when the active file has - no title. - -Sat Mar 4 13:48:16 2006 Ben Pfaff - - We didn't provide a way to define these macros, so obviously - there's little demand for them. - - * html.c: Don't test for NO_HTML. - - * postscript.c: Don't test for NO_POSTSCRIPT. - - * output.c: Don't test for either of those. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/output/automake.mk b/src/output/automake.mk index 6672015487..7cdee5937e 100644 --- a/src/output/automake.mk +++ b/src/output/automake.mk @@ -76,7 +76,5 @@ src_output_liboutput_la_SOURCES += src/output/odt.c endif EXTRA_DIST += \ - src/output/OChangeLog \ src/output/README \ - src/output/charts/OChangeLog \ src/output/mk-class-boilerplate diff --git a/src/output/charts/OChangeLog b/src/output/charts/OChangeLog deleted file mode 100644 index f735a6cf7b..0000000000 --- a/src/output/charts/OChangeLog +++ /dev/null @@ -1,17 +0,0 @@ -2007-09-18 Ben Pfaff - - * plot-hist.c (histogram_plot): Remove incorrect assertion. Fixes - bug #21101. Reviewed by John Darrington. - -Sun Feb 11 19:43:39 2007 Ben Pfaff - - * dummy-chart.c: Apply UNUSED and include additional headers to - avoid complaints from GCC. Patch #5739. - -Sat Mar 4 13:24:39 2006 Ben Pfaff - - * automake.mk: Move definition of NO_CHARTS here from pref.h.orig. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/ui/OChangeLog b/src/ui/OChangeLog deleted file mode 100644 index bc9c192f67..0000000000 --- a/src/ui/OChangeLog +++ /dev/null @@ -1,53 +0,0 @@ -2008-03-04 Ben Pfaff - - Patch #6427. Reviewed by John Darrington. - - * automake.mk: Add new files. - - * syntax-gen.c: New file. Based on former - src/libpspp/syntax-gen.c but rewritten. - - * syntax-gen.h: New file. Based on former - src/libpspp/syntax-gen.h but rewritten. - -2007-10-10 Ben Pfaff - - * src/ui/debugger.c: Use debugger if HAVE_FORK is defined, not - HAVE_SYS_TYPES_H. The latter is almost universal, but the former - is only available where it can be implemented. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * automake.mk: Remove files. - - * flexifile.c: Removed, dead code. - * flexifile.h: Ditto. - -Thu Feb 8 06:34:52 2007 Ben Pfaff - - * [!(HAVE_SYS_TYPES_H && HAVE_SYS_WAIT_H)] (connect_debugger) In - this case, we don't know how to connect to GDB, so just return. - -Mon Jan 15 11:06:31 2007 Ben Pfaff - - * flexifile.c [DEBUGGING] (dump_case_data): Use case accessor - functions. - -Wed Dec 20 21:14:29 WST 2006 John Darrington - - * flexifile.c (flexifilereader_cnum) : new function - -Thu Nov 16 20:44:58 WST 2006 John Darrington - - * debugger.c debugger.h New files. - -Mon Jul 17 18:22:18 WST 2006 John Darrington - - * flexifile.c flexifile.h: New files. Implementations of casefiles. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/ui/automake.mk b/src/ui/automake.mk index db634cee16..6f4dd6ce72 100644 --- a/src/ui/automake.mk +++ b/src/ui/automake.mk @@ -9,5 +9,3 @@ noinst_LTLIBRARIES += src/ui/libuicommon.la src_ui_libuicommon_la_SOURCES = \ src/ui/source-init-opts.c src/ui/source-init-opts.h \ src/ui/syntax-gen.c src/ui/syntax-gen.h - -EXTRA_DIST += src/ui/OChangeLog diff --git a/src/ui/gui/OChangeLog b/src/ui/gui/OChangeLog deleted file mode 100644 index 88a42f1ffa..0000000000 --- a/src/ui/gui/OChangeLog +++ /dev/null @@ -1,1117 +0,0 @@ -2008-05-20 John Darrington - - * automake.mk: Added the -no-undefined flag so that dlls can be built - on w32 platforms. Abstracted the dependencies of glade-register.c - into a new shared library libpsppwidgets.so, which can be either - linked directly by psppire or by libpsppire.so - - * psppire-keypad.c: Changed snprintf to g_snprintf so as not to use - gnulib. - -2008-05-15 Ben Pfaff - - * 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). - -2008-05-09 John Darrington - - * automake.mk: On make install, warn about the non-existance of yelp. - -2008-05-08 Ben Pfaff - - Patch #6505. Reviewed by John Darrington. - - * text-data-import-dialog.c: Don't make the user wiggle the mouse - to be able to click on the Forward button twice in quick - succession. - (add_page_to_assistant): Mark pages in the assistant complete - immediately. - (on_prepare): No longer mark pages complete upon first visit. - -2008-05-08 Ben Pfaff - - Patch #6505. Reviewed by John Darrington. - - * text-data-import-dialog.c: (struct assistant) New member - `watch_cursor'. - (revise_fields_preview): Change the mouse pointer to a watch to - indicate that a long operation is ongoing. - (prepare_formats_page): Ditto. - (on_variable_change): Ditto. - (push_watch_cursor): New function. - (pop_watch_cursor): New function. - -2008-05-08 John Darrington - - * data-editor.c: In popup menus, connect the Insert Variable and - Insert Case callbacks manually, instead of relying on - gtk_action_connect_proxy, as the latter connects a label with a - mnemonic which is inappropriate. - -2008-05-06 Ben Pfaff - - Bug #23127. Reviewed by John Darrington. Tested by Jason Stover, - in an earlier form. - - * text-data-import-dialog.c (get_tooltip_location): Prevent crash - when a tooltip is being prepared when the assistant is closed. - -2008-05-06 Ben Pfaff - - * text-data-import-dialog.c (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. - -2008-03-25 John Darrington - - * data-editor.glade: Removed unused menuitems. - - * data-editor.c data-editor.glade: Added Mnemonics to all menuitems. - -2008-03-16 Ben Pfaff - - Patch #5368. Reviewed by John Darrington. Tested by Jason - Stover. - - * automake.mk: Add new files. - - * data-editor.glade: Add "import delimited text data" menu item. - - * data-editor.c: Connect "import delimited text data" menu item. - - * text-data-import-dialog.c: New file. - - * text-data-import-dialog.h: New file. - - * text-data-import.glade: New file. - -2008-03-07 Ben Pfaff - - * psppire-var-sheet.c: Initialize "may-create-vars" to TRUE by - default. - -2008-03-06 Ben Pfaff - - * psppire-var-sheet.c psppire-var-sheet.h: Add "may-create-vars" - property to var sheet that controls whether the user can create - new variables in the dictionary. Needed by upcoming patch #6358. - Reviewed by John Darrington. - -2008-03-04 Ben Pfaff - - Patch #6427. Reviewed by John Darrington. - - * comments-dialog.c: Adapt to new syntax generating code in - ui/syntax-gen.[ch]. - - * data-editor.c: Ditto. - - * recode-dialog.c: Ditto. - - * t-test-independent-samples-dialog.c: Ditto. - -2008-02-29 John Darrington - - * psppire-data-editor.c psppire-data-editor.h: New files. Contains functionality - previously scattered thoughout data-editor.c and elsewhere. - - * data-editor.c data-editor.h: Abstracted the variable sheet, the data sheet and - their containing GtkNotebook into a new Object. - - * data-sheet.c data-sheet.h: Deleted. - - * var-sheet.c var-sheet.h: Deleted. Moved to psppire-var-sheet.[ch] - - * psppire-var-sheet.c psppire-var-sheet.h: New files. - - * clipboard.c clipboard.h: Deleted. Moved to psppire-data-editor.c - - * psppire-var-store.c psppire-var-store.h: Updated symbols to avoid name clashes. - - * comments-dialog.c compute-dialog.c crosstabs-dialog.c descriptives-dialog.c - examine-dialog.c find-dialog.c frequencies-dialog.c goto-case-dialog.c - oneway-anova-dialog.c rank-dialog.c recode-dialog.c select-cases-dialog.c - sort-cases-dialog.c split-file-dialog.c t-test-independent-samples-dialog.c - transpose-dialog.c variable-info-dialog.c weight-cases-dialog.c t-test-one-sample.c - t-test-paired-samples.c: Updated dialogs to match above changes. - -2008-02-27 Jason Stover - - * regression-dialog.c: New file. - - * regression-dialog.h: New file. - - * regression.glade: New file. - -2008-02-19 Ben Pfaff - - Patch #6426. Reviewed by John Darrington. - - * psppire-var-store.c: Add "trailing-rows", "format-type" - properties to PsppireVarStore. - -2008-02-19 Ben Pfaff - - * message-dialog.c (popup_messages): Always destroy `msg' and - `lead' strings, avoiding a memory leak. Thanks to John Darrington - for reporting the problem. - -2008-02-19 John Darrington - - * dict-display.c: Display names of variables in dialog box - dictionary treeviews, when the mouse hovers over the variable. - -2008-02-13 John Darrington - - * variable-info-dialog.c: Fix crash when clicking "Jump" when no - variable selected. Add a valid predicate so that this can't - happen anyway. - - * compute-dialog.c: Fix crash when trying to set label on non - existant variable. - -2008-02-09 Ben Pfaff - - Consolidate multiple messages into single message dialog. Patch - #6405. Thanks to John Darrington for review. - - * automake.mk (dist_src_ui_gui_psppire_DATA): Add - message-dialog.glade. - - * helper.c (give_help): Use GtkMessageDialog directly instead of - trying to reuse message-dialog code. - - * message-dialog.c: Rewritten. - - * message-dialog.glade: New file. - -2008-02-08 Jason Stover - - * crosstabs-dialog.c: New file. - - * crosstabs-dialog.h: New file. - - * crosstabs.glade: New file. - -2008-02-08 John Darrington - - * psppire-data-store.c: Remove feature which automatically inserts - cases at end of data. - - * datasheet.c: Make rows after the last + 1, not editable. - -2008-02-08 John Darrington - - * sort-cases-dialog.c transpose-dialog.c: Added dialog_valid - predicates. - -2008-02-04 John Darrington - - * checkbox-treeview.c: In toggle callback, use the treeview's - current model, instead of relying on the one set at creation. - Use attributes instead of cell_renderer functions. - -2008-02-03 John Darrington - - * psppire-case-file.c psppire-case-file.h: Dont clone the casereader - before creating datasheet. Add properties instead of direct code - in _new function. - - * psppire-data-store.c: Implement proper dispose function. - -2008-01-29 John Darrington - - * psppire-var-ptr.c psppire-var-ptr.h: New files - - * t-test-paired-samples.c t-test-paired-samples.h: New files - - * dialog-common.c dialog-common.h (append_variable_names): Add extra - argument to specify the column number containing the variables. - - * psppire-selector.c psppire-selector.h: Add auxilliary data variable - to SelectItemsFunc. (is_item_in_dest) transform model value to G_TYPE_INT - before using. Hence the model need not be of integer type. - -2008-01-22 John Darrington - - * psppire-dict.c (psppire_dict_rename_var): Fixed bug where - an assertion failure occured when renaming variables to an - existing name. Thanks to Ben for reporting this. - -2007-12-13 John Darrington - - * dialog-common.c dialog-common.h (numeric_only): New function. - - * t-test-independent-samples-dialog.c: Added the ability to specify - groups by a threshold ("Cut Point"). Keep OK/Paste buttons insensitive, - until groups are properly defined. Prevented variables treeview from - accepting string variables. - -2007-12-08 John Darrington - - * data-editor.h data-editor.c: Added hooks for one sample t-test - - * t-test-one-sample.c t-test-one-sample.h (new files): Implemented - a dialog box for the One Sample T Test. - - * t-test-independent-samples-dialog.c: Factored out the options sub - dialog (see following). - - * t-test-options.c t-test-options.h (new files): New module - implementing the options sub-dialog for T tests. - -2007-12-07 John Darrington - - * frequencies-dialog.c: Made the options subdialog transient - on the parent. - -2007-12-01 John Darrington - - * descriptives-dialog.c: Moved the code dealing with checkboxes - inside treeview widgets into their own files. - - * checkbox-treeview.c checkbox-treeview.h: New file (see above). - - * frequencies-dialog.c frequencies-dialog.h frequencies.glade: New - files. Implemented FREQUENCIES dialog box. - - * data-editor.c data-editor.h data-editor.glade : Added callback - for frequencies dialog. - - -2007-11-23 John Darrington - - * psppire-acr.c psppire-acr.h: Generalised the external widget - somewhat. It can now be anything, not necessarily a GTK_ENTRY. - - * helper.c helper.h (clone_list_store): New function. - - * oneway-anova-dialog.c : Used the clone_list_store function - instead of writing it ourselves. - - * psppire-dialog.c psppire-dialog.h: Added a tabular orientation - in addition to the horizontal/vertical options. - - * recode-dialog.c recode-dialog.h recode.glade (new files). - - * psppire-selector.c psppire-selector.h: Added a function to - allow the prohibition of items based on a predicate. - - * dialog-common.h dialog-common.c (homogeneous_types): New function. - - * data-editor.c data-editor.glade data-editor.h: Enabled the - recode dialog options. - - -2007-11-23 John Darrington - - * compute-dialog.c (generate_syntax): Append "EXECUTE." to the - generated syntax. - -2007-10-19 John Darrington - - * psppire-acr.c psppire-acr.h (new files): Added this new - composite widget. - - * data-editor.c data-editor.h: Added entries for ONEWAY command - dialog box. - - * oneway-anova-dialog.c oneway-anova-dialog.h oneway.glade (new files) - -2007-10-06 John Darrington - - * psppire-dialog.c psppire-dialog.h: Added a predicate function - member to indicate when a dialog's state is (not) valid. Added a - signal "validity-changed" which gets emitted whenever this - predicate changes. - - * psppire-buttonbox.c: Connect to the toplevel window's - "validity-changed" signal (assuming it happens to be a - PsppireDialog) and set the OK, PASTE, GOTO and CONTINUE buttons - according.y. - - * descriptives-dialog.c compute-dialog.c: Add a validity predicate. - -2007-10-05 Ben Pfaff - - Add DESCRIPTIVES dialog. - - * automake.mk (dist_src_ui_gui_psppire_DATA): Add - descriptives-dialog.data. - (src_ui_gui_psppire_SOURCES): Add descriptives-dialog.c, - descriptives-dialog.h. - - * data-editor.c (new_data_editor): Connect descriptive dialog to - action. - - * data-editor.glade: Change menu item to invoke DESCRIPTIVES. - - * descriptives-dialog.c: New file. - - * descriptives-dialog.h: New file. - - * descriptives-dialog.glade: New file. - -2007-10-04 John Darrington - - * compute-dialog.c goto-case-dialog.c main.c psppire-keypad.c: Added - #include - - * psppire.glade about.c: Read GPL text from src/libpspp/copyleft.c - instead of makeing another copy in psppire.glade. - - * psppirebuttonbox.c psppire.c: Create a new stock item for - RESET buttons. - -2007-09-26 John Darrington - - * output-viewer.c output-viewer.h psppire.c: (closes patch #6210) - Changed width and length parameters of output driver to - "auto". Changed default width and length to be something - acceptable to the ascii driver. (reload_viewer) Dynamically - allocate the line buffer so that it matches the width of the output. - -2007-09-24 Ben Pfaff - - * message-dialog.c (popup_message): Refer to files that contain - commands as "syntax" files, not "script" files, for better user - familiarity. - Patch #6210. Reviewed by John Darrington. - -2007-09-19 John Darrington - - * message-dialog.c: Changed the ouput message title to be - appropriate for the severity of the message. - - * output-viewer.c output-viewer.h : Added a callback for the resize - signal of the output viewer, and set the viewport length and - width accordingly. - - * psppire.c: Update to new init_settings interface. - -2007-09-27 John Darrington - - Addressing bug #20821: - - * psppire-dict.c: Added a BACKEND_CHANGED signal to indicate when - a PsppireDict's struct dictionary has been replaced. - - * psppire-var-store.c: Added the appropriate method for - get_column_count. Added a signal handler for dict:BACKEND_CHANGED, - which calls the g_sheet_model_range_changed for the entire sheet. - -2007-09-18 Ben Pfaff - - * helper.c (create_casereader_from_data_store): New function. - (execute_syntax): Only replace the active file data by a new - casereader if syntax caused the active file to be read, to avoid - exponential slowdown as an increasing number of snippets that do - not read from the active file are consecutively executed. Bug - #20910. Reviewed by and heavily influenced by John Darrington. - - * psppire-data-store.c (psppire_data_store_get_value_count): New - function. - - * psppire-dict.c (psppire_dict_get_value_cnt): New function. - -2007-09-13 John Darrington - - * find-dialog.c find-dialog.h: New files. - - * data-editor.c data-editor.h data-editor.glade: Added action for - the find dialog. - - * psppire-selector.c: Emit the (de)selected signal when the - destination entry widget's text changes. - -2007-09-10 Ben Pfaff - - * var-sheet.c (psppire_variable_sheet_create): Use xstrdup to save - string returned by bind_textdomain_codeset. Otherwise it can get - freed by a subsequent call. Patch #6193. Reviewed by John - Darrington. - -2007-09-06 John Darrington - - * helper.c helper.h (execute_syntax): changed return type to - gboolean to indicated if all the syntax executed successfully or not. - - * data-editor.c syntax-editor.c: Fixed update of recent file list - and window title, on data_file_open. They now only change, if - the file_open was successfull. - - -2007-08-25 John Darrington - - * psppire.c : Enable journal. - -2007-08-18 John Darrington - - * clipboard.c clipboard.h data-editor.c: Added the ability to paste from - the clipboard into the data sheet. - -2007-08-16 John Darrington - - * output-viewer.c output-viewer.h output-viewer.glade (new files) - helper.c psppire.c syntax-editor.glade window-manager.c - window-manager.h : Added a basic output viewer window. - -2007-08-13 John Darrington - - * clipboard.c (clip_to_html clip_to_text): Fixed bug --- use the - variable count instead of the value count for the columns limit. - -2007-08-12 John Darrington - Ben Pfaff - - Implement Edit|Cut operation for datasheet. Patch #6117. - - * automake.mk: Add clipboard.c, clipboard.h. - - * clipboard.c: New file. - - * clipboard.h: New file. - - * data-editor.c (new_data_editor): Connect Edit|Copy to - on_edit_copy function. - (data_var_select): Enable or disable Edit|Copy as appropriate. - (on_edit_copy): New function. - - * data-editor.glade: Connect menu items to new operations. - -2007-08-12 Ben Pfaff - - * psppire-dict.c (psppire_dict_dump): Don't use - dict_get_compacted_dict_index_to_case_index, as that function has - been deleted. - -2007-08-13 John Darrington - - * psppire-case-file.c (psppire_case_file_append_case): - Deleted unused function. - -2007-08-07 John Darrington - - * helper.c (execute_syntax): Set the active file data to NULL at the - end of the procedure. Thanks to Ben for suggesting this. - - * psppire-case-file.c: Added assertions to the remaining functions - on inaccessible objects. - - * psppire-data-store.c psppire-data-store.h: Disconnect or block - signals on dictionary and case_file, when make_reader has been called. - Reconnect or unblock them when a new datasheet has been set for the - data_store. - -2007-08-06 John Darrington - - * syntax-editor.glade: Changed some properties to be less annoying. - -2007-07-29 John Darrington - - * helper.c psppire.c: Enabled the output system so that the results - of analysis can be seen. - -2007-07-26 John Darrington - - * helper.c helper.h (execute_syntax): removed implicit EXECUTE at end - of commands. - - * data-editor.c data-editor.glade: Added "Run Pending Transformations" - menuitem. - -2007-07-25 John Darrington - - * customentry.c: Redraw button in insensitive state, if the widget's - "editable" style is FALSE. Don't emit the "clicked" signal if - "editable" is FALSE. - - * var-sheet.c: If variables are long-string variables, then set the - "editable" properties of the entry widgets for the values and missing - cells to FALSE, - -2007-07-18 John Darrington - - * psppire-case-file.c psppire-case-file.h psppire-data-store.c - psppire-dict.c psppire-dict.h psppire-var-store.c : Added the - ability to resize string variables. Fixed associated problems - inserting/deleting variables. - - * helper.c helper.h (marshaller_VOID__INT_INT_INT): New marshaller - function. - -2007-07-16 John Darrington - - * data-editor.c: File Open dialog remembers directory. Thanks to - Ben Pfaff for this suggestion. - -2007-07-15 John Darrington - - * compute-dialog.c: Only generate NUMERIC/STRING command if the - type-and-label dialog was used. - -2007-07-12 John Darrington - - * psppire-data-store.c: Added call to g_sheet_model_range_changed to - ensure that datasheet displays the current store. - - * psppire-data-store.h: Formatting tidy up. - -2007-07-11 John Darrington - - * compute-dialog.c : Set type-and-label dialog to sensible state, and made syntax generation depend upon existence of target variable. - -2007-07-08 John Darrington - - * data-editor.c data-editor.glade data-editor.h: Implemented - the "Insert Case" button/dialog. - -2007-07-08 John Darrington - - * goto-case-dialog.c goto-case-dialog.h (new files) - * automake.mk data-editor.c data-editor.glade data-editor.h - psppire-case-file.c psppire-case-file.h psppire-data-store.c - psppire-data-store.h psppire.glade : Implemented the goto-case dialog - - -2007-07-07 John Darrington - - * psppire-data-store.c psppire-data-store.h: Made cases number from - 1 instead of 0. - - * psppire-data-store.c: Added a tooltip like feature to display - the label of variables. - -2007-07-03 John Darrington - - * data-editor.c data-sheet.c: Turned off autoscrolling, and - manually move to cell on column click instead. - -2007-06-29 John Darrington - - * data-editor.c data-editor.glade psppire-data-store.c - psppire-data-store.h: Enabled cell reference entry and datum - entry widgets. - -2007-06-29 John Darrington - - * data-editor.c data-sheet.c: Moved update_cell_ref_entry from - data-sheet.c to data-editor.c and made it work again. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * automake.mk: Removed files. - - * flexifile-factory.c: Removed, dead code. - * flexifile-factory.h: Ditto. - - * helper.c: Adapt to new procedure and datasheet code. - * missing-val-dialog.c: Ditto. - * psppire-case-file.c: Ditto. - * psppire-data-store.c: Ditto. - * psppire.c: Ditto. - -2007-06-03 Ben Pfaff - - * psppire-var-store.c (psppire_var_store_item_editable): Use - var_is_alpha. - -2007-05-07 John Darrington - - * psppire-dialog.c psppire-dialog.h: Added "orientation" property, - to allow dialogs to be either vertical or horizontal. - - * comments-dialog.c comments-dialog.h: New files, invoking - ADD DOCUMENT cmd. - -2007-04-30 John Darrington - - * var-display.c var-display.h variable-info-dialog.c - variable-info-dialog.h : New files. - - * data-editor.c : - - * psppire-buttonbox.c psppire-buttonbox.h : Added the "buttons" - property, and optional GOTO and CONTINUE buttons. - - * psppire-dialog.h: Added response codes for the new buttons. - - * psppire-var-store.c : Moved some code to var-display.[ch] - -2007-04-25 John Darrington - - * icons/scalable/splash.c icons/splash.png : More eye candy. - - * main.c psppire.h : new files. - - * psppire.c : Seperated the command line parsing and other - environment startup from the core psppire code. - -2007-04-25 John Darrington - - * icons/scalable icons/16x16: new directories. - * psppire.c : Add new icons to factory. - - * dict-display.c: Refactor code get model from modelfilter. - Added cellrenderer to display icon indicating variables' types. - Displayed the label of variables, if there is one. - - -2007-04-15 Ben Pfaff - - * compute-dialog.c (function_list_populate): Use new accessor - functions exported by language/expressions/public.h. - -2007-04-15 Ben Pfaff - - * compute-dialog.c: Make #include for parse.inc work with VPATH - builds. - -2007-04-13 John Darrington - - * var-type-dialog.c: Added a FMT_DATETIME20 template. - -2007-04-04 John Darrington - - * compute-dialog.c compute-dialog.h: New files - - * data-editor.c data-editor.h data-editor.glade : Added Transform - menu, and support for Compute dialog - - * glade-register.c psppire-buttonbox.c psppire-buttonbox.h - psppire-vbottonbox.c psppire-vbuttonbox.h psppire-hbuttonbox.c - psppire-vbuttonbox.h : Made buttonbox an abstract base class - and separated it into vbuttonbox and hbuttonbox. - - * psppire-selector.c : Allowed GtkTextView to be the destination - widget. - - * psppire-keypad.c: Added an "erase" signal. Fixed other - minor problems. - -2007-04-03 Ben Pfaff - John McCabe-Dansted - - * psppire-selector.c (psppire_selector_set_subjects): Add an - assert that may or may not trap some Windows-related bugs. - -2007-04-03 John Darrington - - * data-editor.c data-editor.glade helper.h syntax-editor.c - syntax-editor.h : Implemented the File->Recently_Used_ menus. - - -2007-03-31 John Darrington - - * data-editor.c data-editor.glade data-editor.h dialog-common.c - psppire-buttonbox.c psppire-dialog.c psppire-dialog.h - psppire-selector.c psppire-selector.h psppire.c psppire.glade - sort-cases-dialog.c sort-cases-dialog.h split-file-dialog.c - transpose-dialog.c weight-cases-dialog.c : Fixed the Refresh - button on all the dialogs. - -2007-03-31 John Darrington - - * data-editor.c: Added hooks for the split-file-dialog - - * psppire.glade: Added the split file dialog box. - - * split-file-dialog.c split-file-dialog.h: New files. - - * dialog-common.c dialog-common.h: New files containing functions - which seem to be used a lot in dialog box implementations. - - * psppire-keypad.c psppire-keypad.h: New files. Implements keypad - thingumy widget. - - * psppire-selector.c: Made the orientation of the arrow a property - of the widget, so that it can be selected from glade. - -2007-03-18 Ben Pfaff - - * syntax-editor-source.c (close): Rename do_close to avoid naming - conflict with POSIX function of same name. - -Tue Mar 13 17:20:05 CET 2007 John Darrington - * psppire.c: Changed gtk_init to gtk_parse_args, followed by a delayed call to gdk_init, so that psppire --version will succeed, even if it - cannot connect to a display . - -Wed Mar 7 19:05:12 CET 2007 John Darrington - - * var-sheet.c: Replaced call to nl_langinfo with locale_charset - from gnulib. - -Thu Feb 22 12:27:41 CET 2007 John Darrington - - * data-editor.c : called new gen_quoted_string function to properly - quote filenames in generated syntax. - - * window-manager.c : Converted name from filename encoding to UTF8 - before displaying in title bar. - -Tue Jan 30 20:13:46 WST 2007 John Darrington - - * psppire-dict.c: Call all the callbacks when a new dictionary becomes current. - - * data-editor.c: Clear existing file name on FILE NEW. - -Sat Jan 27 09:48:21 WST 2007 John Darrington - - * var-type-dialog.c: Fixed bugs closing window, apparent when compiled - against gtk.2.10 - -Fri Jan 26 15:51:34 WST 2007 John Darrington - - * psppire-var-select.c psppire-var-select.h : Deleted. - - * psppire-selector.c psppire-selector.h : New files. - - * transpose-dialog.c transpose-dialog.h : New files. - - * psppire-dict.c psppire-dict.h : Added missing GtkTreeModel - interface functions. - - * weight-cases-dialog.c weight-cases-dialog.h : Re-implemented, - using new PsppireSelector widget. - - * dict-display.c dict-display.h : New files. - - * psppire-object.c psppire-object.h : Deleted. Seemed like a good idea at the time. - -Tue Jan 23 21:10:01 WST 2007 John Darrington - - * helper.c helper.h: New function execute_syntax. - - * syntax-editor.c syntax-editor.glade: Disabled data open/save menu - items. - - * data-editor.c data-editor.glade data-editor.h: Enabled data - open/save/save_as menu-items. - - * window-manager.h window-manager.c (default_window_name) : New - function. - -Sat Jan 13 07:47:26 WST 2007 John Darrington - - * psppire-case-file.c psppire-data-store.c psppire-dialog.c - psppire-dict.c psppire-var-select.c : Replaced identifier 'signal' - with 'signals' to avoid conflict with sysv based systems which use - this identifer for something else. - Thanks to Daniel E WILLIAMS for reporting this problem. - -Wed Jan 10 07:20:39 WST 2007 John Darrington - - * psppire-case-file.c : Make sure there is always a valid flexifile - - * psppire-data-store.c : assertions. - - * psppire.c: Ignore replace source callbacks if the new source is - not of storiage_source_class - - * syntax-editor.c: Close/Abort source after parsing is complete. - -Sun Jan 7 08:38:29 WST 2007 John Darrington - - * psppire-dict.c: Add FILTER_CHANGED and SPLIT_CHANGED signals - corresponding to the callbacks in src/data/dictionary.c - - * data-editor.c : Connect functions to the FILTER_CHANGED and - SPLIT_CHANGED signals to update the status bar accordingly. - -Mon Jan 1 10:37:07 WST 2007 John Darrington - - * psppire-case-file.c psppire-case-file.h: Changed the backend - semantics. An object is now created without any backend. A new function ( psppire_case_file_replace_flexifile ) sets the backend to use. - - * psppire-data-store.c : Updated callers accordingly. - - * psppire-dict.c psppire-dict.h : New function - (psppire_dict_replace_dictionary) . - - * psppire.c : Updated to use new dataset replace_{source, dictionary} - callbacks. - - * syntax-editor.c : parses in state CMD_STATE_DATA unless there are - no variables in the dictionary. - -Mon Dec 25 12:38:24 WST 2006 John Darrington - - * data-editor.c data-editor.glade: Enabled deleting of variables from - the variable sheet. - -Mon Dec 25 11:28:29 WST 2006 John Darrington - - * psppire-dict.c psppire-dict.h: Removed explicit signal emit calls. - These are not required, now that src/data/dictionary.c has callbacks - -Mon Dec 25 08:49:57 WST 2006 John Darrington - - * var-sheet.c val-labs-dialog.c val-labs-dialog.h: Fixed bug in value - labels dialog box. - -Sun Dec 17 08:26:10 WST 2006 John Darrington - - * syntax-editor-source.c syntax-editor-source.h syntax-editor.h: - New files. - - * message-dialog.c : Now reports the filename and line number in - error messages. - - * psppire.c psppire.glade syntax-editor.c: Added the ability to run - syntax from the syntax editor. - - -Sat Dec 16 14:13:07 2006 Ben Pfaff - - * psppire-data-store.c (geometry_get_justification): Don't assume - that ALIGN_* and GTK_JUSTIFY_* values coincide. - -Sat Dec 16 14:10:43 2006 Ben Pfaff - - * psppire-var-store.c (text_for_column): Adjust to account for new - values of the MEASURE_* enums. - - * var-sheet.c (change_measure): Ditto. - -Sat Dec 16 12:24:35 WST 2006 John Darrington - - * psppire-variable.c psppire-variable.h: Deleted. - - * psppire-dict.c psppire-dict.h: Removed the caching of the variable - data, which is now unecessary because src/data/vardict.h maintains - an association between variables and their dictionary. - - * data-sheet.c menu-actions.c missing-val-dialog.c - missing-val-dialog.h psppire-data-store.c - psppire-var-store.c psppire-var-store.h - sort-cases-dialog.c val-labs-dialog.c val-labs-dialog.h - var-sheet.c var-type-dialog.c var-type-dialog.h: Dealt with the - consequences of deleting psppire-variable.[ch]. - - -Sat Dec 9 20:03:04 2006 Ben Pfaff - - * var-type-dialog.c (var_type_dialog_create): Use - fmt_dollar_template from data/format.c. - (dollar_format_template) Removed. - -Sat Dec 9 07:19:53 WST 2006 John Darrington - - * syntax-editor.c : New file. - -Tue Oct 31 19:25:31 2006 Ben Pfaff - - * var-type-dialog.c: Add missing "#include ". - - * psppire.c: Ditto. - -Mon Jul 17 18:21:29 WST 2006 John Darrington - - * automake.mk menu-actions.c psppire-case-file.c psppire-case-file.h - psppire-data-store.c psppire-dict.c psppire-dict.h psppire-variable.c - psppire.c psppire.glade: Adjusted code to use the new flexifile object. - -Sat Jul 15 11:27:15 WST 2006 John Darrington - - * psppire.c psppire.glade automake.mk icons/* : Added toolbar icons where - there's no suitable gtk stock icon. - -Tue Jul 4 09:08:38 WST 2006 John Darrington - - * psppire.c: Fixed --help and --version options. - -Sat Jun 24 16:56:22 WST 2006 John Darrington - - * menu-actions.c: Added goto case and sort cases dialogs. - - * psppire-case-file.c psppire-case-file.h: Added sort function. - - * psppire-data-store.c psppire-variable.c psppire-variable.h: - Renamed psppire_variable_get_index to psppire_variable_get_fv and - dealt with the consequences. Added a psppire_variable_get_index - function which actually does what the name suggests. - - * psppire-dict.c psppire-dict.h: Implemented GtkTreeModel interface, - which allows a dictionary to be displayed in a GtkTreeView. - - * psppire.glade: Added dialog boxes for Goto Case and Sort Case. - - * sort-cases-dialog.c sort-cases-dialog.h (new files). - -Mon Jun 19 18:10:53 WST 2006 John Darrington - - * psppire-case-file.c psppire-case-file.h (new files) - - * automake.mk data-sheet.c data-sheet.h menu-actions.c - psppire-data-store.c psppire-data-store.h psppire-dict.c - psppire-dict.h psppire-var-store.c psppire.c - - Replaced psppire-case-array.c with psppire-case-file.c, so as to - allow an arbitrary number of cases to be represented. - -Sun Jun 4 15:50:28 WST 2006 John Darrington - - * psppire-var-store.c, psppire.c, var-sheet.c : Unlimited the number of - variables that can be displayed. Minor i18n issues. - -Tue May 30 19:53:35 WST 2006 John Darrington - - * menu-actions.c menu-actions.h psppire.c: Fixed up load/new - interactions with startup. - - * psppire-data-store.c: Fixed bad i18n call. - - * pspppire-var-store.c, psppire-var-store.h: constness. - - * helper.c: Implemented proper way to convert from PSPP to UTF8 encoding. - - -Sat May 27 16:25:38 WST 2006 John Darrington - - * customentry.c data-sheet.c menu-actions.c message-dialog.c - missing-val-dialog.c psppire-data-store.c psppire-var-store.c - psppire.c psppire.glade var-sheet.c: Fixed internationalisation. - -Thu May 25 18:01:17 WST 2006 John Darrington - - * psppire-var-store.c: Converted strings to utf8 and returned them on the - heap. - -Sat May 20 21:08:18 WST 2006 John Darrington - - * data-sheet.c, menu-actions.c menu-actions: Fixed data sheet so that - active cell is never on a deleted variable. - - * psppire-data-store.c psppire-data-store.h: Added get_var_count and - get_case_count functions. - - * psppire-dict.c: removed VARIABLE_DELETED (singular) signal. - - * psppire.c: Allowed user to specify *.sav file on command line. - -Mon May 15 20:01:25 WST 2006 John Darrington - - * menu-actions.c psppire-case-array.c psppire-case-array.h - psppire-data-store.c psppire-dict.c psppire-dict.h - psppire-variable.c: - - Initialised new cases to SYSMIS/blank when inserting in data sheet. - -Sat May 13 08:00:50 WST 2006 John Darrington - - * data-sheet.c, helper.c, helper.h, psppire-data-store.c, - psppire-var-store.c: - - Set free_strings flag so that the gtksheet frees the string data - when it's done with them. - -Thu May 11 22:25:49 WST 2006 John Darrington - - * data-sheet.c helper.c helper.h psppire-data-store.c psppire-var-store.c - psppire.c: Converted strings to utf8 before passing to gtksheet. - - * psppire-dict.c: Changed buffer to more reasonable length - - * var-sheet.c: Changed maximum string length to use macro from - data/values.h - - -Sun May 7 10:07:28 WST 2006 John Darrington - - * psppire-data-store.c: Fixed buglet initialising string members. - -Thu May 4 18:04:04 WST 2006 John Darrington - - * message-dialog.c message-dialog.h: Added simple queuing to messages - reported, and ensure that dialog boxes dont appear when pointer grab - is active. - - * psppire-data-store.c: Fix overflow on very long string variables. - - * automake.mk: Fix broken dependency. - - -Tue Apr 25 11:08:04 2006 Ben Pfaff - - Finish reforming error message support. In this phase, move - message.c into libpspp. - - * automake.mk: (src_ui_gui_psppire_SOURCES) Remove src/message.c. - -Tue Apr 25 10:56:53 2006 Ben Pfaff - - Continue reforming error message support. In this phase, drop - actual message printing from core code, substituting a callback, - and add the callback to each UI. Also, move verbose_msg() into - its own module. - - * automake.mk: (src_ui_gui_psppire_SOURCES) Add src/message.c. - - * message-dialog.c: (message_dialog_init) New function. - (vmsg) Rename handle_msg(), rewrite as callback function. - (msg) Removed. - (msg_emit) Removed. - (msg_assert_fail) Removed. - (verbose_msg) Removed. - - * psppire.c: (main) Call message_dialog_init(). - -Sun Apr 23 22:07:49 2006 Ben Pfaff - - Continue reforming error message support. In this phase, get rid - of message "titles" and put the message text in `struct error'. - Now `struct error' encapsulates a message more properly. - - * message-dialog.c: (err_vmsg) Rename err_msg(). Updated - interface. - -Sun Apr 16 20:45:35 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we - divide the classification of messages along "category" and - "severity" axes. - - * message-dialog.c: (vmsg) Use severity and category in - straightforward fashion instead of the less obvious "class". - (err_vmsg) Construct class before passing along to vmsg(). - -Sun Apr 16 16:06:54 2006 Ben Pfaff - - Continue reforming error message support. In this phase, we get - rid of VM() and the other msg() support for "verbosity", replacing - it by a new function verbose_msg(). - - * message-dialog.c: (verbose_msg) New function. - (err_cond_fail) Removed (dead code). - (err_failure) Removed (dead code). - -Sun Apr 16 11:53:25 2006 Ben Pfaff - - Start reforming error message support. In this phase, we get rid - of "installation errors" and change all uses of msg() in the - output drivers to uses of error() or error_at_line(). - - * message-dialog.c: (vmsg) Removed IE, IS support. - -Mon Mar 13 16:42:44 WST 2006 John Darrington - - * psppire.c: Supported (sort of) the --help and --version options. - - * Rename error-dialog.[ch] -> message-dialog.[ch] - - * Moved code from the psppire module. - -Sat Jan 28 16:22:23 WST 2006 John Darrington - - * Separated the data out of the GtkSheet. - -Tue Nov 2 19:00:28 WST 2004 John Darrington - - * Very first incarnation. diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index 90e38e053a..176bd4cc35 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -48,7 +48,6 @@ UI_FILES = \ src/ui/gui/var-type-dialog.ui EXTRA_DIST += \ - src/ui/gui/OChangeLog \ src/ui/gui/artwork/actions/.empty \ src/ui/gui/artwork/apps/scalable/.empty \ src/ui/gui/gen-dot-desktop.sh \ diff --git a/src/ui/terminal/OChangeLog b/src/ui/terminal/OChangeLog deleted file mode 100644 index a5ad36d432..0000000000 --- a/src/ui/terminal/OChangeLog +++ /dev/null @@ -1,284 +0,0 @@ -2008-05-15 Ben Pfaff - - * Use unilbrk.h instead of linebreak.h and ulc_width_linebreaks - instead of mbs_width_linebreaks for compatibility with latest - gnulib. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * main.c (main): Use at_fatal_signal instead of calling signal - directly. - (interrupt_handler) Removed. - (terminate) Rename clean_up. Don't call exit directly. - -2007-09-25 Ben Pfaff - - Patch #6210: implement ability to resize output device parameters - to fit terminal window size as it changes. Reviewed by John - Darrington. - - * automake.mk (src_ui_terminal_libui_a_SOURCES): Add new files. - - * terminal.c: New file. - - * terminal.h: New file. - - * main.c (main): No need to set up SIGWINCH handler any longer. - But we do need to call terminal_init. - (set_fallback_viewport): Move to terminal.c. - [HAVE_LIBNCURSES] (get_termcap_viewport): Ditto. - [!HAVE_LIBNCURSES] (get_termcap_viewport): Ditto. - - * read-line.c (readln_read): After the first line of a command, - call terminal_check_size to allow it to re-detect the terminal - size. - -2007-09-24 Ben Pfaff - - Patch #6210. Reviewed by John Darrington. - * main.c (set_fallback_viewport): Make code easier to understand. - (get_termcap_viewport): Ditto. - - * command-line.c (parse_command_line): Don't call force_long_view, - as that function is no longer necessary. - - * msg-ui.c (handle_msg): Only wrap message output to the message - file to the width of the terminal if the message file is a tty. - -2007-09-19 John Darrington - - * main.c: Moved get_termcap_viewport from src/data/settings.c - Added a handler for SIGWINCH to call this function. Adjusted - init_settings to suit new interface. - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * main.c (i18_init): Set up LC_PAPER locale, if available. Don't - bother with LC_MONETARY locale, since we don't use it anywhere. - -2007-08-26 Ben Pfaff - - Bug #17238. Thanks to John Darrington for review. - - * main.c (main): When testing mode is enabled, use a built-in - output driver configuration instead of reading it from the - configuration file. - - * msg-ui.c (handle_msg): Send error message to non-screen output - devices also, if routing to listing files is enabled. - -2007-08-23 Ben Pfaff - - Implement journaling. Bug #17240. - - * msg-ui.c (handle_msg): Send message to write_journal function - as well as msg_file. - (dump_message): Change interface so that it takes a function - pointer instead of a FILE. - (write_stream): New function. - (write_journal): New function. - - * read-line.c (welcome): Call journal_enable, so that the journal - is enabled by default. - -2007-07-25 Ben Pfaff - - Make interactive output go to the terminal (bug #17213), by - causing the UI to flush output to the user when it prompts for a - command. - - * command-line.c (parse_command_line): Configure interactive - output devices if appropriate. - - * read-line.c (readln_read): Flush output if this is a prompt for - the first line of a command. - -2007-06-06 Ben Pfaff - - Adapt case sources, sinks, and clients of procedure code to the - new infrastructure. - - * main.c: No need for fastfile_factory any more. - -2007-02-25 Ben Pfaff - - Thanks to Jason Stover for verifying that this patch helps under - NetBSD. - - * main.c [HAVE_IEEE_FP]: Include . - (fpu_init) [HAVE_IEEE_FP]: Use setfpmask to mask floating-point - exceptions. - -Sun Feb 18 13:28:26 2007 Ben Pfaff - - * msg-ui.c: Don't include exit.h, because gnulib fixes up stdlib.h - as necessary. Do include stdlib.h, because exit.h did so for us - and we need it. - -Thu Feb 8 15:07:04 2007 Ben Pfaff - - * read-line.c (readln_initialize): Instead of only supporting - history in unix, always support history, and only support a - history file when $HOME is defined. - (readln_uninitialize): Ditto. - (welcome) Call readln_initialize instead of duplicating code. - -Sun Dec 10 11:13:53 2006 Ben Pfaff - - * command-line.c (pre_syntax_message): Use term "syntax" instead - of "script". - -Sat Dec 9 07:21:02 WST 2006 John Darrington - - * msg-ui.c (msg_ui_done): call msg_locator_done. - -Sun Dec 3 11:57:00 2006 Ben Pfaff - - * read-line.c (read_interactive): Always read GETL_INTERACTIVE - lines. - -Thu Nov 16 20:46:35 WST 2006 John Darrington - - * main.c: Connect debugger on errors. - -Tue Nov 7 20:54:32 WST 2006 John Darrington - - * command-line.c msg-ui.c msg-ui.h main.c: Added an -e - option to set the file for error messages. - -Sat Nov 4 15:48:04 2006 Ben Pfaff - - * msg-ui.c (handle_msg): Only write message to terminal if - get_error_routing_to_terminal() returns true. - -Fri Jul 7 20:03:42 2006 Ben Pfaff - - * main.c: (main) Register SIGABRT with bug_handler also. - (bug_handler) Handle SIGABRT also. - -Tue Jun 27 22:44:56 2006 Ben Pfaff - - Fix regression in command name completion reported by John - Darrington. Now completion is again state-dependent and occurs - only on the first line of a command. - - * main.c (main): Reading of first token in command moved into - cmd_parse. - (execute_command) Removed. - - * read-line.c: [HAVE_READLINE] (readln_initialize) Postpone - setting rl_attempted_completion_function until readln_read. - [HAVE_READLINE] (readln_read) Change param from const char * to - enum getl_prompt_style. Set rl_attempted_completion_function - based on style. - [HAVE_READLINE] (complete_command_name) New function. - [HAVE_READLINE] (dont_complete) New function. - [HAVE_READLINE] (command_generator) New function. - -Tue Jun 27 08:23:07 2006 Ben Pfaff - - * automake.mk (src_ui_terminal_pspp_LDADD): Add $(LIBICONV). - Thanks to Jason Stover for reporting the omission. - -Thu May 4 21:50:59 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, move - procedure.c and procedure.h from src to src/data. Update - makefiles and #includes accordingly. - - * automake.mk: (src_ui_terminal_pspp_SOURCES) Remove - src/procedure.c and src/procedure.h. - (src_ui_terminal_pspp_LDADD) Move libexpressions.a later in list - to make the link work. - -Wed May 3 23:09:37 2006 Ben Pfaff - - Continue reforming procedure execution. In this phase, get rid of - many global variables, consolidating procedure execution in - procedure.c. Encapsulate transformations in new "struct - trns_chain". Also, change implementation of N OF CASES, FILTER, - and PROCESS IF from special cases to transformations. - - * main.c: (main) Use proc_init(). - (terminate) Use proc_done(). - -Wed Apr 26 13:34:54 2006 Ben Pfaff - - Improve command name completion in readline. - - * read-line.c (readln_initialize): Set up readline to only break - words for completion at new-line. That way we can complete a - whole command name. Also, set rl_attempted_completion_function - instead of rl_completion_entry_function so we can disable - completing on file names, which is usually not what we want in - PSPP. - -Wed Apr 26 13:31:00 2006 Ben Pfaff - - Improve the way we handle the various parsing "states". Until now - we've hard-coded the state transitions in the command definition - file, but that's error-prone and, worse, it's redundant--we can - figure out what state we're in anyhow. We can cleanly handle - INPUT PROGRAM and FILE TYPE with a nested command-processing loop. - - * automake.mk (src_ui_terminal_pspp_LDADD): Move libui earlier to - avoid link errors. - - * main.c (main): Handle new CMD_* results. - (execute_command) Move most per-command actions into cmd_parse(). - (handle_error) Removed. cmd_parse() handles command failure. - -Tue Apr 25 11:08:17 2006 Ben Pfaff - - Finish reforming error message support. In this phase, move - message.c into libpspp. - - * automake.mk: Remove message.c from sources. - -Tue Apr 25 10:58:19 2006 Ben Pfaff - - Continue reforming error message support. In this phase, drop - actual message printing from core code, substituting a callback, - and add the callback to each UI. Also, move verbose_msg() into - its own module. - - * automake.mk (src_ui_terminal_libui_a_SOURCES): Add msg-ui.c, - msg-ui.h. - - * command-line.c: (parse_command_line) Call - verbose_increment_level() instead of increment err_verbosity - directly, now that we have a little abstraction. - - * msg-ui.c: New file. - - * msg-ui.h: New file. - - * main.c: (main) Call msg_ui_init(). Use any_errors(). - (terminate) Call msg_ui_done(). Make termination order more - rational. - - * read-line.c: (readln_read) Use reset_msg_count() now we have a - little abstraction. - -Tue Apr 25 09:39:46 2006 Ben Pfaff - - * main.c: (terminate) Mark static and NO_RETURN. If called - recursively, which can only happen via signal, just exit instead - of trying to gracefully shut down. - -Fri Mar 31 10:33:37 2006 Ben Pfaff - - * command-line.c: (var pre_syntax_message) -d and -u are no longer - supported. - -Sat Mar 11 14:18:39 WST 2006 John Darrington - - * automake.mk: Moved the pspp binary here. - -Thu Mar 2 08:40:33 WST 2006 John Darrington - - * Moved files from src directory diff --git a/src/ui/terminal/automake.mk b/src/ui/terminal/automake.mk index 08ecbad54e..4180591f1a 100644 --- a/src/ui/terminal/automake.mk +++ b/src/ui/terminal/automake.mk @@ -33,5 +33,3 @@ src_ui_terminal_pspp_LDFLAGS = $(PSPP_LDFLAGS) $(PG_LDFLAGS) if RELOCATABLE_VIA_LD src_ui_terminal_pspp_LDFLAGS += `$(RELOCATABLE_LDFLAGS) $(bindir)` endif - -EXTRA_DIST += src/ui/terminal/OChangeLog diff --git a/tests/OChangeLog b/tests/OChangeLog deleted file mode 100644 index 4742a1c7bc..0000000000 --- a/tests/OChangeLog +++ /dev/null @@ -1,1242 +0,0 @@ -2008-06-21 Jason Stover - - * regression.sh, regression-qr.sh: Fixed column showing - standardized coefficients. - -2008-05-16 John Darrington - - * compression.sh print-crash.sh print-strings.sh very-long-strings.sh : - Removed export VAR=VAL syntax. - - * automake.mk: Added test to check for non-portable shell syntax - -2008-04-14 Jason Stover - - * automake.mk: New test for regression with QR decomposition. - - * command/regression-qr.sh: New test for regression with QR decomposition. - -2008-03-16 Ben Pfaff - - Bug #22037. - - * automake.mk: Add new test. - - * bugs/crosstabs-crash2.sh: New test. - -2008-03-16 Ben Pfaff - - Patch #6452. Reviewed by John Darrington. - - * automake.mk: Add new test. - - * command/variable-display.sh: New test. - -2008-03-04 Ben Pfaff - - Patch #6441. Reviewed by John Darrington. - - * automake.mk: Add new test. - - * formats/format-guesser.sh: New test. - -2008-02-10 Ben Pfaff - - * command/get-data-txt-examples.sh: Update to match changes to - documentation (which were in turn updated to show how the escaped - quote feature works). - -2008-02-02 Ben Pfaff - - * automake.mk: Add target for dissect-sysfile. - - * dissect-sysfile.c: New program. - -2008-02-01 Ben Pfaff - - * automake.mk: Add new test. - - * libpspp/str-test.c: New test. - - * command/get-dat-gnm.sh: Update variable names to match new - naming scheme. - -2007-12-04 Ben Pfaff - - * automake.mk: Add new tests. - - * command/get-data-txt.sh: New test. - - * command/get-data-txt-examples.sh: New test. - - * command/get-data-txt-importcases.sh: New test. - -2007-11-25 Ben Pfaff - - * bugs/compression.sh: Don't fail on big-endian system. Partial - fix for bug #21590. - - * bugs/sysfile-info.sh: Disregard "Integer Format" and "Real - Format" lines in SYSFILE INFO output, to permit big-endian systems - to pass also. Partial fix for bug #21590. - -2007-11-15 Ben Pfaff - - * automake.mk: Add definition of CHARSETALIASDIR to - TESTS_ENVIRONMENT, to allow locale_charset to find charset.alias - before running "make install". - -2007-11-10 Ben Pfaff - - * bugs/compression.sh: Pass -b option to diff to avoid spurious - failure on od. - -2007-11-08 Ben Pfaff - - Patch #6256: add support for binary, 360 file formats. Reviewed - by John Darrington. - - * automake.mk: Add new file. - - * formats/360.sh: New test. - -2007-11-07 Ben Pfaff - - * bugs/overwrite-input-file.sh: Don't use non-portable "diff -B". - - * bugs/overwrite-special-file.sh: Ditto. - - Reported by Jason Stover. - -2007-11-03 Ben Pfaff - - Allow output files to overwrite input files (bug #21280). - - * automake.mk: Add new file. - - * bugs/overwrite-input-file.sh: Rewrite to make sure that we can - overwrite input files safely. - - * bugs/overwrite-special-file.sh: New test. - - * command/erase.sh: Fix "activity" message. - -2007-11-03 John Darrington - - * Book1.gnm.unzipped command/get-data-gnm.sh: New test and data - for reading gnumeric files. - -2007-10-08 Ben Pfaff - - Bug #21280. Thanks to John Darrington for review. - - * automake.mk: Add new file. - - * bugs/overwrite-input-file.sh: New test. - -2007-09-23 Ben Pfaff - - Bug #21111. Reviewed by John Darrington. - - * command/input-program.sh: New test. - - * command/do-if.sh: New tests. - -2007-09-22 Ben Pfaff - - Bug #21128. Reviewed by John Darrington. - - * output/paper-size.sh: New test. - -2007-09-21 Ben Pfaff - - * bugs/unwritable-dir.sh: New test for bug #21117. - -2007-09-19 Ben Pfaff - - * bugs/input-crash.sh: Add regression test for bug #21108. - -2007-09-04 Ben Pfaff - - Update scripts that invoke Perl to invoke it as simply "perl" if - not run from the PSPP Makefiles. Patch #6169. Thanks to John - Darrington for suggestion and review. - * bugs/big-input-2.sh: Make $PERL default to perl. - * command/sort.sh: Ditto. - * formats/bcd-in.sh: Ditto. - * formats/date-in.sh: Ditto. - * formats/ib-in.sh: Ditto. - * formats/legacy-in.sh: Ditto. - * formats/num-in.sh: Ditto. - * formats/num-out.sh: Ditto. - * formats/time-in.sh: Ditto. - -2007-08-26 Ben Pfaff - - * Updated most invocations of PSPP in the tests to use - --testing-mode and to avoid specifying an output format with -o - (because --testing-mode implies -o raw-ascii). - -2007-08-26 Ben Pfaff - - * command/aggregate.sh: Update output to include error messages, - which are now sent to output files also. - - * command/ranks.h: Ditto. - -2007-08-12 Ben Pfaff - - * command/no_case_size.sh: Update to match update DISPLAY and - SYSFILE INFO command output. - - * command/rank.sh: Ditto. - - * command/sysfile-info.sh: Ditto. - - * command/very-long-strings.sh: Ditto. - -2007-08-09 Ben Pfaff - - Fix bug #18982. Thanks to John Darrington for investigation, - review, and verification of fix. - - * formats/date-in.sh: Use a portable pseudo-random number - generator. - - * formats/time-in.sh: Ditto. - - * formats/num-in.sh: Ditto. - -2007-08-03 Ben Pfaff - - * command/rank.sh: Test RANK with noncontiguous groups of SPLIT - FILE variables and how they should behave differently from - noncontiguous groups of BY variables. Regression test for bug - #17239. - -2007-08-01 Ben Pfaff - - * command/weight.sh: Update to match new output format for median - under FREQUENCIES. - - * stats/percentiles-compatible.sh: Ditto. - - * stats/percentiles-enhanced.sh: Ditto. - -2007-07-28 John Darrington - - * command/t-test-1-indep-val.sh: Changed the order of groups in the - summary box to match new behaviour. (Fixes bug #19604). - -2007-07-25 Ben Pfaff - - Fix bug #17100. - * command/data-list.sh: Add tests for multi-record DATA LIST with - and without empty trailing record. - -2007-07-24 Ben Pfaff - - * command/flip.sh: Add tests to avoid regression on bugs #20493, - #20494. - -2007-07-22 Ben Pfaff - - * command/very-long-strings.sh: Test both compressed and - uncompressed system files with very long strings. - -2007-07-17 Ben Pfaff - - Patch #19335. Reviewed by John Darrington. - - * expressions/randist/compare.pl: Use strict and all warnings. - - * expressions/randist/randist.pl: Ditto. - - * formats/num-out-cmp.pl: Ditto. - - * formats/num-out-compare.pl: Ditto. - - * formats/num-out-decmp.pl: Ditto. - - * formats/num-out.pl: Ditto. - -2007-07-17 Ben Pfaff - - * formats/float-format.h: Drop the tests that depend on parsing - "-0" from a syntax file. Also make float-format.sh error messages - easier to read, by changing the sed command so that error line - numbers are easier to match to the test input. - Reviewed by John Darrington as patch #6091. - -2007-07-11 Ben Pfaff - - * xforms/expressions.sh: Remove unused file. Fixes bug - #18140. - -2007-06-06 Ben Pfaff - - * commands/match-files.sh: Test the new support for FIRST and LAST - subcommands. - -2007-06-06 Ben Pfaff - - * automake.mk: Remove test. - - * xforms/casefile.sh: Removed test. - -2007-06-06 Ben Pfaff - - * automake.mk: Add new test. - - * command/datasheet.sh: New test. - -2007-06-03 Ben Pfaff - - * libpspp/tower-test.c: Also test tower_last, tower_prev functions. - - * libpspp/range-set-test.c: Also test the range_set_clone function. - -2007-05-06 Ben Pfaff - - Abstract the documents within a dictionary a little better. - Thanks to John Darrington for suggestion, initial version, and - review. Patch #5917. - - * command/file-label.sh: Update to match new DOCUMENT behavior. - -2007-04-19 John Darrington - - * command/no_case_size.sh command/sysfiles-old.sh: - Changed tests to reflect new behaviour (case changing) when - reading system files with no long name table. - -2007-04-15 Ben Pfaff - - * automake.mk: Add recode.sh to tests. - - * xforms/recode.sh: New test. - -2007-04-03 Ben Pfaff - John McCabe-Dansted - - * npar-binomial.sh: Be less picky about whitespace in PSPP output. - - * npar-chisquare.sh: Ditto. - - * very-long-strings.sh: Ditto. - -2007-04-03 Ben Pfaff - - Apply patches #5828, #5837, #5841, #5843. - - * automake.mk (tests_libpspp_bt_test_LDADD): Add range-map-test, - range-set-test, tower-test. - - * libpspp/range-map-test.c: New test. - - * libpspp/range-set-test.c: New test. - - * libpspp/tower-test.c: New test. - -2007-03-31 Ben Pfaff - - * automake.mk (tests_libpspp_bt_test_LDADD): Add tests/libpspp/bt. - - * libpspp/bt-test.c: New test. - -2007-03-25 Ben Pfaff - - * automake.mk: Add tests/libpspp/sparse-array-test. - - * libpspp/sparse-array-test.c: New test. - -2007-03-18 Ben Pfaff - - * automake.mk: Don't try to distribute tests that are compiled - from C source. This fixes "make dist" when "make all" has not yet - been run. - -Mon Feb 12 06:29:30 2007 Ben Pfaff - - * libpspp/ll-test.c, libpspp/llx-test.c: Include . - -Sat Feb 3 21:57:34 2007 Ben Pfaff - - * automake.mk: Add tests/command/vector.sh. - - * command/vector.sh: New test. - -Wed Jan 24 21:13:53 2007 Ben Pfaff - - * automake.mk: Add tests/libpspp/abt-test. - - * libpspp/abt-test.c: New test. - - * libpspp/heap-test.c, libpspp/ll-test.c, libpspp/llx-test.c: - Style fixes. - -Wed Jan 10 06:50:01 2007 Ben Pfaff - - * automake.mk: Add tests/libpspp/heap-test. - - * libpspp/heap-test.c: New test. - -Wed Dec 13 21:00:46 2006 Ben Pfaff - - * command/rank.sh (activity): Use DELETE VAR (which is new) - instead of MODIFY VARS. - -Tue Dec 19 08:17:28 2006 Ben Pfaff - - * command/loop.sh: Test all the possible combinations of clauses. - -Sat Dec 16 14:00:48 2006 Ben Pfaff - - * command/rank.sh: Fix test to allow string grouping variables. - See bug #18533. - -Sat Dec 16 12:20:58 2006 Ben Pfaff - - * expressions/expressions.sh: Fix DATEDIFF function tests to - correspond with change to DATEDIFF. - -Wed Dec 13 19:34:29 2006 Ben Pfaff - - * expressions/expressions.sh: Test DATEDIFF, DATESUM functions. - -Sun Dec 10 16:52:04 2006 Ben Pfaff - - * automake.mk: Add new test. - - * expressions/valuelabel.sh: New test, for VALUELABEL function. - -Thu Nov 30 22:46:17 2006 Ben Pfaff - - * automake.mk: Add new test. - - * bugs/compute-sum.sh: New test, for bug #17422. - -Thu Nov 30 22:01:57 2006 Ben Pfaff - - * automake.mk: Add new test. - - * bugs/empty-do-repeat: New test, for bug #18407. - -Wed Nov 22 06:28:04 2006 Ben Pfaff - - * bugs/signals.sh: Fix race condition. - -Sun Nov 19 09:23:34 2006 Ben Pfaff - - * automake.mk: Add the new tests listed below. - - * formats/bcd-in.sh: New test. - - * formats/bcd-in.expected.cmp.gz: New support file for - bcd-in.sh. - - * formats/date-in.sh: New test. - - * formats/ib-in.sh: New test. - - * formats/ib-in.expected.cmp.gz: New test. - - * formats/legacy-in.sh: New test. - - * formats/legacy-in.expected.cmp.gz: New support file for - legacy-in.sh. - - * formats/month-in.sh: New test. - - * formats/num-in.sh: New test. - - * formats/num-in.expected.gz: New support file for num-in.sh. - - * formats/time-in.sh: New test. - - * formats/wkday-in.sh: New test. - - * commands/no_case_size.sh: Update output to conform with - update scientific notation code. - - * formats/num-out.expected.cmp.gz: Ditto. - -Thu Nov 2 20:58:12 2006 Ben Pfaff - - * command/data-list.sh: Test newly implement SKIP keyword on DATA - LIST. - -Sat Nov 4 16:08:58 2006 Ben Pfaff - - * automake.mk: Add binhex-out.sh, date-out.sh, month-out.sh, - num-out.sh, time-out.sh, wkday-out.sh from formats directory. Add - formats/inexactify as a program needed by tests. - - * command/no_case_size.sh: Update output to conform with updated - formatted output code. - - * expressions/expressions.sh: Ditto. - - * formats/binhex-out.sh: New test. - - * formats/date-out.sh: New test. - - * formats/month-out.sh: New test. - - * formats/num-out.sh: New test. - - * formats/time-out.sh: New test. - - * formats/wkday-out.sh: New test. - -Sun Oct 29 14:03:37 2006 Ben Pfaff - - * ll-test.c, llx-test.c: Reduce verbosity of output. - -Thu Oct 26 20:20:39 2006 Ben Pfaff - - * automake.mk: Add tests/formats/float-format.sh. - - * formats/float-format.sh: New test. - -Sat Oct 7 11:06:59 WST 2006 John Darrington - - * command/rank.sh: New file - -Sun Jul 16 21:08:51 2006 Ben Pfaff - - * command/print.sh: Update output to match PRINT revisions. - -Wed Jul 12 10:07:52 2006 Ben Pfaff - - * automake.mk: Put ll-test, llx-test in check_PROGRAMS instead of - noinst_PROGRAMS. - -Wed Jul 5 22:15:24 2006 Ben Pfaff - - * automake.mk: Add expressions/randist/compare.pl to EXTRA_DIST. - -Tue Jul 4 09:59:52 2006 Ben Pfaff - - Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support - ALL) and additional underlying system file issues. - - * automake.mk: Add keep-all.sh to TESTS. - - * bugs/keep-all.sh: New test. - -Mon Jul 3 21:09:52 2006 Ben Pfaff - - Modify the random distributions test to verify to 2 more decimal - places of accuracy, but to allow +/- 1 units in the last (tested) - place. This allows the test to pass on machines or with compilers - whose calculated values are off by epsilon from the expected - results. Because of the way the test is constructed, this was - quite common and often caused gratuitous test failures. - - This is patch #5215, tested by Jason Stover and John Darrington. - - * expressions/randist.sh: Use compare.pl to do comparisons. - - * expressions/randist/compare.pl: New script to do comparisons. - - * expressions/randist/randist.pl: Print output to 4 decimal - places, not just 2. Also, print a brief explanatory header at the - top of each output file. - - * expressions/randist/*.out: Replace with new expected output. - -Sat Jul 1 15:33:37 2006 Ben Pfaff - - * automake.mk: Add ll-test, llx-test to TESTS. - - * libpspp/ll-test.c: New file. - - * libpspp/llx-test.c: New file. - -Sun May 7 18:15:52 2006 Ben Pfaff - - * command/do-repeat.sh: Only use "A TO B" for increasing runs of - integers, which is all we now support (for closer compatibility). - -Wed Apr 26 13:36:42 2006 Ben Pfaff - - * command/missing-values.sh: Update output to match behavior - changes. - -Mon Apr 3 12:32:36 2006 Ben Pfaff - - * Updated tests to match changes in output formatting. - -2006-03-23 Jason Stover - - * command/regression.sh: New test. - -Sat Mar 11 14:16:01 WST 2006 John Darrington - - * Updated the tests to use the new location of the pspp binary. - * Made all the tests work as stand-alone scripts. - -Sun Feb 12 19:07:24 2006 Ben Pfaff - - * command/do-repeat.sh: New test. - - * bugs/terminate.sh: Removed (no longer applicable). - -Fri Nov 4 19:30:34 2005 Ben Pfaff - - * command/recode-bug.sh: Improve failure reports. - -Wed Nov 2 21:54:11 2005 Ben Pfaff - - * command/loop.sh: Update expected error messages. - -Sun Aug 21 00:20:02 2005 Ben Pfaff - - * command/import-export.sh: Simplify. - - * command/sysfiles-old.sh: Use version 2, not 3x. - -Sat Aug 6 17:32:39 2005 Ben Pfaff - - * command/missing-values.sh: New test. - - * Makefile.am: Add new test. - -Mon Aug 1 21:51:46 2005 Ben Pfaff - - * bugs/big-input-2.sh: Don't use 1...100000 (etc.) with Perl - because that may allocate a large amount of memory. - -Mon Aug 1 21:48:54 2005 Ben Pfaff - - * xforms/expression.sh: Break this monolithic test up into 36 - subtests to give a better idea of what's failing in some cases. - -Sat Jul 30 21:54:23 2005 Ben Pfaff - - * command/sys-info.sh: Removed. (This was not actually in TESTS - in Makefile.am, so it was never called. command/sysfile-info.sh - does what it was trying to do, but better.) - -Sat Jul 30 21:50:33 2005 Ben Pfaff - - Fixes for Solaris. - - * Most tests: Add `cd /' before `rm -rf $TEMPDIR' because some - OSes do not allow the current working directory to be removed. - - * bugs/big-input-2.sh: Use perl instead of a shell loop, because - the shell loop was very slow on Solaris. - - * command/sort.sh: Use `printf' instead of `echo -n' for - portability. - -Sat Jul 30 21:48:37 2005 Ben Pfaff - - * Makefile.am: Add coverage.sh, temp_template to EXTRA_DIST. - -Sun Jul 24 20:35:04 2005 Ben Pfaff - - * command/sysfile-info.sh: Add "-b -B -w" to diff command line. - Fixes apparent failure under Cygwin. Thanks to John Darrington - for reporting this problem. - -Mon Jul 4 18:02:44 2005 Ben Pfaff - - * command/sysfile-info.sh: Don't verify endianness. Fixes bug - reported by "Marshall DeBerry" . - -Mon Jun 6 22:40:10 2005 Ben Pfaff - - * command/print.sh: Get rid of RBHEX output. It wasn't worth - much. Fixes bug 12312. - -Tue May 10 19:59:10 2005 Ben Pfaff - - * bugs/agg-crash-2.sh: Fix output given bug 13054. - -Wed May 4 23:50:02 2005 Ben Pfaff - - * bugs/match-files-scratch.sh: New test for bug 12948. - - * Makefile.am: (TESTS) Add bugs/match-files-scratch.sh. - -Sun May 1 23:18:37 2005 Ben Pfaff - - Most tests: changed capitalization of variable names in - definitions or in output, because now we preserve it. - -Mon Apr 25 23:30:17 2005 Ben Pfaff - - * commands/match-files.sh: New test. - - * Makefile.am: (TESTS) Add commands/match-files.sh. - -Sun Apr 17 16:38:00 2005 Ben Pfaff - - * crosstabs.stat, data-fmts.stat, do-if.stat, do-repeat.stat, - gengarbage.c, inpt-pgm.stat, mdfy-vars.stat, means.stat, - mtch-file.stat, pcs-if.stat, recode.stat, repeating.stat, - reread.data, reread.stat, sys-info.stat, t-test.stat, - temporary.stat, time-date.stat, vector.stat: Removed because they - were unused. - - * Makefile.am: Removed sort.data references. Fixed up - DISTCLEANFILES. - -Sun Mar 20 14:16:31 2005 Ben Pfaff - - * command/aggregate.sh: Rewrite. - -Mon Mar 14 21:58:23 2005 Ben Pfaff - - * Makefile.am: (TESTS_ENVIRONMENT) Add PERL to the test - environment. - - * commands/sort.sh: Rewrite to test more thoroughly and to verify - that the sort is stable. - -Sat Mar 12 23:30:37 2005 Ben Pfaff - - * bugs/agg-crash-2.sh, bugs/big-input-2.sh, command/aggregate.sh: - Fix AGGREGATE command syntax. - -Sat Mar 12 13:16:34 2005 Ben Pfaff - - * bugs/temp-freq.sh: Add another test. - -Fri Mar 11 10:40:41 2005 Ben Pfaff - - * expressions/expressions.sh: Add another test. - -Sun Mar 6 19:30:14 2005 Ben Pfaff - - * expressions/vectors.sh: New test. - - * Makefile.am: Add expressions/vectors.sh. - -Sun Mar 6 17:56:27 2005 Ben Pfaff - - * expressions/expressions.sh: Add tests for generic optimizations. - -Sun Mar 6 11:03:58 2005 Ben Pfaff - - * Makefile.am: Add expressions/variables.sh. Remove expr.stat. - - * expr.stat: Removed. - -'Mon Feb 28 23:31:16 2005 Ben Pfaff - - * Makefile.am: Removed xforms/expressions.sh. Added - expressions/expressions.sh, expressions/epoch.sh, - expressions/randist.sh. - - * command/print.sh: Update error messages. - -Sun Feb 13 16:15:09 2005 Ben Pfaff - - * bugs/agg-crash-2.sh: Add new test for Bug #11955. - -Fri Feb 11 23:27:08 2005 Ben Pfaff - - * bugs/crosstabs-crash.sh: Add new test for Bug #11916. - -Tue Jan 18 19:25:24 WST 2005 John Darrington - - * Canonicalised (some of) the tests' temp file names to make it - easier to recognise valgrind ouput. - -Sun Jan 9 16:39:08 WST 2005 John Darrington - - * bugs/big-input-2.sh Made the test a bit faster - -John Darrington - - * command/examine.sh Added - -Mon Nov 15 23:52:55 2004 Ben Pfaff - - * bugs/random.sh: Update expected random values to reflect the GSL - random number generator. - -Sat Nov 6 14:49:27 WST 2004 John Darrington - - * command/oneway-with-splits.sh Added. - -Sun Oct 31 16:08:47 WST 2004 John Darrington - - * bugs/recode-copy-bug.sh bugs/computebug.sh Fixed problem which - caused make distcheck to not know where some critical files were. - -Mon May 31 21:49:19 2004 Ben Pfaff - - * bugs/t-test-with-temp.sh: Use $SUPERVISOR. - - * bugs/t-test-1-indep-val.sh: Ditto. - - * bugs/t-test-1-sample-missing-anal.sh: Ditto. - - * bugs/t-test-1-sample-missing-list.sh: Ditto. - - * bugs/t-test-1s.sh: Ditto. - - * bugs/t-test-groups.sh: Ditto. - - * bugs/t-test-indep-missing-anal.sh: Ditto. - - * bugs/t-test-indep-missing-list.sh: Ditto. - - * bugs/t-test-paired-missing-anal.sh: Ditto. - - * bugs/t-test-paired-missing-list.sh: Ditto. - - * bugs/t-test-pairs.sh: Ditto. - -Sun May 30 19:18:26 2004 Ben Pfaff - - * command/tabs.sh: Default tab width is now 4. - - * command/data-list.sh: New test. - - * Makefile.am: (TESTS) Add command/data-list.sh. - -Sun Apr 11 14:21:16 2004 Ben Pfaff - - * stats/moments.sh: Now that our one-pass moments algorithm is - better we don't have to omit any of the test cases for it. - -Fri Apr 9 20:03:33 2004 Ben Pfaff - - * Makefile.am: (TESTS) Add stats/descript-mean-bug.sh. - - * stats/descript-mean-bug.sh: Add test for a bug where - DESCRIPTIVES asking only for the mean assert-failed. - -Sat Apr 3 11:42:31 2004 Ben Pfaff - - * Makefile.am: (TESTS) Add bugs/comment-at-eof.sh. Alphabetize - test order. - - * bugs/comment-at-eof.sh: Add test for a bug where a comment at - end of file caused an infinite loop. - -Sat Mar 27 11:29:06 WST 2004 John Darrington - - * bugs/get.sh Added regression test for a bug in loading a dictionary - with the GET command. - -Tue Mar 30 22:10:08 2004 Ben Pfaff - - * Makefile.am: (TESTS) Add bugs/multipass.sh. - -Mon Mar 29 15:25:09 2004 Ben Pfaff - - * Makefile.am: (TESTS) Add xforms/casefile.sh, - stats/descript-basic.sh, stats/descript-missing.sh, - stats/moments.sh. Remove command/descriptives.sh. - - * command/descriptives.sh: Removed. - - * command/weight.sh: Fix output (statistic values were wrong!). - - * stats/descript-basic.sh: New test. - - * stats/descript-missing.sh: New test. - - * stats/moments.sh: New test. - - * xforms/casefile.sh: New test. - - * xforms/expressions.sh: Cleans up after itself now. - -Fri Mar 26 00:55:48 2004 Ben Pfaff - - * Makefile.am: (TESTS) Add xforms/expressions.sh, remove - command/compute.sh. - - * command/beg-data.sh: Remove REMARK usage. - - * command/bignum.sh: Ditto. - - * command/list.sh: Ditto. - - * command/print.sh: Ditto. - -Sat Mar 20 18:11:15 2004 Ben Pfaff - - * command/list.sh: Update output. - - * command/print.sh: Ditto. - - * command/weight.sh: Ditto. - -Sun Mar 14 23:04:14 2004 Ben Pfaff - - * command/sort.sh: Use numeric, not string, data to avoid spurious - valgrind complaints. - -Wed Mar 10 21:22:03 2004 Ben Pfaff - - * bugs/temporary.sh: Test that basic use of TEMPORARY works. - -Mon Feb 16 21:36:57 2004 Ben Pfaff - - * */*.sh: Prepend $SUPERVISOR to invocations of pspp so that we - can run valgrind or gdb easily with `make check' - -Sat Dec 13 00:08:23 2003 Ben Pfaff - - * syntax: Run a diff when there's no expected output, too. - -Fri Jan 7 20:30:23 2000 Ben Pfaff - - * data-fmts.stat: Add more date tests. - - * do-repeat.stat: SET ECHO ON. - - * syntax: Replace test -L with test -h. - -Tue Jan 5 14:21:52 1999 Ben Pfaff - - * data-list.stat, data-list.data: Adjust so that it can tell if - DATA LIST FREE properly parses and pads string values. - - * list.stat: Remove anachronistic `SET EMULATION PC'. - - * Rebuilt benchmark. - -Tue Jan 5 14:12:58 1999 Ben Pfaff - - * syntax: Replaced `test' calls with `['. This may or may not fix - the problems some people have reported. - -Sun Aug 9 11:15:38 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Update for renamed files. - - * autorecode.stat: Renamed autorecod.stat. - - * begin-data.stat: Renamed beg-data.stat. - - * data-formats.stat: Renamed data-fmts.stat. - - * expression.stat: Renamed expr.stat. - - * file-label.stat: Renamed file-lab.stat. - - * input-program.stat: Renamed inpt-pgm.stat. - - * modify-vars.stat: Renamed mdfy-vars.stat. - - * match-files.stat: Renamed mtch-file.stat. - - * process-if.stat: Renamed pcs-if.stat. - - * split-file.stat: Renamed splt-file.stat. - - * sysfile-info.stat: Renamed sys-info.stat. - - * expect/: Refreshed. - -Sat Aug 8 00:27:07 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add `syntax'. - (dist-hook) New target. - -Wed Aug 5 00:04:16 1998 Ben Pfaff - - * TEST-RESULTS: Removed. - - * show-check-msg: Removed. - - * expect/: New. - - * syntax: New. Thanks to James R. Van Zandt - for this implementation of automatic testing. - - * Makefile: (TESTS) Set to the syntax script. - (bench) New target. - (EXTRA_DIST) Remove TEST-RESULTS. Add `syntax'. - -Sun Jul 5 14:16:18 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add flip.stat. - -Sun Jul 5 00:50:41 1998 Ben Pfaff - - * crosstabs.stat: Change to test /MISSING=REPORT. - -Tue Jun 2 23:42:23 1998 Ben Pfaff - - * flip.stat: New file. - - * weighting.stat: Update. - -Mon May 25 12:45:46 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add crosstabs.stat, match-files.stat. - - * crosstabs.stat: Turn off cells=all. - -Tue May 12 16:22:06 1998 Ben Pfaff - - * crosstabs.stat: Minor changes. - -Thu May 7 23:16:03 1998 Ben Pfaff - - * crosstabs.stat: Replace with a test that is hopefully better. - -Tue Apr 14 01:00:46 1998 Ben Pfaff - - * crosstabs.stat: New. - -Mon Mar 9 15:40:25 1998 Ben Pfaff - - * match-files.stat: More thorough. - -Mon Mar 9 01:14:14 1998 Ben Pfaff - - * match-files.stat: More thorough. - -1998-03-05 Ben Pfaff - - * Makefile.am: Use ./gengarbage instead of gengarbage. - -1998-02-23 Ben Pfaff - - * Many tests: Remove final finish command. - -1998-02-16 Ben Pfaff - - * (DISTCLEANFILES) Clean *.save, pspp.*, foo* - - * file-label.stat, sysfile-info.stat: Replace .sav with .save. - - * match-files.stat: New file. - -Fri Feb 13 15:58:11 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add TEST-RESULTS. - -Tue Jan 13 01:11:36 1998 Ben Pfaff - - * aggregate.stat: Some more testing. - -Sat Jan 10 23:57:14 1998 Ben Pfaff - - * Makefile.am: (DISTCLEANFILES) Add aggregate.save. - - * aggregate.stat: Slightly more thorough. - -Sat Jan 10 02:17:00 1998 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add means.stat, t-test.stat. - - * means.stat: New file. - -Thu Jan 8 22:38:59 1998 Ben Pfaff - - * Many tests: Removed extra newlines from REMARKs. - -Mon Jan 5 11:18:44 1998 Ben Pfaff - - * sysfile-info.stat: Test most of the DISPLAY commands. Update - title. - - * vector.stat: Display vectors. - -Sun Jan 4 18:31:36 1998 Ben Pfaff - - * All tests: Added title. - - * begin-data.stat: Updated REMARK format. - - * descript.stat: Comment fix. - -Sun Dec 21 16:57:31 1997 Ben Pfaff - - * TEST-RESULTS: New file. - -Fri Dec 5 22:02:20 1997 Ben Pfaff - - * Makefile.am: (DISTCLEANFILES) Add fiasco.html. - -Tue Dec 2 14:55:22 1997 Ben Pfaff - - * t-test.stat: New file. - -Fri Nov 14 00:17:25 1997 Ben Pfaff - - * aggregate.stat: Changed. - -Tue Oct 28 16:26:25 1997 Ben Pfaff - - * aggregate.stat: New file. - - * Makefile.am: (EXTRA_DIST) Add aggregate.stat. - -Sun Oct 5 16:02:02 1997 Ben Pfaff - - * fall92.stat, fall92.data: Removed (unknown copyright). - - * gengarbage.c: Define EXIT_SUCCESS if not defined by headers. - From Alexandre Oliva . - -Sat Oct 4 16:35:59 1997 Ben Pfaff - - * repeating.stat: New file. - - * Makefile.am: (EXTRA_DIST) Add repeating.stat. - -Thu Sep 18 21:40:50 1997 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add lag.stat. - -Mon Aug 18 18:31:42 1997 Ben Pfaff - - * do-repeat.stat: Even more useful. - - * lag.stat: New file. - -Sun Aug 17 22:47:53 1997 Ben Pfaff - - * do-repeat.stat: Made actually useful, not stupid. - -Sun Aug 3 11:46:00 1997 Ben Pfaff - - * In several files, replace usage of deprecated term `script' by - `syntax file'. - -Thu Jul 17 02:12:17 1997 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Add tabs.stat. - - * file-label.stat: Improved. - - * sysfile-info.stat: Tests DISPLAY DICTIONARY now as well. - -Fri Jul 11 14:13:49 1997 Ben Pfaff - - * gengarbage.c: Reformat. #include's . Uses ANSI C - rand() in place of random(). Calls the randomizer srand(). - -Thu Jul 10 22:16:34 1997 Ben Pfaff - - * tabs.stat: New file. - -Wed Jun 25 22:54:40 1997 Ben Pfaff - - * Makefile.am: (EXTRA_DIST) Removed bug.stat, file-type.stat. - -Sun Jun 8 01:24:55 1997 Ben Pfaff - - * Makefile.am: Added fiasco.ps, fiasco.list, foo, foo.sav, msgs to - DISTCLEANFILES. - - * input-program.stat: Made some variables scratch. - -Fri Jun 6 22:53:03 1997 Ben Pfaff - - * Many files: Comment fixes, removed `set output raw.' commands. - - * Other miscellaneous changes. - -Tue Jun 3 23:44:46 1997 Ben Pfaff - - * list.stat: Re-enabled some of it. - -Wed Apr 23 21:33:48 1997 Ben Pfaff - - * sysfile-info.stat: A little more generalized now. - -Fri Apr 18 15:42:22 1997 Ben Pfaff - - * Makefile.am: Maintainer-clean Makefile.in. - -Thu Mar 27 01:11:29 1997 Ben Pfaff - - * gengarbage.pl: Removed. - -Sat Feb 15 21:26:53 1997 Ben Pfaff - - * descript.stat: Syntax fixes. - - * process-if.stat: New test for PROCESS IF. - -Sun Jan 19 14:22:11 1997 Ben Pfaff - - * autorecode.stat, modify-vars.stat: More thorough. - - * data-formats.stat, file-label.stat: New tests. - -Thu Jan 16 13:08:57 1997 Ben Pfaff - - * bug.stat: Comment fix. - -Wed Jan 1 22:08:10 1997 Ben Pfaff - - * filter.stat: New file; tests FILTER behavior. - -Wed Jan 1 17:00:59 1997 Ben Pfaff - - * gengarbage.pl: New perl program equivalent to gengarbage.c. - -Sun Dec 29 21:36:48 1996 Ben Pfaff - - * gengarbage.c: Changed. - - * sort.stat: Changed. - -Sun Dec 22 23:10:39 1996 Ben Pfaff - - * sort.stat: New file. - -Fri Dec 13 21:30:53 1996 Ben Pfaff - - * autorecode.stat: New file. - - * fall92.stat: Mods for practicality. - - * test.bat, testall.bat: Removed. - -Thu Nov 28 23:14:07 1996 Ben Pfaff - - * list.stat, weighting.stat: Changed SET COMPATIBILITY subcommand - to SET EMULATION in anticipation of change. - -Sat Oct 26 23:06:06 1996 Ben Pfaff - - * recode.stat: Removed comment about bug, since I fixed that. - -Thu Oct 24 20:13:42 1996 Ben Pfaff - - * print.stat: Slightly more thorough. - -Thu Oct 24 17:47:14 1996 Ben Pfaff - - * time-date.stat: Slightly more thorough. - -Wed Oct 23 21:53:43 1996 Ben Pfaff - - * time-date.stat: New file. - -Thu Sep 26 22:20:26 1996 Ben Pfaff - - * list.data: More data. - - * list.stat: Handles all that extra data. - - * weighting.stat: Doesn't try to list $WEIGHT because PC+ isn't - quite supported yet. - -Wed Sep 4 21:45:35 1996 Ben Pfaff - - * weighting.stat: Tests for proper ligatures. Won't work until - encodings are correct, of course... - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/tests/automake.mk b/tests/automake.mk index d89f6dd1ba..de2425f8af 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -230,8 +230,6 @@ EXTRA_DIST += \ tests/language/data-io/test.ods CLEANFILES += *.save pspp.* foo* - -EXTRA_DIST += tests/OChangeLog # Autotest testsuite -- 2.30.2