X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2FChangeLog;h=a94b5ef53e595c2eda53d94229d893500168dfcc;hb=836682e6cff19cce534966b7bab4a933833f9693;hp=2e2267fb725f6a5fe1400df3fcb3727ff6bdfca7;hpb=33a381c1da6c8a92ad8e1809e64a4953e9586b26;p=pspp-builds.git diff --git a/src/ChangeLog b/src/ChangeLog index 2e2267fb..a94b5ef5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,628 @@ +Sat Dec 10 23:30:19 2005 Ben Pfaff + + Separate random numbers from other settings because of GSL + dependency. + + * Makefile.am: Add random.c, random.h to sources. + + * glob.c: (init_glob) Call random_init(). + (done_glob) Call random_done(). + + * settings.c: (static var rng) Move to random.c. + (done_settings) Move freeing of RNG to random_done(). + (get_rng) Move to random.c + (set_rng) Ditto. + + * random.c: New file. + + * random.h: New file. + +Sat Dec 10 18:13:36 2005 Ben Pfaff + + Separate settings and the SET command, for modularity. + + * Makefile.am: Add settings.c to sources. + + * glob.c: (global variable test_mode) Removed. + + * set.q: Remove all the set_* variables. Remove a lot of obsolete + SPSS/PC+ settings. Remove the aux_*() routines. Moved the + get_*() functions into settings.c. Rewrite the settings code and + functions to call the new set_*() functions. Rewrite custom + currency parsing. Write new by-hand cmd_show(). + + * esttings.c: New file. Moved the get_*() functions here from + set.q. Created new set_*() functions to correspond with them. + Regularized the names and types of some functions and updated + their callers. Added static, file-scope variables to support the + settings. + + * q2c.c: Remove "aux" support, which was only needed by set.q. + +Sun Nov 27 06:43:46 WST 2005 John Darrington + + * data-out.c format.h: Added return value to data_out function. + + * value-labels.c: Fixed bug in val_labs_remove. + +Sat Nov 5 18:37:26 2005 Ben Pfaff + + * Makefile.am: Remove devind.c, devind.h from list of source + files. + + * devind.c: Removed. + + * devind.h: Removed. + + * list.q: Removed "support" for devind. + + * output.c: Don't add devind class. + +Sat Nov 5 18:21:00 2005 Ben Pfaff + + * var.h: (struct variable) Make `init', `reinit' bool values. + Rearrange fields. + +Fri Nov 4 19:43:01 2005 Ben Pfaff + + * recode.c: Rewrote whole file, as clean-up. + +Fri Nov 4 19:37:50 2005 Ben Pfaff + + * pool.c: Don't make alignment exception for x86. + (pool_alloc) Return null for 0-size blocks. + (pool_alloc_unaligned) New function. + (pool_strndup) Removed. Changed callers to use pool_clone_unaligned(). + (pool_clone_unaligned) New function. + (pool_strdup) Use pool_clone_unaligned(). + + * var.h: (enum var_type) Give the NUMERIC, ALPHA enum this name. + (struct variable) Use `enum var_type' for `type'. + + * vars-atr.c: (var_type_adj) New function. + (var_type_noun) New function. + + * vars-prs: (parse_mixed_vars) Fix freeing code. + (parse_mixed_vars_pool) New function. + +Wed Nov 2 21:24:48 2005 Ben Pfaff + + * file-handle-def.c: Needed another #include, to avoid missing + prototype warning. + + * file-handle.q: (cmd_file_handle) Declarations must precede + statements. Free parse data on success as well as on failure, to + avoid memory leak. + + * get.c: (parse_write_command) Destroy dict on success, to avoid + memory leak. + + * data-list.c: (cmd_repeating_data) Fix usage of saw_occurs, + saw_length, saw_continued, saw_id, which were boolean but + incorrectly treated as bitmaps as result of a previous + half-finished cleanup. + + * weight.c: (struct weight_trns) Unused, so removed. + + * Makefile.am: Add range-prs.h to sources. + +Wed Nov 2 21:24:15 2005 Ben Pfaff + + DO IF, LOOP cleanup. + + * Makefile.am: Add ctl-stack.c, ctl-stack.h to source files. + Reformat source file list to list one file per file, so that + patches for future changes will be easier to read. + + * ctl-stack.c, ctl-stack.h: New files. + + * do-if.c: Rewrote whole file. + + * do-ifP.h: Removed. + + * loop.c: Rewrote whole file. + + * glob.c: (global var ctl_stack) Move into ctl-stack.c. + + * temporary.c: (cmd_temporary) Use ctl_stack_is_empty(). + + * vfm.c: (open_active_file) Use ctl_stack_clear(). + +Wed Nov 2 21:18:13 2005 Ben Pfaff + + New pool functions. + + * pool.c: (pool_create_at_offset) New function. + (pool_add_subpool) New function. + + * pool.h: (pool_create_container) New macro. + + * expressions/parse.c: (expr_parse_pool) New function. + + * autorecode.c: (recode) Use pool_create_container(). + + * count.c: (cmd_count) Ditto. + +Wed Nov 2 19:59:32 2005 Ben Pfaff + + Clean up transformations, by getting rid of `struct trns_header', + replacing it by `struct transformation' that has a void * + `private' member. Updated all uses of transformations to match, + which was a lot of code. Only major related changes listed below. + + * compute.c: (cmd_if) Use get_proc_func(). + (cmd_compute) Use get_proc_func(). + (get_proc_func) New function. + + * glob.c: (global var m_trns) Change type to size_t. + (global var n_trns) Ditto. + (global var f_trns) Ditto. + (global var t_trns) Change type to struct transformation *. + + * var.h: (struct trns_header) Removed. + (struct transformation) New. + (typedef trns_proc_func) Takes a void * instead of a struct + trns_header *. + (typedef trns_free_func) Ditto. + + * vfm.c: (execute_transformations) Takes an array of + transformations instead of trns_headers. + (add_transformation) Change prototype from (trns_header *) to + (trns_proc_func *, trns_free_func *, void *). + (next_transformation) New function. + +Sat Oct 29 16:25:36 2005 Ben Pfaff + + * count.c: Major cleanups. Rename practically everything. + Rewrite much of the code. Use pools for memory management. Use + the new parse_num_range(). + + * mis-val.c: (cmd_missing_values) Use the new parse_num_range(). + (parse_number) Removed. + + * missing-values.c: (mv_add_num_range) Don't add out-of-order + ranges, e.g. where low > high. + + * pool.c: (pool_2nrealloc) New function. + + * range-prs.c: New file. + (parse_num_range) New function. + (parse_number) New function. + +Fri Oct 28 22:47:48 2005 Ben Pfaff + + Fix up potential overflows in size calculations by replacing + instances of pool_alloc(p, x * sizeof *y) by pool_malloc(p, x, + sizeof *y) everywhere I could find them. Similarly by + pool_malloc(), pool_realloc(). + (Order is important: pool_alloc(p, sizeof *y, x) will divide by 0 + if x is 0.) + + * pool.c: (pool_nalloc) New function. + (pool_nmalloc) New function. + (pool_nrealloc) New function. + +Thu Oct 27 11:16:53 WST 2005 John Darrington + + Separated the definition of a file handle object from the stuff + pertaining to the FILE HANDLE command. + + * file-handle-def.[ch]: New files. + + * dfm-read.c file-handle.h file-handle.q + +Tue Oct 25 21:56:23 2005 Ben Pfaff + + Fix up potential overflows in size calculations by replacing + instances of xmalloc(x * sizeof *y) by xnmalloc(x, sizeof *y) + everywhere I could find them. Similarly by xrealloc(), malloc(). + (Order is important: xnmalloc(sizeof *y, x) will divide by 0 if x + is 0.) + + * alloc.c: (nmalloc) New function. + (out_of_memory) Removed. Replaced references by xalloc_die(). + + * sort.c: (allocate_cases) Fix segfault if memory allocation + fails. + + * subclist.c: (subc_list_double_create) Use xnmalloc() instead of + malloc(). + (subc_list_double_push) Use xnrealloc() instead of realloc(). + +Wed Oct 26 08:43:51 WST 2005 John Darrington + + Dictionary abstraction part #2 + + * algorithm.c format.c str.c sysfile-info.c val.h var.h vars-atr.c: + Removed unnecessary #include directives + +Mon Oct 24 21:35:08 2005 Ben Pfaff + + * groff-font.c (font_msg): Use err_vmsg() instead of incorrectly + trying to pass a va_list to tmsg(). Thanks to Jason Stover for + reporting this bug. + +Mon Oct 24 21:24:15 2005 Ben Pfaff + + Work to get rid of GCC 4.0 warnings, part 2. + + In many files, change `unsigned char' to `char'. This often + requires adding casts to functions. + + * data-in.c: (parse_A) Use buf_copy_rpad(). + + * str.c: (str_copy_buf_trunc) New function. + + * value-labels.c: (value_to_string) Fix mistaken use of strncpy(), + by rewriting. + +Mon Oct 24 13:42:32 WST 2005 John Darrington + + Moved some definitions to make it easier to abstract a dictionary + from the rest of PSPP. + + * format-prs.c lex-def.[ch]: New files. + + * Makefile.am lexer.[ch] dictionary.c vars-atr.c vfm.c algorithm.c + format.c: Moved some functions between modules. + +Sun Oct 23 19:28:08 2005 Ben Pfaff + + Work to get rid of GCC 4.0 warnings, part 1. + + In many files, change count parameters to parse_variables(), + etc. from `int' to `size_t'. Also change related variables and + struct members. Also change messages as needed (e.g. %d to %u + with cast to unsigned). Also change arithmetic as necessary + (e.g. n >= m - 1 to n + 1 >= m). + + * crosstabs.q: (crs_custom_tables) Check for size_t overflow in + multiplication. + + * q2c.c: (dump_declarations) Generate code for size_t instead of + int. + +Thu Oct 20 18:18:40 2005 Ben Pfaff + + * output.c: (outp_read_devices) Fix message. + +Sat Sep 17 11:13:13 2005 Ben Pfaff + + * matrix-data.c: (cmd_matrix_data) Change type of variable whose + address is passed to dict_get_vars() from size_t to int to match + John's change below. + + * modify-vars.c: (validate_var_modification) Ditto. + +Mon Sep 12 19:26:06 WST 2005 John Darrington + + * dictionary.[ch] Changed cnt from size_t* to int* since that's + what it's called as, and on x86_64 machines they're different sizes. + + * str.c: (ds_vprintf) Copied va_list args so they can be re-used + +Sun Aug 21 00:12:24 2005 Ben Pfaff + + * lexer.c: (lex_sbc_only_once) New function. + (lex_sbc_missing) New function. + +Sun Aug 21 00:00:47 2005 Ben Pfaff + + * case.h: (case_str) Make it return `unsigned char'. + +Sat Aug 20 23:56:14 2005 Ben Pfaff + + Revamp SAVE, XSAVE, EXPORT. Add (or at least parse) all the + subcommands that we didn't support. Fix bug 13911. Fix bug + reported by Adam Pierson (COMPRESSED and other subcommands didn't + work on SAVE). Refactor all related code. + + * command.def: Add XEXPORT command. + + * dictionary.c: (dict_delete_scratch_vars) New function. + + * get.c: (cmd_get) Fix parsing. + (struct save_trns) Removed. + (cmd_save_internal) Removed. + (cmd_save) Removed. + (do_write_case) Removed. + (save_write_case_func) Removed. + (save_trns_proc) Removed. + (save_trns_free) Removed. + (trim_dictionary) Removed. + (struct export_proc) Removed. + (cmd_export) Rewrote. + (export_write_case_func) Removed. + (export_proc_free) Removed. + (enum writer_type) New enum. + (enum command_type) New enum. + (struct any_writer) New struct. + (any_writer_destroy) New function. + (parse_write_command) New function. + (any_writer_write_case) New function. + (parse_output_proc) New function. + (output_proc) New function. + (cmd_save) Rewrote. + (cmd_xsave) Rewrote. + (struct output_trns) New struct. + (parse_output_trns) New function. + (output_trns_proc) New function. + (output_trns_free) New function. + (cmd_xsave) Rewrote. + (cmd_xexport) New function. + (parse_dict_trim) New function. + (struct mtf_proc) Change `by_cnt' member type to `int'. + (cmd_import) Rewrote. + + * pfm-write.c: (struct pfm_writer) Add `digits' member. + (pfm_writer_default_options) New function. + (pfm_open_writer) Add `opts' argument and handle options. + (write_float) Write only as many digits as `digits' member says. + (format_trig_double) Limit base-10 precision to LDBL_DIG. + + * pfm-write.h: (enum pfm_type) Moved here from pfm-read.h. + (struct pfm_write_options) New struct. + + * sfm-write.c: (sfm_writer_default_options) New function. + (sfm_open_writer) Remove `compress', `omit_long_names' args. Add + `opts' argument. Implement options. + + * sfm-write.h: (struct sfm_write_options) New struct. + + * expressions/helpers.c: (copy_string) Make `old' arg `unsigned + char *' instead of `char *'. + +Sat Aug 6 21:29:15 2005 Ben Pfaff + + * factor_stats.c: Needed included earlier. + + * percentiles.c: Needed to include . + + * val.h: Don't include "config.h". + +Sat Aug 6 21:26:27 2005 Ben Pfaff + + Clean up treatment of missing values by moving all the code into + one place. All references to the missing value function were + updated, but only major changes are detailed below. + + * Makefile.am: Add missing-values.c, missing-values.h to sources. + + * apply-dict.c: (cmd_apply_dictionary) Use mv_resize(). + + * dictionary.c: (dict_create_var) Initialize `miss' member with + mv_init(). + (dict_clone_var) Copy `miss' member with mv_copy(). + + * get.c: (mtf_merge_dictionary) Use mv_copy(). + + * missing-values.c: New file. + + * missing-values.h: New file. + + * mis-val.c: Rewrite. New version implements updated semantics. + + * pfm-read.c: (read_variables) Rewrite missing value handling. + + * pfm-write.c: (write_variables) Rewrite missing value handling. + + * sfm-read.c: (read_variables) Rewrite missing value handling. + + * sfm-write.c: (write_variable) Rewrite missing value handling. + + * sfmP.h: Include "magic.h" to get definition of + second_lowest_value. + + * sysfile-info.c: (describe_variable) Rewrite missing value + handling. + + * val.h: Include "magic.h" to get definition of + second_lowest_value. + + * var.h: Include "missing-values.h". Drop MISSING_* enums. + (struct variable) Remove `miss_type', `missing'. Add `miss'. + + * vars-atr.c: (is_num_user_missing) Removed--use + mv_is_num_user_missing(). + (is_str_user_missing) Removed--use mv_is_str_user_missing(). + (is_system_missing) Removed--use mv_is_value_system_missing(). + (is_missing) Removed--use mv_is_value_missing(). + (is_user_missing) Removed--use mv_is_value_user_missing(). + +Sun Jul 31 14:09:57 2005 Ben Pfaff + + Adopt use of gnulib for portability. + + * Make.build: Add $(top_srcdir)/gl and $(top_builddir)/gl to + include path. + + * Makefile.am: Remove bool.h, stat.h and change getline.[ch] to + getl.[ch] in pspp_SOURCES. Remove libmisc, add libgl in + pspp_LDADD. + + * In many source files, added an explicit inclusion of gettext.h + and definition of _ macro. These are no longer in pref.h because + it interfered with definitions in a few gnulib source files. + + * In many source files, changed #include "bool.h" to #include + , which is provided by gnulib. + + * alloc.c: Removed functions defined in gnulib: + (xmalloc) Removed. + (xcalloc) Removed. + (xrealloc) Removed. + (xstrdup) Removed. + (out_of_memory) Redefined as wrapper for xalloc_die(). + + * alloc.h: Replace prototypes by #include "xalloc.h". + + * casefile.c: Use full_read() and full_write() from gnulib instead + of our home-grown versions. + (full_read) Removed. + (full_write) Removed. + + * getline.c: Renamed getl.c. + + * getline.h: Renamed getl.h, updated all references. + + * filename.c: (fn_readlink) Change to wrapper around xreadlink() + from gnulib. + + * glob.c: Just #include instead of the crazy rigmarole + here before. + (init_glob) Call set_program_name() to initial gnulib progname + module. + + * html.c: (postopen) Use getlogin_r(), gethostname() from gnulib. + + * permissions.c: Use "stat-macros.h" from gnulib. + + * postscript.c: Just #include instead of the crazy + rigmarole here before. + + * q2c.c: (main) Make generated code #include "gettext.h". + + * str.h: Get rid of most explicit declarations of standard + functions, in favor of including gnulib header files. + + * expressions/evaluate.c: Ditto. + + * expressions/operations.h.pl: Make generated code #include + , not "bool.h". + +Sat Jul 30 23:13:17 2005 Ben Pfaff + + * expressions/parse.c: (validate_function_args) Fix two msg() bugs + found by -Wformat. + +Sat Jul 30 23:10:01 2005 Ben Pfaff + + * expressions/evaluate.c: (expr_debug_print_postfix) Don't pass + null pointer to printf for %.*s. + +Sat Jul 30 23:05:33 2005 Ben Pfaff + + * vars-atr.c: (var_is_valid_name) Fix three msg() bugs found by + -Wformat. + +Sat Jul 30 22:58:33 2005 Ben Pfaff + + * rank.q: (parse_rank_function) Fix msg() bug found by -Wformat. + +Sat Jul 30 22:56:12 2005 Ben Pfaff + + * postscript.c: (postopen) Cast `char' to `unsigned char' before + passing to isspace(). + +Sat Jul 30 22:52:09 2005 Ben Pfaff + + * pfm-read.c: (read_variables) Fix msg() bug found by -Wformat. + +Sat Jul 30 22:50:57 2005 Ben Pfaff + + * histogram.c: Include . + +Sat Jul 30 22:48:50 2005 Ben Pfaff + + * get.c: (cmd_match_files) Fix msg() bug found by -Wformat. + +Sat Jul 30 22:46:10 2005 Ben Pfaff + + * format.c: (check_common_specifier) Fix msg() bug found by + -Wformat. + (check_output_specifier) Ditto. + +Sat Jul 30 22:43:57 2005 Ben Pfaff + + * file-handle.q: (cmd_file_handle) Fix msg() bug found by + -Wformat. + +Sat Jul 30 22:41:44 2005 Ben Pfaff + + * data-in.c: (parse_Z) [WORDS_BIGENDIAN] Don't declare buf[], to + avoid "unused variable" warning. + +Sat Jul 30 22:38:46 2005 Ben Pfaff + + * command.c: (find_word) Cast `char' to `unsigned char' before + passing to isspace(). + +Sat Jul 30 22:36:29 2005 Ben Pfaff + + * case.c: (case_compare) Implement as delegating to + case_compare_2dict(). + +Sat Jul 30 22:34:18 2005 Ben Pfaff + + * algorithm.c: Inclusion of is unneeded. + +Sat Jul 30 22:01:32 2005 Ben Pfaff + + * Make.build: Don't append -ansi to AM_CFLAGS for GCC. Using + -ansi changes the behavior of header files significantly. It + causes __STRICT_ANSI__ to be defined, and some headers interpret + that as cause to e.g. not use `long long' or __attribute__. The + former example is bad when off_t is supposed to be `long long', + and the latter prevents -Wformat from working. + +Sun Jul 24 20:26:59 2005 Ben Pfaff + + Get rid of dependency on libgmp by writing our own routine for + floating-point base conversion. + + * pfm-write.c: (write_float) Rewrote. + (write_int) Rewrote. + (pow30_nonnegative) New function. + (pow30) New function. + (trig_to_char) New function. + (format_trig_digits) New function. + (recurse_format_trig_int) New function. + (format_trig_int) New function. + (should_round_up) New function. + (try_round_up) New function. + (format_trig_double) New function. + +Sun Jul 24 18:49:20 2005 Ben Pfaff + + * data-in.c: (parse_numeric) Allow "1+23" even for F format, for + compatibility. + +Sun Jul 24 18:47:37 2005 Ben Pfaff + + * pfm-read.c: (read_version_data) Read and ignore author field. + +Wed Jul 6 20:44:27 2005 Ben Pfaff + + * get.c: (mtf_processing) Don't assume that + mtf_compare_BY_values() always returns -1, 0, or 1. Actually, it + returns a negative, zero, or positive result. Fixes MATCH FILES + bug on Mac OS X reported by "Marshall DeBerry" . + +Mon Jul 4 18:01:15 2005 Ben Pfaff + + * flip.c: [HAVE_SYS_TYPES_H] Really include . The + preprocessor test for sys/types.h was accidentally inverted. This + was bug 12789. + +Sun Jul 3 22:47:39 2005 Ben Pfaff + + * get.c: (cmd_match_files) Fix memory leak on `by' and on + `vfm_source'. + + * getline.c: [HAVE_LIBREADLINE] (read_console) Fix memory leak on + `line'. + + * vfm.c: (close_active_file) Remove unnecessary test. + +Sun Jul 3 21:45:32 2005 Ben Pfaff + + Fix NDEBUG compile errors. + + * hash.h: Needed explicit #include . + + * linked-list.c: (ll_next) First arg is UNUSED when NDEBUG is + defined. + Sun Jun 12 23:44:38 2005 Ben Pfaff Implement embedding for PostScript driver. Fixes bug 12970.