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