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