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