Patch #6441. Reviewed by John Darrington.
[pspp-builds.git] / src / libpspp / ChangeLog
1 2008-03-04  Ben Pfaff  <blp@gnu.org>
2
3         Patch #6441.  Reviewed by John Darrington.
4
5         * str.c (ss_match_char_in): New function.
6
7 2008-02-18  Ben Pfaff  <blp@gnu.org>
8
9         Patch #6426.  Thanks to John Darrington for review.
10
11         * str.c (ds_read_line): Add argument to limit the length of the
12         line to be read.  Update all callers.
13
14 2008-02-01  Ben Pfaff  <blp@gnu.org>
15
16         Patch #6386.  Thanks to John Darrington for review.
17
18         * str.c (str_format_26adic): New function.
19
20 2007-12-24  John Darrington <john@darrington.wattle.id.au>
21
22         * taint.c (taint_destroy): Return true if pointer is null.
23
24 2007-11-25  Ben Pfaff  <blp@gnu.org>
25
26         * float-format.c (assemble_number): Only store 32 bits for Z short
27         format.  Partial fix for bug #21590.
28
29 2007-11-08  Ben Pfaff  <blp@gnu.org>
30
31         * str.c (ds_read_stream): Change return value semantics to be more
32         useful.  Update all users.
33
34 2007-11-03 John Darrington <john@darrington.wattle.id.au>
35
36         * i18n.c i18n.h: Added convertor from UTF8 to system.
37         This is needed for reading gnumeric files (and possibly others).
38
39 2007-10-11  Ben Pfaff  <blp@gnu.org>
40
41         * xalloc.h: Removed.  Changed all users to include "xalloc.h" from
42         gnulib instead.
43
44         * xalloc.c: Removed.
45
46 2007-10-11  Ben Pfaff  <blp@gnu.org>
47
48         * alloc.h (local_alloc): Removed.  Changed all users to use
49         xmalloca instead.
50         (local_free): Removed.  Changed all users to use freea instead.
51
52 2007-10-11  Ben Pfaff  <blp@gnu.org>
53
54         * float-format.c (float_get_lowest): New function.
55         
56         * magic.c: Removed.
57
58         * magic.h: Removed.  Changed all references to NOT_INT,
59         NOT_DOUBLE, and NOT_LONG to use other constants.  Changed
60         references to second_lowest_value to call float_get_lowest.
61
62 2007-10-10  Ben Pfaff  <blp@gnu.org>
63
64         We assume IEEE-754 now.
65
66         * float-format.h (enum float_format): Don't check for
67         FPREP_IEEE754 macro any longer.
68
69         * magic.h: Ditto.
70
71 2007-09-16  Ben Pfaff  <blp@gnu.org>
72
73         * copyleft.c: Add trailing new-lines to lack-of-warranty
74         statement.
75
76 2007-09-05 John Darrington <john@darrington.wattle.id.au>
77
78         * getl.c: Add extra members to struct getl_source, to maintain the
79         error mode and the syntax_mode. 
80
81 2007-07-25  Ben Pfaff  <blp@gnu.org>
82
83         * getl.c (getl_append_source): Add source to *end* of list.
84         Otherwise the list ends up in reverse order.
85
86         * automake.mk (src/libpspp/version.c): Use $HOME instead of ~ in
87         paths.  We don't interpolate ~.
88
89 2007-07-22  Ben Pfaff  <blp@gnu.org>
90
91         * str.h: Include xstrndup.h also.
92
93         * float-format.c (float_get_double): New function.
94
95 2007-07-06  Ben Pfaff  <blp@gnu.org>
96
97         * copyleft.c (legal): Update startup notice to use format
98         recommended by latest GNU coding standards.
99
100 2007-06-06  Ben Pfaff  <blp@gnu.org>
101
102         * array.c (binary_search): Fix assertion.
103
104 2007-06-06  Ben Pfaff  <blp@gnu.org>
105
106         Add error propagation layer.  Patch #5916, slightly revised.
107
108         * automake.mk: Add new files.
109         
110         * taint.c: New file.
111
112         * taint.h: New file.
113
114 2007-06-03  Ben Pfaff  <blp@gnu.org>
115
116         Add ability for reverse iteration to tower code.
117         
118         * tower.c (tower_last): New function.
119         (tower_prev): New function.
120         (abt_to_tower_node): New function.
121         (first_node): Use abt_to_tower_node.
122         (last_node): New function.
123         (next_ndoe): Use abt_to_tower_node.
124         (prev_node): New function.
125
126 2007-06-03  Ben Pfaff  <blp@gnu.org>
127
128         * tower.c: Cache repeated lookups of a single tower element.  This
129         turns such lookups into O(1) operations without harming the big-O
130         of other operations.
131
132         * tower.h (struct tower): Add members for caching.
133
134         * range-set.c (range_set_clone): New function.
135
136         * array.c (insert_range): New function.
137         (insert_element): New function.
138         (move_range): New function.
139
140 2007-04-25  Ben Pfaff  <blp@gnu.org>
141
142         * model-checker.c: Don't use type sighandler_t, which is a GNU
143         extension.  Reported by "Daniel E WILLIAMS"
144         <Daniel.E.Williams@state.or.us>.
145
146 2007-04-25 John Darrington <john@darrington.wattle.id.au>
147
148         * i18n.c: Fixed bug converting long strings
149
150 2007-04-22  Ben Pfaff  <blp@gnu.org>
151
152         Patch #5884.
153         
154         * ll.h (ll_for_each_reverse): New macro.
155         (ll_for_each_reverse_continue): New macro.
156         (ll_for_each_reverse_safe): New macro.
157         (ll_for_each_safe_reverse_continue): New macro.
158         (ll_for_each_reverse_preremove): New macro.
159         (ll_for_each_reverse_postremove): New macro.
160         (ll_remove__): Removed (dead code).
161         (ll_tail__): New macro.
162         (ll_prev__): New macro.
163
164 2007-04-22  Ben Pfaff  <blp@gnu.org>
165
166         Implement model checker for testing purposes.
167
168         Patch #5873.
169         
170         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add
171         model-checker.[ch].  Alphabetize.
172
173         * model-checker.c: New file.
174
175         * model-checker.h: New file.
176
177 2007-04-03  Ben Pfaff  <blp@gnu.org>
178
179         Apply patches #5828, #5837, #5841, #5843.
180
181         * abt.c (insert_relative): New function.
182         (abt_insert_after): New function.
183         (abt_insert_before): New function.
184
185         * range-map.c: New file.
186
187         * range-map.h: New file.
188
189         * range-set.c: New file.
190
191         * range-set.h: New file.
192
193         * tower.c: New file.
194
195         * tower.h: New file.
196
197 2007-04-01  Ben Pfaff  <blp@gnu.org>
198
199         * bt.c: Need #include <limits.h>.  Thanks to "John McCabe-Dansted"
200         <gmatht@gmail.com> for pointing this out.
201
202 2007-03-31  Ben Pfaff  <blp@gnu.org>
203
204         Patch #5827.
205
206         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add bt.c.
207
208         * bt.h: New file.
209
210         * bt.c: New file.
211
212 2007-03-30  Ben Pfaff  <blp@gnu.org>
213
214         Patch #5829.
215
216         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add deque.c.
217
218         * deque.h: Completely rewrote.  Adapted client to new interface.
219
220         * deque.c: New file.
221
222 2007-03-25  Ben Pfaff  <blp@gnu.org>
223
224         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add
225         sparse-array.[ch].
226
227         * pool.c (pool_zalloc): New function.
228         (pool_calloc): New function.
229
230         * sparse-array.c: New file.
231
232         * sparse-array.h: New file.
233
234 Mon Mar  5 20:55:49 CET 2007 John Darrington <john@darrington.wattle.id.au>
235
236         * i18n.c: Cast second argument of iconv using ICONV_CONST
237
238 2007-02-22  Ben Pfaff  <blp@gnu.org>
239
240         * string.h: Don't include vsnprintf.h any more, because gnulib has
241         now absorbed it into string.h.
242
243 Thu Feb 22 12:25:52 CET 2007 John Darrington <john@darrington.wattle.id.au>
244
245         * syntax-gen.h syntax-gen.c: New files.
246
247 Sun Feb 18 11:21:41 2007  Ben Pfaff  <blp@gnu.org>
248
249         * alloc.h: Remove useless parentheses in #if "defined" operator.
250
251         * misc.h: Ditto.
252
253 Tue Feb  6 20:00:13 2007  Ben Pfaff  <blp@gnu.org>
254
255         * misc.h [!HAVE_ISINF] (isinf): Define only if isinf is not
256         defined as a macro, because mingw seems to have the macro without
257         the function.
258         [!HAVE_ISNAN] (isnan): Ditto, for symmetry only.
259         [!AHVE_FINITE] (finite): Ditto, for symmetry only.
260
261 Tue Feb  6 19:58:46 2007  Ben Pfaff  <blp@gnu.org>
262
263         * compiler.h (PRINTF_FORMAT): Use __printf__ instead of printf to
264         avoid problem with "#define printf libintl_printf" that libintl is
265         fond of doing.
266         (SCANF_FORMAT): Ditto, for symmetry only.
267
268 Tue Feb  6 19:47:10 2007  Ben Pfaff  <blp@gnu.org>
269
270         * float-format.h: [FPREP_IEEE754] [WORDS_BIGENDIAN] Add missing
271         comma.
272
273 Wed Jan 24 21:13:32 2007  Ben Pfaff  <blp@gnu.org>
274
275         * abt.c: New file.
276
277         * abt.h: New file.
278
279         * automake.mk: Add abt.c, abt.h to sources.
280
281 Sun Jan 14 21:44:18 2007  Ben Pfaff  <blp@gnu.org>
282
283         * automake.mk: Add deque.h to sources.
284         
285         * deque.h: New file.
286
287 Wed Jan 10 06:49:38 2007  Ben Pfaff  <blp@gnu.org>
288
289         * automake.mk: Add heap.c, heap.h to sources.
290
291         * heap.c: New file.
292
293         * heap.h: New file.
294
295 Sun Dec 10 13:54:03 2006  Ben Pfaff  <blp@gnu.org>
296
297         * str.c (ss_tokenize): Skip the first delimiter character
298         following the token.  Otherwise, changing delimiters from token to
299         token can't have a sensible effect, because we'll get the previous
300         delimiter as part of the next token.
301         (ss_match_string): New function.
302
303 Sat Dec  9 18:48:55 2006  Ben Pfaff  <blp@gnu.org>
304
305         * misc.h (macro range): Removed, as it was unused.
306
307 Sat Dec  9 07:19:01 WST 2006 John Darrington <john@darrington.wattle.id.au>
308
309         * array.c: Removed gratuitous #include
310
311 Thu Dec  7 20:33:23 WST 2006 John Darrington <john@darrington.wattle.id.au>
312
313         * getl.c getl.h : Changed signature of create function to take a 
314         string indicating the initial include path.
315
316 Sun Dec  3 11:36:10 2006  Ben Pfaff  <blp@gnu.org>
317
318         * str.h (SS_LITERAL_INITIALIZER): Cast the string literal to "char
319         *".  This normally does nothing but when GCC's -Wwrite-strings is
320         used it fixes a warning that otherwise can't be avoided.
321
322 Sun Dec  3 11:35:35 2006  Ben Pfaff  <blp@gnu.org>
323
324         * str.c (ss_alloc_substring_pool): New function.
325         (ss_alloc_uninit_pool) New function.
326
327 Sun Dec  3 11:28:06 2006  Ben Pfaff  <blp@gnu.org>
328
329         * getl.h: (enum getl_syntax) New enumeration to distinguish
330         between "batch" and "interactive" in a clearer way than a bool.
331         (struct getl_interface) Add an arg to "read" to return the
332         intended syntax mode.  Add an arg to "filter" to specify the
333         syntax mode of the line to filter.
334
335         * getl.c (do_read_line): Instead of returning the syntax type of
336         the line read based on whether the source itself is interactive,
337         return it based on whether the line itself should be treated as
338         having batch or interactive syntax.  Also, adapt interface to the
339         new interfaces of lex_init() and getl_interface.
340
341 Wed Nov 29 19:35:44 WST 2006 John Darrington <john@darrington.wattle.id.au>
342
343         * getl.c getl.h: New files. Created interface from base of 
344         language/line-buffer.[ch]
345
346         * msg-locator.c msg-locator.h: New files. Moved from
347         language/line-buffer.[ch]
348
349 Fri Nov 24 17:27:00 2006  Ben Pfaff  <blp@gnu.org>
350
351         * misc.h: (min) Removed.  All references updated to use MIN, from
352         minmax.h provided by gnulib.
353         (max) Ditto (for MAX).
354
355 Sun Nov 19 09:22:26 2006  Ben Pfaff  <blp@gnu.org>
356
357         * str.c (ss_get_long): New function.
358         (ss_compare_case) Ditto.
359         (ss_equals) Ditto.
360         (ss_equals_case) Ditto.
361
362 Tue Oct 31 19:28:19 2006  Ben Pfaff  <blp@gnu.org>
363
364         * str.h: [!HAVE_STRCHR] Drop compatibility code, because now we
365         assume a C89 compliant library.  (Gnulib makes this assumption so
366         we might as well too.)
367         [!HAVE_STRRCHR] Ditto.
368
369 Thu Oct 26 20:19:50 2006  Ben Pfaff  <blp@gnu.org>
370
371         * automake.mk: Add the new files.
372
373         * legacy-encoding.c: New file.
374
375         * legacy-encoding.h: New file.
376
377         * float-format.c: New file.
378
379         * float-format.h: New file.
380
381         * integer-format.c: New file.
382
383         * integer-format.h: New file.
384
385 Sun Oct 15 09:49:50 WST 2006 John Darrington <john@darrington.wattle.id.au>
386
387         * hash.c hash.h: Added hsh_create_pool, a hash which uses a pool
388         for its memory allocation.
389
390 Mon Jul 31 15:49:46 2006  Ben Pfaff  <blp@gnu.org>
391
392         * compiler.h: (macro CONST_FUNCTION) New macro.
393         (macro PURE_FUNCTION) New macro.
394
395 Sun Jul 16 21:07:35 2006  Ben Pfaff  <blp@gnu.org>
396
397         * message.c: (static int messages_disabled) New variable.
398         (msg_emit) Don't emit the message if messages are disabled.
399         (msg_disable) New function.
400         (msg_enable) New function.
401
402         * str.c: (free_string) New function.
403         (ds_register_pool) New function.
404         (ds_unregister_pool) New function.
405         (ds_set_length) New function.
406
407 Mon Jul 10 17:26:58 WST 2006 John Darrington <john@darrington.wattle.id.au>
408
409         * llx.c: #included compiler.h and removed explicit preprocessor cruft.
410
411 Fri Jul  7 20:01:26 2006  Ben Pfaff  <blp@gnu.org>
412
413         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add assertion.h.
414         
415         * assertion.h: New file.  Replaced usage of assert(0) and abort()
416         with NOT_REACHED() from this file throughout the source tree.
417
418         * message.c: (request_bug_report_and_abort) Revise message printed
419         to include request to include lines above the message, which
420         should include an assertion failure message in many cases.
421         (msg_assert_fail) Removed.
422
423         * message.h: (assert) Removed.
424         (request_bug_report_and_abort) Mark NO_RETURN.
425
426 Mon Jul  3 09:36:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
427
428         * i18n.c: Made character conversion tolerant of failure to create the 
429         necessary iconv structs.
430
431 Sat Jul  1 15:32:54 2006  Ben Pfaff  <blp@gnu.org>
432
433         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Add new files.
434
435         * ll.c: New file.
436
437         * ll.h: New file.
438
439         * llx.c: New file.
440
441         * llx.h: New file.
442
443 Sun Jun 25 22:35:28 2006  Ben Pfaff  <blp@gnu.org>
444
445         Optimize rehashing: we know that none of the entries in the hash
446         table are equal, so we need not compare them to each other during
447         rehashing.
448         
449         * hash.c: (locate_empty_entry) New function.
450         (rehash) Use locate_empty_entry() instead of
451         locate_matching_entry().
452
453 Fri Jun  9 14:03:29 2006  Ben Pfaff  <blp@gnu.org>
454
455         Reform string library.
456         
457         * str.c (ss_empty): New function.  Replaces some uses of ls_init()
458         or ls_null().
459         (ss_cstr) New function.  Replaces some uses of ls_init().
460         (ss_buffer) New function.  Replaces some uses of ls_init().
461         (ss_substr) New function.
462         (ss_head) New function.
463         (ss_tail) New function.
464         (ss_alloc_substring) New function.  Replaces use of ls_create().
465         (ss_alloc_uninit) New function.
466         (ss_dealloc) New function.  Replaces use of ls_destroy().
467         (ss_truncate) New function.
468         (ss_rtrim) New function.
469         (ss_ltrim) New function.
470         (ss_trim) New function.
471         (ss_chomp) New function.
472         (ss_separate) New function.
473         (ss_tokenize) New function.
474         (ss_advance) New function.
475         (ds_create) Renamed ds_init_cstr().  Updated all callers.
476         (ss_match_char) New function.
477         (ss_get_char) New function.
478         (ss_get_until) New function.
479         (ss_get_chars) New function.
480         (ss_is_empty) New function.
481         (ss_length) New function.  Replaces ls_length().
482         (ss_data) New function.  Replaces many uses of ls_c_str().
483         (ss_end) New function.  Replaces ls_end().
484         (ss_at) New function.
485         (ss_first) New function.
486         (ss_last) New function.
487         (ss_span) New function.
488         (ss_cspan) New function.
489         (ss_compare) New function.
490         (ss_pointer_to_position) New function.
491         (ss_xstrdup) New function.
492         (ds_init) Renamed ds_init_empty().  All callers updated.
493         (ds_init_string) New function.
494         (ds_init_substring) Changed interface to take a struct substring.
495         Updated all callers.
496         (ds_init_cstr) New function.  Replaces ds_create().  All callers
497         updated.
498         (ds_assign_substring) Changed interface to take a struct
499         substring.  Updated all callers.
500         (ds_assign_buffer) Removed.  Changed all callers to use
501         ds_assign_substring().
502         (ds_assign_c_str) Renamed ds_assign_cstr().  All callers updated.
503         (ds_ss) New function.
504         (ds_substr) New function.
505         (ds_head) New function.
506         (ds_tail) New function.
507         (ds_rtrim) New function.  Replaces ds_rtrim_spaces().  All callers
508         updated.
509         (ds_ltrim) New function.  Replaces ds_ltrim_spaces().  All callers
510         updated.
511         (ds_trim) New function.  Replaces ds_trim_spaces().  All callers
512         updated.
513         (ds_rtrim_spaces) Removed.
514         (ds_ltrim_spaces) Removed.
515         (ds_trim_spaces) Removed.
516         (ds_separate) Changed interface to use substrings.  All callers
517         updated.
518         (ds_tokenize) Changed interface to use substrings.  All callers
519         updated.
520         (ds_c_str) Renamed ds_cstr().  All callers updated.
521         (ds_span) Changed interface to use substring for SKIP_SET and
522         dropped OFS.  All callers updated.
523         (ds_cspan) Changed interface to use substring for STOP_SET and
524         dropped OFS.  All callers updated.
525         (ds_find_char) New function.
526         (ds_compare) New function.
527         (ds_pointer_to_position) New function.
528         (ds_xstrdup) New function.  Replaced all users of
529         xstrdup(ds_c_str(s)) by a call to this function.
530         (ds_gets) Renamed ds_read_line().  All callers updated.
531         (ds_get_config_line) Renamed ds_read_config_line().  All callers
532         updated.
533         (ds_puts) Renamed ds_put_cstr().  All callers updated.
534         (ds_put_substring) New function.  Replaces ds_concat().  All
535         callers updated.
536         (ds_concat) Removed.
537         (ds_append_uninit) Renamed ds_put_uninit().  All callers updated.
538         (ds_printf) Renamed ds_put_format().  All callers updated.
539         (ds_vprintf) Renamed ds_put_vformat().  All callers updated.
540         (ds_putc) Renamed ds_put_char().  All callers updated.
541         (ds_putc_multiple) Renamed ds_put_char_multiple().  All callers
542         updated.
543         (ls_create) Removed.  Replaced by ss_alloc_substring().
544         (ls_create_buffer) Removed.  Replaced by ss_alloc_substring().
545         (ls_init) Removed.  Replaced by ss_buffer().
546         (ls_shallow_copy) Removed.  Just use assignment.
547         (ls_destroy) Removed.  Replaced by ss_dealloc().
548         (ls_null) Removed.
549         (ls_null_p) Removed.
550         (ls_empty_p) Removed.  Replaced by ss_is_empty().
551         (ls_c_str) Removed.
552         (ls_end) Removed.  Replaced by ss_end().
553
554         * str.h (struct fixed_string): Renamed struct substring, updated
555         all users.
556         (CC_SPACES) New macro.
557         (CC_DIGITS) Ditto.
558         (CC_XDIGITS) Ditto.
559         (CC_LETTERS) Ditto.
560         (CC_ALNUM) Ditto.
561         (SS_EMPTY_INITIALIZER) Ditto.
562         (SS_LITERAL_INITIALIZER) Ditto.
563         (struct string) Removed string, length members.  Add substring
564         member.
565         (DS_INITIALIZER) Rename DS_EMPTY_INITIALIZER.
566
567 Tue May 30 19:45:12 WST 2006 John Darrington <john@darrington.wattle.id.au>
568
569         * i18n.c i18n.h: New files.
570
571 Tue May 16 06:50:35 2006  Ben Pfaff  <blp@gnu.org>
572
573         * automake.mk (src/libpspp/version.c): Removed groff_font_path,
574         which is no longer used.
575
576         * message.c (request_bug_report_and_abort): Don't print
577         groff_font_path, which no longer exists.
578
579         * version.h (locale_dir): Removed groff_font_path.
580
581 Sun May 14 22:06:53 2006  Ben Pfaff  <blp@gnu.org>
582
583         * str.c (spprintf): Moved definition of spprintf() here, from
584         str.h.
585
586         * str.h: (nsprintf) Removed.  Changed all users to use sprintf()
587         instead.
588         (nvsprintf) Removed.  Changed all users to use vsprintf() instead.
589
590 Sun May 14 20:52:20 2006  Ben Pfaff  <blp@gnu.org>
591
592         * str.c (ds_init): Remove `capacity' argument and just initialize
593         the string to a capacity of zero.  Updated all callers.
594
595 Tue May  9 09:56:57 2006  Ben Pfaff  <blp@gnu.org>
596
597         * va_copy.h: Removed.  Now use va_copy() provided by gnulib
598         instead.
599
600         * automake.mk: (src_libpspp_libpspp_a_SOURCES) Removed va_copy.h.
601
602 Sun May  7 18:17:32 2006  Ben Pfaff  <blp@gnu.org>
603
604         * pool.c (pool_vasprintf): New function.
605         (pool_asprintf) New function.
606
607 Sun May  7 17:09:54 2006  Ben Pfaff  <blp@gnu.org>
608
609         * compiler.h: (macro WARN_UNUSED_RESULT) New macro.
610
611 Sun May  7 14:32:25 2006  Ben Pfaff  <blp@gnu.org>
612
613         * va_copy.h: New header.
614
615         * str.c: Use header instead of inlining va_copy() macro
616         implementation.
617
618 Sun May  7 10:06:29 WST 2006 John Darrington <john@darrington.wattle.id.au>
619
620         * array.c array.h: Constness of sort.
621
622 Thu May  4 18:01:37 WST 2006 John Darrington <john@darrington.wattle.id.au>
623
624         * message.c message.h: Added functions to create and copy a msg.
625
626 Tue May  2 15:41:50 2006  Ben Pfaff  <blp@gnu.org>
627
628         * str.c (ds_append_uninit): No need to add 1 to arg passed to
629         ds_extend(), because the argument does not include space for a
630         null terminator.  Also, fix warning.
631
632 Tue Apr 25 11:07:19 2006  Ben Pfaff  <blp@gnu.org>
633
634         Finish reforming error message support.  In this phase, move
635         message.c into libpspp.
636         
637         * message.c: Move here from src/.  Also remove a few unneeded
638         headers.
639
640         * automake.mk (src_libpspp_libpspp_a_SOURCES): Add message.c. 
641
642 Tue Apr 25 10:54:44 2006  Ben Pfaff  <blp@gnu.org>
643
644         Continue reforming error message support.  In this phase, drop
645         actual message printing from core code, substituting a callback,
646         and add the callback to each UI.  Also, move verbose_msg() into
647         its own module.
648
649         * automake.mk (src_libpspp_libpspp_a_SOURCES): Added
650         verbose-msg.c, verbose-msg.h.
651
652         * verbose-msg.c: New file.
653
654         * verbose-msg.h: New file.
655
656 Mon Apr 24 17:26:47 2006  Ben Pfaff  <blp@gnu.org>
657
658         Continue reforming error message support.  In this phase, rename
659         all the message functions and types to start with "msg", except
660         for the ones that will be moving to other modules anyway.
661
662         All references to the identifiers below were updated likewise.
663         
664         * message.h: (enum file_locator) Renamed `enum msg_locator'.
665         (struct error) Renamed `struct msg'.
666         (err_assert_fail) Renamed msg_assert_fail().
667
668 Sun Apr 23 22:07:06 2006  Ben Pfaff  <blp@gnu.org>
669
670         Continue reforming error message support.  In this phase, get rid
671         of message "titles" and put the message text in `struct error'.
672         Now `struct error' encapsulates a message more properly.
673         
674         * message.h: (struct error) Remove `title' member.  Add `text'
675         member.
676         
677 Sun Apr 16 20:43:35 2006  Ben Pfaff  <blp@gnu.org>
678
679         Continue reforming error message support.  In this phase, we
680         divide the classification of messages along "category" and
681         "severity" axes.
682
683         * message.h: (enum msg_class) Named this set of enumerations.
684         (enum msg_category) New enum: MSG_GENERAL, MSG_SYNTAX, MSG_DATA.
685         (enum msg_severity) New enum: MSG_ERROR, MSG_WARNING, MSG_NOTE.
686         (msg_class_to_category) New inline function.
687         (msg_class_to_severity) New inline function.
688         (msg_class_from_category_and_severity) New inline function.
689         (struct error) Removed `class' member, added `category',
690         `severity'.  Updated all users of this struct to use the new
691         members.
692
693 Sun Apr 16 20:33:19 2006  Ben Pfaff  <blp@gnu.org>
694
695         * str.c (ds_vprintf): Don't try to write into the string if it is
696         null.
697
698 Sun Apr 16 18:52:41 2006  Ben Pfaff  <blp@gnu.org>
699
700         GNU standards require "file name" instead of "filename" in
701         documentation.  It's nice for our code to follow the convention
702         too.
703         
704         * message.h: (struct file_locator) Rename filename member to
705         file_name.  Updated all references.
706
707 Sun Apr 16 16:05:43 2006  Ben Pfaff  <blp@gnu.org>
708
709         Continue reforming error message support.  In this phase, we get
710         rid of VM() and the other msg() support for "verbosity", replacing
711         it by a new function verbose_msg().
712
713         * message.h: (enum ERR_CLASS_COUNT) Renamed ERR_CLASS_CNT.
714         (enum ERR_CLASS_MASK) Removed.
715         (enum ERR_VERBOSITY_SHIFT) Removed.
716         (enum ERR_VERBOSITY_MASK) Removed.
717         (macro VM) Removed.
718
719 Sun Apr 16 11:48:07 2006  Ben Pfaff  <blp@gnu.org>
720
721         Start reforming error message support.  In this phase, we get rid
722         of "installation errors" and change all uses of msg() in the
723         output drivers to uses of error() or error_at_line().
724
725         * message.h: Remove IE, IS enums.
726
727 Mon Apr  3 11:10:21 2006  Ben Pfaff  <blp@gnu.org>
728
729         * str.c: (ds_separate) Change interface for cleanliness and
730         consistency with ds_tokenize(), and rewrite to shorten and
731         simplify.  Updated all callers.
732         (ds_tokenize) New function.
733
734 Fri Mar 31 10:38:46 2006  Ben Pfaff  <blp@gnu.org>
735
736         Add freaderror() analogous to fwriteerror() in gnulib.
737
738         * freaderror.c: New file.
739
740         * freaderror.h: New file.
741
742 Thu Mar 30 16:15:37 2006  Ben Pfaff  <blp@gnu.org>
743
744         * str.c: (ds_create) Adjust capacity selection.
745         (ds_init) Use MAX macro for clarity.
746         (ds_create_substr) Rewrote.
747         (ds_replace) Renamed ds_assign_c_str(), reimplemented.  Changed
748         all callers to use a ds_assign_*() function.
749         (ds_init_substring) New function.
750         (ds_assign_string) New function.
751         (ds_assign_substring) New function.
752         (ds_assign_buffer) New function.
753         (ds_assign_c_str) New function.
754         (ds_truncate) Rewrote for clarity.
755         (ds_rpad) Reimplement in terms of ds_putc_multiple().
756         (ds_ltrim_spaces) Reimplement.
757         (ds_trim_spaces) New function.
758         (ds_separate) New function.
759         (ds_c_str) Make tolerant of null pointer, allowing static
760         initialization of strings.
761         (ds_find) Rename ds_span(), change interface.
762         (ds_n_find) Rename ds_cspan(), change interface.
763         (ds_at) New function.
764         (ds_first) Reimplement in terms of ds_at().
765         (remove_comment) New function.
766         (ds_get_config_line) Reimplement in terms of other functions.
767         Change type of LINE_NUMBER parameter.  Updated all callers.
768         (ds_vprintf) Modify for clarity.
769         (ds_putc) Better to be safe than sorry.
770         (ds_putc_multiple) New function.
771
772         * str.h: (struct string) Reorder members.
773         (macro DS_INITIALIZER) New macro that can be used to initialize a
774         string (as empty).
775         (ds_c_str) Remove inline version.
776
777 Tue Mar 28 13:49:11 WST 2006 John Darrington <john@darrington.wattle.id.au>
778
779         * str.[ch]: New functions ds_create_substr, ds_find, ds_n_find, 
780         ds_ltrim_spaces
781
782 Sat Mar  4 12:59:01 2006  Ben Pfaff  <blp@gnu.org>
783
784         * compiler.h: New file.
785
786 Sat Mar  4 11:55:16 2006  Ben Pfaff  <blp@gnu.org>
787
788         * str.h: Now assume that sprintf() returns the correct value.
789         Always implement spprintf as a static inline function.  Change
790         nsprintf, nvsprintf to simple macros that call sprintf, vsprintf.
791
792         * str.c: Remove spprintf, nsprintf, nvsprintf conditional
793         definitions.
794
795 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
796         
797         * Moved files from src directory