Got rid of "struct long_vec", envector(), devector(), etc.
[pspp-builds.git] / src / ChangeLog
index 53cf28a207c2f9b96eaca25a940a65ae862f87a5..819ed0e5700ae5900ef4cbf30304b3a042753e50 100644 (file)
@@ -1,6 +1,196 @@
+Sun Feb 15 23:14:59 2004  Ben Pfaff  <blp@gnu.org>
+
+       New functions dict_create_var_assert(), dict_lookup_var_assert().
+       Converted several dict_*_var()/assert pairs into a single
+       dict_*_var_assert().
+
+       * dictionary.c: (dict_create_var_assert) New function.
+       (dict_lookup_var_assert) New function.
+
+Sun Feb 15 23:06:08 2004  Ben Pfaff  <blp@gnu.org>
+
+       Got rid of "struct long_vec", envector(), devector(), etc.  Added
+       two members `init', `reinit' to struct variable as a substitute.
+       
+       * Makefile.am: (pspp_SOURCES) Removed cases.c, cases.h.
+       
+       * cases.c: Removed.
+
+       * cases.h: Removed.
+
+       * aggregate.c: (parse_aggregate_functions) destvar doesn't need
+       init.
+
+       * autorecode.c: (cmd_autorecode) destvars don't need init.
+
+       * compute.c: (lvalue_finalize) Set reinit.
+
+       * data-list.c: (fixed_parse_compatible) Don't need init usually.
+       (dump_fmt_list) Ditto.
+       (parse_free) Ditto.
+
+       * descript.q: (run_z_pass) Don't need init for z-scores.
+
+       * dictionary.c: (dict_create_var) Initialize `init', `reinit'
+       members.
+       (dict_clone_var) Copy `reinit' member, initialize `init' member.
+
+       * glob.c: (init_glob) Remove vec_init() calls.
+
+       * inpt-pgm.c: (cmd_end_input_program) Use `reinit', not `left'.
+       
+       * loop.c: (internal_cmd_loop) Don't need to call envector().
+
+       * numeric.c: (cmd_numeric) Ditto.
+       (cmd_string) Ditto.
+       (cmd_leave) Ditto.  Set `init', `reinit' members.
+
+       * recode.c: (cmd_recode) Don't need to call envector().
+
+       * repeat.c: (internal_cmd_do_repeat) Ditto.
+
+       * var.h: (struct variable) Remove `left'.  Add `init', `reinit'.
+       (force_create_variable) Removed prototype.
+       (force_dup_variable) Ditto.
+
+       * vector.c: (cmd_vector) Don't need to call envector().
+
+       * vfm.c: (reinit_sysmis) Removed.
+       (reinit_blanks) Removed.
+       (init_zero) Removed.
+       (init_blanks) Removed.
+       (process_active_file_write_case) No need to deal with vectors.
+       Call clear_temp_case().
+       (vector_initialization) Rewrite to use `init', `reinit'.
+       (close_active_file) No need to call vec_clear().
+       (procedure_write_case) Call clear_temp_case().
+       (clear_temp_case) New function.
+
+Sun Feb 15 20:50:36 2004  Ben Pfaff  <blp@gnu.org>
+
+       * pfm-write.c: (bufwrite) Get rid of nasty cast that also invoked
+       undefined behavior.
+
+Thu Feb 12 23:35:15 2004  Ben Pfaff  <blp@gnu.org>
+
+       Add auxiliary argument to procedure() interface.  Associated small
+       clean-ups of vfm interface.
+       
+       * Updated every caller of procedure() and process_active_file() to
+       reflect modified interface.  Simple, ordinary changes not listed
+       otherwise below.
+
+       * Updated every function that implements struct case_stream's
+       `read' function to take a write_case_func and a write_case_data.
+       Also updated every caller of write_case() to instead call them
+       through these arguments.  In some cases this meant that the extra
+       args had to be threaded through a couple of extra levels.  This
+       wasn't difficult or interesting so the details won't be given.
+
+       * data-list.c: (struct repeating_data_trns) Add members
+       `write_case', `wc_data' as kluge.
+       (read_one_set_of_repetitions) Rename repeating_data_trns_proc and
+       make non-static.
+       (repeating_data_set_write_case) New function.
+
+       * data-list.h: New file to declare repeating_data_trns_proc() and
+       repeating_data_set_write_case().
+
+       * inpt-pgm.c: (input_program_source_read) Call
+       repeating_data_set_write_case() for all the REPEATING DATA
+       transformations, so that they know where to send their cases.
+       It's a big kluge.  Also kluge in END CASE.
+       (end_case_trns_proc) Never called anymore, but we still need it,
+       so just assert(0).
+
+       * sort.c: (read_sort_output) Update to match struct case_stream
+       `read' member.
+
+       * vfm.c: (struct write_case_data) New structure.
+       (proc_func) Removed.
+       (virt_proc_func) Removed.
+       (begin_func) Removed.
+       (virt_begin_func) Removed.
+       (end_func) Removed.
+       (write_case) Removed.
+       (procedure) Added an auxiliary parameter to each function pointer
+       argument's prototype.  Added an auxiliary data parameter.
+       Rewrote.
+       (process_active_file) Ditto.
+       (process_active_file_write_case) Pass aux data along.
+       (close_active_file) Ditto.
+       (procedure_write_case) Ditto.
+       (SPLIT_FILE_procfunc) Ditto.
+
+       * vfm.h: (typedef write_case_data) New.
+       (typedef write_case_func) New.
+       (struct case_stream) Add parameters to `read' member prototype.
+       
+Thu Feb 12 19:24:53 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+       * t-test.q:  Added calculations for independent samples. (But no Levene
+       test yet!)
+
+       * Makefile.am: Moved q_sources_c into own variable 
+
+Wed Feb 11 23:56:51 2004  Ben Pfaff  <blp@gnu.org>
+
+       Miscellaneous cleanups.
+       
+       * Change unused to UNUSED in many source files to reflect modified
+       pref.h.  Change use of __WIN32__, __MSDOS, __DJGPP__,
+       __CYGWIN32__, __unix__, and unix not to assume that they're
+       defined to a nonzero value.  Change use of __attribute__ to use
+       NO_RETURN or PRINTF_FORMAT instead.
+       
+       * alloc.h: Move definitions for local_alloc(), local_free() here
+       from ../pref.h.orig and simplify.
+
+       * expr-evl.c: Instead of working differently based on PAGED_STACK,
+       use a pool allocator unconditionally.
+       (CHECK_STRING_SPACE) Removed.
+       (ALLOC_STRING_SPACE) Removed.
+       (expr_evaluate) Use e->pool instead of CHECK_STRING_SPACE and
+       ALLOC_STRING_SPACE.
+
+       * expr-opt.c: (dump_expression) Allocate string pool.
+
+       * expr-prs.c: (expr_free) Free string pool.
+
+       * pool.c: (pool_destroy) This pool must be removed from its
+       parent's list of gizmos, not from its own.  Use free_all_gizmos().
+       (pool_clear) New function.
+       (free_all_gizmos) New function.
+       (pool_alloc) Use space in empty block after this one if any.
+       (pool_release) Only empty out blocks, don't actually free() them.
+
+       * print.c: Get rid of PAGED_STACK special case by always
+       dynamically allocating line buffers.
+       (struct print_trns) Always include the `line' member.
+       (internal_cmd_print) Always initialize the `line' member.
+       (alloc_line) Always allocate memory for `line'.
+       (print_trns_proc) Always initialize buf from `line' member.
+       (print_trns_free) Always free `line' memory.
+
+       * sort.c: (allocate_file_handles) Special-case MS-DOS for mkdir()
+       call.
+       
+Wed Feb 11 20:33:18 2004  Ben Pfaff  <blp@gnu.org>
+
+       * flip.c: Fixed crash from FLIP when a numeric variable is
+         specified on NEWNAMES and a large value is used, and a couple of
+         other minor bugs besides.
+         (struct varname) Make name a 9-character fixed-size array
+         instead of a 1-character variable size array.
+         (make_new_var) Allow digits in variable names.
+         (flip_stream_write) Limit numeric values to 8 characters and
+         format system missing and very large and small values more
+         appropriately.
+
 Thu Feb  5 13:19:06 WAST 2004 John Darrington <john@darrington.wattle.id.au>
 
-       * fixed bug which caused a crash under certain invalid input.
+       * command.c: Fixed test on command return status for the correct 
+          value,  which had been causing a crash under certain invalid input.
 
 Wed Feb  4 15:34:11 WST 2004 John Darrington <john@darrington.wattle.id.au>