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