+2007-08-12 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ Fix bug reported by Jason Stover.
+ * settings.c: Move get_termcap_viewport and in particular the
+ #include for <curses.h> 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
+
+ * procedure.c procedure.h: Added callbacks which get invoked whenever
+ a dataset's transformation chain changes.
+
2007-07-24 Ben Pfaff <blp@gnu.org>
Fix bug #6113.
* 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 <blp@gnu.org>