Improvements to case implementation.
[pspp-builds.git] / src / data / ChangeLog
1 Sat May  6 22:42:23 2006  Ben Pfaff  <blp@gnu.org>
2
3         * case.c (case_move): Do nothing if dst and src are the same
4         object.
5         (case_try_create) Merge two similar cases.
6         (case_copy) Unshare only if data must be actually copied.
7
8 Sun May  7 10:04:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
9
10         * data-in.c data-out.c dictionary.c sys-file-reader.c
11         sys-file-writer.c variable.c variable.h:  Reworked very long string
12         support for better encapsulation.
13
14 Sat May  6 19:02:00 2006  Ben Pfaff  <blp@gnu.org>
15
16         * value-labels.c (val_labs_can_set_width): New function.
17         (val_labs_set_width) Clear labels if increasing width to long
18         string.
19         (val_labs_destroy) Remove unneeded test for null.
20         
21 Sat May  6 16:14:08 2006  Ben Pfaff  <blp@gnu.org>
22
23         * value-labels.h: Remove unneeded dependency on variable.h.
24
25 Sat May  6 15:58:36 2006  Ben Pfaff  <blp@gnu.org>
26
27         Get rid of `char *c' member in union value, for cleanliness.
28         
29         * value.h: (union value) Remove `c' member.
30
31 Sat May  6 15:36:59 2006  Ben Pfaff  <blp@gnu.org>
32
33         Make dictionary compacting functions a little more general.
34         
35         * sys-file-writer.c (sfm_open_writer): Use
36         dict_compacting_would_change().
37         (does_dict_need_translation) Removed.
38
39 Sat May  6 15:35:42 2006  Ben Pfaff  <blp@gnu.org>
40
41         Make dictionary compacting functions a little more general.
42         
43         * dictionary.c (dict_needs_compaction): Rename
44         dict_compacting_would_shrink().  Update all callers.
45         (dict_compacting_would_change) New function.
46         
47 Sat May  6 14:25:49 2006  Ben Pfaff  <blp@gnu.org>
48
49         * sys-file-writer.c: (does_dict_need_translation) Fix bug:
50         inverted return value (!).
51
52 Sat May  6 13:37:52 2006  Ben Pfaff  <blp@gnu.org>
53
54         Continue reforming procedure execution.  
55
56         * procedure.c: Search and replace "vfm" by "proc".  Notably:
57         (static var vfm_source) Rename proc_source.  Update all
58         references.
59         (static var vfm_sink) Rename proc_sink.  Update all references.
60         
61 Sat May  6 12:38:55 2006  Ben Pfaff  <blp@gnu.org>
62
63         Continue reforming procedure execution.  In this phase, remove
64         PROCESS IF, which was deprecated anyway and can be easily
65         simulated with TEMPORARY followed by SELECT IF.
66
67         * procedure.c: (open_active_file) Don't call
68         add_process_if_trns().
69         (discard_variables) Get rid of redundant call to
70         proc_cancel_all_transformations().
71         (add_process_if_trns) Removed.
72         (process_if_trns_proc) Removed.
73         (process_if_trns_free) Removed.
74
75 Sat May  6 10:58:05 2006  Ben Pfaff  <blp@gnu.org>
76
77         Continue reforming procedure execution.  In this phase, add
78         `const' to the case passed to procedure()'s callback.
79
80         Updated all users of procedure() as well.
81         
82         * procedure.c: (struct write_case_data) Add "const" to ccase
83         parameter for case_func member.
84         (procedure) Add "const" to ccase parameter for proc_func
85         parameter.
86         (multipass_case_func) Make ccase parameter const.
87         (internal_procedure) Add "const" to ccase parameter for case_func
88         parameter.
89         (split_procedure_case_func) Make ccase parameter const.
90         (multipass_split_case_func) Make ccase parameter const.
91         
92 Sat May  6 10:30:33 2006  Ben Pfaff  <blp@gnu.org>
93
94         Continue reforming procedure execution.  In this phase, get rid of
95         the output code for SPLIT FILE groups in procedure.c, which really
96         shouldn't be doing any output.  Move it into the individual
97         procedures instead.  This also adds some flexibility.
98
99         Updated many users of procedure_with_splits() and
100         multipass_procedure_with_splits() to call
101         output_split_file_values() and to deal with increased use of
102         const.
103
104         * procedure.c: (struct split_aux_data) Add "const struct ccase *"
105         parameter to begin_func member.
106         (procedure_with_splits) Add "const struct ccase *" parameter to
107         begin_func parameter.  Make ccase parameter const in proc_func
108         parameter.
109         (split_procedure_case_func) Don't dump split file group.  Pass
110         case to begin_func.
111         (dump_splits) Moved to language/dictionary/split-file.c as
112         output_split_file_values().
113         (struct multipass_split_aux_data) Add "const struct ccase *"
114         parameter to split_func member.
115         (multipass_procedure_with_splits) Add "const struct ccase *"
116         parameter to split_func parameter.
117         (multipass_split_case_func) Save new SPLIT FILE case before
118         outputting case.
119         (multipass_split_output) Pass saved SPLIT FILE case to split_func.
120         
121 Fri May  5 22:48:50 2006  Ben Pfaff  <blp@gnu.org>
122
123         Continue reforming procedure execution.  Change
124         internal_procedure() so that it calls open_active_file() and
125         close_active_file(), which isolates most of the actual procedure
126         functionality.
127
128         * procedure.c: (struct write_case_data) Rename `proc_func' member
129         to `case_func' and update all references.
130         (procedure) Rewrite as one-line wrapper around
131         internal_procedure().
132         (struct multipass_aux_data) New.
133         (multipass_callback) Renamed multipass_case_func().  Use struct
134         multipass_aux_data as auxiliary data.
135         (multipass_end_func) New function.
136         (multipass_procedure) Rewrite as wrapper for internal_procedure()
137         that uses multipass_case_func, multipass_end_func.
138         (internal_procedure) Add `end_func' argument.  Move optimization
139         of trivial case in here.  Move call to open_active_file() and
140         close_active_file() in here.  Now assert that vfm_source is
141         non-null.
142         (procedure_with_splits_callback) Rename
143         split_procedure_case_func().
144         (split_procedure_end_func) New function.
145         (multipass_split_callback) Rename multipass_split_case_func.
146         (multipass_split_end_func) New function.
147         (discard_variables) No need to test for nonnull vfm_source.
148
149 Fri May  5 21:34:02 2006  Ben Pfaff  <blp@gnu.org>
150
151         Continue reforming procedure execution.  Get rid of unused member.
152
153         * procedure.c: (struct write_case_data) Remove `cases_analyzed'
154         member.
155         (write_case) Don't increment cases_analyzed.
156
157 Thu May  4 21:50:11 2006  Ben Pfaff  <blp@gnu.org>
158
159         Continue reforming procedure execution.  In this phase, move
160         procedure.c and procedure.h from src to src/data.  Update
161         makefiles and #includes accordingly.
162
163         * procedure.c: Moved here from src/.
164
165         * procedure.h: Moved here from src/.
166
167 Wed May  3 22:42:12 2006  Ben Pfaff  <blp@gnu.org>
168
169         Continue reforming procedure execution.  In this phase, get rid of
170         many global variables, consolidating procedure execution in
171         procedure.c.  Encapsulate transformations in new "struct
172         trns_chain".  Also, change implementation of N OF CASES, FILTER,
173         and PROCESS IF from special cases to transformations.
174          
175         * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c,
176         transformations.h.
177
178         * dictionary.c: (global variable default_dict) Move to
179         src/procedure.c.
180
181         * variable.h: (TRNS_*) Move to transformations.h.
182         (struct transformation) Move to transformations.c.
183
184 Thu May  4 13:47:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
185
186         * sys-file-reader.c: Fixed invalid read problems.
187
188 Tue May  2 15:57:10 2006  Ben Pfaff  <blp@gnu.org>
189
190         * storage-stream.c: Add missing function comments.
191
192 Tue May  2 15:50:21 2006  Ben Pfaff  <blp@gnu.org>
193
194         Continue reforming procedure execution.  In this phase, add some
195         new, needed functionality to storage-stream.
196
197         * storage-stream.c: (storage_source_decapsulate) New function.
198
199 Tue May  2 15:43:36 2006  Ben Pfaff  <blp@gnu.org>
200
201         * variable.c (width_to_bytes): Declarations must precede
202         statements for C90 compliance.
203
204 Tue May  2 10:42:05 WST 2006 John Darrington <john@darrington.wattle.id.au>
205
206         * data-out.c, data-in.c, variable.c, variable.h: New functions 
207         copy_mangle and copy_demangle for reading/writing cases; emulates the 
208         way SPSS deals with strings > 255 bytes.
209
210         * sys-file-reader.c sys-file-writer.c: Added support for Record 7, 
211         subtype 14 needed for strings longer than 255 bytes.
212
213         * dictionary.c, format.def, value.c : Updated to use MAX_STRING 
214         instead of literal values. Also fixed some constness issues.
215
216         * format.h: Constness
217
218         * sfm-private.h: Renamed the case_size identifier, since I discovered 
219         that SPSS's respect for this variable is very nominal.
220
221 Mon May  1 15:45:42 2006  Ben Pfaff  <blp@gnu.org>
222
223         Change case limit type from int to size_t.
224
225         * dictionary.c: (struct dictionary) Change type of case_limit
226         member.
227         (dict_get_case_limit) Change return type.
228         (dict_set_case_limit) Change parameter type.
229
230 Wed Apr 26 20:01:19 2006  Ben Pfaff  <blp@gnu.org>
231
232         * variable.h: (struct variable) Rename `reinit' member as `leave'
233         and invert sense.  Fix up all references.
234
235 Wed Apr 26 19:39:28 2006  Ben Pfaff  <blp@gnu.org>
236
237         Continue reforming procedure execution.  In this phase, break
238         procedure.c into multiple files.
239         
240         * automake.mk: (src_data_libdata_a_SOURCES) Add all the new files.
241
242         * case-sink.c: New file.
243
244         * case-sink.h: New file.
245         
246         * case-source.c: New file.
247
248         * case-source.h: New file.
249         
250         * storage-stream.c: New file.
251
252         * storage-stream.h: New file.
253
254 Wed Apr 26 14:55:19 2006  Ben Pfaff  <blp@gnu.org>
255
256         * variable.h: (struct variable) Remove `init' member and all
257         references to it from other files.  It was initialized in several
258         places, but nothing really ever used it for anything worthwhile.
259         Thanks to Jason Stover for pointing out how confusing this
260         member is.
261
262 Sun Apr 23 22:04:45 2006  Ben Pfaff  <blp@gnu.org>
263
264         Continue reforming error message support.  In this phase, get rid
265         of message "titles" and put the message text in `struct error'.
266         Now `struct error' encapsulates a message more properly.
267         
268         * casefile.c: (io_error) Use err_msg() instead of err_vmsg().
269         Format message ourselves.
270
271         * data-in.c: (vdls_error) Ditto.
272
273         * por-file-reader.c: (error) Ditto.
274
275         * sys-file-reader.c: (corrupt_msg) Ditto.
276
277 Sun Apr 16 18:49:51 2006  Ben Pfaff  <blp@gnu.org>
278
279         GNU standards require "file name" instead of "filename" in
280         documentation.  It's nice for our code to follow the convention
281         too.
282         
283         * casefile.c: (struct casefile) Rename `filename' member to
284         `file_name'.  Updated all references.
285
286         * file-name.c: [!unix] (struct file_identity) Rename
287         normalized_filename member to normalized_file_name.  Updated all
288         references.
289
290 Sun Apr 16 18:35:33 2006  Ben Pfaff  <blp@gnu.org>
291
292         We don't really support anything but Unix-like environments well,
293         so we might as well de-obfuscate by writing directory and path
294         separators explicitly.
295
296         * file-name.h: (macro DIR_SEPARATOR) Removed.  Changed all usages
297         to just '/'.
298         (macro PATH_SEPARATOR) Removed.  Changed all usages to just ':'.
299         (macro DIR_SEPARATOR_STRING) Removed.  Changed all usages to just
300         "/".
301         (macro PATH_SEPARATOR_STRING) Removed.  Changed all usages to just
302         ":"
303
304 Sun Apr 16 18:28:35 2006  Ben Pfaff  <blp@gnu.org>
305
306         GNU standards require "file name" instead of "filename" in
307         documentation.  It's nice for our code to follow the convention
308         too.
309         
310         * filename.c: Rename to file-name.c.
311
312         * filename.h: Rename to file-name.h.  Update all inclusions.
313         Update header guards.
314
315         * automake.mk: Update file names.
316
317 Sun Apr 16 16:42:47 2006  Ben Pfaff  <blp@gnu.org>
318
319         * filename.c: (fn_dirname) Renamed fn_dir_name(), all references
320         updated.
321         (fn_basename) Removed (dead code).
322         (fn_absolute_p) Renamed fn_is_absolute(), all references updated.
323         (fn_special_p) Renamed fn_is_special(), all references updated.
324         (fn_exists_p) Renamed fn_exists(), all references updated.
325
326 Sun Apr 16 16:33:58 2006  Ben Pfaff  <blp@gnu.org>
327
328         * filename.c: (fn_tilde_expand) Rewrite for cleaner code.  
329         Also, now it only tilde-expands file names, not paths.
330         (fn_search_path) Tilde-expand one directory at a time.
331
332 Sun Apr 16 16:28:06 2006  Ben Pfaff  <blp@gnu.org>
333
334         * filename.c: (fn_search_path) rewrite for cleaner code.  Also,
335         get rid of non-Unixlike version of the code, which has probably
336         never been tested.
337         (fn_prepend_dir) Removed (dead code).
338
339         * filename.h: (macro DIR_SEPARATOR_STRING) New.
340         (macro PATH_SEPARATOR_STRING) New.
341 Sun Apr 16 16:05:28 2006  Ben Pfaff  <blp@gnu.org>
342
343         Continue reforming error message support.  In this phase, we get
344         rid of VM() and the other msg() support for "verbosity", replacing
345         it by a new function verbose_msg().
346
347         * filename.c: (fn_search_path) Use verbose_msg() instead of
348         msg(VM(), ...).  
349
350 Sat Apr 15 19:53:19 2006  Ben Pfaff  <blp@gnu.org>
351
352         * sfm-private.h: Get rid of #defines after #error, which makes no
353         sense.
354
355 Sat Apr 15 19:48:57 2006  Ben Pfaff  <blp@gnu.org>
356
357         Get rid of our own int32 type in favor of the standard int32_t
358         type.
359         
360         * sfm-private.h: (int32 macro) Don't define this anymore.  Do
361         include <stdint.h>.
362
363         * sys-file-reader.c: Use int32_t instead of int32 throughout.
364         
365         * sys-file-writer.c: Use int32_t instead of int32 throughout.
366
367 Sat Apr 15 19:36:47 2006  Ben Pfaff  <blp@gnu.org>
368
369         Remove ill-considered file routines that are no longer used.
370         
371         * filename.c: (fn_open_ext) Removed.
372         (fn_close_ext) Removed.
373
374         * filename.h: (struct file_ext) Removed.
375
376 Mon Apr  3 13:22:39 2006  Ben Pfaff  <blp@gnu.org>
377
378         * variable.c (var_is_valid_name): Move declarations before code
379         for C90 compliance.
380
381 Tue Apr  4 15:28:40 WST 2006 John Darrington <john@darrington.wattle.id.au>
382
383         * filename.ch (fn_interp_vars): Fixed small buglet.
384
385 Tue Mar 28 13:47:16 WST 2006 John Darrington <john@darrington.wattle.id.au>
386         
387         * filename.[ch] (fn_interp_vars): Changed the signature and semantics
388         so as to modify the string inline.   Thus makeing it easier to
389         destroy the results when no longer needed.
390         
391 2006-03-25  Jason Stover  <jhs@math.gcsu.edu>
392
393         * category.c (cat_stored_values_destroy): Fixed memory leak.
394
395 Fri Mar 24 18:15:41 2006  Ben Pfaff  <blp@gnu.org>
396
397         Add some missing frees.  Thanks to John Darrington for reporting
398         these.
399
400         * any-writer.c (any_writer_close): Free writer.
401
402         * any-reader.c (any_reader_close): Free reader.
403
404 Mon Mar 20 16:33:53 2006  Ben Pfaff  <blp@gnu.org>
405
406         * por-file-reader.c: (error) Mark as NO_RETURN.
407
408 Sat Mar 11 15:06:07 WST 2006 John Darrington <john@darrington.wattle.id.au>
409
410         * settings.c: Changed default value of scompress to true.
411
412 Sat Mar  4 13:22:51 2006  Ben Pfaff  <blp@gnu.org>
413
414         * sfm-private.h: Include variable.h, to get SHORT_NAME_LEN.
415
416         * value.h: Remove check on MAX_SHORT_STRING, which I don't think
417         really applies.
418
419         * variable.h: Move definition of SHORT_NAME_LEN, LONG_NAME_LEN
420         here from pref.h.orig.
421
422 Sat Mar  4 12:50:48 WST 2006 John Darrington <john@darrington.wattle.id.au>
423
424         * sys-file-reader.c: Fixed bug reading compressed files.
425
426 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
427
428         * Numerous renames.  See src/ChangeLog for details.
429         
430         * Moved files from src directory