+Fri Feb 20 14:37:41 WAST 2004 John Darrington <john@darrington.wattle.id.au>
+
+ * compute.c: Fixed a bug where the Format was not getting set for
+ computed variables (thus causing a crash when SAVEing).
+
+ * Added a test to stop this bug ever coming back
+
+Wed Feb 18 22:21:35 2004 Ben Pfaff <blp@gnu.org>
+
+ Got rid of approx.h. In general, replaced all references to
+ approx_eq() by ==, approx_lt() by <, etc. Other types of changes
+ noted below.
+
+ * Makefile.am: (pspp_SOURCES) Removed approx.h.
+
+ * data-out.c: (try_F) Replaced test for approx_eq(number, 0.0) by
+ test for mag < EPSILON.
+
+ * misc.h: Add definition of EPSILON.
+
+Wed Feb 18 21:32:44 2004 Ben Pfaff <blp@gnu.org>
+
+ * vfm.c: (procedure) Add check to prevent recursive call.
+
+Wed Feb 18 21:48:54 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+ * Moved the declarations relating to values to their own header file
+ (val.h)
+
+ * Added levene.c and levene.h
+
+ * vars-atr.c: Changed the signature of compare_values to
+ take const * arguments.
+
+ * t-test.q: Changed the structure of struct t_test_proc
+ variables now contain their own group statistics information.
+ Eventually, t_test_proc might get renamed, because it'd be
+ applicable to other commands too.
+
+Mon Feb 16 23:15:51 2004 Ben Pfaff <blp@gnu.org>
+
+ * data-out.c: Clean up. Changed interface of convert_*() to take
+ either a `double' or a `const char *' instead of a `const union
+ value *'. Update all implementations of those interfaces.
+ (data_out) Use switch statements instead of a table.
+ (convert_AHEX) Rewrite.
+
+ * format.h: Update comment.
+
+Mon Feb 16 22:14:36 2004 Ben Pfaff <blp@gnu.org>
+
+ * q2c.c: (dump_header) Add an Emacs header line to output files
+ that makes generated .c files read-only by default, to make it
+ difficult to accidentally change generated files.
+
+Mon Feb 16 22:12:07 2004 Ben Pfaff <blp@gnu.org>
+
+ * frequencies.q: (compare_freq_numeric_a) Compare by frequency,
+ not bogus a->v.c <=> b->v.c pointer compare.
+ (compare_freq_alpha_a) Ditto.
+ (compare_freq_numeric_d) Ditto.
+ (compare_freq_alpha_d) Ditto.
+
+Mon Feb 16 22:00:53 2004 Ben Pfaff <blp@gnu.org>
+
+ Changed data_out() to store string data directly into a `union
+ value''s s member, not indirectly into c.
+
+ * crosstabs.q: (output_pivot_table) Use format_short() instead of
+ data_out().
+ (table_value_missing) Ditto.
+ (float_M_suffix) Ditto.
+ (format_short) New function.
+
+ * data-in.h: (data_in_finite_line) Remove inline definition.
+
+ * data-list.c: (destroy_dls_var_spec) New function.
+ (destroy_dls) Rewrite in terms of destroy_dls_var_spec().
+ (data_list_source_destroy_source) Avoid cast.
+ (struct repeating_data_trns) New field `id_value'. Update
+ comments.
+ (cmd_repeating_data) Initialize id_value. Use new
+ repeating_data_trns_free() for freeing REPEATING DATA
+ transformations.
+ (rpd_parse_record) Rewrite support for record ID to be less bogus.
+ (repeating_data_trns_free) New function.
+
+ * data-out.c: (data_out) Change return type to `void' by replacing
+ error returns by writing a message into the output buffer.
+ (convert_A) Read from v->s instead of v->c.
+ (convert_AHEX) Ditto.
+
+ * expr-evl.c: Update comment.
+ (expr_evaluate) Add assertion in OP_STRING case.
+
+ * format.h: (macro MAX_FORMATTED_LEN) New macro.
+
+ * list.q: (list_cases) Update for new data_out() semantics.
+
+ * print.c: (print_trns_proc) Ditto.
+
+ * tab.c: (tab_value) Ditto.
+ (tab_float) Avoid stupid cast.
+
+ * var.h: Update comments.
+ (macro MAX_STRING) New macro.
+ (macro MAX_ELEMS_PER_VALUE) New macro.
+
+ * vars-atr.c: (compare_values) New function.
+
+ * vfm.c: (dump_splits) Update for new data_out() semantics.
+
+Mon Feb 16 21:45:47 2004 Ben Pfaff <blp@gnu.org>
+
+ * crosstabs.q: (struct table_entry) Rename v[] to values[]. All
+ references updated.
+ (struct crosstab) Rename v[] to vars[]. All references updated.
+ (hash_table_entry) Replace the hash algorithm and fix a bug at the
+ same time, which caused the hash value to depend only on a single
+ value, not all of the variables' values.
+
+Mon Feb 16 12:49:53 2004 Ben Pfaff <blp@gnu.org>
+
+ Clean up struct dictionary's value_cnt usage.
+
+ * dictionary.c: Add a function comment to each function.
+ (struct dictionary) Rename value_cnt to next_value_idx, which more
+ accurately reflects its meaning. All references updated.
+ (dict_rename_vars) Add assertion.
+ (dict_get_value_cnt) Rename dict_get_next_value_idx(). All
+ references updated.
+ (dict_get_case_size) New function.
+
+ * aggregate.c: (create_sysfile) Use dict_get_case_size().
+
+ * get.c: (mtf_read_nonactive_records) Ditto.
+
+ * sort.c: (allocate_cases) Ditto.
+ (write_initial_runs) Ditto.
+ (merge) Ditto.
+ (merge_once) Ditto.
+
+ * vfm.c: (prepare_for_writing) Ditto.
+ (setup_lag) Ditto.
+ (lag_case) Ditto.
+
+Mon Feb 16 00:17:55 2004 Ben Pfaff <blp@gnu.org>
+
+ Make vfm.c slightly less grotesque.
+
+ * vfm.c: (filter_var) Removed.
+ (filter_index) Removed.
+ (FILTERED macro) Removed.
+ (exclude_this_case) New function.
+ (process_active_file_write_case) Use exclude_this_case() instead
+ of FILTERED and inline tests.
+ (procedure_write_case) Ditto.
+ (setup_filter) Removed.
+ (open_active_file) Don't call setup_filter().
+ (close_active_file) Call dict_get_filter() instead of checking
+ filter_var.
+
+Mon Feb 16 00:01:53 2004 Ben Pfaff <blp@gnu.org>
+
+ * var.h: (struct variable) Update comments.
+
Sun Feb 15 23:14:59 2004 Ben Pfaff <blp@gnu.org>
New functions dict_create_var_assert(), dict_lookup_var_assert().