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