Use gsl_finite from GSL, which is portable, instead of isfinite, which
[pspp-builds.git] / src / data / ChangeLog
1 Thu Dec  7 17:38:26 2006  Ben Pfaff  <blp@gnu.org>
2
3         Thanks to Jason Stover for pointing out this problem.
4         
5         * data-out.c (output_number): Use gsl_finite from GSL, which is
6         portable, instead of isfinite, which is not.
7         (power256) Ditto.
8
9 Thu Dec  7 15:22:38 WST 2006 John Darrington <john@darrington.wattle.id.au>
10
11         * variable.c variable.h (value_dup): New function.
12
13 Mon Dec  4 22:20:17 2006  Ben Pfaff  <blp@gnu.org>
14
15         Start converting struct variable to an opaque.  In this phase, we
16         add a bunch of setter and getter functions and convert most of the
17         PSPP code to use them.  The resulting changes are pervasive but
18         mostly trivial, and only the notable changes are logged.
19         
20         * format.c (fmt_equal): New function.
21         
22         * variable.c (var_type_is_valid): New function.
23         (measure_is_valid) Moved here, from format.c.
24         (alignment_is_valid) Moved here, from format.c.
25         (var_get_name) New function.
26         (var_set_name) New function.
27         (width_to_type) New function.
28         (var_get_type) New function.
29         (var_get_width) New function.
30         (var_set_width) New function.
31         (var_is_numeric) New function.
32         (var_is_alpha) New function.
33         (var_is_short_string) New function.
34         (var_is_long_string) New function.
35         (var_is_very_long_string) New function.
36         (var_get_missing_values) New function.
37         (var_set_missing_values) New function.
38         (var_clear_missing_values) New function.
39         (var_has_missing_values) New function.
40         (var_is_value_missing) New function.
41         (var_is_num_missing) New function.
42         (var_is_str_missing) New function.
43         (var_is_value_user_missing) New function.
44         (var_is_num_user_missing) New function.
45         (var_is_str_user_missing) New function.
46         (var_is_value_system_missing) New function.
47         (var_get_print_format) New function.
48         (var_set_print_format) New function.
49         (var_get_write_format) New function.
50         (var_set_write_format) New function.
51         (var_set_both_formats) New function.
52         (var_get_label) New function.
53         (var_set_label) New function.
54         (var_clear_label) New function.
55         (var_has_label) New function.
56         (var_get_measure) New function.
57         (var_set_measure) New function.
58         (var_get_display_width) New function.
59         (var_set_display_width) New function.
60         (var_get_alignment) New function.
61         (var_set_alignment) New function.
62         (var_get_value_cnt) New function.
63         (var_get_leave) New function.
64         (var_get_short_name) New function.
65
66         * variable.h: (struct variable) Removed "type" and "nv" members;
67         they are now computed from "width" where needed.
68
69 Mon Dec  4 21:38:40 2006  Ben Pfaff  <blp@gnu.org>
70
71         * missing-values.c (mv_resize): Don't write beyond end of the
72         allocated buffer when resizing a long string.
73
74 Sat Dec  2 16:28:32 2006  Ben Pfaff  <blp@gnu.org>
75
76         Clean up identifier code: don't require identifier enumerations to
77         be in a particular order; make better use of string library;
78         expose less of the internals.
79                 
80         * identifier.c: (lex_skip_identifier) Rename lex_id_get_length,
81         change interface.  Updated all callers.
82         (lex_id_match) Change interface to use struct substring, update
83         all callers.
84         (lex_id_match_len) Removed.  Update callers to use lex_id_match.
85         (global array keywords[]) Make static, change form.  Update all
86         users to use lex_id_name instead.
87         (lex_is_keyword) New function.
88         (lex_id_to_token) Change interface to use struct substring, update
89         all callers.
90         (lex_id_name) New function.
91
92         * identifier.h: (T_FIRST_KEYWORD) Removed.  Changed users to call
93         lex_is_keyword instead.
94         (T_LAST_KEYWORD) Removed.
95         (T_N_KEYWORDS) Removed.
96         
97 Sat Nov 18 20:46:35 2006  Ben Pfaff  <blp@gnu.org>
98
99         * format.c: (fmt_date_template) Distinguish characters for which a
100         space is output and any date delimiter is allowed on input, from
101         those for which a space is output and only a space is allowed on
102         input.  The former is represented by X, the latter by a space.
103         Also, drop distinction between h and H, changing the former to the
104         latter.
105
106         * data-in.c: Completely rewrite internals to conform to SPSS input
107         formats as closely as possible.
108         (data_in) Changed external interface by replacing the structure
109         that was used as a single argument by a set of arguments.  Updated
110         all callers.
111         (data_in_finite_line) Removed.  Converted all callers to use plain
112         data_in.
113         (data_in_get_integer_format) New function.
114         (data_in_set_integer_format) New function.
115         (data_in_get_float_format) New function.
116         (data_in_set_float_format) New function.
117
118         * data-in.h: (enums DI_IGNORE_ERROR, DI_IMPLIED_DECIMALS) Removed.
119         (struct data_in) Removed.
120
121         * data-out.c: (output_date) Drop each component from the input as
122         it is output, to allow us to drop the distinction between h (a
123         count of hours) and H (the hour of day) template characters.
124         Also, handle new X template character.
125         (output_scientific) Follow more rational rule on when to drop
126         fraction introduced between SPSS 13 and 15.  Updated test case to
127         match new behavior.
128
129 Sat Nov 11 11:41:26 2006  Ben Pfaff  <blp@gnu.org>
130
131         Fix buffer overflow reported by John Darrington.
132
133         * data-out.c (output_bcd_integer): In case of SYSMIS, etc.,
134         realize that DIGITS is a count of nibbles, not of bytes.
135
136 Sat Nov  4 15:59:56 2006  Ben Pfaff  <blp@gnu.org>
137
138         * calendar.c (calendar_offset_to_gregorian) Also return the
139         year-of-day.  Change callers to new interface.
140
141         * data-out.c: Completely rewrite internals to conform to SPSS
142         output formats as completely as possible.
143         (data_out) Change interface to put input parameters before output
144         parameters, for consistency with the style I now prefer.  Update
145         all callers.
146         (data_out_get_integer_format) New public function.
147         (data_out_set_integer_format) New public function.
148         (data_out_get_float_format) New public function.
149         (data_out_set_float_format) New public function.
150
151         * data-out.h: New file.  Move prototype for data_out here, from
152         format.h.
153
154         * format.c: (fmt_step_width) Use equality comparison instead of
155         bitwise and, for clarity.
156         (fmt_is_string) Ditto.
157         (fmt_input_to_output) Fix categories that are translated to F
158         format.
159
160 Sun Nov  5 08:29:34 WST 2006 John Darrington <john@darrington.wattle.id.au>
161
162         * casefilter.c casefilter.h (new files), casefile.c casefile.h 
163         casefile-private.h: Added casefilter to assist commands with missing 
164         values.
165
166 Sat Nov  4 11:47:09 2006  Ben Pfaff  <blp@gnu.org>
167
168         Implement SET ERRORS, SHOW ERRORS.  Fixes bug #17609.
169         
170         * settings.c: (route_errors_to_terminal) New variable.
171         (route_errors_to_listing) New variable. 
172         (get_error_routing_to_terminal) New function.
173         (set_error_routing_to_terminal) New function.
174         (get_error_routing_to_listing) New function.
175         (set_error_routing_to_listing) New function.
176
177         * settings.h: (SET_ROUTE_* enums) Removed, because unused.
178
179 Tue Oct 31 19:58:27 2006  Ben Pfaff  <blp@gnu.org>
180
181         * format.c: Completely rewrite, to achieve better abstraction.
182         Rewrite all references to formats in other files.
183         
184         * format.def: Rewrite and reorganize.
185
186         * settings.c: Move everything related to custom currency formats
187         into format.[ch], changing them in form, so as to group related
188         code and definitions better.  Changed all references to use the
189         new functions.
190         (static var decimal) Removed.
191         (static var grouping) Removed.
192         (static var cc) Removed.
193         (get_decimal) Removed.
194         (set_decimal) Removed.
195         (get_grouping) Removed.
196         (set_grouping) Removed.
197         (get_cc) Removed.
198         (set_cc) Removed.
199
200         * settings.h: (macro CC_CNT) Removed.
201         (macro CC_WIDTH) Removed.
202         (struct custom_currency) Removed.
203
204 Tue Oct 31 19:56:19 2006  Ben Pfaff  <blp@gnu.org>
205
206         * data-in.c (data_in): Use switch statement instead of table, to
207         avoid dependence on the order of the FMT_* enums.
208
209 Tue Oct 31 19:35:36 2006  Ben Pfaff  <blp@gnu.org>
210
211         * data-out.c: (num_to_string) Removed, because it was dead code.
212
213 Tue Oct 31 18:09:24 2006  Ben Pfaff  <blp@gnu.org>
214
215         * data-in.c (parse_trailer): Fix error message.
216
217 Sat Oct 28 11:56:50 2006  Ben Pfaff  <blp@gnu.org>
218
219         * format.c (fmt_is_binary): New function.
220
221 Thu Oct 19 22:59:56 WST 2006 John Darrington <john@darrington.wattle.id.au>
222
223         * procedure.c procedure.h: Encapsulated the static data into a single
224         struct.  
225
226 Sat Oct 14 16:56:44 2006  Ben Pfaff  <blp@gnu.org>
227
228         * casefile.c (casereader_read_xfer): Always initialize the case,
229         even on an error condition.
230
231 Wed Sep 27 09:37:49 WST 2006 John Darrington <john@darrington.wattle.id.au>
232
233         * procedure.c (case_limit_trns_proc): Fixed buglet which rendered the 
234         entire function useless.
235
236 Mon Sep 25 17:11:46 WST 2006 John Darrington <john@darrington.wattle.id.au>
237
238         * casefile-private.h casefile.c casefile.h fastfile.c: Created new
239         casereader method casereader_clone.   
240         
241         * procedure.c pransformations.h: Introduced new type casenum_t
242
243 Thu Sep 21 07:00:30 2006  Ben Pfaff  <blp@gnu.org>
244
245         * variable.c: (width_to_bytes) Rephrase code for clarify.
246
247 Sun Jul 16 19:52:03 2006  Ben Pfaff  <blp@gnu.org>
248
249         * format.c: (fmt_type_from_string) New function.
250         (fmt_to_string) Include decimals in output if the format has
251         decimals, even if the format type does not.  This way, we can
252         accurately reproduce incorrect formats in user output.
253         (check_common_specifier) Make the check for a bad format type an
254         assertion, so we get bug reports if they show up.  Fix message.
255         Check for decimal places with a format type that doesn't allow
256         them.
257         (check_input_specifier) Remove check for FMT_X, which has been
258         deleted.
259         (check_output_specifier) Ditto. 
260
261         * format.def: Remove FMT_T, FMT_X, FMT_DESCEND, FMT_NEWREC.
262
263         * format.h: (macro FMT_TYPE_LEN_MAX) New macro.
264         (struct fmt_desc) Use FMT_TYPE_LEN_MAX in definition.
265         (enum fmt_parse_flags) Removed.
266
267 Mon Jul 17 18:26:21 WST 2006 John Darrington <john@darrington.wattle.id.au>
268
269         * casefile.c casefile.h: Converted to  an abstract base class.
270         * casefile-private.h fastfile.c fastfile.h: New files.
271         * automake.mk procedure.c scratch-writer.c storage-stream.c
272
273 Wed Jul 12 21:02:26 2006  Ben Pfaff  <blp@gnu.org>
274
275         * procedure.c (internal_procedure): Create sink_case with only as
276         many values as the compacted dictionary.
277
278 Wed Jul 12 21:01:00 2006  Ben Pfaff  <blp@gnu.org>
279
280         Remove "debugging" code that caused plenty of false positives and
281         no true positives.
282         
283         * case.h (struct ccase): [DEBUGGING] Remove `this' member.
284
285         * case.c: Remove all references to `this' member.
286
287 Thu Jul  6 19:09:53 2006  Ben Pfaff  <blp@gnu.org>
288
289         Fix link error noted by Jason Stover.
290         
291         * storage-stream.c: Include <assert.h>.
292
293 Tue Jul  4 08:47:35 2006  Ben Pfaff  <blp@gnu.org>
294
295         Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support
296         ALL) and additional underlying system file issues.
297
298         Thanks to John Darrington for review.
299
300         First problem: var_hash points to variables not owned by the
301         sys-file-reader, which the caller may free or modify.  Use an
302         array of sfm_vars instead, as done earlier (e.g. CVS version
303         1.12).
304         
305         * sys-file-reader.c (struct sfm_reader): Remove var_hash, svars
306         members and remove all code that references it.  Add vars, var_cnt
307         members.  Remove fix_specials member, which was unused.
308         (struct sfm_var) Remove name member, which was unused.
309         (sfm_close_reader) Free vars member instead of var_hash.
310         (compare_var_shortnames) Removed.
311         (hash_var_shortname) Removed.
312         (sfm_open_reader) Fill out vars array.
313         (compare_var_index) Removed.
314         (sfm_read_case) Use vars instead of var_hash.
315         
316         Second problem: we're confused about when we actually have very
317         long strings, causing us to choose incorrectly between slow path
318         and fast path in sfm_read_case.
319
320         * sys-file-reader.c: (sfm_open_reader) Only mark has_vls if we
321         have very long strings, not when we have long variable names,
322         which is an unrelated feature.
323
324 Tue Jun 27 12:06:49 2006  Ben Pfaff  <blp@gnu.org>
325
326         * variable.h: Move var_set and variable parsing declarations to
327         new header, src/language/lexer/variable-parser.h.  Modified lots
328         of files to include the new header.
329
330 Sun Jun 25 22:39:32 2006  Ben Pfaff  <blp@gnu.org>
331
332         * value-labels.c (value_to_string): When there's no value label,
333         format the variable according to its print format, instead of
334         always effectively using A or F format.
335
336 Mon Jun 19 18:05:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
337
338         * casefile.c (casefile_get_random_reader): Nasty hack to get around 
339         the mode assertion.
340
341         * format.c: Removed tortological assertion.
342
343 Fri Jun  9 12:20:09 2006  Ben Pfaff  <blp@gnu.org>
344
345         Reform string library.
346         
347         * file-name.c (fn_interp_vars): Change interface to take a
348         substring as input.  Updated all users.
349         
350 Fri Jun  9 12:11:24 2006  Ben Pfaff  <blp@gnu.org>
351
352         * format.c (measure_is_valid): Really return false when m >=
353         n_MEASURES.
354
355 Tue Jun  6 18:46:26 2006  Ben Pfaff  <blp@gnu.org>
356
357         Implement random access to casefiles, for use in GUI.
358         
359         * casefile.c: (struct casereader) Add `random', `file_ofs',
360         `buffer_ofs' members.
361         (casefile_get_random_reader) New function.
362         (read_open_file) Break part into new function
363         seek_and_fill_buffer().
364         (fill_buffer) Update buffer_ofs, file_ofs.
365         (casereader_seek) New function.
366
367 Tue May 30 19:52:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
368
369         * settings.c: Added call to i18n{done, init}.
370
371 Tue May  9 21:09:17 2006  Ben Pfaff  <blp@gnu.org>
372
373         * procedure.h: Add WARN_UNUSED_RESULT to procedure function
374         prototypes.
375
376 Tue May  9 21:08:05 2006  Ben Pfaff  <blp@gnu.org>
377
378         * casefile.c: Convert many uses of `int' to `bool'.
379
380 Sat May  6 22:49:43 2006  Ben Pfaff  <blp@gnu.org>
381
382         * transformations.c (trns_chain_destroy): Destroy chain's trns
383         member, to fix memory leak.
384
385 Sat May  6 22:48:30 2006  Ben Pfaff  <blp@gnu.org>
386
387         * storage-stream.c (storage_source_decapsulate): Destroy case
388         source to fix memory leak.
389
390 Sat May  6 22:46:47 2006  Ben Pfaff  <blp@gnu.org>
391
392         * scratch-reader.c (scratch_reader_read_case): Copy into existing
393         case passed as argument instead of initializing the argument as a
394         case.  Fixes memory leak that showed up in
395         tests/command/aggregate.sh with scratch files.
396
397 Sat May  6 22:45:55 2006  Ben Pfaff  <blp@gnu.org>
398
399         * procedure.c (proc_done): Destroy default_dict, to fix memory
400         leak.
401
402 Sat May  6 22:44:44 2006  Ben Pfaff  <blp@gnu.org>
403
404         Simplify procedure_with_splits().
405         
406         * procedure.c (struct split_aux_data): Removed case_count member.
407         (procedure_with_splits) Don't initialize case_count.
408         (split_procedure_case_func) Check whether prev_case is null
409         instead of case_count.
410         (split_procedure_end_func) Ditto.
411
412 Sat May  6 22:42:23 2006  Ben Pfaff  <blp@gnu.org>
413
414         * case.c (case_move): Do nothing if dst and src are the same
415         object.
416         (case_try_create) Merge two similar cases.
417         (case_copy) Unshare only if data must be actually copied.
418
419 Sun May  7 10:04:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
420
421         * data-in.c data-out.c dictionary.c sys-file-reader.c
422         sys-file-writer.c variable.c variable.h:  Reworked very long string
423         support for better encapsulation.
424
425 Sat May  6 19:02:00 2006  Ben Pfaff  <blp@gnu.org>
426
427         * value-labels.c (val_labs_can_set_width): New function.
428         (val_labs_set_width) Clear labels if increasing width to long
429         string.
430         (val_labs_destroy) Remove unneeded test for null.
431         
432 Sat May  6 16:14:08 2006  Ben Pfaff  <blp@gnu.org>
433
434         * value-labels.h: Remove unneeded dependency on variable.h.
435
436 Sat May  6 15:58:36 2006  Ben Pfaff  <blp@gnu.org>
437
438         Get rid of `char *c' member in union value, for cleanliness.
439         
440         * value.h: (union value) Remove `c' member.
441
442 Sat May  6 15:36:59 2006  Ben Pfaff  <blp@gnu.org>
443
444         Make dictionary compacting functions a little more general.
445         
446         * sys-file-writer.c (sfm_open_writer): Use
447         dict_compacting_would_change().
448         (does_dict_need_translation) Removed.
449
450 Sat May  6 15:35:42 2006  Ben Pfaff  <blp@gnu.org>
451
452         Make dictionary compacting functions a little more general.
453         
454         * dictionary.c (dict_needs_compaction): Rename
455         dict_compacting_would_shrink().  Update all callers.
456         (dict_compacting_would_change) New function.
457         
458 Sat May  6 14:25:49 2006  Ben Pfaff  <blp@gnu.org>
459
460         * sys-file-writer.c: (does_dict_need_translation) Fix bug:
461         inverted return value (!).
462
463 Sat May  6 13:37:52 2006  Ben Pfaff  <blp@gnu.org>
464
465         Continue reforming procedure execution.  
466
467         * procedure.c: Search and replace "vfm" by "proc".  Notably:
468         (static var vfm_source) Rename proc_source.  Update all
469         references.
470         (static var vfm_sink) Rename proc_sink.  Update all references.
471         
472 Sat May  6 12:38:55 2006  Ben Pfaff  <blp@gnu.org>
473
474         Continue reforming procedure execution.  In this phase, remove
475         PROCESS IF, which was deprecated anyway and can be easily
476         simulated with TEMPORARY followed by SELECT IF.
477
478         * procedure.c: (open_active_file) Don't call
479         add_process_if_trns().
480         (discard_variables) Get rid of redundant call to
481         proc_cancel_all_transformations().
482         (add_process_if_trns) Removed.
483         (process_if_trns_proc) Removed.
484         (process_if_trns_free) Removed.
485
486 Sat May  6 10:58:05 2006  Ben Pfaff  <blp@gnu.org>
487
488         Continue reforming procedure execution.  In this phase, add
489         `const' to the case passed to procedure()'s callback.
490
491         Updated all users of procedure() as well.
492         
493         * procedure.c: (struct write_case_data) Add "const" to ccase
494         parameter for case_func member.
495         (procedure) Add "const" to ccase parameter for proc_func
496         parameter.
497         (multipass_case_func) Make ccase parameter const.
498         (internal_procedure) Add "const" to ccase parameter for case_func
499         parameter.
500         (split_procedure_case_func) Make ccase parameter const.
501         (multipass_split_case_func) Make ccase parameter const.
502         
503 Sat May  6 10:30:33 2006  Ben Pfaff  <blp@gnu.org>
504
505         Continue reforming procedure execution.  In this phase, get rid of
506         the output code for SPLIT FILE groups in procedure.c, which really
507         shouldn't be doing any output.  Move it into the individual
508         procedures instead.  This also adds some flexibility.
509
510         Updated many users of procedure_with_splits() and
511         multipass_procedure_with_splits() to call
512         output_split_file_values() and to deal with increased use of
513         const.
514
515         * procedure.c: (struct split_aux_data) Add "const struct ccase *"
516         parameter to begin_func member.
517         (procedure_with_splits) Add "const struct ccase *" parameter to
518         begin_func parameter.  Make ccase parameter const in proc_func
519         parameter.
520         (split_procedure_case_func) Don't dump split file group.  Pass
521         case to begin_func.
522         (dump_splits) Moved to language/dictionary/split-file.c as
523         output_split_file_values().
524         (struct multipass_split_aux_data) Add "const struct ccase *"
525         parameter to split_func member.
526         (multipass_procedure_with_splits) Add "const struct ccase *"
527         parameter to split_func parameter.
528         (multipass_split_case_func) Save new SPLIT FILE case before
529         outputting case.
530         (multipass_split_output) Pass saved SPLIT FILE case to split_func.
531         
532 Fri May  5 22:48:50 2006  Ben Pfaff  <blp@gnu.org>
533
534         Continue reforming procedure execution.  Change
535         internal_procedure() so that it calls open_active_file() and
536         close_active_file(), which isolates most of the actual procedure
537         functionality.
538
539         * procedure.c: (struct write_case_data) Rename `proc_func' member
540         to `case_func' and update all references.
541         (procedure) Rewrite as one-line wrapper around
542         internal_procedure().
543         (struct multipass_aux_data) New.
544         (multipass_callback) Renamed multipass_case_func().  Use struct
545         multipass_aux_data as auxiliary data.
546         (multipass_end_func) New function.
547         (multipass_procedure) Rewrite as wrapper for internal_procedure()
548         that uses multipass_case_func, multipass_end_func.
549         (internal_procedure) Add `end_func' argument.  Move optimization
550         of trivial case in here.  Move call to open_active_file() and
551         close_active_file() in here.  Now assert that vfm_source is
552         non-null.
553         (procedure_with_splits_callback) Rename
554         split_procedure_case_func().
555         (split_procedure_end_func) New function.
556         (multipass_split_callback) Rename multipass_split_case_func.
557         (multipass_split_end_func) New function.
558         (discard_variables) No need to test for nonnull vfm_source.
559
560 Fri May  5 21:34:02 2006  Ben Pfaff  <blp@gnu.org>
561
562         Continue reforming procedure execution.  Get rid of unused member.
563
564         * procedure.c: (struct write_case_data) Remove `cases_analyzed'
565         member.
566         (write_case) Don't increment cases_analyzed.
567
568 Thu May  4 21:50:11 2006  Ben Pfaff  <blp@gnu.org>
569
570         Continue reforming procedure execution.  In this phase, move
571         procedure.c and procedure.h from src to src/data.  Update
572         makefiles and #includes accordingly.
573
574         * procedure.c: Moved here from src/.
575
576         * procedure.h: Moved here from src/.
577
578 Wed May  3 22:42:12 2006  Ben Pfaff  <blp@gnu.org>
579
580         Continue reforming procedure execution.  In this phase, get rid of
581         many global variables, consolidating procedure execution in
582         procedure.c.  Encapsulate transformations in new "struct
583         trns_chain".  Also, change implementation of N OF CASES, FILTER,
584         and PROCESS IF from special cases to transformations.
585          
586         * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c,
587         transformations.h.
588
589         * dictionary.c: (global variable default_dict) Move to
590         src/procedure.c.
591
592         * variable.h: (TRNS_*) Move to transformations.h.
593         (struct transformation) Move to transformations.c.
594
595 Thu May  4 13:47:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
596
597         * sys-file-reader.c: Fixed invalid read problems.
598
599 Tue May  2 15:57:10 2006  Ben Pfaff  <blp@gnu.org>
600
601         * storage-stream.c: Add missing function comments.
602
603 Tue May  2 15:50:21 2006  Ben Pfaff  <blp@gnu.org>
604
605         Continue reforming procedure execution.  In this phase, add some
606         new, needed functionality to storage-stream.
607
608         * storage-stream.c: (storage_source_decapsulate) New function.
609
610 Tue May  2 15:43:36 2006  Ben Pfaff  <blp@gnu.org>
611
612         * variable.c (width_to_bytes): Declarations must precede
613         statements for C90 compliance.
614
615 Tue May  2 10:42:05 WST 2006 John Darrington <john@darrington.wattle.id.au>
616
617         * data-out.c, data-in.c, variable.c, variable.h: New functions 
618         copy_mangle and copy_demangle for reading/writing cases; emulates the 
619         way SPSS deals with strings > 255 bytes.
620
621         * sys-file-reader.c sys-file-writer.c: Added support for Record 7, 
622         subtype 14 needed for strings longer than 255 bytes.
623
624         * dictionary.c, format.def, value.c : Updated to use MAX_STRING 
625         instead of literal values. Also fixed some constness issues.
626
627         * format.h: Constness
628
629         * sfm-private.h: Renamed the case_size identifier, since I discovered 
630         that SPSS's respect for this variable is very nominal.
631
632 Mon May  1 15:45:42 2006  Ben Pfaff  <blp@gnu.org>
633
634         Change case limit type from int to size_t.
635
636         * dictionary.c: (struct dictionary) Change type of case_limit
637         member.
638         (dict_get_case_limit) Change return type.
639         (dict_set_case_limit) Change parameter type.
640
641 Wed Apr 26 20:01:19 2006  Ben Pfaff  <blp@gnu.org>
642
643         * variable.h: (struct variable) Rename `reinit' member as `leave'
644         and invert sense.  Fix up all references.
645
646 Wed Apr 26 19:39:28 2006  Ben Pfaff  <blp@gnu.org>
647
648         Continue reforming procedure execution.  In this phase, break
649         procedure.c into multiple files.
650         
651         * automake.mk: (src_data_libdata_a_SOURCES) Add all the new files.
652
653         * case-sink.c: New file.
654
655         * case-sink.h: New file.
656         
657         * case-source.c: New file.
658
659         * case-source.h: New file.
660         
661         * storage-stream.c: New file.
662
663         * storage-stream.h: New file.
664
665 Wed Apr 26 14:55:19 2006  Ben Pfaff  <blp@gnu.org>
666
667         * variable.h: (struct variable) Remove `init' member and all
668         references to it from other files.  It was initialized in several
669         places, but nothing really ever used it for anything worthwhile.
670         Thanks to Jason Stover for pointing out how confusing this
671         member is.
672
673 Sun Apr 23 22:04:45 2006  Ben Pfaff  <blp@gnu.org>
674
675         Continue reforming error message support.  In this phase, get rid
676         of message "titles" and put the message text in `struct error'.
677         Now `struct error' encapsulates a message more properly.
678         
679         * casefile.c: (io_error) Use err_msg() instead of err_vmsg().
680         Format message ourselves.
681
682         * data-in.c: (vdls_error) Ditto.
683
684         * por-file-reader.c: (error) Ditto.
685
686         * sys-file-reader.c: (corrupt_msg) Ditto.
687
688 Sun Apr 16 18:49:51 2006  Ben Pfaff  <blp@gnu.org>
689
690         GNU standards require "file name" instead of "filename" in
691         documentation.  It's nice for our code to follow the convention
692         too.
693         
694         * casefile.c: (struct casefile) Rename `filename' member to
695         `file_name'.  Updated all references.
696
697         * file-name.c: [!unix] (struct file_identity) Rename
698         normalized_filename member to normalized_file_name.  Updated all
699         references.
700
701 Sun Apr 16 18:35:33 2006  Ben Pfaff  <blp@gnu.org>
702
703         We don't really support anything but Unix-like environments well,
704         so we might as well de-obfuscate by writing directory and path
705         separators explicitly.
706
707         * file-name.h: (macro DIR_SEPARATOR) Removed.  Changed all usages
708         to just '/'.
709         (macro PATH_SEPARATOR) Removed.  Changed all usages to just ':'.
710         (macro DIR_SEPARATOR_STRING) Removed.  Changed all usages to just
711         "/".
712         (macro PATH_SEPARATOR_STRING) Removed.  Changed all usages to just
713         ":"
714
715 Sun Apr 16 18:28:35 2006  Ben Pfaff  <blp@gnu.org>
716
717         GNU standards require "file name" instead of "filename" in
718         documentation.  It's nice for our code to follow the convention
719         too.
720         
721         * filename.c: Rename to file-name.c.
722
723         * filename.h: Rename to file-name.h.  Update all inclusions.
724         Update header guards.
725
726         * automake.mk: Update file names.
727
728 Sun Apr 16 16:42:47 2006  Ben Pfaff  <blp@gnu.org>
729
730         * filename.c: (fn_dirname) Renamed fn_dir_name(), all references
731         updated.
732         (fn_basename) Removed (dead code).
733         (fn_absolute_p) Renamed fn_is_absolute(), all references updated.
734         (fn_special_p) Renamed fn_is_special(), all references updated.
735         (fn_exists_p) Renamed fn_exists(), all references updated.
736
737 Sun Apr 16 16:33:58 2006  Ben Pfaff  <blp@gnu.org>
738
739         * filename.c: (fn_tilde_expand) Rewrite for cleaner code.  
740         Also, now it only tilde-expands file names, not paths.
741         (fn_search_path) Tilde-expand one directory at a time.
742
743 Sun Apr 16 16:28:06 2006  Ben Pfaff  <blp@gnu.org>
744
745         * filename.c: (fn_search_path) rewrite for cleaner code.  Also,
746         get rid of non-Unixlike version of the code, which has probably
747         never been tested.
748         (fn_prepend_dir) Removed (dead code).
749
750         * filename.h: (macro DIR_SEPARATOR_STRING) New.
751         (macro PATH_SEPARATOR_STRING) New.
752 Sun Apr 16 16:05:28 2006  Ben Pfaff  <blp@gnu.org>
753
754         Continue reforming error message support.  In this phase, we get
755         rid of VM() and the other msg() support for "verbosity", replacing
756         it by a new function verbose_msg().
757
758         * filename.c: (fn_search_path) Use verbose_msg() instead of
759         msg(VM(), ...).  
760
761 Sat Apr 15 19:53:19 2006  Ben Pfaff  <blp@gnu.org>
762
763         * sfm-private.h: Get rid of #defines after #error, which makes no
764         sense.
765
766 Sat Apr 15 19:48:57 2006  Ben Pfaff  <blp@gnu.org>
767
768         Get rid of our own int32 type in favor of the standard int32_t
769         type.
770         
771         * sfm-private.h: (int32 macro) Don't define this anymore.  Do
772         include <stdint.h>.
773
774         * sys-file-reader.c: Use int32_t instead of int32 throughout.
775         
776         * sys-file-writer.c: Use int32_t instead of int32 throughout.
777
778 Sat Apr 15 19:36:47 2006  Ben Pfaff  <blp@gnu.org>
779
780         Remove ill-considered file routines that are no longer used.
781         
782         * filename.c: (fn_open_ext) Removed.
783         (fn_close_ext) Removed.
784
785         * filename.h: (struct file_ext) Removed.
786
787 Mon Apr  3 13:22:39 2006  Ben Pfaff  <blp@gnu.org>
788
789         * variable.c (var_is_valid_name): Move declarations before code
790         for C90 compliance.
791
792 Tue Apr  4 15:28:40 WST 2006 John Darrington <john@darrington.wattle.id.au>
793
794         * filename.ch (fn_interp_vars): Fixed small buglet.
795
796 Tue Mar 28 13:47:16 WST 2006 John Darrington <john@darrington.wattle.id.au>
797         
798         * filename.[ch] (fn_interp_vars): Changed the signature and semantics
799         so as to modify the string inline.   Thus makeing it easier to
800         destroy the results when no longer needed.
801         
802 2006-03-25  Jason Stover  <jhs@math.gcsu.edu>
803
804         * category.c (cat_stored_values_destroy): Fixed memory leak.
805
806 Fri Mar 24 18:15:41 2006  Ben Pfaff  <blp@gnu.org>
807
808         Add some missing frees.  Thanks to John Darrington for reporting
809         these.
810
811         * any-writer.c (any_writer_close): Free writer.
812
813         * any-reader.c (any_reader_close): Free reader.
814
815 Mon Mar 20 16:33:53 2006  Ben Pfaff  <blp@gnu.org>
816
817         * por-file-reader.c: (error) Mark as NO_RETURN.
818
819 Sat Mar 11 15:06:07 WST 2006 John Darrington <john@darrington.wattle.id.au>
820
821         * settings.c: Changed default value of scompress to true.
822
823 Sat Mar  4 13:22:51 2006  Ben Pfaff  <blp@gnu.org>
824
825         * sfm-private.h: Include variable.h, to get SHORT_NAME_LEN.
826
827         * value.h: Remove check on MAX_SHORT_STRING, which I don't think
828         really applies.
829
830         * variable.h: Move definition of SHORT_NAME_LEN, LONG_NAME_LEN
831         here from pref.h.orig.
832
833 Sat Mar  4 12:50:48 WST 2006 John Darrington <john@darrington.wattle.id.au>
834
835         * sys-file-reader.c: Fixed bug reading compressed files.
836
837 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
838
839         * Numerous renames.  See src/ChangeLog for details.
840         
841         * Moved files from src directory