1 2005-03-13 Kevin Ryde <user42@zip.com.au>
3 * srfi-1.scm (lset-union): Call `=' procedure with args in the order
6 * srfi-60.scm, srfi-60.c, srfi-60.h: New files.
7 * Makefile.am: Add them.
9 2005-03-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
11 * srfi-1.c: Use scm_is_pair instead of SCM_CONSP; use scm_is_null
14 2005-02-18 Kevin Ryde <user42@zip.com.au>
16 * srfi-1.scm (lset-adjoin): Revert change using `list' not `acc', the
17 spec is not quite clear, but reference code uses acc, so do that.
19 2005-02-12 Kevin Ryde <user42@zip.com.au>
21 * srfi-1.scm (reduce, reduce-right): Don't call f with ridentity, use
22 it only if lst is empty, per srfi and intended optimization reduce
25 2005-02-04 Kevin Ryde <user42@zip.com.au>
27 * srfi-1.scm (list=): Correction to arguments passed to given elt=,
28 spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
29 arg was always from list 0 not list i.
31 2005-01-29 Kevin Ryde <user42@zip.com.au>
33 * srfi-1.scm (lset-adjoin): Actually use the given `=' procedure.
34 Test membership only on the given `list', not `acc', as per the spec.
36 * srfi-1.c, srfi-1.scm (remove): Rewrite in C, a trivial adaption from
37 scm_filter in the core.
38 * srfi-1.scm (remove!): Use filter!.
40 2005-01-28 Kevin Ryde <user42@zip.com.au>
42 * srfi-1.scm (lset=): Correction to pred call arg order, srfi spec is
43 (= e[i] e[i+1]), but had some calls the other way around.
45 2005-01-24 Kevin Ryde <user42@zip.com.au>
47 * srfi-1.c (scm_srfi1_member): Correction to pred call arg order, srfi
48 spec is (PRED X elem). Update docstring from manual.
50 * srfi-1.scm (lset=): Allow no list arguments, per srfi spec example.
52 2005-01-18 Kevin Ryde <user42@zip.com.au>
54 * srfi-1.scm: Remove (ice-9 session) and (ice-9 receive), not used.
56 2005-01-12 Kevin Ryde <user42@zip.com.au>
58 * srfi-39.scm (current-input-port, current-output-port): Parameter
59 replacements for core functions, per SRFI spec.
60 (current-error-port): The same, for consistency.
62 2005-01-10 Marius Vollmer <mvo@zagadka.de>
64 * srfi-1.c (check_args): Bugfix to change from 2005-01-02: ARGV is
65 the vector to check, not ARGS.
67 2005-01-02 Marius Vollmer <mvo@zagadka.de>
69 * srfi-1.c: Use new vector elements API or simple vector API, as
72 2005-01-02 Kevin Ryde <user42@zip.com.au>
74 * Makefile.am (srfi_DATA): Add srfi-39.scm.
76 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
78 * README: Update, document available SRFIs.
80 2004-12-06 Kevin Ryde <user42@zip.com.au>
82 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
85 * srfi-1.scm (alist-delete): Correction to equality proc call argument
86 order, spec is for given KEY param first.
88 2004-12-05 Kevin Ryde <user42@zip.com.au>
90 * srfi-1.scm (filter-map): Change to a tail-recursive form.
91 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
92 for tail recursiveness.
94 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
96 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
97 the skeletons remains.
99 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
101 * srfi-4.c (print_int64, print_uint64): Removed.
102 (uvec_print): Use scm_intprint for signed elemets and
103 scm_uintprint for unsigned ones. Do not use print_int64 and
104 print_uint64 since scm_intprint and scm_Uintprint can handle 64
107 2004-09-03 Stefan Jahn <stefan@lkcc.org>
109 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
110 lst1 is a #define on Win32 systems.
112 2004-08-26 Kevin Ryde <user42@zip.com.au>
114 * srfi-31.scm (rec): Add missing `error' to else clause.
116 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
118 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
119 to the library names.
120 * srfi-1.scm, srfi-4.scm: Use the new library names with
123 2004-08-25 Marius Vollmer <mvo@zagadka.de>
125 SRFI-13 and SRFI-14 have been moved into the core.
127 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
130 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
131 content except for the init functions.
133 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
135 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
136 scm_substring_sharedS.
138 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
141 * srfi-13.scm (substring/shared): Export as replacement since we
142 now have a version in the core.
144 2004-08-15 Marius Vollmer <mvo@zagadka.de>
146 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
148 2004-08-14 Kevin Ryde <user42@zip.com.au>
150 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
151 and charset as predicates, per SRFI-13 spec.
153 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
155 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
156 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
157 validation macros. Replaced every use.
159 2004-08-05 Kevin Ryde <user42@zip.com.au>
161 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
162 per doc/ref/srfi-modules.texi.
164 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
166 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
167 scm_from_*, respectively.
168 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
171 2004-08-02 Kevin Ryde <user42@zip.com.au>
173 * srfi-13.c (scm_string_every): Correction to initial "res" value,
174 return should be #t for an empty string. Reported by Andreas Vögele.
176 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
178 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
179 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
180 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
181 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
182 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
183 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
185 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
187 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
188 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
189 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
190 scm_is_bool, respectively.
192 2004-07-05 Kevin Ryde <user42@zip.com.au>
194 * srfi-4.c (uvec_sizes): Add "const".
196 * srfi-31.scm: Correction to heading comment.
198 2004-06-20 Rob Browning <rlb@defaultvalue.org>
200 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
201 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
202 (uvec_print): rewrite using a union to make more
203 compact, and use static print_uint64 and print_int64 to print
205 (print_int64): new static function (temporary fix).
206 (print_uint64): new static function (temporary fix).
208 * Makefile.am (srfi_DATA): add srfi-31.scm.
210 * srfi-31.scm: new file.
212 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
214 * srfi-17.scm (setter, car, cdr etc.): When within one define
215 expression a new variable in the local module is defined in terms
216 of an equally named variable from some other module, use @ to
217 refer to the variable in the other module. This is necessary due
218 to section 5.2.1 of R5RS: In a define expression first the new
219 binding is created and then the expression is evaluated.
221 2004-04-24 Kevin Ryde <user42@zip.com.au>
223 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
224 guaranteed uniqueness of temp variable symbols.
226 2004-04-15 Kevin Ryde <user42@zip.com.au>
228 * srfi-13.c (scm_string_trim, scm_string_trim_right,
229 scm_string_trim_both): Cast to unsigned char for isspace.
231 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
233 * srfi-13.c (s_scm_string_map): convert character to unsigned char
234 before converting to unsigned int. This prevents hi-bit ascii as
235 being converted large integers.
236 (string_upcase_x): change caller for scm_{up,down}case to
239 2004-03-23 Kevin Ryde <user42@zip.com.au>
241 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
244 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
246 * Makefile.am (TAGS_FILES): Use this variable instead of
247 ETAGS_ARGS so that TAGS can be built using separate build
250 2004-01-24 Marius Vollmer <mvo@zagadka.de>
252 * Makefile.am (srfi_DATA): Added srfi-26.scm.
254 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
256 * srfi-26.scm: New, from Daniel Skarda. Thanks!
258 2003-12-03 Kevin Ryde <user42@zip.com.au>
260 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
263 * srfi-1.scm (map!): Define as an alias for map, previous definition
264 was not tail-recursive.
266 2003-08-23 Kevin Ryde <user42@zip.com.au>
268 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
269 from core list-copy but allowing improper lists, per SRFI-1 spec.
271 * srfi-19.scm (date-week-number): Correction, day of week starting
272 week applied was off by one.
274 2003-07-29 Kevin Ryde <user42@zip.com.au>
276 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
279 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
281 * srfi-34.scm: Add cond-expand-provide srfi-34.
283 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
285 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
286 Re-implement in C to avoid stack overflows for long input lists.
288 2003-07-08 Kevin Ryde <user42@zip.com.au>
290 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
291 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
292 functions. scm_srfi1_delete_x is derived from scm_delete_x.
293 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
296 2003-06-07 Kevin Ryde <user42@zip.com.au>
298 * srfi-6.scm: #:re-export open-input-string, open-output-string and
299 get-output-string, for the benefit of applications wanting to use
300 #:select on the module.
302 2003-05-29 Stefan Jahn <stefan@lkcc.org>
304 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
305 libguile_srfi_srfi_4_la_LDFLAGS,
306 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
307 option for the mingw32 build.
309 2003-05-13 Kevin Ryde <user42@zip.com.au>
311 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
313 2003-05-10 Kevin Ryde <user42@zip.com.au>
315 * srfi-1.scm (take): Make this an alias for list-head.
316 (drop): Make this an alias for list-tail.
318 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
320 * srfi-34.scm: New file.
322 2003-04-23 Marius Vollmer <mvo@zagadka.de>
324 * srfi-1.scm: Removed stray "o" from exports list.
326 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
328 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
329 Now, guile itself does not include any calls to SCM_NCONSP any
332 2003-04-05 Marius Vollmer <mvo@zagadka.de>
334 * Changed license terms to the plain LGPL thru-out.
336 2003-03-25 Rob Browning <rlb@defaultvalue.org>
338 * srfi-4.c: replace typedefs for basic types with typedefs using
339 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
340 remove typedefs altogether later.
342 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
344 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
345 core. (Thanks to Kevin Ryde.)
347 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
349 * srfi-13.scm: Mark replacements.
351 * srfi-17.scm: Mark replacements.
353 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
355 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
356 member, delete, delete!, assoc): Marked as replacements.
357 (filter, filter!): Removed. (Now implemented in the core.)
359 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
361 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
362 with the versions in this module using
363 scm_c_extend_primitive_generic.
365 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
367 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
368 case of two argument lists. (Thanks to Kevin Ryde.)
370 2002-12-08 Rob Browning <rlb@defaultvalue.org>
372 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
374 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
376 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
378 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
380 * srfi-1.scm: Load srfi-1 extension.
381 (map, map-in-order, for-each, member, assoc): Replaced by
382 primitives in srfi-1.c.
383 (map1): Defined as `map'.
385 * Makefile.am: Added rules for srfi-1.c.
387 * srfi-1.c, srfi-1.h: New files.
389 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
391 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
392 the subtitute for char-set:graphic when then token-set hsa been
393 defaulted, grab the real char-set:graphic from (srfi srfi-14).
395 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
396 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
399 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
401 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
402 the second arg. Collect characters belonging to this set into
403 tokens (as specified by the SRFI), instead of splitting at these
404 characters. Default to an equivalent of char-set:graphic instead
405 of everything-but-whitespace. Thanks to Matthias Koeppe!
407 2002-04-10 Rob Browning <rlb@defaultvalue.org>
409 * .cvsignore: add *.c.clean.c.
411 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
413 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
414 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
415 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
416 Point to manual in commentary; nfc.
418 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
420 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
422 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
424 * srfi-13.c, srfi-14.c, srfi-4.c:
425 Retire inclusion guard macro SCM_MAGIC_SNARFER.
427 * Makefile.am (snarfcppopts): New var.
428 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
430 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
432 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
433 that 8-bit chars work. Thanks to David Pirotte!
435 2002-02-24 Rob Browning <rlb@defaultvalue.org>
437 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
438 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
439 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
440 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
442 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
444 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
445 match the expectations of priv:year-day.
447 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
449 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
450 month number, not day number. (Thanks to Sébastien de Menten de
451 Horne for reporting the problem.)
453 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
455 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
456 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
459 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
461 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
462 Thanks to Panagiotis Vossos.
464 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
466 * srfi-1.scm (map1): Rewrite to be tail-recursive.
467 Thanks to Panagiotis Vossos for the bug report.
469 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
471 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
473 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
475 * Makefile.am (ETAGS_ARGS): Added.
477 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
479 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
480 it with `#ifdef' instead of `#if'.
482 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
484 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
485 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
486 superfluous whitespace at end of docstring lines.
488 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
490 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
493 2001-11-04 Stefan Jahn <stefan@lkcc.org>
495 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
496 __FOO__ macros into FOO.
498 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
500 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
501 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
502 the source directory, for libguile.la. Thanks to Ken Raeburn.
504 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
506 Support for native Win32. Thanks to Stefan Jahn!
508 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
509 which do not allow unresolved symbols inside shared libraries.
511 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
512 exported symbol with SCM_SRFI1314_API.
514 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
515 symbol with SCM_SRFI4_API.
517 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
519 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
520 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
521 directives `export', `export-syntax', `re-export' and
522 `re-export-syntax' into the `define-module' form. This is the
523 recommended way of exporting bindings.
525 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
527 * srfi-19.scm (priv:split-real): Inserted missing call to
530 2001-09-21 Rob Browning <rlb@defaultvalue.org>
532 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
534 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
535 (scm_char_set_hash): val needs to be long, not just unsigned.
536 (scm_char_set): need 1L, not just 1 in "<<".
537 (scm_list_to_char_set): need 1L, not just 1 in "<<".
538 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
539 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
540 (scm_string_to_char_set): string length var needed to be
542 (scm_string_to_char_set): need 1L, not just 1 in "<<".
543 (scm_string_to_char_set_x): string length var needed to be
545 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
546 (scm_char_set_filter): need 1L, not just 1 in "<<".
547 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
548 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
549 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
550 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
551 (scm_char_set_delete): need 1L, not just 1 in "<<".
552 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
553 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
555 2001-09-12 Gary Houston <ghouston@arglist.com>
557 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
559 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
561 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
562 trick export from the beginning of the files.
564 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
566 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
567 two args. Thanks to Alex Shinn.
569 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
571 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
573 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
575 * srfi-13.h (scm_string_map, scm_string_map_x,
576 scm_string_for_each): Reverse order of first two args.
577 (scm_string_for_each_index): New proc.
579 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
580 (scm_string_for_each_index): New func.
582 * srfi-13.scm (string-for-each-index): New exported proc.
584 Thanks to Alex Shinn.
586 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
588 * srfi-13.c (string-map): Swapped order of string and proc args to
589 conform with the srfi. (Thanks to Alex Shinn.)
591 2001-08-05 Gary Houston <ghouston@arglist.com>
593 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
594 internal definitions.
595 (list-tabulate, iota): check for bad arguments that otherwise
597 (filter): check for proper list, to avoid infinite recursion on
600 2001-08-04 Gary Houston <ghouston@arglist.com>
602 * srfi-1.scm (filter): replaced with a tail-recursive version.
603 (remove): implement using filter, to make it tail-recursive.
605 2001-07-31 Gary Houston <ghouston@arglist.com>
607 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
608 accounting for the (char-set-union cs2...) in the spec. i.e.,
609 (char-set-diff+intersection a) -> copy-of-a, empty-set
610 and the following are equivalent:
611 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
612 (char-set-diff+intersection a (char-set #\a #\b))
614 (scm_char_set_xor_x): disabled the side-effecting code, since it
615 gives inconsistent results to scm_char_set_xor for the case
616 (char-set-xor! a a a).
618 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
619 two arguments are compulsory in final spec. also similar changes
620 as for scm_char_set_diff_plus_intersection.
621 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
623 2001-07-22 Gary Houston <ghouston@arglist.com>
625 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
626 the compulsory cs1 arguments: all args are optional in final spec.
628 * srfi-14.h: declarations updated.
630 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
632 * srfi-11.scm, srfi-8.scm: Update copyright notice.
634 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
636 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
639 * srfi-19.scm: Define `current-time' before exporting it.
641 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
643 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
644 side. Bit sets were handled wrong because I couldn't tell bit
645 counts from byte counts. Also, the bit array should be 256 / 8
646 bytes long. Thank you, Gary!
648 Removed unnecessary protoype for scm_char_set_copy.
650 2001-07-16 Gary Houston <ghouston@arglist.com>
652 * srfi-14.scm: export string->char-set!, not string-char-set!.
654 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
655 scm_end_of_char_set_p): reject negative cursor values.
656 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
657 type error in list component, omit the position (was always 1).
659 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
661 (scm_char_set_map): Bug-fix: char-set-map was modifying the
662 argument instead of the return value.
664 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
666 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
667 use this value for initializing and comparing charsets.
668 (scm_char_set_hash): Use ``better'' hash algorithm which produces
671 2001-07-15 Gary Houston <ghouston@arglist.com>
673 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
674 opt arg to give default bound, as in final spec. don't allow
676 (scm_char_set_hash): bug fix: was overrunning the buffer and
677 calculating based on garbage.
678 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
679 reporting: wasn't incremented due to macro coding.
680 (scm_char_set): report argument number in error reporting: was
681 hard coded to 1. remove a couple of local variables.
683 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
685 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
688 2001-07-11 Gary Houston <ghouston@arglist.com>
690 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
691 return #t instead of giving wrong-number-of-arguments . take a
692 single "rest" argument. use memcmp instead of a loop to compare
694 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
695 take a single "rest" argument.
696 srfi-14.h: update the declarations.
698 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
702 2001-07-06 Gary Houston <ghouston@arglist.com>
704 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
705 delete!, assoc): roll back the previous change. instead place
706 dummy definitions in a deprecated block at the beginning as in
709 2001-07-06 Rob Browning <rlb@defaultvalue.org>
711 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
713 2001-07-03 Gary Houston <ghouston@arglist.com>
715 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
716 delete!, assoc): don't export until the new bindings have been
717 created. otherwise "export" thinks they are being re-exported and
718 a deprecation warning is produced.
719 (map-in-order): defined and exported, to support lists of unequal
722 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
724 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
725 invalid arguments. Same fix for several other procedures (do not
726 use zero?, use <= 0).
728 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
730 * srfi-1.scm: Replaced calls to `map' in several procedures to
732 (map, for-each): New procedures, extended from R5RS.
734 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
736 * srfi-4.c: Minor cleanups.
738 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
739 (scm_char_set_unfold_x, scm_char_set_for_each)
740 (scm_char_set_map, scm_char_set_filter)
741 (scm_char_set_filter_x, scm_char_set_count)
742 (scm_char_set_every, scm_char_set_any): Replace calls to
743 scm_apply() with the corresponding scm_call_N() functions.
745 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
746 (scm_char_set_unfold, scm_char_set_unfold_x)
747 (scm_char_set_map, scm_char_set_diff_plus_intersection)
748 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
749 SCM_LISTN with calls to scm_list_N().
751 * srfi-13.c (scm_string_tabulate, scm_string_map)
752 (scm_string_map_x, scm_string_unfold)
753 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
754 with calls to scm_list_N().
756 * srfi-13.c (scm_string_any, scm_string_every),
757 (scm_string_tabulate, scm_string_trim),
758 (scm_string_trim_right, scm_string_trim_both),
759 (scm_string_compare, scm_string_compare_ci),
760 (scm_string_indexS, scm_string_index_right),
761 (scm_string_skip, scm_string_skip_right, scm_string_count),
762 (scm_string_map, scm_string_map_x, scm_string_fold),
763 (scm_string_fold_right, scm_string_unfold),
764 (scm_string_unfold_right, scm_string_for_each),
765 (scm_string_filter, scm_string_delete): Replace calls to
766 scm_apply() with the corresponding scm_call_N() functions.
768 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
770 * Makefile.am: Added SRFI-4 files in various places.
772 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
774 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
776 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
777 scm_string_take_right, scm_string_drop_right, scm_string_trim,
778 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
779 Use scm_mem2string instead of scm_makfromstr.
781 (scm_reverse_list_to_string, string_titlecase_x): Prefer
782 !SCM_<pred> over SCM_N<pred>.
784 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
786 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
789 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
791 The SRFI-19 implementation was completely broken. Already the
792 reference implementation did not handle DST and time zones
793 properly and relied on non-R5RS-isms like passing reals to
794 `quotient'. For Guile, some additional fixes were needed because
795 of the incomplete numeric tower implementation. See also
798 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
799 (add-duration): Renamed from priv:add-duration.
800 (priv:time-normalize!): Handle fractional nanoseconds; remove
801 duplicate definition.
802 (priv:current-time-tai): Fixed typo.
803 (time=?, time<=?): Fixed typos.
804 (time-tai->time-utc, time-utc->time-tai,
805 time-utc->time-monotonic): Use make-time-unnormalized instead of
806 make-time when uninitialized time fields are used.
807 (set-date-nanosecond!, set-date-second!, set-date-minute!,
808 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
809 set-date-zone-offset!): Define.
810 (priv:local-tz-offset): Take an extra argument in order to handle
812 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
813 changed signature of priv:local-tz-offset. Don't pass non-integer
814 arguments to quotient (non-R5RS, not supported by Guile).
815 (date->time-utc): Ensure that seconds in a date structure are
816 always exact integers. Handle DST properly.
817 (current-date, julian-day->date, modified-julian-day->date):
818 Handle the changed signature of priv:local-tz-offset.
819 (julian-day->time-utc): Reverted earlier inexact->exact hack;
820 make-time now handles inexact arguments.
821 (priv:locale-print-time-zone): At least print the numerical time
823 (priv:integer-reader): Fixed named let iteration.
824 (priv:read-directives): Use set-date-month! instead of
825 priv:set-date-month! etc.
826 (string->date): Handle DST properly.
828 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
830 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
832 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
834 * srfi-14.c (charset_print): Mark unused parameters with
837 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
839 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
840 (delete-duplicates): Now the first occurrence of an element is
841 retained, as required.
842 (member, assoc): Fixed wrong order of equality predicate
845 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
849 * srfi-1.scm: New file.
851 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
853 Added exception notice to all files.
855 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
857 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
860 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
862 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
864 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
866 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
868 * srfi-19.scm: removed a stray open parenthesis. (thanks to
869 Matthias Köppe for the report).
871 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
873 * srfi-19.scm (:optional): renamed to optional to avoid reader
874 keywords conflict. Time passes... Removed :optional altogether
875 and just handle optional args directly. Thanks to Matthias Koeppe
876 for the report of this and the two bits below.
877 (priv:decode-julian-day-number): add inexact->exact for truncate
879 (time-utc->date): add inexact->exact and floor so quotient will
882 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
884 * README: Update, document available SRFIs.
886 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
888 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
889 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
890 srfi-2.scm: Use `cond-expand-provide' for providing features to
893 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
895 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
898 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
900 Avoid using module operations from C.
902 * srfi-13.c (scm_init_srfi_13_14): Removed.
903 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
904 initializations needed by C clients of srfi-14.
905 (scm_init_srfi_13, scm_init_srfi_14): Call it.
906 * srfi-13.scm: Call "scm_init_srfi_13" instead of
907 "scm_init_srfi_13_14".
908 * srfi-14.scm: Call "scm_init_srfi_14" instead of
909 "scm_init_srfi_13_14".
911 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
913 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
915 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
917 * Makefile.am (srfi_DATA): Added srfi-16.scm.
919 * srfi-16.scm: New file.
921 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
923 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
926 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
928 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
930 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
932 * Makefile.am (srfi_DATA): added srfi-19.scm.
934 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
937 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
939 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
941 * srfi-10.scm: Typo fix.
943 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
945 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
947 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
949 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
951 * srfi-10.scm: New file.
953 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
955 Added `Commentary:' tag.
957 * srfi-9.scm: Added `Commentary:' tag.
959 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
962 (scm_reverse_string_concatenate): renamed to
963 scm_string_concatentate_reverse.
964 (scm_reverse_string_concatenate_shared): renamed to
965 scm_string_concatenate_reverse_shared.
967 2001-04-27 Gary Houston <ghouston@arglist.com>
969 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
970 add "srfi/" to lines including .x files so they can be found
971 when build_dir != src_dir.
973 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
975 * Makefile.am (srfi_DATA): Added srfi-9.scm.
977 * srfi-9.scm: New file. Exports `define-record-type'.
979 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
981 * Makefile.am (srfi_DATA): added srfi-6.scm.
982 (srfi_DATA): added srfi-11.scm.
983 (srfi_DATA): added srfi-8.scm.
984 (srfi_DATA): added srfi-2.scm.
986 * srfi-11.scm: new file - exports let-values and let*-values.
988 * srfi-6.scm: new file - guile already has srfi-6 procedures
989 loaded by default, so this is a dummy file right now.
991 * srfi-8.scm: new file - exports receive.
993 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
995 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
997 Changed two procedure names to match final SRFI document. Thanks
998 to Rob Browning for spotting this.
1000 * srfi-13.scm (string-concatenate-reverse),
1001 (string-concatenate-reverse/shared): Rename from
1002 reverse-string-concatenate[/shared].
1004 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
1005 scm_reverse_string_concatenate_shared.
1006 (scm_string_concatenate_reverse): Renamed from
1007 scm_reverse_string_concatenate.
1009 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1011 * configure.in, autogen.sh: Removed.
1013 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
1014 when using memmove().
1016 * srfi-14.h: Added prototypes for all exported procedures..
1018 * srfi-13.c: Include srfi-13.h
1020 * srfi-13.h: New file containing the prototypes.
1022 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
1023 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
1025 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
1027 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
1029 * Makefile.am: Fixed "srf-14.x" typo.
1031 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1033 * guile-srfi.texi: Removed, because merged with the GRM.
1035 * guile-srfi.texi: The docs are now up to date with the
1036 implementation and have new introductory material.
1038 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1040 Integrated the guile-srfi package into the Guile distribution.
1042 * srfi-13.c: All procedures so specified in the SRFI now accept
1043 character set arguments.
1045 * Makefile.am: Snarfed some variables from the guile-readline
1048 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
1050 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
1051 configure.in, Makefile.am: Added FSF copyright and Guile license
1054 * srfi-13.c, srfi-14.c: Include srfi-14.h.
1055 (scm_init_srfi_13_14): Initialize the complete module, if not
1058 * srfi-14.h: New file.
1060 * srfi-13.scm, srfi-14.scm: Load new combined library.
1062 * Makefile.am: Build only one library,
1063 `libguile-srfi-srfi-13-14.la'
1065 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1067 * guile-srfi.texi: Integrated the SRFI-14 documentation.
1069 * srfi-14.c, srfi-14.scm: Made the procedures and variables
1070 compliant to the final SRFI document.
1072 * Renamed the package to guile-srfi.
1074 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1076 * NEWS: New section for 0.0.3.
1078 * configure.in, README, guile-srfi-13.texi: Bumped version number
1081 * Released version 0.0.2.
1083 * Makefile.am: Added rules for builing the SRFI-14 library.
1085 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1086 (character set library).
1088 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1090 * README: Updated procedure and incompatibility list.
1092 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1093 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1094 (scm_string_downcaseS, string_titlecase_x),
1095 (scm_string_titlecase_x, scm_string_titlecase),
1096 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1099 * srfi-13.scm: Export new case mapping procedures.
1101 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1102 procedures from incompatibility list.
1103 (Case Mapping): New section for case mapping procedures.
1105 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1107 * NEWS: New section for 0.0.2
1109 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1112 * Released version 0.0.1.
1114 * README: Made procedure list up-to-date.
1116 * guile-srfi-13.texi: Fixed typos, completed reference and added
1119 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1121 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1123 * Started guile-srfi-13 package. Files are copied from the
1124 guile-gdbm and slightly modified.