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