+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
+ string so that any length variables can be used.
+
+Mon May 1 18:21:19 2006 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * 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 <blp@gnu.org>
Continue reforming error message support. In this phase, get rid