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