+Tue Jul 4 08:47:35 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * 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 <blp@gnu.org>
+
+ * 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 <john@darrington.wattle.id.au>
+
+ * 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * format.c (measure_is_valid): Really return false when m >=
+ n_MEASURES.
+
+Tue Jun 6 18:46:26 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
+
+ * settings.c: Added call to i18n{done, init}.
+
+Tue May 9 21:09:17 2006 Ben Pfaff <blp@gnu.org>
+
+ * procedure.h: Add WARN_UNUSED_RESULT to procedure function
+ prototypes.
+
+Tue May 9 21:08:05 2006 Ben Pfaff <blp@gnu.org>
+
+ * casefile.c: Convert many uses of `int' to `bool'.
+
+Sat May 6 22:49:43 2006 Ben Pfaff <blp@gnu.org>
+
+ * transformations.c (trns_chain_destroy): Destroy chain's trns
+ member, to fix memory leak.
+
Sat May 6 22:48:30 2006 Ben Pfaff <blp@gnu.org>
* storage-stream.c (storage_source_decapsulate): Destroy case