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