Rewrite and improve formatted output routines.
[pspp-builds.git] / src / data / ChangeLog
index c643a2eb2dd05499c8d330a6178ce5c70829bd3a..4be64ea96654f430c10c3360de8c0fdad05a6d26 100644 (file)
@@ -1,3 +1,325 @@
+Sat Nov  4 15:59:56 2006  Ben Pfaff  <blp@gnu.org>
+
+       * calendar.c (calendar_offset_to_gregorian) Also return the
+       year-of-day.  Change callers to new interface.
+
+       * data-out.c: Completely rewrite internals to conform to SPSS
+       output formats as completely as possible.
+       (data_out) Change interface to put input parameters before output
+       parameters, for consistency with the style I now prefer.  Update
+       all callers.
+       (data_out_get_integer_format) New public function.
+       (data_out_set_integer_format) New public function.
+       (data_out_get_float_format) New public function.
+       (data_out_set_float_format) New public function.
+
+       * data-out.h: New file.  Move prototype for data_out here, from
+       format.h.
+
+       * format.c: (fmt_step_width) Use equality comparison instead of
+       bitwise and, for clarity.
+       (fmt_is_string) Ditto.
+       (fmt_input_to_output) Fix categories that are translated to F
+       format.
+
+Sun Nov  5 08:29:34 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * casefilter.c casefilter.h (new files), casefile.c casefile.h 
+       casefile-private.h: Added casefilter to assist commands with missing 
+       values.
+
+Sat Nov  4 11:47:09 2006  Ben Pfaff  <blp@gnu.org>
+
+       Implement SET ERRORS, SHOW ERRORS.  Fixes bug #17609.
+       
+       * settings.c: (route_errors_to_terminal) New variable.
+       (route_errors_to_listing) New variable. 
+       (get_error_routing_to_terminal) New function.
+       (set_error_routing_to_terminal) New function.
+       (get_error_routing_to_listing) New function.
+       (set_error_routing_to_listing) New function.
+
+       * settings.h: (SET_ROUTE_* enums) Removed, because unused.
+
+Tue Oct 31 19:58:27 2006  Ben Pfaff  <blp@gnu.org>
+
+       * format.c: Completely rewrite, to achieve better abstraction.
+       Rewrite all references to formats in other files.
+       
+       * format.def: Rewrite and reorganize.
+
+       * settings.c: Move everything related to custom currency formats
+       into format.[ch], changing them in form, so as to group related
+       code and definitions better.  Changed all references to use the
+       new functions.
+       (static var decimal) Removed.
+       (static var grouping) Removed.
+       (static var cc) Removed.
+       (get_decimal) Removed.
+       (set_decimal) Removed.
+       (get_grouping) Removed.
+       (set_grouping) Removed.
+       (get_cc) Removed.
+       (set_cc) Removed.
+
+       * settings.h: (macro CC_CNT) Removed.
+       (macro CC_WIDTH) Removed.
+       (struct custom_currency) Removed.
+
+Tue Oct 31 19:56:19 2006  Ben Pfaff  <blp@gnu.org>
+
+       * data-in.c (data_in): Use switch statement instead of table, to
+       avoid dependence on the order of the FMT_* enums.
+
+Tue Oct 31 19:35:36 2006  Ben Pfaff  <blp@gnu.org>
+
+       * data-out.c: (num_to_string) Removed, because it was dead code.
+
+Tue Oct 31 18:09:24 2006  Ben Pfaff  <blp@gnu.org>
+
+       * data-in.c (parse_trailer): Fix error message.
+
+Sat Oct 28 11:56:50 2006  Ben Pfaff  <blp@gnu.org>
+
+       * format.c (fmt_is_binary): New function.
+
+Thu Oct 19 22:59:56 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * procedure.c procedure.h: Encapsulated the static data into a single
+       struct.  
+
+Sat Oct 14 16:56:44 2006  Ben Pfaff  <blp@gnu.org>
+
+       * casefile.c (casereader_read_xfer): Always initialize the case,
+       even on an error condition.
+
+Wed Sep 27 09:37:49 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * procedure.c (case_limit_trns_proc): Fixed buglet which rendered the 
+       entire function useless.
+
+Mon Sep 25 17:11:46 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * casefile-private.h casefile.c casefile.h fastfile.c: Created new
+       casereader method casereader_clone.   
+       
+       * procedure.c pransformations.h: Introduced new type casenum_t
+
+Thu Sep 21 07:00:30 2006  Ben Pfaff  <blp@gnu.org>
+
+       * variable.c: (width_to_bytes) Rephrase code for clarify.
+
+Sun Jul 16 19:52:03 2006  Ben Pfaff  <blp@gnu.org>
+
+       * format.c: (fmt_type_from_string) New function.
+       (fmt_to_string) Include decimals in output if the format has
+       decimals, even if the format type does not.  This way, we can
+       accurately reproduce incorrect formats in user output.
+       (check_common_specifier) Make the check for a bad format type an
+       assertion, so we get bug reports if they show up.  Fix message.
+       Check for decimal places with a format type that doesn't allow
+       them.
+       (check_input_specifier) Remove check for FMT_X, which has been
+       deleted.
+       (check_output_specifier) Ditto. 
+
+       * format.def: Remove FMT_T, FMT_X, FMT_DESCEND, FMT_NEWREC.
+
+       * format.h: (macro FMT_TYPE_LEN_MAX) New macro.
+       (struct fmt_desc) Use FMT_TYPE_LEN_MAX in definition.
+       (enum fmt_parse_flags) Removed.
+
+Mon Jul 17 18:26:21 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * casefile.c casefile.h: Converted to  an abstract base class.
+       * casefile-private.h fastfile.c fastfile.h: New files.
+       * automake.mk procedure.c scratch-writer.c storage-stream.c
+
+Wed Jul 12 21:02:26 2006  Ben Pfaff  <blp@gnu.org>
+
+       * procedure.c (internal_procedure): Create sink_case with only as
+       many values as the compacted dictionary.
+
+Wed Jul 12 21:01:00 2006  Ben Pfaff  <blp@gnu.org>
+
+       Remove "debugging" code that caused plenty of false positives and
+       no true positives.
+       
+       * case.h (struct ccase): [DEBUGGING] Remove `this' member.
+
+       * case.c: Remove all references to `this' member.
+
+Thu Jul  6 19:09:53 2006  Ben Pfaff  <blp@gnu.org>
+
+       Fix link error noted by Jason Stover.
+       
+       * storage-stream.c: Include <assert.h>.
+
+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
+       source to fix memory leak.
+
+Sat May  6 22:46:47 2006  Ben Pfaff  <blp@gnu.org>
+
+       * scratch-reader.c (scratch_reader_read_case): Copy into existing
+       case passed as argument instead of initializing the argument as a
+       case.  Fixes memory leak that showed up in
+       tests/command/aggregate.sh with scratch files.
+
+Sat May  6 22:45:55 2006  Ben Pfaff  <blp@gnu.org>
+
+       * procedure.c (proc_done): Destroy default_dict, to fix memory
+       leak.
+
+Sat May  6 22:44:44 2006  Ben Pfaff  <blp@gnu.org>
+
+       Simplify procedure_with_splits().
+       
+       * procedure.c (struct split_aux_data): Removed case_count member.
+       (procedure_with_splits) Don't initialize case_count.
+       (split_procedure_case_func) Check whether prev_case is null
+       instead of case_count.
+       (split_procedure_end_func) Ditto.
+
+Sat May  6 22:42:23 2006  Ben Pfaff  <blp@gnu.org>
+
+       * case.c (case_move): Do nothing if dst and src are the same
+       object.
+       (case_try_create) Merge two similar cases.
+       (case_copy) Unshare only if data must be actually copied.
+
+Sun May  7 10:04:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * data-in.c data-out.c dictionary.c sys-file-reader.c
+       sys-file-writer.c variable.c variable.h:  Reworked very long string
+       support for better encapsulation.
+
+Sat May  6 19:02:00 2006  Ben Pfaff  <blp@gnu.org>
+
+       * value-labels.c (val_labs_can_set_width): New function.
+       (val_labs_set_width) Clear labels if increasing width to long
+       string.
+       (val_labs_destroy) Remove unneeded test for null.
+       
+Sat May  6 16:14:08 2006  Ben Pfaff  <blp@gnu.org>
+
+       * value-labels.h: Remove unneeded dependency on variable.h.
+
+Sat May  6 15:58:36 2006  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of `char *c' member in union value, for cleanliness.
+       
+       * value.h: (union value) Remove `c' member.
+
+Sat May  6 15:36:59 2006  Ben Pfaff  <blp@gnu.org>
+
+       Make dictionary compacting functions a little more general.
+       
+       * sys-file-writer.c (sfm_open_writer): Use
+       dict_compacting_would_change().
+       (does_dict_need_translation) Removed.
+
+Sat May  6 15:35:42 2006  Ben Pfaff  <blp@gnu.org>
+
+       Make dictionary compacting functions a little more general.
+       
+       * dictionary.c (dict_needs_compaction): Rename
+       dict_compacting_would_shrink().  Update all callers.
+       (dict_compacting_would_change) New function.
+       
 Sat May  6 14:25:49 2006  Ben Pfaff  <blp@gnu.org>
 
        * sys-file-writer.c: (does_dict_need_translation) Fix bug: