+Sat Jul 1 17:39:40 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
+
+ * 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 <blp@gnu.org>
+
+ * get.c (cmd_match_files): Fix memory leak replacing default_dict.
+
+Sat May 6 22:25:09 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * get.c: (mtf_merge_dictionary) Fix value label memory leak.
+
+Sat May 6 13:51:16 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
* list.q Changed from using fixed length char buffers to struct