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