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