1 2001-07-22 Gary Houston <ghouston@arglist.com>
3 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
4 the compulsory cs1 arguments: all args are optional in final spec.
5 (scm_char_set_xor): bug fix: characters should only be included if
6 they occur in exactly one argument, but were included if they
7 occured an odd number of times >= 3, e.g, in (char-set-xor a a a)
8 where a is (char-set #\a). fix it with a "mask" array.
10 * srfi-14.h: declarations updated.
12 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
14 * srfi-11.scm, srfi-8.scm: Update copyright notice.
16 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
18 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
21 * srfi-19.scm: Define `current-time' before exporting it.
23 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
25 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
26 side. Bit sets were handled wrong because I couldn't tell bit
27 counts from byte counts. Also, the bit array should be 256 / 8
28 bytes long. Thank you, Gary!
30 Removed unnecessary protoype for scm_char_set_copy.
32 2001-07-16 Gary Houston <ghouston@arglist.com>
34 * srfi-14.scm: export string->char-set!, not string-char-set!.
36 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
37 scm_end_of_char_set_p): reject negative cursor values.
38 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
39 type error in list component, omit the position (was always 1).
41 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
43 (scm_char_set_map): Bug-fix: char-set-map was modifying the
44 argument instead of the return value.
46 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
48 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
49 use this value for initializing and comparing charsets.
50 (scm_char_set_hash): Use ``better'' hash algorithm which produces
53 2001-07-15 Gary Houston <ghouston@arglist.com>
55 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
56 opt arg to give default bound, as in final spec. don't allow
58 (scm_char_set_hash): bug fix: was overrunning the buffer and
59 calculating based on garbage.
60 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
61 reporting: wasn't incremented due to macro coding.
62 (scm_char_set): report argument number in error reporting: was
63 hard coded to 1. remove a couple of local variables.
65 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
67 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
70 2001-07-11 Gary Houston <ghouston@arglist.com>
72 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
73 return #t instead of giving wrong-number-of-arguments . take a
74 single "rest" argument. use memcmp instead of a loop to compare
76 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
77 take a single "rest" argument.
78 srfi-14.h: update the declarations.
80 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
84 2001-07-06 Gary Houston <ghouston@arglist.com>
86 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
87 delete!, assoc): roll back the previous change. instead place
88 dummy definitions in a deprecated block at the beginning as in
91 2001-07-06 Rob Browning <rlb@defaultvalue.org>
93 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
95 2001-07-03 Gary Houston <ghouston@arglist.com>
97 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
98 delete!, assoc): don't export until the new bindings have been
99 created. otherwise "export" thinks they are being re-exported and
100 a deprecation warning is produced.
101 (map-in-order): defined and exported, to support lists of unequal
104 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
106 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
107 invalid arguments. Same fix for several other procedures (do not
108 use zero?, use <= 0).
110 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
112 * srfi-1.scm: Replaced calls to `map' in several procedures to
114 (map, for-each): New procedures, extended from R5RS.
116 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
118 * srfi-4.c: Minor cleanups.
120 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
121 (scm_char_set_unfold_x, scm_char_set_for_each)
122 (scm_char_set_map, scm_char_set_filter)
123 (scm_char_set_filter_x, scm_char_set_count)
124 (scm_char_set_every, scm_char_set_any): Replace calls to
125 scm_apply() with the corresponding scm_call_N() functions.
127 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
128 (scm_char_set_unfold, scm_char_set_unfold_x)
129 (scm_char_set_map, scm_char_set_diff_plus_intersection)
130 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
131 SCM_LISTN with calls to scm_list_N().
133 * srfi-13.c (scm_string_tabulate, scm_string_map)
134 (scm_string_map_x, scm_string_unfold)
135 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
136 with calls to scm_list_N().
138 * srfi-13.c (scm_string_any, scm_string_every),
139 (scm_string_tabulate, scm_string_trim),
140 (scm_string_trim_right, scm_string_trim_both),
141 (scm_string_compare, scm_string_compare_ci),
142 (scm_string_indexS, scm_string_index_right),
143 (scm_string_skip, scm_string_skip_right, scm_string_count),
144 (scm_string_map, scm_string_map_x, scm_string_fold),
145 (scm_string_fold_right, scm_string_unfold),
146 (scm_string_unfold_right, scm_string_for_each),
147 (scm_string_filter, scm_string_delete): Replace calls to
148 scm_apply() with the corresponding scm_call_N() functions.
150 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
152 * Makefile.am: Added SRFI-4 files in various places.
154 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
156 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
158 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
159 scm_string_take_right, scm_string_drop_right, scm_string_trim,
160 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
161 Use scm_mem2string instead of scm_makfromstr.
163 (scm_reverse_list_to_string, string_titlecase_x): Prefer
164 !SCM_<pred> over SCM_N<pred>.
166 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
168 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
171 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
173 The SRFI-19 implementation was completely broken. Already the
174 reference implementation did not handle DST and time zones
175 properly and relied on non-R5RS-isms like passing reals to
176 `quotient'. For Guile, some additional fixes were needed because
177 of the incomplete numeric tower implementation. See also
180 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
181 (add-duration): Renamed from priv:add-duration.
182 (priv:time-normalize!): Handle fractional nanoseconds; remove
183 duplicate definition.
184 (priv:current-time-tai): Fixed typo.
185 (time=?, time<=?): Fixed typos.
186 (time-tai->time-utc, time-utc->time-tai,
187 time-utc->time-monotonic): Use make-time-unnormalized instead of
188 make-time when uninitialized time fields are used.
189 (set-date-nanosecond!, set-date-second!, set-date-minute!,
190 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
191 set-date-zone-offset!): Define.
192 (priv:local-tz-offset): Take an extra argument in order to handle
194 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
195 changed signature of priv:local-tz-offset. Don't pass non-integer
196 arguments to quotient (non-R5RS, not supported by Guile).
197 (date->time-utc): Ensure that seconds in a date structure are
198 always exact integers. Handle DST properly.
199 (current-date, julian-day->date, modified-julian-day->date):
200 Handle the changed signature of priv:local-tz-offset.
201 (julian-day->time-utc): Reverted earlier inexact->exact hack;
202 make-time now handles inexact arguments.
203 (priv:locale-print-time-zone): At least print the numerical time
205 (priv:integer-reader): Fixed named let iteration.
206 (priv:read-directives): Use set-date-month! instead of
207 priv:set-date-month! etc.
208 (string->date): Handle DST properly.
210 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
212 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
214 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
216 * srfi-14.c (charset_print): Mark unused parameters with
219 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
221 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
222 (delete-duplicates): Now the first occurrence of an element is
223 retained, as required.
224 (member, assoc): Fixed wrong order of equality predicate
227 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
231 * srfi-1.scm: New file.
233 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
235 Added exception notice to all files.
237 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
239 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
242 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
244 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
246 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
248 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
250 * srfi-19.scm: removed a stray open parenthesis. (thanks to
251 Matthias Köppe for the report).
253 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
255 * srfi-19.scm (:optional): renamed to optional to avoid reader
256 keywords conflict. Time passes... Removed :optional altogether
257 and just handle optional args directly. Thanks to Matthias Koeppe
258 for the report of this and the two bits below.
259 (priv:decode-julian-day-number): add inexact->exact for truncate
261 (time-utc->date): add inexact->exact and floor so quotient will
264 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
266 * README: Update, document available SRFIs.
268 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
270 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
271 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
272 srfi-2.scm: Use `cond-expand-provide' for providing features to
275 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
277 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
280 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
282 Avoid using module operations from C.
284 * srfi-13.c (scm_init_srfi_13_14): Removed.
285 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
286 initializations needed by C clients of srfi-14.
287 (scm_init_srfi_13, scm_init_srfi_14): Call it.
288 * srfi-13.scm: Call "scm_init_srfi_13" instead of
289 "scm_init_srfi_13_14".
290 * srfi-14.scm: Call "scm_init_srfi_14" instead of
291 "scm_init_srfi_13_14".
293 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
295 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
297 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
299 * Makefile.am (srfi_DATA): Added srfi-16.scm.
301 * srfi-16.scm: New file.
303 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
305 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
308 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
310 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
312 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
314 * Makefile.am (srfi_DATA): added srfi-19.scm.
316 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
319 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
321 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
323 * srfi-10.scm: Typo fix.
325 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
327 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
329 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
331 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
333 * srfi-10.scm: New file.
335 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
337 Added `Commentary:' tag.
339 * srfi-9.scm: Added `Commentary:' tag.
341 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
344 (scm_reverse_string_concatenate): renamed to
345 scm_string_concatentate_reverse.
346 (scm_reverse_string_concatenate_shared): renamed to
347 scm_string_concatenate_reverse_shared.
349 2001-04-27 Gary Houston <ghouston@arglist.com>
351 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
352 add "srfi/" to lines including .x files so they can be found
353 when build_dir != src_dir.
355 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
357 * Makefile.am (srfi_DATA): Added srfi-9.scm.
359 * srfi-9.scm: New file. Exports `define-record-type'.
361 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
363 * Makefile.am (srfi_DATA): added srfi-6.scm.
364 (srfi_DATA): added srfi-11.scm.
365 (srfi_DATA): added srfi-8.scm.
366 (srfi_DATA): added srfi-2.scm.
368 * srfi-11.scm: new file - exports let-values and let*-values.
370 * srfi-6.scm: new file - guile already has srfi-6 procedures
371 loaded by default, so this is a dummy file right now.
373 * srfi-8.scm: new file - exports receive.
375 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
377 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
379 Changed two procedure names to match final SRFI document. Thanks
380 to Rob Browning for spotting this.
382 * srfi-13.scm (string-concatenate-reverse),
383 (string-concatenate-reverse/shared): Rename from
384 reverse-string-concatenate[/shared].
386 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
387 scm_reverse_string_concatenate_shared.
388 (scm_string_concatenate_reverse): Renamed from
389 scm_reverse_string_concatenate.
391 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
393 * configure.in, autogen.sh: Removed.
395 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
396 when using memmove().
398 * srfi-14.h: Added prototypes for all exported procedures..
400 * srfi-13.c: Include srfi-13.h
402 * srfi-13.h: New file containing the prototypes.
404 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
405 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
407 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
409 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
411 * Makefile.am: Fixed "srf-14.x" typo.
413 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
415 * guile-srfi.texi: Removed, because merged with the GRM.
417 * guile-srfi.texi: The docs are now up to date with the
418 implementation and have new introductory material.
420 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
422 Integrated the guile-srfi package into the Guile distribution.
424 * srfi-13.c: All procedures so specified in the SRFI now accept
425 character set arguments.
427 * Makefile.am: Snarfed some variables from the guile-readline
430 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
432 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
433 configure.in, Makefile.am: Added FSF copyright and Guile license
436 * srfi-13.c, srfi-14.c: Include srfi-14.h.
437 (scm_init_srfi_13_14): Initialize the complete module, if not
440 * srfi-14.h: New file.
442 * srfi-13.scm, srfi-14.scm: Load new combined library.
444 * Makefile.am: Build only one library,
445 `libguile-srfi-srfi-13-14.la'
447 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
449 * guile-srfi.texi: Integrated the SRFI-14 documentation.
451 * srfi-14.c, srfi-14.scm: Made the procedures and variables
452 compliant to the final SRFI document.
454 * Renamed the package to guile-srfi.
456 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
458 * NEWS: New section for 0.0.3.
460 * configure.in, README, guile-srfi-13.texi: Bumped version number
463 * Released version 0.0.2.
465 * Makefile.am: Added rules for builing the SRFI-14 library.
467 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
468 (character set library).
470 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
472 * README: Updated procedure and incompatibility list.
474 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
475 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
476 (scm_string_downcaseS, string_titlecase_x),
477 (scm_string_titlecase_x, scm_string_titlecase),
478 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
481 * srfi-13.scm: Export new case mapping procedures.
483 * guile-srfi-13.texi (What cannot be done): Removed case mapping
484 procedures from incompatibility list.
485 (Case Mapping): New section for case mapping procedures.
487 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
489 * NEWS: New section for 0.0.2
491 * configure.in, README, guile-srfi-13.texi: Bumbed version number
494 * Released version 0.0.1.
496 * README: Made procedure list up-to-date.
498 * guile-srfi-13.texi: Fixed typos, completed reference and added
501 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
503 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
505 * Started guile-srfi-13 package. Files are copied from the
506 guile-gdbm and slightly modified.