+2008-05-15 Ben Pfaff <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
+
+ * get-data.c: Add a /BSIZE subcommand to PSQL reader.
+
+2008-02-02 John Darrington <john@darrington.wattle.id.au>
+
+ * get-data.c (cmd_get_data): Support PSQL type.
+
+2007-12-07 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * placement-parser.c (parse_column): New function.
+ (parse_column_range): Add `base' argument. Update all callers.
+
+2007-12-04 Ben Pfaff <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ 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 <john@darrington.wattle.id.au>
+
+ * 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 <blp@gnu.org>
+
+ 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 <blp@gnu.org>
+
+ * 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 <blp@gnu.org>
+
+ * get.c (parse_read_command): Compact the values in the target
+ dictionary, to save space.
+
+2007-08-12 Ben Pfaff <blp@gnu.org>
+
+ * 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 <blp@gnu.org>
+
+ * get.c (case_map_get_value_cnt): New function.
+
+2007-07-25 Ben Pfaff <blp@gnu.org>
+
+ Fix bug #17100.
+ * data-list.c (read_from_data_list_fixed): Handle multi-record
+ DATA LIST correctly.
+