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