Add stub for USE ALL.
[pspp] / src / ChangeLog
index 46f489bc588389e322fe3002458a31a7317f3e99..90df01c4715d6cacb282c4cc0f47e1ef90847c74 100644 (file)
@@ -1,3 +1,322 @@
+Sat Mar 20 17:57:23 2004  Ben Pfaff  <blp@gnu.org>
+
+       * levene.c: Add #include.
+
+       * set.q: (set_viewport) Add `int' argument to make its prototype
+       correct for signal().
+
+Sat Mar 20 15:35:17 2004  Ben Pfaff  <blp@gnu.org>
+
+       * expr-evl.c: (expr_evaluate) Assert that `c' is nonzero before
+       using it.
+
+Sat Mar 20 15:18:16 2004  Ben Pfaff  <blp@gnu.org>
+
+       Changed DFM from open-at-first-access to explicit-open.  Before,
+       calling dfm_get_record() or dfm_put_record() would automatically
+       open the file.  Now, you have to call dfm_open_for_reading() or
+       dfm_open_for_writing() explicitly.  This makes it possible to
+       check permissions, file existence, etc. earlier.
+
+       Also made struct file_handle more opaque, and clean up in general.
+
+       * data-list.c: (cmd_data_list) Open handle for reading.
+
+       * dfm.c: (struct dfm_fhuser_ext) Add `where', `saw_begin_data'
+       members.
+       (open_file_r) Renamed dfm_open_for_reading(), rewrote.
+       (open_file_w) Renamed dfm_open_for_writing(), rewrote.
+       (open_inline_file) Removed.
+       (read_record) For inline_file, if we haven't seen BEGIN DATA, read
+       it.  Deal with line_number in extension record instead of file
+       handle.
+       (dfm_get_record) Rewrote.
+       (dfm_put_record) Rewrote.
+       (dfm_push) Assert file is open and one of ours.  Deal with
+       line_number in extension record instead of file handle.
+       (dfm_pop) Assert file is open and one of ours.  Deal with
+       line_number in extension record instead of file handle.
+       (cmd_begin_data) Use dfm_open_for_reading().  Mark that we saw
+       BEGIN DATA.     
+
+       * file-handle.h: (enum constants RH_RF_*) Removed.
+       (enum constants FH_MD_*) Removed.
+       (struct file_handle) Removed `name', `norm_fn', `fn', `where',
+       `recform', `lrecl', `mode' members.  Public references to
+       `recform' changed to use handle_get_mode(), references to `lrecl'
+       changed to use handle_get_record_width().  Added `private' member.
+       (enum file_handle_mode) New.
+
+       * file-handle.q: (struct private_file_handle) New structure.
+       (struct file_handle_list) New structure.
+       (static var files) New.
+       (static var file_handles) Removed.
+       (init_file_handle) Removed.
+       (create_file_handle) Removed.
+       (get_handle_with_name) New function.
+       (get_handle_for_filename) New function.
+       (cmd_file_handle) Rewritten.
+       (hash_file_handle) Removed.
+       (cmp_file_handle) Removed.
+       (fh_init_files) Rewritten.
+       (fh_parse_file_handle) Rewritten.  Allows identifiers as
+       filenames.
+       (fh_get_handle_by_name) Renamed handle_get_name(), all references
+       updated.  Rewritten.
+       (fh_get_handle_by_filename) Renamed handle_get_filename(), all
+       references updated.  Rewritten.
+       (fh_record_width) Renamed handle_get_record_width(), all
+       references updated.  Rewritten.
+       (handle_get_mode) New function.
+
+       * file-type.c: (cmd_file_type) Open handle for reading.
+
+       * filename.c: [unix] (struct file_identity) New structure.
+       [unix] (fn_get_identity) New function.
+       [unix] (fn_free_identity) New function.
+       [unix] (fn_compare_file_identities) New function.
+       [!unix] (struct file_identity) New structure.
+       [!unix] (fn_get_identity) New function.
+       [!unix] (fn_free_identity) New function.
+       [!unix] (fn_compare_file_identities) New function.
+
+       * lexer.c: (static var put) Renamed put_token, all references
+       updated.
+       (static var put_tokstr) New.
+       (static var put_tokval) New.
+       (lex_init) Initialize put_tokstr().
+       (restore_token) New function.
+       (save_token) New function.
+       (lex_get) Use restore_token().
+       (lex_put_back) Use save_token().
+       (lex_put_back_id) New function.
+       (lex_put_forward) Removed.
+       (lex_preprocess_line) Set put_token instead of using
+       lex_put_forward().
+       (lex_negative_to_dash) Use save_token(), set put_token directly.
+       (dump_token) Use stderr instead of stdout.
+
+       * main.c: (main) Remove call to cmd_init().
+       
+       * matrix-data.c: (cmd_matrix_data) Open file for reading.
+
+       * pfm-read.c: Use handle_get_filename() instead of trying to use
+       h->fn directly, all over.
+
+       * pfm-write.c: Ditto.
+
+       * print.c: (internal_cmd_print) Open handle for writing.
+       (dump_table) Use handle_get_filename().
+       (print_trns_proc) Use handle_get_mode().
+       (cmd_print_space) Use fh_parse_file_handle().
+       Open handle for writing.
+       [0] (debug_print) Removed.
+
+       * sfm-read.c: Use handle_get_filename() instead of trying to use
+       h->fn directly, all over.
+
+       * sfm-write.c: Ditto.
+
+Sat Mar 20 14:35:48 2004  Ben Pfaff  <blp@gnu.org>
+
+       Fix memory leaks.
+       
+       * autorecode.c: (arc_free) Free arc->src_values.
+
+       * error.c: (msg) Free buf.
+
+       * val-labs.c: (do_value_labels) Always free vars.
+
+       * vfm.c: (close_active_file) If sink has no make_source then call
+       its destroy function.
+
+Sat Mar 20 14:00:24 2004  Ben Pfaff  <blp@gnu.org>
+
+       Fixed cmd_parse() so that it always skips past a full command
+       name.  A few special commands for which this would be bad get
+       special treatment.  This lets us drop code for skipping past the
+       end of a command name in most cmd_*() functions.  It's not worth
+       listing all the commands affected.
+
+       * command.c: (struct command) Remove `cmd' member, replace by
+       `name' member, all references updated.  Remove `word', `next',
+       `skip_entire_name' members.
+       (macro DEFCMD) Deal with revised `struct command'.
+       (macro UNIMPL) Ditto.
+       (macro SPCCMD) New macro for commands whose last word shouldn't be
+       skipped.
+       (static array cmd_table[]) Make const, rename `commands', remove
+       sentinel element.
+       (macro COMMAND_CNT) New macro.
+       (split_words) Removed.
+       (cmd_init) Removed.
+       (FILE_TYPE_okay) Make parameter const.
+       (cmd_parse) Improve error messages.
+       (match_strings) New function.
+       (next_word) New function.
+       (enum command_match) New enum.
+       (conflicting_3char_prefixes) New function.
+       (conflicting_3char_prefix_command) New function.
+       (cmd_match_words) New function.
+       (count_matching_commands) New function.
+       (get_command_name) New function.
+       (free_words) New function.
+       (unknown_command_error) New function.
+       (figure_out_command) Renamed parse_command_name(), rewritten.
+
+       * command.def: Removed @ command.  Marked BEGIN DATA, DOCUMENT,
+       FILE LABEL, REMARK, SUBTITLE, TITLE as special.  Renamed EVALUATE
+       to DEBUG EVALUATE.  Added N alias for N OF CASES, SORT alias for
+       SORT CASES.
+
+       * command.h: (macro SPCCMD) New.
+
+       * include.c: (cmd_include_at) Removed.
+       (cmd_include) Allow identifier to be used as filename.
+
+       * inpt-pgm.c: (cmd_reread) Use fh_parse_file_handle().
+
+       * t-test.q: (cmd_t_test) Command name is now parsed for us.
+       
+
+Sat Mar 20 13:56:00 2004  Ben Pfaff  <blp@gnu.org>
+
+       Start work on better test framework.
+       
+       * Makefile.am: (pspp_sources) Add debug.c.
+       
+       * debug.c: New file.
+
+       * compute.c: (cmd_evaluate) Moved to debug.c, renamed
+       cmd_debug_evaluate().
+
+       * expr-prs.c: (expr_parse) Remove PXP_DUMP support.
+
+       * expr.h: (enum constant PXP_DUMP) Removed.
+
+Sat Mar 20 00:05:42 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+       * set.q:  Implemented the SHOW command, and synced it to the existing 
+       SET cmd.
+
+       Added a handler for SIGWINCH so that viewlength and viewwidth follow
+       changes as the window size is changed.
+
+       Added fallback to set viewlength and viewwidth from LINES and COLUMS
+       environment variables if other methods are not available.
+
+       glob.c: Removed a lot of global variables from glob.c and encapsulated 
+       them in set.q
+
+       random.c: Tidied up the way the random seed is set.
+
+       str.c: Added a ds_vprintf function.
+
+       error.c: Extended dump_message so that messages are always broken at
+       '\n' characters.
+       
+Thu Mar 18 11:07:14 2004  Ben Pfaff  <blp@gnu.org>
+
+       * pfm-write.c: (bufwrite) Write out the correct element for string
+       variables.  From Andreas Streichardt <streichardt@globalpark.de>.
+
+Mon Mar 15 20:48:03 2004  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of static and global (!) vars in matrix-data.c.
+
+       * matrix-data.c: (static var nr_data) Removed.
+       (static var nr_factor_values) Removed.
+       (static var max_cell_index) Removed.
+       (static var split_values) Removed.
+       (struct nr_aux_data) New structure.
+       (read_matrices_without_rowtype) Use a local struct nr_aux_data in
+       place of static vars, pass to create_case_source() and procedure()
+       as aux data.
+       (nr_read_data_lines) Use struct nr_aux_data * parameter instead of
+       struct matrix_data_pgm *.
+       (nr_read_splits) Ditto.
+       (nr_read_factors) Ditto.
+       (nr_output_data) Ditto.
+       (static var wr_content) Removed.
+       (global var wr_data) Removed.
+       (global var wr_current) Removed.
+       (struct wr_aux_data) New structure.
+       (read_matrices_with_rowtype) Use a local struct wr_aux_data in
+       place of static vars, pass to create_case_source() and procedure()
+       as aux data.
+       (matrix_data_read_with_rowtype) Use struct wr_aux_data * parameter
+       instead of matrix_data_pgm *.
+       (wr_read_splits) Ditto.
+       (wr_output_data) Ditto.
+       (wr_read_rowtype) Ditto.
+       (wr_read_factors) Ditto.
+       (wr_read_indeps) Ditto.
+       
+Mon Mar 15 20:07:29 2004  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of static vars in autorecode.c.
+
+       * autorecode.c: (struct autorecode_trns) Rename `arc' to `specs',
+       `n_arc' to `spec_cnt'.  All references updated.
+       (static var v_src) Removed.
+       (static var v_dest) Removed.
+       (static var h_trns) Removed.
+       (static var nv_src) Removed.
+       (static var descend) Removed.
+       (static var print) Removed.
+       (enum direction) New enum.
+       (struct autorecode_pgm) New structure.
+       (cmd_autorecode) Use struct autorecode_pgm instead of static vars.
+       Move n_dest local var into struct autorecode_pgm for ease of
+       clean-up.  Use arc_free().
+       (arc_free) New function.
+       (recode) Modify to take struct autorecode_pgm * parameter instead
+       of using statics.  Let the caller clean up.
+       (autorecode_proc_func) Use struct autorecode_pgm * auxiliary data
+       instead of statics.  Rearrange code a little.
+
+Mon Mar 15 00:25:02 2004  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of static, global vars in recode.c.  Remove debug code.
+
+       * recode.c: (static var head) Removed.
+       (global var v) Removed.
+       (global var nv) Removed.
+       (cmd_recode) New local variables head, v, nv.  Initialize and free
+       v.  Don't call debug_print().
+       [DEBUGGING] (dump_dest) Removed.
+       [DEBUGGING] (debug_print) Removed.
+
+Mon Mar 15 00:14:49 2004  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of static vars in expr-opt.c.
+
+       * expr-opt.c: (static var e) Removed.
+       (static var nop) Removed.
+       (static var mop) Removed.
+       (static var ndbl) Removed.
+       (static var mdbl) Removed.
+       (static var nstr) Removed.
+       (static var mstr) Removed.
+       (static var nvars) Removed.
+       (static var mvars) Removed.
+       (struct expr_dump_state) New structure.
+       (dump_expression) Use new struct expr_dump_state instead of static
+       vars and pass to functions we call.
+       (dump_node) Use struct expr_dump_state * parameter.
+       (emit) Ditto.
+       (emit_num_con) Ditto.
+       (emit_str_con) Ditto.
+       (emit_var) Ditto.
+       
+Mon Mar 15 00:03:51 2004  Ben Pfaff  <blp@gnu.org>
+
+       Get rid of static var in COUNT.
+
+       * count.c: (static var head) Move into cmd_count().
+       (cmd_count) [DEBUGGING] Don't call debug_print.
+       [DEBUGGING] (debug_print) Removed.
+
 Sun Mar 14 23:56:09 2004  Ben Pfaff  <blp@gnu.org>
 
        Get rid of static vars in VALUE LABELS, ADD VALUE LABELS.
@@ -16,7 +335,6 @@ Sun Mar 14 23:56:09 2004  Ben Pfaff  <blp@gnu.org>
        (do_value_labels) Add vars, var_cnt local variables.  Clean up
        after them internally.  Call erase_labels() if we should.  Don't
        call debug_print().
-       
 
 Sun Mar 14 23:33:53 2004  Ben Pfaff  <blp@gnu.org>