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