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