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