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