pspp-builds.git
20 years agoFix table function assertions to respect offsets.
Ben Pfaff [Sun, 21 Mar 2004 06:22:20 +0000 (06:22 +0000)]
Fix table function assertions to respect offsets.

20 years agoOops, add initial version.
Ben Pfaff [Sun, 21 Mar 2004 04:23:49 +0000 (04:23 +0000)]
Oops, add initial version.

20 years agoAdd stub for USE ALL.
Ben Pfaff [Sun, 21 Mar 2004 03:17:32 +0000 (03:17 +0000)]
Add stub for USE ALL.

20 years agoChanged DFM from open-at-first-access to explicit-open. Before,
Ben Pfaff [Sun, 21 Mar 2004 03:06:11 +0000 (03:06 +0000)]
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.

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.

Start work on better test framework.

Fix memory leaks.

Misc other changes.

20 years agoUpdate TODO.
Ben Pfaff [Sat, 20 Mar 2004 21:56:16 +0000 (21:56 +0000)]
Update TODO.

20 years agoImplemented the SHOW command and massaged the SET command to fit
John Darrington [Fri, 19 Mar 2004 16:58:57 +0000 (16:58 +0000)]
Implemented the SHOW command and massaged the SET command to fit

20 years agoFix EXPORT problem with string variables. From Andreas Streichardt
Ben Pfaff [Thu, 18 Mar 2004 19:10:15 +0000 (19:10 +0000)]
Fix EXPORT problem with string variables.  From Andreas Streichardt
<streichardt@globalpark.de>.

20 years agoGet rid of static and global (!) vars in matrix-data.c.
Ben Pfaff [Tue, 16 Mar 2004 04:55:38 +0000 (04:55 +0000)]
Get rid of static and global (!) vars in matrix-data.c.

20 years agoGet rid of static vars in autorecode.c.
Ben Pfaff [Tue, 16 Mar 2004 04:10:54 +0000 (04:10 +0000)]
Get rid of static vars in autorecode.c.

20 years agoGet rid of static, global vars in recode.c. Remove debug code.
Ben Pfaff [Mon, 15 Mar 2004 08:26:43 +0000 (08:26 +0000)]
Get rid of static, global vars in recode.c.  Remove debug code.

20 years agoGet rid of static vars in expr-opt.c.
Ben Pfaff [Mon, 15 Mar 2004 08:16:35 +0000 (08:16 +0000)]
Get rid of static vars in expr-opt.c.

20 years agoGet rid of static var in COUNT.
Ben Pfaff [Mon, 15 Mar 2004 08:04:29 +0000 (08:04 +0000)]
Get rid of static var in COUNT.

20 years agoGet rid of static vars in VALUE LABELS, ADD VALUE LABELS.
Ben Pfaff [Mon, 15 Mar 2004 07:58:57 +0000 (07:58 +0000)]
Get rid of static vars in VALUE LABELS, ADD VALUE LABELS.

20 years agoGet rid of static vars in MATCH FILES.
Ben Pfaff [Mon, 15 Mar 2004 07:36:41 +0000 (07:36 +0000)]
Get rid of static vars in MATCH FILES.

20 years agoRedo VFM interface. Get rid of compaction_necessary, compaction_nval,
Ben Pfaff [Mon, 15 Mar 2004 07:09:38 +0000 (07:09 +0000)]
Redo VFM interface.  Get rid of compaction_necessary, compaction_nval,
compaction_case.  Replace disk_sink and memory_sink by storage_sink,
disk_source and memory_source by storage_source.

20 years agoUpdate TODO.
Ben Pfaff [Mon, 15 Mar 2004 05:58:31 +0000 (05:58 +0000)]
Update TODO.

20 years agoAdd details on how various features interact.
Ben Pfaff [Mon, 15 Mar 2004 05:58:21 +0000 (05:58 +0000)]
Add details on how various features interact.

20 years agoFixed the handling of MISSING values in t-test
John Darrington [Sat, 13 Mar 2004 06:22:50 +0000 (06:22 +0000)]
Fixed the handling of MISSING values in t-test

20 years agoAdded support for T-TEST where the group criteria is specified as a threshold
John Darrington [Fri, 12 Mar 2004 08:42:03 +0000 (08:42 +0000)]
Added support for T-TEST where the group criteria is specified as a threshold
rather than two separate values.

20 years agoChange explicit variable name checks into use of dict_class_from_id().
Ben Pfaff [Thu, 11 Mar 2004 07:30:36 +0000 (07:30 +0000)]
Change explicit variable name checks into use of dict_class_from_id().

20 years agoAdd item.
Ben Pfaff [Thu, 11 Mar 2004 05:27:57 +0000 (05:27 +0000)]
Add item.

20 years agoFix TEMPORARY bug and add regression test.
Ben Pfaff [Thu, 11 Mar 2004 05:22:40 +0000 (05:22 +0000)]
Fix TEMPORARY bug and add regression test.

20 years agoFix brown-bag bug introduced in last check-in.
Ben Pfaff [Wed, 10 Mar 2004 07:45:16 +0000 (07:45 +0000)]
Fix brown-bag bug introduced in last check-in.

20 years agoEliminate temp_case, and a few other cleanups.
Ben Pfaff [Wed, 10 Mar 2004 07:40:03 +0000 (07:40 +0000)]
Eliminate temp_case, and a few other cleanups.

20 years agoNote that FLIP causes string values to become system-missing.
Ben Pfaff [Fri, 5 Mar 2004 02:03:10 +0000 (02:03 +0000)]
Note that FLIP causes string values to become system-missing.

20 years agoFix a lot of "possibly uninitialized variable" warnings. Some of them
Ben Pfaff [Thu, 4 Mar 2004 04:56:50 +0000 (04:56 +0000)]
Fix a lot of "possibly uninitialized variable" warnings.  Some of them
were real bugs.  A few of them make me wonder how the code ever
worked.

20 years agoStart working to eliminate VFM dependence on static variables.
Ben Pfaff [Thu, 4 Mar 2004 03:57:16 +0000 (03:57 +0000)]
Start working to eliminate VFM dependence on static variables.

20 years agoOops - revert change that shouldn't have been applied.
Ben Pfaff [Tue, 2 Mar 2004 20:03:47 +0000 (20:03 +0000)]
Oops - revert change that shouldn't have been applied.

20 years agoBeginning of VFM cleanup.
Ben Pfaff [Tue, 2 Mar 2004 20:00:33 +0000 (20:00 +0000)]
Beginning of VFM cleanup.

20 years agoImproved method of generating POTFILES.in
John Darrington [Sun, 22 Feb 2004 08:08:40 +0000 (08:08 +0000)]
Improved method of generating POTFILES.in

20 years agoAdded a trap on signal 11 requesting a bug report.
John Darrington [Sat, 21 Feb 2004 09:41:53 +0000 (09:41 +0000)]
Added a trap on signal 11 requesting a bug report.

20 years agoFix root cause of bug worked around by previous check-in, and remove
Ben Pfaff [Sat, 21 Feb 2004 07:23:59 +0000 (07:23 +0000)]
Fix root cause of bug worked around by previous check-in, and remove
workaround.

20 years agoChanged po/POTFILES.in to be a generated file.
John Darrington [Sat, 21 Feb 2004 02:38:53 +0000 (02:38 +0000)]
Changed po/POTFILES.in to be a generated file.
Fixed some problems with the make distcheck target.

20 years agoFixed a bug causing pspp to crash when computed variables had no format
John Darrington [Fri, 20 Feb 2004 06:41:14 +0000 (06:41 +0000)]
Fixed a bug causing pspp to crash when computed variables had no format
defined, and were subsequently saved.

20 years agoGot rid of approx.h and replaced all references to approx_eq() by ==,
Ben Pfaff [Thu, 19 Feb 2004 06:27:22 +0000 (06:27 +0000)]
Got rid of approx.h and replaced all references to approx_eq() by ==,
approx_lt() by <, etc.

20 years agoPrevent procedure() from being called recursively.
Ben Pfaff [Thu, 19 Feb 2004 05:33:11 +0000 (05:33 +0000)]
Prevent procedure() from being called recursively.

20 years agoImprove CROSSTABS description
Ben Pfaff [Thu, 19 Feb 2004 02:16:10 +0000 (02:16 +0000)]
Improve CROSSTABS description

20 years agoAdded Levene test. Added T-TEST section to pspp.texi
John Darrington [Wed, 18 Feb 2004 14:13:54 +0000 (14:13 +0000)]
Added Levene test.  Added T-TEST section to pspp.texi

20 years agodata-out.c clean ups.
Ben Pfaff [Tue, 17 Feb 2004 07:21:16 +0000 (07:21 +0000)]
data-out.c clean ups.

20 years agoAdd an Emacs header line to output files that makes generated .c files
Ben Pfaff [Tue, 17 Feb 2004 06:19:35 +0000 (06:19 +0000)]
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.

FREQUENCIES: Compare by frequency, not bogus a->v.c <=> b->v.c pointer
compare.

Changed data_out() to store string data directly into a `union
value''s s member, not indirectly into c.

Renamed some confusingly named member objects in crosstabs.q.

20 years agoPrepend $SUPERVISOR to invocations of pspp so that we
Ben Pfaff [Tue, 17 Feb 2004 05:38:31 +0000 (05:38 +0000)]
Prepend $SUPERVISOR to invocations of pspp so that we
can run valgrind or gdb easily with `make check'.

20 years agoAdded test for T-TEST /GROUPS (Levene values come later).
John Darrington [Tue, 17 Feb 2004 05:28:31 +0000 (05:28 +0000)]
Added test for T-TEST /GROUPS (Levene values come later).

20 years agoAdded tests for the one sample and paired T-TEST commands
John Darrington [Tue, 17 Feb 2004 03:47:43 +0000 (03:47 +0000)]
Added tests for the one sample and paired T-TEST commands

20 years agoClean up struct dictionary's value_cnt usage.
Ben Pfaff [Mon, 16 Feb 2004 20:54:17 +0000 (20:54 +0000)]
Clean up struct dictionary's value_cnt usage.

20 years agoFix comment.
Ben Pfaff [Mon, 16 Feb 2004 08:23:49 +0000 (08:23 +0000)]
Fix comment.

20 years agoMake vfm.c slightly less grotesque.
Ben Pfaff [Mon, 16 Feb 2004 08:20:45 +0000 (08:20 +0000)]
Make vfm.c slightly less grotesque.

20 years ago(struct variable) Update comments.
Ben Pfaff [Mon, 16 Feb 2004 08:17:26 +0000 (08:17 +0000)]
(struct variable) Update comments.

20 years agoGot rid of "struct long_vec", envector(), devector(), etc.
Ben Pfaff [Mon, 16 Feb 2004 07:39:57 +0000 (07:39 +0000)]
Got rid of "struct long_vec", envector(), devector(), etc.
New functions dict_create_var_assert(), dict_lookup_var_assert().

20 years agoIgnore more files.
Ben Pfaff [Mon, 16 Feb 2004 04:55:33 +0000 (04:55 +0000)]
Ignore more files.

20 years agoIgnore some files.
Ben Pfaff [Mon, 16 Feb 2004 04:54:41 +0000 (04:54 +0000)]
Ignore some files.

20 years agopfm-write.c: (bufwrite) Get rid of nasty cast that also invoked
Ben Pfaff [Mon, 16 Feb 2004 04:52:36 +0000 (04:52 +0000)]
pfm-write.c: (bufwrite) Get rid of nasty cast that also invoked
undefined behavior.

20 years agoImprove AGGREGATE description.
Ben Pfaff [Mon, 16 Feb 2004 04:17:13 +0000 (04:17 +0000)]
Improve AGGREGATE description.

20 years agoDon't #include "str.h" in stpcpy.c.
Ben Pfaff [Fri, 13 Feb 2004 19:23:23 +0000 (19:23 +0000)]
Don't #include "str.h" in stpcpy.c.

20 years agoAdd auxiliary argument to procedure() interface. Associated small
Ben Pfaff [Fri, 13 Feb 2004 08:01:45 +0000 (08:01 +0000)]
Add auxiliary argument to procedure() interface.  Associated small
clean-ups of vfm interface.

20 years agoAdded caculations for the grouped T-TEST
John Darrington [Thu, 12 Feb 2004 12:24:59 +0000 (12:24 +0000)]
Added caculations for the grouped T-TEST

20 years agoClean up pref.h.orig and deal with the consequences.
Ben Pfaff [Thu, 12 Feb 2004 08:19:49 +0000 (08:19 +0000)]
Clean up pref.h.orig and deal with the consequences.

20 years agoUpdate a rather poor Changelog entry, to give better information.
John Darrington [Thu, 12 Feb 2004 07:55:53 +0000 (07:55 +0000)]
Update a rather poor Changelog entry, to give better information.

20 years agoFixed crash from FLIP when a numeric variable is specified on NEWNAMES
Ben Pfaff [Thu, 12 Feb 2004 04:40:55 +0000 (04:40 +0000)]
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 in FLIP.

20 years agoFixed t-test so that multiple /pairs subcommands may be given.
John Darrington [Mon, 9 Feb 2004 10:57:28 +0000 (10:57 +0000)]
Fixed t-test so that multiple /pairs subcommands may be given.

20 years agoImplemented calculations for the paired samples t-test
John Darrington [Mon, 9 Feb 2004 03:26:12 +0000 (03:26 +0000)]
Implemented calculations for the paired samples t-test

20 years agoAdded calculations for the correlation for paired samples in t-test
John Darrington [Sun, 8 Feb 2004 14:59:41 +0000 (14:59 +0000)]
Added calculations for the correlation for paired samples in t-test

20 years agoAdded a (currently unpopulated) box for the paired samples correlations
John Darrington [Fri, 6 Feb 2004 00:13:52 +0000 (00:13 +0000)]
Added a (currently unpopulated) box for the paired samples correlations

20 years agoFixed a bug which crashed PSPP under invalid input.
John Darrington [Thu, 5 Feb 2004 06:56:45 +0000 (06:56 +0000)]
Fixed a bug which crashed PSPP under invalid input.
Factored out some translatable strings.

20 years agoFixed a bug causing PSPP to crash under certain invalid input.
John Darrington [Thu, 5 Feb 2004 05:17:49 +0000 (05:17 +0000)]
Fixed a bug causing PSPP to crash under certain invalid input.

20 years agoAdded proper error messages in T-TEST
John Darrington [Wed, 4 Feb 2004 23:49:42 +0000 (23:49 +0000)]
Added proper error messages in T-TEST

20 years agoFixed bug calculating mean difference.
John Darrington [Wed, 4 Feb 2004 12:22:38 +0000 (12:22 +0000)]
Fixed bug calculating mean difference.

20 years agoAdded calculations for the one sample t test
John Darrington [Wed, 4 Feb 2004 08:03:06 +0000 (08:03 +0000)]
Added calculations for the one sample t test

20 years ago(render_strip) Fix bug that sometimes caused joined text in joined
Ben Pfaff [Wed, 4 Feb 2004 04:09:26 +0000 (04:09 +0000)]
(render_strip) Fix bug that sometimes caused joined text in joined
cells to be rendered outside box boundaries.

20 years agoAdd item.
Ben Pfaff [Wed, 4 Feb 2004 02:31:02 +0000 (02:31 +0000)]
Add item.

20 years agoRemoved some vertical whitespace and added some horizontal
John Darrington [Tue, 3 Feb 2004 11:36:55 +0000 (11:36 +0000)]
Removed some vertical whitespace and added some horizontal

20 years agoFixed bug building while configured with --with-included-gettext
John Darrington [Tue, 3 Feb 2004 11:16:25 +0000 (11:16 +0000)]
Fixed bug building while configured with --with-included-gettext

20 years agoFixed seeding of random number generator.
John Darrington [Tue, 3 Feb 2004 11:01:23 +0000 (11:01 +0000)]
Fixed seeding of random number generator.

20 years ago(rng_get_double) Fix always-returning-zero bug in my preferred way,
Ben Pfaff [Tue, 3 Feb 2004 07:47:46 +0000 (07:47 +0000)]
(rng_get_double) Fix always-returning-zero bug in my preferred way,
and at the same time make sure rounding doesn't bite us.

20 years agoFixed a bug where the random number generator always returned zero.
John Darrington [Tue, 3 Feb 2004 07:03:08 +0000 (07:03 +0000)]
Fixed a bug where the random number generator always returned zero.

20 years agoAdded workaround for annoying gettextize behaviour
John Darrington [Tue, 3 Feb 2004 01:28:35 +0000 (01:28 +0000)]
Added workaround for annoying gettextize behaviour

20 years agoAdded version.c to the CLEANFILES target (ensures that a new date stamp gets
John Darrington [Fri, 30 Jan 2004 11:51:21 +0000 (11:51 +0000)]
Added version.c to the CLEANFILES target (ensures that a new date stamp gets
applied to each build).

20 years agoRewritten the t-test (no calculations yet).
John Darrington [Fri, 30 Jan 2004 03:01:28 +0000 (03:01 +0000)]
Rewritten the t-test (no calculations yet).

20 years agoAdded bounds checking to tab.c
John Darrington [Fri, 30 Jan 2004 00:29:40 +0000 (00:29 +0000)]
Added bounds checking to tab.c

20 years agoRemoved inappropriate assertion from list.q
John Darrington [Thu, 29 Jan 2004 23:54:37 +0000 (23:54 +0000)]
Removed inappropriate assertion from list.q

20 years agofixed broken dependency in Smake
John Darrington [Tue, 27 Jan 2004 01:22:25 +0000 (01:22 +0000)]
fixed broken dependency in Smake

20 years agoRemoved some generated files.
John Darrington [Tue, 27 Jan 2004 00:50:27 +0000 (00:50 +0000)]
Removed some generated files.
Removed references to `fiasco' (except historical data).

20 years agoFixed some issues with internationalisation
John Darrington [Tue, 27 Jan 2004 00:08:54 +0000 (00:08 +0000)]
Fixed some issues with internationalisation

20 years agoTest commits.
Ben Pfaff [Fri, 23 Jan 2004 01:23:22 +0000 (01:23 +0000)]
Test commits.

20 years agoFixed a buglet in the ERASE command, added a test for it, and some documentation.
John Darrington [Mon, 5 Jan 2004 06:26:03 +0000 (06:26 +0000)]
Fixed a buglet in the ERASE command, added a test for it, and some documentation.

20 years agoAdded documentation for the HOST command.
John Darrington [Mon, 5 Jan 2004 04:35:25 +0000 (04:35 +0000)]
Added documentation for the HOST command.

20 years agoAdded test for bug in FREQ command.
John Darrington [Sun, 4 Jan 2004 23:19:39 +0000 (23:19 +0000)]
Added test for bug in FREQ command.

20 years agoThu Jan 1 23:16:41 2004 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Fri, 2 Jan 2004 07:28:39 +0000 (07:28 +0000)]
Thu Jan  1 23:16:41 2004  Ben Pfaff  <blp@gnu.org>

* html.c: (change_attributes) Dead code, removed.
(escape_string) Eliminate code to call change_attributes() that
never actually called it.
(output_tab_table) Get rid of dependence on tab_hit
and struct tab_joined_cell's hit member, which are abominations.

* tab.c: (tab_output_text) Don't call
d->class->text_set_font_by_name if it's a null pointer.
(macro UNROLL_LOOP) Eliminate.
(macro UNROLL_3_LOOPS) Eliminate
(tabi_render) Rewrite not to use the above macros.

Thu Jan  1 23:09:07 2004  Ben Pfaff  <blp@gnu.org>

Start working on a new output driver system, one that doesn't suck
so much, by adding a "device-independent" output driver.  The idea
is to write out only a single output stream, then use separate
processes to translate them into whatever formats we want.  This
is similar to how "groff" works with its various output drivers
(grops, grotty, grodvi, ...).

* Makefile.am: (pspp_SOURCES) Add devind.c, devind.h.

* list.q: (write_all_headers) Stub out devind class.
(clean_up) Ditto.
(determine_layout) Ditto.
(list_cases) Ditto.

* output.c: (outp_init) Add devind class.

* devind.c: New file.

* devind.h: New file.

Thu Jan  1 23:08:14 2004  Ben Pfaff  <blp@gnu.org>

* frequencies.q: (hash_value_alpha) Fixed up the previous change
to use the proper string length.

20 years agoFixed a bug in frequencies.q which would crash on alpha values
John Darrington [Wed, 31 Dec 2003 08:28:06 +0000 (08:28 +0000)]
Fixed a bug in frequencies.q which would crash on alpha values

20 years agoTue Dec 30 22:42:57 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Wed, 31 Dec 2003 06:46:22 +0000 (06:46 +0000)]
Tue Dec 30 22:42:57 2003  Ben Pfaff  <blp@gnu.org>

* Removed bletcherous alloca() workarounds for AIX from top of
many files.  AIX can use the alternative alloca() implementation
instead.

20 years agoTue Dec 30 22:37:04 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Wed, 31 Dec 2003 06:40:48 +0000 (06:40 +0000)]
Tue Dec 30 22:37:04 2003  Ben Pfaff  <blp@gnu.org>

* devices: Add "squeeze=on top-margin=0 bottom-margin=0" to
raw-ascii to make test output more readable.

Tue Dec 30 22:35:16 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c: (ascii_option) Fix implementation of headers option.

Tue Dec 30 22:32:53 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c: Add a "squeeze" option to the ASCII driver to squeeze
multiple blank lines into one.
(struct ascii_driver_ext) Add squeeze_blank_lines option.
(ascii_preopen_driver) Initialize squeeze_blank_lines.
(static var option_tab) Add squeeze entry.
(ascii_option) Set squeeze_blank_lines.
(output_lines) Implement squeezing blank lines.

20 years agoRemoved redundant code from output.h
John Darrington [Tue, 30 Dec 2003 23:22:03 +0000 (23:22 +0000)]
Removed redundant code from output.h

20 years agoFixed floating point rounding problem
John Darrington [Tue, 30 Dec 2003 14:25:24 +0000 (14:25 +0000)]
Fixed floating point rounding problem

20 years agoSat Dec 27 16:16:49 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:42:15 +0000 (04:42 +0000)]
Sat Dec 27 16:16:49 2003  Ben Pfaff  <blp@gnu.org>

* configure.ac: Add -Wmissing-prototypes flag to gcc.

* TODO: Updated.

Sat Dec 27 22:17:52 2003  Ben Pfaff  <blp@gnu.org>

Dictionary classes: each variable is "ordinary", "system", or
"scratch".

* var.h: (enum dict_class) New enum.

* vars-prs.c: (dict_class_from_id) New function.
(dict_class_to_name) New function.

Sat Dec 27 22:16:06 2003  Ben Pfaff  <blp@gnu.org>

* var.h: (struct freq_tab_set) Removed (not used).

Sat Dec 27 22:15:21 2003  Ben Pfaff  <blp@gnu.org>

* value-labels.c: (val_labs_destroy) vls needs to be freed too.

Sat Dec 27 22:10:49 2003  Ben Pfaff  <blp@gnu.org>

* stats.c: (hypercube) Rename pow4().  All references updated.

Sat Dec 27 22:05:49 2003  Ben Pfaff  <blp@gnu.org>

* rename-vars.c: (cmd_rename_variables) Rewritten.
(compare_name) Removed.

Sat Dec 27 22:03:51 2003  Ben Pfaff  <blp@gnu.org>

var_set feature, and code taking advantage of it.

* crosstabs.q: (static var var_dict) Removed.
(static var variables) New variable.
(static var variables_cnt) New variable.
(cmd_crosstabs) Free variables instead of var_dict.
(internal_cmd_crosstabs) Initialize and use variables,
variables_cnt instead of var_dict.
(free_var_dict) Removed.
(crs_custom_tables) Use var_set instead of a copied dictionary.
(crs_custom_variables) Set up variables, variables_cnt instead of
var_dict.
[DEBUGGING] (debug_print) Ditto.

* means.q: (mns_custom_tables) Use var_set instead of a copied
dictionary.

* vars-prs.c: (parse_vs_variable) New function.
(parse_dict_variable) Rewritten.
(parse_variable) Rewritten.
(parse_variables) Renamed parse_var_set_vars(), rewritten.
(parse_variables) New function in terms of parse_var_set_vars().
Now requires its first argument to be non-null.  All references
that passed a null pointer updated to pass default_dict instead.
(macro id_dict) Removed.
(parse_DATA_LIST_vars) Add assertions.
(parse_mixed_vars) Ditto.
(struct var_set) New structure.
(var_set_get_cnt) New function.
(var_set_get_var) New function.
(var_set_lookup_var) New function.
(var_set_destroy) New function.
(dict_var_set_get_cnt) New function.
(dict_var_set_get_var) New function.
(dict_var_set_lookup_var) New function.
(dict_var_set_destroy) New function.
(var_set_create_from_dict) New function.
(struct array_var_set) New structure.
(array_var_set_get_cnt) New function.
(array_var_set_get_var) New function.
(array_var_set_lookup_var) New function.
(array_var_set_destroy) New function.
(var_set_create_from_array) New function.

* q2c.c: (dump_parser) Use parse_variables(default_dict, ...)
instead of parse_variables(NULL, ...) in output code.

Sat Dec 27 21:38:53 2003  Ben Pfaff  <blp@gnu.org>

Change inp_init from a 2-bit vector to an ordinary array.
Initialize it all in cmd_end_input_program() instead of in
create_variable().

* inpt-pgm.c: (enum value_init_type) New enum.
(global var inp_init) Change to `enum value_init_type *', make
static.
(inp_init_size) Removed.
(inp_nval) Change to `size_t', make static.
(cmd_input_program) Don't initialize inp_init or inp_init_size.
(cmd_end_input_program) Initialize inp_init, inp_nval.
(init_case) Rewrite.
(clear_case) Rewrite.

* inpt-pgm.h: Removed.

Sat Dec 27 21:36:38 2003  Ben Pfaff  <blp@gnu.org>

* hash.c: (hsh_hash_bytes) Use Fowler-Noll-Vo hash instead of
Colin Plumb hash.  It is simpler and should better resist
collisions.
(hsh_hash_string) Ditto.

Sat Dec 27 21:34:57 2003  Ben Pfaff  <blp@gnu.org>

* get.c: (export_write_case_func) Remove debug printing code.

Sat Dec 27 21:11:09 2003  Ben Pfaff  <blp@gnu.org>

* get.c: (cmd_save_internal) Rename parameter.  Use &t->h instead
of cast.
(save_write_case_func) Use &trns->h instead of cast.
(cmd_export) Use &t->h instead of cast.

Sat Dec 27 20:57:42 2003  Ben Pfaff  <blp@gnu.org>

Moved vectors into the dictionary.

* var.h: (struct vector) Moved here from vector.h.  `index' member
renamed `idx', `v' renamed `var', `nv' renamed `cnt'.  All
references updated.

* vector.h: Removed.

* vector.c: (global var vec) Removed.
(global var nvec) Removed.
(cmd_vector) Rewritten.
(find_vector) Removed.

* dictionary.c: (dict_create_vector) New function.
(dict_get_vector) New function, replaces reading global vec[]
array.
(dict_get_vector_cnt) New function, replaces reading global nvec
variable.
(dict_lookup_vector) New function, replaces find_vector().
(dict_clear_vectors) New function.

Sat Dec 27 20:54:01 2003  Ben Pfaff  <blp@gnu.org>

Start to move away from `struct variable' p `union' member to void
* aux member.

* var.h: (struct variable) Add `aux' member.

Sat Dec 27 20:36:25 2003  Ben Pfaff  <blp@gnu.org>

Get rid of struct variable `foo' member.

* frequencies.q: (internal_cmd_frequencies) Use p.frq.used instead
of foo.
(frq_custom_variables) Ditto.
(frq_custom_grouped) Ditto.

* get.c: (struct save_trns) Change `var' member from `int *' to
`struct variable **'.
(cmd_save_internal) Use aux instead of foo.
(save_trns_proc) Use revised `var' member.
(static var mtf_seq_no) Renamed mtf_seq_num.
(static var mtf_seq_nums) New static var.
(cmd_match_files) Initialize mtf_seq_nums.
(mtf_free) Free mtf_seq_nums.
(mtf_processing) Use mtf_seq_nums instead of foo.
(mtf_merge_dictionary) No need to initialize mv->foo.
(cmd_export) Use aux instead of foo.  Use revised `var' member.
(mns_custom_tables) Don't use foo to check for duplicates, that's
what PV_NO_DUPLICATE is for.

* var.h: (struct variable) Remove `foo' member.
(struct frequencies_proc) New member.

Sat Dec 27 19:46:13 2003  Ben Pfaff  <blp@gnu.org>

Clean up COMPUTE and IF.

* compute.c: More or less rewrite the darn thing.
(struct compute_trns) Rename and reorder and add and delete
members.
(cmd_compute) Rewrite.
(compute_num) Make conditional on test expression.  Now used for
both COMPUTE and IF.
(compute_num_vec) Ditto.
(compute_str) Ditto.
(compute_str_vec) Ditto.
(cmd_if) Rewrite.
(if_num) Removed.
(if_num_vec) Removed.
(if_str) Removed.
(if_str_vec) Removed.
(parse_target_expression) Renamed parse_rvalue_expression(),
rewritten.
(new_trns) Renamed compute_trns_create(), rewritten.
(delete_trns) Removed.
(free_trns) Renamed compute_trns_free(), rewritten.
(struct lvalue) New structure.
(parse_var_or_vec) Renamed lvalue_parse(), rewritten.
(lvalue_get_type) New function.
(lvalue_is_vector) New function.
(lvalue_finalize) New function.
(lvalue_destroy) New function.

Sat Dec 27 19:44:14 2003  Ben Pfaff  <blp@gnu.org>

* command.def: Disallow MODIFY VARS in input mode, so that
variables can't get dropped and confuse cmd_end_input_program()'s
attempt to fill inp_init[].

* modify-vars.c: (static var forward_positional_ordering) New
variable.
(struct var_modification) Entirely changed.
(rearrange_dict) Interface changed, rewritten.
(cmd_modify_vars) Deal with modified struct var_modification, much
rewritten.
(struct var_renaming) New structure.
(compare_var_renaming_by_new_name) New function.
(validate_var_modification) New function.

* var.h: (struct modify_vars_proc) Removed.
(struct variable) Removed member p.mfv.

Sat Dec 27 19:40:26 2003  Ben Pfaff  <blp@gnu.org>

Make EVALUATE a valid command whether we're debugging or not, so
that `make check' can succeed regardless of whether debugging is
turned on.

* command.def: [GLOBAL_DEBUGGING] Drop the #if.

* compute.c: [GLOBAL_DEBUGGING] (cmd_evaluate) Drop the #if.

Sat Dec 27 19:34:40 2003  Ben Pfaff  <blp@gnu.org>

* apply-dict.c: (cmd_apply_dictionary) Replace a ghastly switch
statement by a simple if test.

* dfm.c: (dfm_get_record) Add assertion.

Sat Dec 27 17:51:26 2003  Ben Pfaff  <blp@gnu.org>

For each file x.c, move #include "x.h" to the very top of the
include list, to catch x.h failing to include the proper headers.

Sat Dec 27 17:50:19 2003  Ben Pfaff  <blp@gnu.org>

* algorithm.c: (find) New function.
(remove_equal) New function.
(set_difference) New function.
(adjacent_find_equal) New function.
[TEST_UNIQUE] Removed test case.
(copy_if) Find end test.

Sat Dec 27 17:42:45 2003  Ben Pfaff  <blp@gnu.org>

* dictionary.c: (dict_get_case_weight) New convenience function.

* aggregate.c: (accumulate_aggregate_info) Use
dict_get_case_weight().

* frequencies.q: (calc_general) Ditto.
(calc_integer) Ditto.
(calc) Ditto.

* t-test.q: (groups_calc) Ditto.
(z_calc) Ditto.

Sat Dec 27 17:29:45 2003  Ben Pfaff  <blp@gnu.org>

* glob.c: (global var default_dict) Change from `struct
dictionary' to `struct dictionary *'.  All references changed.
(init_glob) Initialize default_dict with dict_create().

Sat Dec 27 17:06:06 2003  Ben Pfaff  <blp@gnu.org>

struct dictionary now made opaque.  All related functions:

* get.c: (rename_variables) Removed.
(dict_delete_run) Removed.

* temporary.c: (copy_variable) Removed.
(new_dictionary) Removed.
(save_dictionary) Removed.
(restore_dictionary) Removed.
(free_dictionary) Removed.

* vars-atr.c: (clear_default_dict) Removed.
(find_variable) Removed.
(find_dict_variable) Removed.
(create_variable) Removed.
(delete_variable) Removed.
(common_init_stuff) Removed.
(init_variable) Removed.  Updating of inp_init moved into
cmd_end_input_program().
(replace_variable) Removed.
(rename_variable) Removed.
(clear_variable) Removed.
(dup_variable) Removed.

* vars-prs.c: (is_varname) Removed.
(is_dict_varname) Removed.
(fill_all_vars) Removed.

* vector.c: (find_vector) Removed.

* weight.c: (stop_weighting) Removed.

* dictionary.c: New file.
(dict_create) New, replaces new_dictionary().
(dict_clone) New, replaces save_dictionary() and
restore_dictionary().
(dict_clear) New, replaces clear_default_dict().
(dict_destroy) New, replaces free_dictionary().
(dict_get_var_cnt) New function, replaces references to
dict->nvar.
(dict_get_var) New function, replaces references to dict->var[i].
(dict_get_vars) New function, replaces fill_all_vars().
(dict_create_var) New, replaces create_variable().  Interface
drops `type' parameter, using a zero `width' to designate numeric.
(dict_clone_var) New, replaces dup_variable().
(dict_rename_var) New, replaces rename_variable().
(dict_lookup_var) New, replaces find_variable(),
find_dict_variable(), is_varname().
(dict_contains_var) New function.
(compare_variable_dblptrs) New function.
(dict_delete_var) New function, replaces clear_variable().
(dict_delete_vars) New function, replaces dict_delete_run().
(dict_reorder_vars) New function.
(dict_rename_vars) New function, replaces rename_variables().
(dict_get_weight) New function, replaces reading dict->weight_var.
(dict_set_weight) New function, replaces writing dict->weight_var
or calling stop_weight(dict).
(dict_get_filter) New function, replaces reading dict->filter_var.
(dict_set_filter) New function, replaces writing dict->filter_var.
(dict_get_case_limit) New function, replaces reading dict->N.
(dict_set_case_limit) New function, replaces writing dict->N.
(dict_get_value_cnt) New function, replaces reading dict->nval.
(dict_compact_values) New function, replaces a loop that was
replicated in several places.
(dict_get_split_vars) New function, replaces reading dict->splits.
(dict_get_split_cnt) New function, replaces reading
dict->n_splits.
(dict_set_split_vars) New function, replaces writing dict->splits.
(dict_get_label) New function, replaces reading dict->label.
(dict_set_label) New function, replaces writing dict->label.
(dict_get_documents) New function, replaces reading
dict->documents.
(dict_set_documents) New function, replaces writing
dict->documents.

All references to above functions updated.

* aggregate.c: (cmd_aggregate) Copy file label and documents from
old dictionary to new by hand, because dict_create() can't do it
itself.  Use dict_set_documents(), dict_set_split_vars().

* temporary.c: (cancel_temporary) Also set temp_dict to NULL after
calling dict_destroy().

* data-list.c: (dls_var_spec) Remove `type' member, replace by
`width'.
(fixed_parse_compatible) Some slightly nontrivial changes for
dict_create_var().
(dump_fmt_list) Ditto.
(parse_free) Ditto.

* file-type.c: (create_col_var) Ditto.

* get.c: (cmd_get) Use dict_compact_values() instead of a loop.
(trim_dictionary) Use dict_delete_vars(), dict_reorder_vars().
(rename_variables) Use dict_rename_vars().
(mtf_merge_dictionary) Use dict_get_documents(),
dict_set_documents(), dict_compact_values().

* pfm-read.c: (read_variables) Deal with changes to weighting.

* q2c.c: (dump_parser) Use dict_lookup_var() instead of
is_varname() in output code.

* sfm-read.c: (read_header) Use dict_create(), dict_set_label(),
other dictionary functions.

* title.c: (add_document_line) Use dict_get_documents(),
dict_set_documents().

* vars-atr.c: (discard_variables) Use dict_clear(default_dict),
reset default_handle by hand.  dict_clear() will clear vectors so
there's no need for that by hand.

* vfm.c: (close_active_file) Move call to finish_compaction()
earlier, so that we can do the compaction as a single step using
dict_compact_values().  Use dict_clear_vectors().
(finish_compaction) Use dict_delete_var(), dict_compact_values().

Some functions don't have replacements:

* vars-atr.c: (force_create_variable) Removed.  All references
updated to dict_create_var() followed by an assertion.
(force_dup_variable) Removed.  All references updated to
dict_clone_var() followed by an assertion.

* weight.c: (update_weighting) Removed.  No longer necessary, so
all references removed.

Sat Dec 27 16:43:01 2003  Ben Pfaff  <blp@gnu.org>

Clean up AGGREGATE.

* aggregate.c: Eliminate separation of weighted and unweighted
case.  It made the code too obscure and I doubt it was actually
faster.  Instead, all code uses the "weighted" code, because
that's a generalization of the "unweighted" code.
(FWEIGHT) Removed.
(FOPTIONS) Ditto.
(parse_aggregate_functions) No need to set FWEIGHT.
(accumulate_aggregate_info) Get rid of FWEIGHT cases.
(dump_aggregate_info) Ditto.
(initialize_aggregate_info) No need for special plain_function
that gets rid of FWEIGHT option.

* aggregate.c: Get rid of approximations.
(accumulate_aggregate_info) Don't use approx_gt(), approx_lt(),
approx_in_range().
(aggregate_single_case) Don't use approx_ne().

Sat Dec 27 16:19:36 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c (ascii_line_width): Dead code, removed.

* postscript.c (ps_line_width): Ditto.

* q2c.c (xrealloc): Ditto.

* count.c (internal_cmd_count): Ditto.

* means.q (validate_dependent_endpoint): Ditto.

* set.q: (cmd_gset) Ditto.

* weight.c: [0] (weight_trns_proc) Ditto.

Sat Dec 27 16:18:16 2003  Ben Pfaff  <blp@gnu.org>

Make the code -Wmissing-prototypes clean.

* Makefile.am (version.c): Add #include "version.h".

* ascii.c: (ascii_open_global) Make static.
(ascii_close_page) Ditto.
(ascii_font_sizes) Ditto.
(ascii_postopen_driver) Ditto.
(ascii_close_driver) Ditto.
(ascii_option) Ditto.
(ascii_open_page) Ditto.
(ascii_line_horz) Ditto.
(ascii_line_vert) Ditto.
(ascii_line_intersection) Ditto.
(ascii_box) Ditto.
(ascii_polyline_begin) Ditto.
(ascii_polyline_point) Ditto.
(ascii_polyline_end) Ditto.
(ascii_text_set_font_by_name) Ditto.
(ascii_text_set_font_by_position) Ditto.
(ascii_text_set_font_by_family) Ditto.
(ascii_text_get_font_name) Ditto.
(ascii_text_get_font_family) Ditto.
(ascii_text_set_size) Ditto.
(ascii_text_get_size) Ditto.
(ascii_text_metrics) Ditto.
(ascii_text_draw) Ditto.
(ascii_close_page) Ditto.

* cmdline.h: New header for parse_command_line().  Used where
needed.

* command.c: Move prototypes for cmd_*() functions to command.h.

* command.h: Prototypes for cmd_*() functions moved here from
command.c.

* crosstabs.q: (gamma_int) Ditto.

* file-handle.h: Add fh_init_files() prototype.

* getline.c: (welcome) Ditto.

* glob.h: New header for init_glob().  Used where appropriate.

* hash.c: (comparison_helper) Ditto.

* html.c: (html_open_global) Ditto.
(html_close_global) Ditto.
(html_preopen_driver) Ditto.
(html_postopen_driver) Ditto.
(html_close_driver) Ditto.
(html_option) Ditto.
(html_open_page) Ditto.
(html_close_page) Ditto.
(html_submit) Ditto.

* inpt-pgm.c: (input_program_source_read) Ditto.

* output.c: (find_defn_value) Ditto.
(destroy_list) Ditto.

* pfm-read.c: (read_int) Ditto.

* postscript.c: (ps_open_global) Ditto.
(ps_close_global) Ditto.
(ps_font_sizes) Ditto.
(ps_preopen_driver) Ditto.
(ps_postopen_driver) Ditto.
(ps_close_driver) Ditto.
(ps_option) Ditto.
(ps_open_page) Ditto.
(ps_close_page) Ditto.
(ps_line_horz) Ditto.
(ps_line_vert) Ditto.
(ps_line_intersection) Ditto.
(ps_box) Ditto.
(ps_polyline_begin) Ditto.
(ps_polyline_point) Ditto.
(ps_polyline_end) Ditto.
(ps_text_set_font_by_name) Ditto.
(ps_text_set_font_by_position) Ditto.
(ps_text_set_font_family) Ditto.
(ps_text_get_font_name) Ditto.
(ps_text_get_font_family) Ditto.
(ps_text_set_size) Ditto.
(ps_text_get_size) Ditto.
(ps_text_metrics) Ditto.
(ps_text_draw) Ditto.

* q2c.c: (finish_up) Ditto.
(xmalloc) Ditto.
(xstrdup) Ditto.
(get_buffer) Ditto.
(st_lower) Ditto.
(st_upper) Ditto.
(skip_ws) Ditto.
(get_line) Ditto.
(add_symbol) Ditto.
(find_symbol) Ditto.
(lex_get) Ditto.
(force_id) Ditto.
(force_string) Ditto.
(match_id) Ditto.
(match_token) Ditto.
(skip_token) Ditto.
(parse) Ditto.
(parse_setting) Ditto.
(parse_specifier) Ditto.
(parse_specifiers) Ditto.
(parse_subcommand) Ditto.
(dump_specifier_vars) Ditto.
(is_keyword) Ditto.
(make_identifier) Ditto.
(dump_declarations) Ditto.
(dump_specifier_init) Ditto.
(dump_vars_init) Ditto.
(make_match) Ditto.
(dump_specifier_parse) Ditto.
(dump_subcommand) Ditto.
(dump_parser) Ditto.
(dump_header) Ditto.
(dump_free) Ditto.
(recognize_directive) Ditto.

* recode.c: (string_to_long) Ditto.

* repeat.c: (find_DO_REPEAT_substitution) Ditto.

* repeat.h: New header for perform_DO_REPEAT_substitutions, used
where appropriate.

* sort.c: (sort_stream_read) Ditto.
(sort_stream_mode) Ditto.

20 years agoSat Dec 27 16:37:07 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:40:05 +0000 (04:40 +0000)]
Sat Dec 27 16:37:07 2003  Ben Pfaff  <blp@gnu.org>

* Makefile.am: (EXTRA_DIST) Add getopt.c, getopt1.c, memcpy.c,
strstr.c, which weren't being distributed for whatever reason.

* gettext.h: Removed.  We use the copy in intl/.

20 years agoSat Dec 27 16:36:05 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:38:03 +0000 (04:38 +0000)]
Sat Dec 27 16:36:05 2003  Ben Pfaff  <blp@gnu.org>

* Makefile.am (MAKEINFO): Removed, since the manual validates (and
should validate from now on).

* pspp.texi: Updated.

20 years agoUpdated the message strings
John Darrington [Tue, 23 Dec 2003 03:35:19 +0000 (03:35 +0000)]
Updated the message strings

20 years agoUpdate authorship.
Ben Pfaff [Mon, 22 Dec 2003 18:33:06 +0000 (18:33 +0000)]
Update authorship.

20 years agoFactored out the bug report mailing address.
John Darrington [Sun, 21 Dec 2003 23:58:04 +0000 (23:58 +0000)]
Factored out the bug report mailing address.

20 years agoCorrected a few typos and clarified some things in the user manual
John Darrington [Sat, 20 Dec 2003 12:26:17 +0000 (12:26 +0000)]
Corrected a few typos and clarified some things in the user manual

20 years agoFixed a howler with pluralism --- impossible to internationalise
John Darrington [Sat, 20 Dec 2003 10:27:57 +0000 (10:27 +0000)]
Fixed a howler with pluralism --- impossible to internationalise