1 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
3 * README: Update, document available SRFIs.
5 2004-12-06 Kevin Ryde <user42@zip.com.au>
7 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
10 * srfi-1.scm (alist-delete): Correction to equality proc call argument
11 order, spec is for given KEY param first.
13 2004-12-05 Kevin Ryde <user42@zip.com.au>
15 * srfi-1.scm (filter-map): Change to a tail-recursive form.
16 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
17 for tail recursiveness.
19 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
21 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
22 the skeletons remains.
24 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
26 * srfi-4.c (print_int64, print_uint64): Removed.
27 (uvec_print): Use scm_intprint for signed elemets and
28 scm_uintprint for unsigned ones. Do not use print_int64 and
29 print_uint64 since scm_intprint and scm_Uintprint can handle 64
32 2004-09-03 Stefan Jahn <stefan@lkcc.org>
34 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
35 lst1 is a #define on Win32 systems.
37 2004-08-26 Kevin Ryde <user42@zip.com.au>
39 * srfi-31.scm (rec): Add missing `error' to else clause.
41 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
43 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
45 * srfi-1.scm, srfi-4.scm: Use the new library names with
48 2004-08-25 Marius Vollmer <mvo@zagadka.de>
50 SRFI-13 and SRFI-14 have been moved into the core.
52 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
55 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
56 content except for the init functions.
58 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
60 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
61 scm_substring_sharedS.
63 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
66 * srfi-13.scm (substring/shared): Export as replacement since we
67 now have a version in the core.
69 2004-08-15 Marius Vollmer <mvo@zagadka.de>
71 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
73 2004-08-14 Kevin Ryde <user42@zip.com.au>
75 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
76 and charset as predicates, per SRFI-13 spec.
78 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
80 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
81 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
82 validation macros. Replaced every use.
84 2004-08-05 Kevin Ryde <user42@zip.com.au>
86 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
87 per doc/ref/srfi-modules.texi.
89 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
91 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
92 scm_from_*, respectively.
93 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
96 2004-08-02 Kevin Ryde <user42@zip.com.au>
98 * srfi-13.c (scm_string_every): Correction to initial "res" value,
99 return should be #t for an empty string. Reported by Andreas Vögele.
101 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
103 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
104 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
105 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
106 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
107 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
108 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
110 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
112 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
113 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
114 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
115 scm_is_bool, respectively.
117 2004-07-05 Kevin Ryde <user42@zip.com.au>
119 * srfi-4.c (uvec_sizes): Add "const".
121 * srfi-31.scm: Correction to heading comment.
123 2004-06-20 Rob Browning <rlb@defaultvalue.org>
125 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
126 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
127 (uvec_print): rewrite using a union to make more
128 compact, and use static print_uint64 and print_int64 to print
130 (print_int64): new static function (temporary fix).
131 (print_uint64): new static function (temporary fix).
133 * Makefile.am (srfi_DATA): add srfi-31.scm.
135 * srfi-31.scm: new file.
137 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
139 * srfi-17.scm (setter, car, cdr etc.): When within one define
140 expression a new variable in the local module is defined in terms
141 of an equally named variable from some other module, use @ to
142 refer to the variable in the other module. This is necessary due
143 to section 5.2.1 of R5RS: In a define expression first the new
144 binding is created and then the expression is evaluated.
146 2004-04-24 Kevin Ryde <user42@zip.com.au>
148 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
149 guaranteed uniqueness of temp variable symbols.
151 2004-04-15 Kevin Ryde <user42@zip.com.au>
153 * srfi-13.c (scm_string_trim, scm_string_trim_right,
154 scm_string_trim_both): Cast to unsigned char for isspace.
156 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
158 * srfi-13.c (s_scm_string_map): convert character to unsigned char
159 before converting to unsigned int. This prevents hi-bit ascii as
160 being converted large integers.
161 (string_upcase_x): change caller for scm_{up,down}case to
164 2004-03-23 Kevin Ryde <user42@zip.com.au>
166 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
169 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
171 * Makefile.am (TAGS_FILES): Use this variable instead of
172 ETAGS_ARGS so that TAGS can be built using separate build
175 2004-01-24 Marius Vollmer <mvo@zagadka.de>
177 * Makefile.am (srfi_DATA): Added srfi-26.scm.
179 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
181 * srfi-26.scm: New, from Daniel Skarda. Thanks!
183 2003-12-03 Kevin Ryde <user42@zip.com.au>
185 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
188 * srfi-1.scm (map!): Define as an alias for map, previous definition
189 was not tail-recursive.
191 2003-08-23 Kevin Ryde <user42@zip.com.au>
193 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
194 from core list-copy but allowing improper lists, per SRFI-1 spec.
196 * srfi-19.scm (date-week-number): Correction, day of week starting
197 week applied was off by one.
199 2003-07-29 Kevin Ryde <user42@zip.com.au>
201 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
204 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
206 * srfi-34.scm: Add cond-expand-provide srfi-34.
208 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
210 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
211 Re-implement in C to avoid stack overflows for long input lists.
213 2003-07-08 Kevin Ryde <user42@zip.com.au>
215 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
216 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
217 functions. scm_srfi1_delete_x is derived from scm_delete_x.
218 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
221 2003-06-07 Kevin Ryde <user42@zip.com.au>
223 * srfi-6.scm: #:re-export open-input-string, open-output-string and
224 get-output-string, for the benefit of applications wanting to use
225 #:select on the module.
227 2003-05-29 Stefan Jahn <stefan@lkcc.org>
229 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
230 libguile_srfi_srfi_4_la_LDFLAGS,
231 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
232 option for the mingw32 build.
234 2003-05-13 Kevin Ryde <user42@zip.com.au>
236 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
238 2003-05-10 Kevin Ryde <user42@zip.com.au>
240 * srfi-1.scm (take): Make this an alias for list-head.
241 (drop): Make this an alias for list-tail.
243 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
245 * srfi-34.scm: New file.
247 2003-04-23 Marius Vollmer <mvo@zagadka.de>
249 * srfi-1.scm: Removed stray "o" from exports list.
251 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
253 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
254 Now, guile itself does not include any calls to SCM_NCONSP any
257 2003-04-05 Marius Vollmer <mvo@zagadka.de>
259 * Changed license terms to the plain LGPL thru-out.
261 2003-03-25 Rob Browning <rlb@defaultvalue.org>
263 * srfi-4.c: replace typedefs for basic types with typedefs using
264 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
265 remove typedefs altogether later.
267 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
269 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
270 core. (Thanks to Kevin Ryde.)
272 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
274 * srfi-13.scm: Mark replacements.
276 * srfi-17.scm: Mark replacements.
278 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
280 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
281 member, delete, delete!, assoc): Marked as replacements.
282 (filter, filter!): Removed. (Now implemented in the core.)
284 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
286 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
287 with the versions in this module using
288 scm_c_extend_primitive_generic.
290 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
292 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
293 case of two argument lists. (Thanks to Kevin Ryde.)
295 2002-12-08 Rob Browning <rlb@defaultvalue.org>
297 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
299 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
301 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
303 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
305 * srfi-1.scm: Load srfi-1 extension.
306 (map, map-in-order, for-each, member, assoc): Replaced by
307 primitives in srfi-1.c.
308 (map1): Defined as `map'.
310 * Makefile.am: Added rules for srfi-1.c.
312 * srfi-1.c, srfi-1.h: New files.
314 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
316 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
317 the subtitute for char-set:graphic when then token-set hsa been
318 defaulted, grab the real char-set:graphic from (srfi srfi-14).
320 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
321 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
324 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
326 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
327 the second arg. Collect characters belonging to this set into
328 tokens (as specified by the SRFI), instead of splitting at these
329 characters. Default to an equivalent of char-set:graphic instead
330 of everything-but-whitespace. Thanks to Matthias Koeppe!
332 2002-04-10 Rob Browning <rlb@defaultvalue.org>
334 * .cvsignore: add *.c.clean.c.
336 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
338 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
339 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
340 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
341 Point to manual in commentary; nfc.
343 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
345 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
347 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
349 * srfi-13.c, srfi-14.c, srfi-4.c:
350 Retire inclusion guard macro SCM_MAGIC_SNARFER.
352 * Makefile.am (snarfcppopts): New var.
353 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
355 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
357 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
358 that 8-bit chars work. Thanks to David Pirotte!
360 2002-02-24 Rob Browning <rlb@defaultvalue.org>
362 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
363 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
364 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
365 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
367 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
369 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
370 match the expectations of priv:year-day.
372 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
374 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
375 month number, not day number. (Thanks to Sébastien de Menten de
376 Horne for reporting the problem.)
378 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
380 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
381 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
384 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
386 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
387 Thanks to Panagiotis Vossos.
389 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
391 * srfi-1.scm (map1): Rewrite to be tail-recursive.
392 Thanks to Panagiotis Vossos for the bug report.
394 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
396 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
398 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
400 * Makefile.am (ETAGS_ARGS): Added.
402 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
404 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
405 it with `#ifdef' instead of `#if'.
407 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
409 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
410 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
411 superfluous whitespace at end of docstring lines.
413 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
415 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
418 2001-11-04 Stefan Jahn <stefan@lkcc.org>
420 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
421 __FOO__ macros into FOO.
423 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
425 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
426 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
427 the source directory, for libguile.la. Thanks to Ken Raeburn.
429 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
431 Support for native Win32. Thanks to Stefan Jahn!
433 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
434 which do not allow unresolved symbols inside shared libraries.
436 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
437 exported symbol with SCM_SRFI1314_API.
439 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
440 symbol with SCM_SRFI4_API.
442 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
444 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
445 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
446 directives `export', `export-syntax', `re-export' and
447 `re-export-syntax' into the `define-module' form. This is the
448 recommended way of exporting bindings.
450 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
452 * srfi-19.scm (priv:split-real): Inserted missing call to
455 2001-09-21 Rob Browning <rlb@defaultvalue.org>
457 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
459 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
460 (scm_char_set_hash): val needs to be long, not just unsigned.
461 (scm_char_set): need 1L, not just 1 in "<<".
462 (scm_list_to_char_set): need 1L, not just 1 in "<<".
463 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
464 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
465 (scm_string_to_char_set): string length var needed to be
467 (scm_string_to_char_set): need 1L, not just 1 in "<<".
468 (scm_string_to_char_set_x): string length var needed to be
470 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
471 (scm_char_set_filter): need 1L, not just 1 in "<<".
472 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
473 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
474 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
475 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
476 (scm_char_set_delete): need 1L, not just 1 in "<<".
477 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
478 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
480 2001-09-12 Gary Houston <ghouston@arglist.com>
482 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
484 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
486 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
487 trick export from the beginning of the files.
489 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
491 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
492 two args. Thanks to Alex Shinn.
494 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
496 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
498 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
500 * srfi-13.h (scm_string_map, scm_string_map_x,
501 scm_string_for_each): Reverse order of first two args.
502 (scm_string_for_each_index): New proc.
504 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
505 (scm_string_for_each_index): New func.
507 * srfi-13.scm (string-for-each-index): New exported proc.
509 Thanks to Alex Shinn.
511 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
513 * srfi-13.c (string-map): Swapped order of string and proc args to
514 conform with the srfi. (Thanks to Alex Shinn.)
516 2001-08-05 Gary Houston <ghouston@arglist.com>
518 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
519 internal definitions.
520 (list-tabulate, iota): check for bad arguments that otherwise
522 (filter): check for proper list, to avoid infinite recursion on
525 2001-08-04 Gary Houston <ghouston@arglist.com>
527 * srfi-1.scm (filter): replaced with a tail-recursive version.
528 (remove): implement using filter, to make it tail-recursive.
530 2001-07-31 Gary Houston <ghouston@arglist.com>
532 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
533 accounting for the (char-set-union cs2...) in the spec. i.e.,
534 (char-set-diff+intersection a) -> copy-of-a, empty-set
535 and the following are equivalent:
536 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
537 (char-set-diff+intersection a (char-set #\a #\b))
539 (scm_char_set_xor_x): disabled the side-effecting code, since it
540 gives inconsistent results to scm_char_set_xor for the case
541 (char-set-xor! a a a).
543 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
544 two arguments are compulsory in final spec. also similar changes
545 as for scm_char_set_diff_plus_intersection.
546 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
548 2001-07-22 Gary Houston <ghouston@arglist.com>
550 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
551 the compulsory cs1 arguments: all args are optional in final spec.
553 * srfi-14.h: declarations updated.
555 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
557 * srfi-11.scm, srfi-8.scm: Update copyright notice.
559 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
561 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
564 * srfi-19.scm: Define `current-time' before exporting it.
566 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
568 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
569 side. Bit sets were handled wrong because I couldn't tell bit
570 counts from byte counts. Also, the bit array should be 256 / 8
571 bytes long. Thank you, Gary!
573 Removed unnecessary protoype for scm_char_set_copy.
575 2001-07-16 Gary Houston <ghouston@arglist.com>
577 * srfi-14.scm: export string->char-set!, not string-char-set!.
579 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
580 scm_end_of_char_set_p): reject negative cursor values.
581 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
582 type error in list component, omit the position (was always 1).
584 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
586 (scm_char_set_map): Bug-fix: char-set-map was modifying the
587 argument instead of the return value.
589 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
591 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
592 use this value for initializing and comparing charsets.
593 (scm_char_set_hash): Use ``better'' hash algorithm which produces
596 2001-07-15 Gary Houston <ghouston@arglist.com>
598 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
599 opt arg to give default bound, as in final spec. don't allow
601 (scm_char_set_hash): bug fix: was overrunning the buffer and
602 calculating based on garbage.
603 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
604 reporting: wasn't incremented due to macro coding.
605 (scm_char_set): report argument number in error reporting: was
606 hard coded to 1. remove a couple of local variables.
608 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
610 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
613 2001-07-11 Gary Houston <ghouston@arglist.com>
615 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
616 return #t instead of giving wrong-number-of-arguments . take a
617 single "rest" argument. use memcmp instead of a loop to compare
619 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
620 take a single "rest" argument.
621 srfi-14.h: update the declarations.
623 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
627 2001-07-06 Gary Houston <ghouston@arglist.com>
629 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
630 delete!, assoc): roll back the previous change. instead place
631 dummy definitions in a deprecated block at the beginning as in
634 2001-07-06 Rob Browning <rlb@defaultvalue.org>
636 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
638 2001-07-03 Gary Houston <ghouston@arglist.com>
640 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
641 delete!, assoc): don't export until the new bindings have been
642 created. otherwise "export" thinks they are being re-exported and
643 a deprecation warning is produced.
644 (map-in-order): defined and exported, to support lists of unequal
647 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
649 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
650 invalid arguments. Same fix for several other procedures (do not
651 use zero?, use <= 0).
653 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
655 * srfi-1.scm: Replaced calls to `map' in several procedures to
657 (map, for-each): New procedures, extended from R5RS.
659 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
661 * srfi-4.c: Minor cleanups.
663 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
664 (scm_char_set_unfold_x, scm_char_set_for_each)
665 (scm_char_set_map, scm_char_set_filter)
666 (scm_char_set_filter_x, scm_char_set_count)
667 (scm_char_set_every, scm_char_set_any): Replace calls to
668 scm_apply() with the corresponding scm_call_N() functions.
670 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
671 (scm_char_set_unfold, scm_char_set_unfold_x)
672 (scm_char_set_map, scm_char_set_diff_plus_intersection)
673 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
674 SCM_LISTN with calls to scm_list_N().
676 * srfi-13.c (scm_string_tabulate, scm_string_map)
677 (scm_string_map_x, scm_string_unfold)
678 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
679 with calls to scm_list_N().
681 * srfi-13.c (scm_string_any, scm_string_every),
682 (scm_string_tabulate, scm_string_trim),
683 (scm_string_trim_right, scm_string_trim_both),
684 (scm_string_compare, scm_string_compare_ci),
685 (scm_string_indexS, scm_string_index_right),
686 (scm_string_skip, scm_string_skip_right, scm_string_count),
687 (scm_string_map, scm_string_map_x, scm_string_fold),
688 (scm_string_fold_right, scm_string_unfold),
689 (scm_string_unfold_right, scm_string_for_each),
690 (scm_string_filter, scm_string_delete): Replace calls to
691 scm_apply() with the corresponding scm_call_N() functions.
693 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
695 * Makefile.am: Added SRFI-4 files in various places.
697 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
699 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
701 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
702 scm_string_take_right, scm_string_drop_right, scm_string_trim,
703 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
704 Use scm_mem2string instead of scm_makfromstr.
706 (scm_reverse_list_to_string, string_titlecase_x): Prefer
707 !SCM_<pred> over SCM_N<pred>.
709 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
711 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
714 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
716 The SRFI-19 implementation was completely broken. Already the
717 reference implementation did not handle DST and time zones
718 properly and relied on non-R5RS-isms like passing reals to
719 `quotient'. For Guile, some additional fixes were needed because
720 of the incomplete numeric tower implementation. See also
723 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
724 (add-duration): Renamed from priv:add-duration.
725 (priv:time-normalize!): Handle fractional nanoseconds; remove
726 duplicate definition.
727 (priv:current-time-tai): Fixed typo.
728 (time=?, time<=?): Fixed typos.
729 (time-tai->time-utc, time-utc->time-tai,
730 time-utc->time-monotonic): Use make-time-unnormalized instead of
731 make-time when uninitialized time fields are used.
732 (set-date-nanosecond!, set-date-second!, set-date-minute!,
733 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
734 set-date-zone-offset!): Define.
735 (priv:local-tz-offset): Take an extra argument in order to handle
737 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
738 changed signature of priv:local-tz-offset. Don't pass non-integer
739 arguments to quotient (non-R5RS, not supported by Guile).
740 (date->time-utc): Ensure that seconds in a date structure are
741 always exact integers. Handle DST properly.
742 (current-date, julian-day->date, modified-julian-day->date):
743 Handle the changed signature of priv:local-tz-offset.
744 (julian-day->time-utc): Reverted earlier inexact->exact hack;
745 make-time now handles inexact arguments.
746 (priv:locale-print-time-zone): At least print the numerical time
748 (priv:integer-reader): Fixed named let iteration.
749 (priv:read-directives): Use set-date-month! instead of
750 priv:set-date-month! etc.
751 (string->date): Handle DST properly.
753 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
755 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
757 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
759 * srfi-14.c (charset_print): Mark unused parameters with
762 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
764 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
765 (delete-duplicates): Now the first occurrence of an element is
766 retained, as required.
767 (member, assoc): Fixed wrong order of equality predicate
770 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
774 * srfi-1.scm: New file.
776 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
778 Added exception notice to all files.
780 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
782 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
785 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
787 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
789 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
791 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
793 * srfi-19.scm: removed a stray open parenthesis. (thanks to
794 Matthias Köppe for the report).
796 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
798 * srfi-19.scm (:optional): renamed to optional to avoid reader
799 keywords conflict. Time passes... Removed :optional altogether
800 and just handle optional args directly. Thanks to Matthias Koeppe
801 for the report of this and the two bits below.
802 (priv:decode-julian-day-number): add inexact->exact for truncate
804 (time-utc->date): add inexact->exact and floor so quotient will
807 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
809 * README: Update, document available SRFIs.
811 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
813 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
814 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
815 srfi-2.scm: Use `cond-expand-provide' for providing features to
818 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
820 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
823 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
825 Avoid using module operations from C.
827 * srfi-13.c (scm_init_srfi_13_14): Removed.
828 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
829 initializations needed by C clients of srfi-14.
830 (scm_init_srfi_13, scm_init_srfi_14): Call it.
831 * srfi-13.scm: Call "scm_init_srfi_13" instead of
832 "scm_init_srfi_13_14".
833 * srfi-14.scm: Call "scm_init_srfi_14" instead of
834 "scm_init_srfi_13_14".
836 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
838 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
840 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
842 * Makefile.am (srfi_DATA): Added srfi-16.scm.
844 * srfi-16.scm: New file.
846 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
848 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
851 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
853 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
855 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
857 * Makefile.am (srfi_DATA): added srfi-19.scm.
859 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
862 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
864 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
866 * srfi-10.scm: Typo fix.
868 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
870 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
872 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
874 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
876 * srfi-10.scm: New file.
878 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
880 Added `Commentary:' tag.
882 * srfi-9.scm: Added `Commentary:' tag.
884 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
887 (scm_reverse_string_concatenate): renamed to
888 scm_string_concatentate_reverse.
889 (scm_reverse_string_concatenate_shared): renamed to
890 scm_string_concatenate_reverse_shared.
892 2001-04-27 Gary Houston <ghouston@arglist.com>
894 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
895 add "srfi/" to lines including .x files so they can be found
896 when build_dir != src_dir.
898 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
900 * Makefile.am (srfi_DATA): Added srfi-9.scm.
902 * srfi-9.scm: New file. Exports `define-record-type'.
904 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
906 * Makefile.am (srfi_DATA): added srfi-6.scm.
907 (srfi_DATA): added srfi-11.scm.
908 (srfi_DATA): added srfi-8.scm.
909 (srfi_DATA): added srfi-2.scm.
911 * srfi-11.scm: new file - exports let-values and let*-values.
913 * srfi-6.scm: new file - guile already has srfi-6 procedures
914 loaded by default, so this is a dummy file right now.
916 * srfi-8.scm: new file - exports receive.
918 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
920 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
922 Changed two procedure names to match final SRFI document. Thanks
923 to Rob Browning for spotting this.
925 * srfi-13.scm (string-concatenate-reverse),
926 (string-concatenate-reverse/shared): Rename from
927 reverse-string-concatenate[/shared].
929 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
930 scm_reverse_string_concatenate_shared.
931 (scm_string_concatenate_reverse): Renamed from
932 scm_reverse_string_concatenate.
934 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
936 * configure.in, autogen.sh: Removed.
938 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
939 when using memmove().
941 * srfi-14.h: Added prototypes for all exported procedures..
943 * srfi-13.c: Include srfi-13.h
945 * srfi-13.h: New file containing the prototypes.
947 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
948 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
950 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
952 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
954 * Makefile.am: Fixed "srf-14.x" typo.
956 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
958 * guile-srfi.texi: Removed, because merged with the GRM.
960 * guile-srfi.texi: The docs are now up to date with the
961 implementation and have new introductory material.
963 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
965 Integrated the guile-srfi package into the Guile distribution.
967 * srfi-13.c: All procedures so specified in the SRFI now accept
968 character set arguments.
970 * Makefile.am: Snarfed some variables from the guile-readline
973 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
975 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
976 configure.in, Makefile.am: Added FSF copyright and Guile license
979 * srfi-13.c, srfi-14.c: Include srfi-14.h.
980 (scm_init_srfi_13_14): Initialize the complete module, if not
983 * srfi-14.h: New file.
985 * srfi-13.scm, srfi-14.scm: Load new combined library.
987 * Makefile.am: Build only one library,
988 `libguile-srfi-srfi-13-14.la'
990 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
992 * guile-srfi.texi: Integrated the SRFI-14 documentation.
994 * srfi-14.c, srfi-14.scm: Made the procedures and variables
995 compliant to the final SRFI document.
997 * Renamed the package to guile-srfi.
999 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1001 * NEWS: New section for 0.0.3.
1003 * configure.in, README, guile-srfi-13.texi: Bumped version number
1006 * Released version 0.0.2.
1008 * Makefile.am: Added rules for builing the SRFI-14 library.
1010 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1011 (character set library).
1013 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1015 * README: Updated procedure and incompatibility list.
1017 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1018 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1019 (scm_string_downcaseS, string_titlecase_x),
1020 (scm_string_titlecase_x, scm_string_titlecase),
1021 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1024 * srfi-13.scm: Export new case mapping procedures.
1026 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1027 procedures from incompatibility list.
1028 (Case Mapping): New section for case mapping procedures.
1030 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1032 * NEWS: New section for 0.0.2
1034 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1037 * Released version 0.0.1.
1039 * README: Made procedure list up-to-date.
1041 * guile-srfi-13.texi: Fixed typos, completed reference and added
1044 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1046 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1048 * Started guile-srfi-13 package. Files are copied from the
1049 guile-gdbm and slightly modified.