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