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