1 2005-03-18 Kevin Ryde <user42@zip.com.au>
3 * srfi-1.scm, srfi-1.c, srfi-1.h (filter-map): Rewrite in C.
5 2005-03-16 Kevin Ryde <user42@zip.com.au>
7 * srfi-1.scm, srfi-1.c, srfi-1.h (drop-right, partition!, remove!,
8 split-at, split-at!, take-right): Rewrite in C. remove! derived from
11 2005-03-14 Kevin Ryde <user42@zip.com.au>
13 * srfi-1.scm, srfi-1.c, srfi-1.h (find, find-tail): Rewrite in C.
15 2005-03-13 Kevin Ryde <user42@zip.com.au>
17 * srfi-1.scm (lset-union): Call `=' procedure with args in the order
18 specified by the SRFI.
20 * srfi-60.scm, srfi-60.c, srfi-60.h: New files.
21 * Makefile.am: Add them.
23 2005-03-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
25 * srfi-1.c: Use scm_is_pair instead of SCM_CONSP; use scm_is_null
28 2005-02-18 Kevin Ryde <user42@zip.com.au>
30 * srfi-1.scm (lset-adjoin): Revert change using `list' not `acc', the
31 spec is not quite clear, but reference code uses acc, so do that.
33 2005-02-12 Kevin Ryde <user42@zip.com.au>
35 * srfi-1.scm (reduce, reduce-right): Don't call f with ridentity, use
36 it only if lst is empty, per srfi and intended optimization reduce
39 2005-02-04 Kevin Ryde <user42@zip.com.au>
41 * srfi-1.scm (list=): Correction to arguments passed to given elt=,
42 spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
43 arg was always from list 0 not list i.
45 2005-01-29 Kevin Ryde <user42@zip.com.au>
47 * srfi-1.scm (lset-adjoin): Actually use the given `=' procedure.
48 Test membership only on the given `list', not `acc', as per the spec.
50 * srfi-1.c, srfi-1.scm (remove): Rewrite in C, a trivial adaption from
51 scm_filter in the core.
52 * srfi-1.scm (remove!): Use filter!.
54 2005-01-28 Kevin Ryde <user42@zip.com.au>
56 * srfi-1.scm (lset=): Correction to pred call arg order, srfi spec is
57 (= e[i] e[i+1]), but had some calls the other way around.
59 2005-01-24 Kevin Ryde <user42@zip.com.au>
61 * srfi-1.c (scm_srfi1_member): Correction to pred call arg order, srfi
62 spec is (PRED X elem). Update docstring from manual.
64 * srfi-1.scm (lset=): Allow no list arguments, per srfi spec example.
66 2005-01-18 Kevin Ryde <user42@zip.com.au>
68 * srfi-1.scm: Remove (ice-9 session) and (ice-9 receive), not used.
70 2005-01-12 Kevin Ryde <user42@zip.com.au>
72 * srfi-39.scm (current-input-port, current-output-port): Parameter
73 replacements for core functions, per SRFI spec.
74 (current-error-port): The same, for consistency.
76 2005-01-10 Marius Vollmer <mvo@zagadka.de>
78 * srfi-1.c (check_args): Bugfix to change from 2005-01-02: ARGV is
79 the vector to check, not ARGS.
81 2005-01-02 Marius Vollmer <mvo@zagadka.de>
83 * srfi-1.c: Use new vector elements API or simple vector API, as
86 2005-01-02 Kevin Ryde <user42@zip.com.au>
88 * Makefile.am (srfi_DATA): Add srfi-39.scm.
90 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
92 * README: Update, document available SRFIs.
94 2004-12-06 Kevin Ryde <user42@zip.com.au>
96 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
99 * srfi-1.scm (alist-delete): Correction to equality proc call argument
100 order, spec is for given KEY param first.
102 2004-12-05 Kevin Ryde <user42@zip.com.au>
104 * srfi-1.scm (filter-map): Change to a tail-recursive form.
105 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
106 for tail recursiveness.
108 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
110 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
111 the skeletons remains.
113 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
115 * srfi-4.c (print_int64, print_uint64): Removed.
116 (uvec_print): Use scm_intprint for signed elemets and
117 scm_uintprint for unsigned ones. Do not use print_int64 and
118 print_uint64 since scm_intprint and scm_Uintprint can handle 64
121 2004-09-03 Stefan Jahn <stefan@lkcc.org>
123 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
124 lst1 is a #define on Win32 systems.
126 2004-08-26 Kevin Ryde <user42@zip.com.au>
128 * srfi-31.scm (rec): Add missing `error' to else clause.
130 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
132 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
133 to the library names.
134 * srfi-1.scm, srfi-4.scm: Use the new library names with
137 2004-08-25 Marius Vollmer <mvo@zagadka.de>
139 SRFI-13 and SRFI-14 have been moved into the core.
141 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
144 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
145 content except for the init functions.
147 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
149 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
150 scm_substring_sharedS.
152 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
155 * srfi-13.scm (substring/shared): Export as replacement since we
156 now have a version in the core.
158 2004-08-15 Marius Vollmer <mvo@zagadka.de>
160 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
162 2004-08-14 Kevin Ryde <user42@zip.com.au>
164 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
165 and charset as predicates, per SRFI-13 spec.
167 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
169 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
170 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
171 validation macros. Replaced every use.
173 2004-08-05 Kevin Ryde <user42@zip.com.au>
175 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
176 per doc/ref/srfi-modules.texi.
178 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
180 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
181 scm_from_*, respectively.
182 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
185 2004-08-02 Kevin Ryde <user42@zip.com.au>
187 * srfi-13.c (scm_string_every): Correction to initial "res" value,
188 return should be #t for an empty string. Reported by Andreas Vögele.
190 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
192 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
193 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
194 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
195 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
196 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
197 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
199 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
201 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
202 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
203 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
204 scm_is_bool, respectively.
206 2004-07-05 Kevin Ryde <user42@zip.com.au>
208 * srfi-4.c (uvec_sizes): Add "const".
210 * srfi-31.scm: Correction to heading comment.
212 2004-06-20 Rob Browning <rlb@defaultvalue.org>
214 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
215 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
216 (uvec_print): rewrite using a union to make more
217 compact, and use static print_uint64 and print_int64 to print
219 (print_int64): new static function (temporary fix).
220 (print_uint64): new static function (temporary fix).
222 * Makefile.am (srfi_DATA): add srfi-31.scm.
224 * srfi-31.scm: new file.
226 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
228 * srfi-17.scm (setter, car, cdr etc.): When within one define
229 expression a new variable in the local module is defined in terms
230 of an equally named variable from some other module, use @ to
231 refer to the variable in the other module. This is necessary due
232 to section 5.2.1 of R5RS: In a define expression first the new
233 binding is created and then the expression is evaluated.
235 2004-04-24 Kevin Ryde <user42@zip.com.au>
237 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
238 guaranteed uniqueness of temp variable symbols.
240 2004-04-15 Kevin Ryde <user42@zip.com.au>
242 * srfi-13.c (scm_string_trim, scm_string_trim_right,
243 scm_string_trim_both): Cast to unsigned char for isspace.
245 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
247 * srfi-13.c (s_scm_string_map): convert character to unsigned char
248 before converting to unsigned int. This prevents hi-bit ascii as
249 being converted large integers.
250 (string_upcase_x): change caller for scm_{up,down}case to
253 2004-03-23 Kevin Ryde <user42@zip.com.au>
255 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
258 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
260 * Makefile.am (TAGS_FILES): Use this variable instead of
261 ETAGS_ARGS so that TAGS can be built using separate build
264 2004-01-24 Marius Vollmer <mvo@zagadka.de>
266 * Makefile.am (srfi_DATA): Added srfi-26.scm.
268 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
270 * srfi-26.scm: New, from Daniel Skarda. Thanks!
272 2003-12-03 Kevin Ryde <user42@zip.com.au>
274 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
277 * srfi-1.scm (map!): Define as an alias for map, previous definition
278 was not tail-recursive.
280 2003-08-23 Kevin Ryde <user42@zip.com.au>
282 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
283 from core list-copy but allowing improper lists, per SRFI-1 spec.
285 * srfi-19.scm (date-week-number): Correction, day of week starting
286 week applied was off by one.
288 2003-07-29 Kevin Ryde <user42@zip.com.au>
290 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
293 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
295 * srfi-34.scm: Add cond-expand-provide srfi-34.
297 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
299 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
300 Re-implement in C to avoid stack overflows for long input lists.
302 2003-07-08 Kevin Ryde <user42@zip.com.au>
304 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
305 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
306 functions. scm_srfi1_delete_x is derived from scm_delete_x.
307 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
310 2003-06-07 Kevin Ryde <user42@zip.com.au>
312 * srfi-6.scm: #:re-export open-input-string, open-output-string and
313 get-output-string, for the benefit of applications wanting to use
314 #:select on the module.
316 2003-05-29 Stefan Jahn <stefan@lkcc.org>
318 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
319 libguile_srfi_srfi_4_la_LDFLAGS,
320 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
321 option for the mingw32 build.
323 2003-05-13 Kevin Ryde <user42@zip.com.au>
325 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
327 2003-05-10 Kevin Ryde <user42@zip.com.au>
329 * srfi-1.scm (take): Make this an alias for list-head.
330 (drop): Make this an alias for list-tail.
332 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
334 * srfi-34.scm: New file.
336 2003-04-23 Marius Vollmer <mvo@zagadka.de>
338 * srfi-1.scm: Removed stray "o" from exports list.
340 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
342 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
343 Now, guile itself does not include any calls to SCM_NCONSP any
346 2003-04-05 Marius Vollmer <mvo@zagadka.de>
348 * Changed license terms to the plain LGPL thru-out.
350 2003-03-25 Rob Browning <rlb@defaultvalue.org>
352 * srfi-4.c: replace typedefs for basic types with typedefs using
353 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
354 remove typedefs altogether later.
356 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
358 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
359 core. (Thanks to Kevin Ryde.)
361 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
363 * srfi-13.scm: Mark replacements.
365 * srfi-17.scm: Mark replacements.
367 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
369 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
370 member, delete, delete!, assoc): Marked as replacements.
371 (filter, filter!): Removed. (Now implemented in the core.)
373 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
375 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
376 with the versions in this module using
377 scm_c_extend_primitive_generic.
379 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
381 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
382 case of two argument lists. (Thanks to Kevin Ryde.)
384 2002-12-08 Rob Browning <rlb@defaultvalue.org>
386 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
388 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
390 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
392 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
394 * srfi-1.scm: Load srfi-1 extension.
395 (map, map-in-order, for-each, member, assoc): Replaced by
396 primitives in srfi-1.c.
397 (map1): Defined as `map'.
399 * Makefile.am: Added rules for srfi-1.c.
401 * srfi-1.c, srfi-1.h: New files.
403 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
405 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
406 the subtitute for char-set:graphic when then token-set hsa been
407 defaulted, grab the real char-set:graphic from (srfi srfi-14).
409 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
410 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
413 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
415 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
416 the second arg. Collect characters belonging to this set into
417 tokens (as specified by the SRFI), instead of splitting at these
418 characters. Default to an equivalent of char-set:graphic instead
419 of everything-but-whitespace. Thanks to Matthias Koeppe!
421 2002-04-10 Rob Browning <rlb@defaultvalue.org>
423 * .cvsignore: add *.c.clean.c.
425 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
427 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
428 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
429 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
430 Point to manual in commentary; nfc.
432 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
434 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
436 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
438 * srfi-13.c, srfi-14.c, srfi-4.c:
439 Retire inclusion guard macro SCM_MAGIC_SNARFER.
441 * Makefile.am (snarfcppopts): New var.
442 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
444 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
446 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
447 that 8-bit chars work. Thanks to David Pirotte!
449 2002-02-24 Rob Browning <rlb@defaultvalue.org>
451 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
452 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
453 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
454 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
456 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
458 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
459 match the expectations of priv:year-day.
461 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
463 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
464 month number, not day number. (Thanks to Sébastien de Menten de
465 Horne for reporting the problem.)
467 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
469 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
470 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
473 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
475 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
476 Thanks to Panagiotis Vossos.
478 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
480 * srfi-1.scm (map1): Rewrite to be tail-recursive.
481 Thanks to Panagiotis Vossos for the bug report.
483 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
485 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
487 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
489 * Makefile.am (ETAGS_ARGS): Added.
491 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
493 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
494 it with `#ifdef' instead of `#if'.
496 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
498 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
499 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
500 superfluous whitespace at end of docstring lines.
502 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
504 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
507 2001-11-04 Stefan Jahn <stefan@lkcc.org>
509 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
510 __FOO__ macros into FOO.
512 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
514 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
515 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
516 the source directory, for libguile.la. Thanks to Ken Raeburn.
518 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
520 Support for native Win32. Thanks to Stefan Jahn!
522 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
523 which do not allow unresolved symbols inside shared libraries.
525 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
526 exported symbol with SCM_SRFI1314_API.
528 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
529 symbol with SCM_SRFI4_API.
531 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
533 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
534 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
535 directives `export', `export-syntax', `re-export' and
536 `re-export-syntax' into the `define-module' form. This is the
537 recommended way of exporting bindings.
539 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
541 * srfi-19.scm (priv:split-real): Inserted missing call to
544 2001-09-21 Rob Browning <rlb@defaultvalue.org>
546 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
548 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
549 (scm_char_set_hash): val needs to be long, not just unsigned.
550 (scm_char_set): need 1L, not just 1 in "<<".
551 (scm_list_to_char_set): need 1L, not just 1 in "<<".
552 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
553 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
554 (scm_string_to_char_set): string length var needed to be
556 (scm_string_to_char_set): need 1L, not just 1 in "<<".
557 (scm_string_to_char_set_x): string length var needed to be
559 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
560 (scm_char_set_filter): need 1L, not just 1 in "<<".
561 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
562 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
563 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
564 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
565 (scm_char_set_delete): need 1L, not just 1 in "<<".
566 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
567 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
569 2001-09-12 Gary Houston <ghouston@arglist.com>
571 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
573 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
575 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
576 trick export from the beginning of the files.
578 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
580 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
581 two args. Thanks to Alex Shinn.
583 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
585 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
587 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
589 * srfi-13.h (scm_string_map, scm_string_map_x,
590 scm_string_for_each): Reverse order of first two args.
591 (scm_string_for_each_index): New proc.
593 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
594 (scm_string_for_each_index): New func.
596 * srfi-13.scm (string-for-each-index): New exported proc.
598 Thanks to Alex Shinn.
600 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
602 * srfi-13.c (string-map): Swapped order of string and proc args to
603 conform with the srfi. (Thanks to Alex Shinn.)
605 2001-08-05 Gary Houston <ghouston@arglist.com>
607 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
608 internal definitions.
609 (list-tabulate, iota): check for bad arguments that otherwise
611 (filter): check for proper list, to avoid infinite recursion on
614 2001-08-04 Gary Houston <ghouston@arglist.com>
616 * srfi-1.scm (filter): replaced with a tail-recursive version.
617 (remove): implement using filter, to make it tail-recursive.
619 2001-07-31 Gary Houston <ghouston@arglist.com>
621 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
622 accounting for the (char-set-union cs2...) in the spec. i.e.,
623 (char-set-diff+intersection a) -> copy-of-a, empty-set
624 and the following are equivalent:
625 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
626 (char-set-diff+intersection a (char-set #\a #\b))
628 (scm_char_set_xor_x): disabled the side-effecting code, since it
629 gives inconsistent results to scm_char_set_xor for the case
630 (char-set-xor! a a a).
632 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
633 two arguments are compulsory in final spec. also similar changes
634 as for scm_char_set_diff_plus_intersection.
635 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
637 2001-07-22 Gary Houston <ghouston@arglist.com>
639 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
640 the compulsory cs1 arguments: all args are optional in final spec.
642 * srfi-14.h: declarations updated.
644 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
646 * srfi-11.scm, srfi-8.scm: Update copyright notice.
648 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
650 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
653 * srfi-19.scm: Define `current-time' before exporting it.
655 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
657 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
658 side. Bit sets were handled wrong because I couldn't tell bit
659 counts from byte counts. Also, the bit array should be 256 / 8
660 bytes long. Thank you, Gary!
662 Removed unnecessary protoype for scm_char_set_copy.
664 2001-07-16 Gary Houston <ghouston@arglist.com>
666 * srfi-14.scm: export string->char-set!, not string-char-set!.
668 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
669 scm_end_of_char_set_p): reject negative cursor values.
670 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
671 type error in list component, omit the position (was always 1).
673 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
675 (scm_char_set_map): Bug-fix: char-set-map was modifying the
676 argument instead of the return value.
678 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
680 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
681 use this value for initializing and comparing charsets.
682 (scm_char_set_hash): Use ``better'' hash algorithm which produces
685 2001-07-15 Gary Houston <ghouston@arglist.com>
687 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
688 opt arg to give default bound, as in final spec. don't allow
690 (scm_char_set_hash): bug fix: was overrunning the buffer and
691 calculating based on garbage.
692 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
693 reporting: wasn't incremented due to macro coding.
694 (scm_char_set): report argument number in error reporting: was
695 hard coded to 1. remove a couple of local variables.
697 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
699 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
702 2001-07-11 Gary Houston <ghouston@arglist.com>
704 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
705 return #t instead of giving wrong-number-of-arguments . take a
706 single "rest" argument. use memcmp instead of a loop to compare
708 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
709 take a single "rest" argument.
710 srfi-14.h: update the declarations.
712 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
716 2001-07-06 Gary Houston <ghouston@arglist.com>
718 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
719 delete!, assoc): roll back the previous change. instead place
720 dummy definitions in a deprecated block at the beginning as in
723 2001-07-06 Rob Browning <rlb@defaultvalue.org>
725 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
727 2001-07-03 Gary Houston <ghouston@arglist.com>
729 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
730 delete!, assoc): don't export until the new bindings have been
731 created. otherwise "export" thinks they are being re-exported and
732 a deprecation warning is produced.
733 (map-in-order): defined and exported, to support lists of unequal
736 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
738 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
739 invalid arguments. Same fix for several other procedures (do not
740 use zero?, use <= 0).
742 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
744 * srfi-1.scm: Replaced calls to `map' in several procedures to
746 (map, for-each): New procedures, extended from R5RS.
748 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
750 * srfi-4.c: Minor cleanups.
752 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
753 (scm_char_set_unfold_x, scm_char_set_for_each)
754 (scm_char_set_map, scm_char_set_filter)
755 (scm_char_set_filter_x, scm_char_set_count)
756 (scm_char_set_every, scm_char_set_any): Replace calls to
757 scm_apply() with the corresponding scm_call_N() functions.
759 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
760 (scm_char_set_unfold, scm_char_set_unfold_x)
761 (scm_char_set_map, scm_char_set_diff_plus_intersection)
762 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
763 SCM_LISTN with calls to scm_list_N().
765 * srfi-13.c (scm_string_tabulate, scm_string_map)
766 (scm_string_map_x, scm_string_unfold)
767 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
768 with calls to scm_list_N().
770 * srfi-13.c (scm_string_any, scm_string_every),
771 (scm_string_tabulate, scm_string_trim),
772 (scm_string_trim_right, scm_string_trim_both),
773 (scm_string_compare, scm_string_compare_ci),
774 (scm_string_indexS, scm_string_index_right),
775 (scm_string_skip, scm_string_skip_right, scm_string_count),
776 (scm_string_map, scm_string_map_x, scm_string_fold),
777 (scm_string_fold_right, scm_string_unfold),
778 (scm_string_unfold_right, scm_string_for_each),
779 (scm_string_filter, scm_string_delete): Replace calls to
780 scm_apply() with the corresponding scm_call_N() functions.
782 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
784 * Makefile.am: Added SRFI-4 files in various places.
786 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
788 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
790 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
791 scm_string_take_right, scm_string_drop_right, scm_string_trim,
792 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
793 Use scm_mem2string instead of scm_makfromstr.
795 (scm_reverse_list_to_string, string_titlecase_x): Prefer
796 !SCM_<pred> over SCM_N<pred>.
798 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
800 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
803 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
805 The SRFI-19 implementation was completely broken. Already the
806 reference implementation did not handle DST and time zones
807 properly and relied on non-R5RS-isms like passing reals to
808 `quotient'. For Guile, some additional fixes were needed because
809 of the incomplete numeric tower implementation. See also
812 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
813 (add-duration): Renamed from priv:add-duration.
814 (priv:time-normalize!): Handle fractional nanoseconds; remove
815 duplicate definition.
816 (priv:current-time-tai): Fixed typo.
817 (time=?, time<=?): Fixed typos.
818 (time-tai->time-utc, time-utc->time-tai,
819 time-utc->time-monotonic): Use make-time-unnormalized instead of
820 make-time when uninitialized time fields are used.
821 (set-date-nanosecond!, set-date-second!, set-date-minute!,
822 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
823 set-date-zone-offset!): Define.
824 (priv:local-tz-offset): Take an extra argument in order to handle
826 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
827 changed signature of priv:local-tz-offset. Don't pass non-integer
828 arguments to quotient (non-R5RS, not supported by Guile).
829 (date->time-utc): Ensure that seconds in a date structure are
830 always exact integers. Handle DST properly.
831 (current-date, julian-day->date, modified-julian-day->date):
832 Handle the changed signature of priv:local-tz-offset.
833 (julian-day->time-utc): Reverted earlier inexact->exact hack;
834 make-time now handles inexact arguments.
835 (priv:locale-print-time-zone): At least print the numerical time
837 (priv:integer-reader): Fixed named let iteration.
838 (priv:read-directives): Use set-date-month! instead of
839 priv:set-date-month! etc.
840 (string->date): Handle DST properly.
842 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
844 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
846 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
848 * srfi-14.c (charset_print): Mark unused parameters with
851 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
853 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
854 (delete-duplicates): Now the first occurrence of an element is
855 retained, as required.
856 (member, assoc): Fixed wrong order of equality predicate
859 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
863 * srfi-1.scm: New file.
865 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
867 Added exception notice to all files.
869 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
871 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
874 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
876 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
878 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
880 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
882 * srfi-19.scm: removed a stray open parenthesis. (thanks to
883 Matthias Köppe for the report).
885 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
887 * srfi-19.scm (:optional): renamed to optional to avoid reader
888 keywords conflict. Time passes... Removed :optional altogether
889 and just handle optional args directly. Thanks to Matthias Koeppe
890 for the report of this and the two bits below.
891 (priv:decode-julian-day-number): add inexact->exact for truncate
893 (time-utc->date): add inexact->exact and floor so quotient will
896 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
898 * README: Update, document available SRFIs.
900 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
902 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
903 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
904 srfi-2.scm: Use `cond-expand-provide' for providing features to
907 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
909 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
912 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
914 Avoid using module operations from C.
916 * srfi-13.c (scm_init_srfi_13_14): Removed.
917 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
918 initializations needed by C clients of srfi-14.
919 (scm_init_srfi_13, scm_init_srfi_14): Call it.
920 * srfi-13.scm: Call "scm_init_srfi_13" instead of
921 "scm_init_srfi_13_14".
922 * srfi-14.scm: Call "scm_init_srfi_14" instead of
923 "scm_init_srfi_13_14".
925 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
927 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
929 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
931 * Makefile.am (srfi_DATA): Added srfi-16.scm.
933 * srfi-16.scm: New file.
935 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
937 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
940 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
942 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
944 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
946 * Makefile.am (srfi_DATA): added srfi-19.scm.
948 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
951 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
953 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
955 * srfi-10.scm: Typo fix.
957 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
959 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
961 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
963 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
965 * srfi-10.scm: New file.
967 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
969 Added `Commentary:' tag.
971 * srfi-9.scm: Added `Commentary:' tag.
973 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
976 (scm_reverse_string_concatenate): renamed to
977 scm_string_concatentate_reverse.
978 (scm_reverse_string_concatenate_shared): renamed to
979 scm_string_concatenate_reverse_shared.
981 2001-04-27 Gary Houston <ghouston@arglist.com>
983 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
984 add "srfi/" to lines including .x files so they can be found
985 when build_dir != src_dir.
987 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
989 * Makefile.am (srfi_DATA): Added srfi-9.scm.
991 * srfi-9.scm: New file. Exports `define-record-type'.
993 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
995 * Makefile.am (srfi_DATA): added srfi-6.scm.
996 (srfi_DATA): added srfi-11.scm.
997 (srfi_DATA): added srfi-8.scm.
998 (srfi_DATA): added srfi-2.scm.
1000 * srfi-11.scm: new file - exports let-values and let*-values.
1002 * srfi-6.scm: new file - guile already has srfi-6 procedures
1003 loaded by default, so this is a dummy file right now.
1005 * srfi-8.scm: new file - exports receive.
1007 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
1009 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1011 Changed two procedure names to match final SRFI document. Thanks
1012 to Rob Browning for spotting this.
1014 * srfi-13.scm (string-concatenate-reverse),
1015 (string-concatenate-reverse/shared): Rename from
1016 reverse-string-concatenate[/shared].
1018 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
1019 scm_reverse_string_concatenate_shared.
1020 (scm_string_concatenate_reverse): Renamed from
1021 scm_reverse_string_concatenate.
1023 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1025 * configure.in, autogen.sh: Removed.
1027 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
1028 when using memmove().
1030 * srfi-14.h: Added prototypes for all exported procedures..
1032 * srfi-13.c: Include srfi-13.h
1034 * srfi-13.h: New file containing the prototypes.
1036 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
1037 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
1039 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
1041 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
1043 * Makefile.am: Fixed "srf-14.x" typo.
1045 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1047 * guile-srfi.texi: Removed, because merged with the GRM.
1049 * guile-srfi.texi: The docs are now up to date with the
1050 implementation and have new introductory material.
1052 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1054 Integrated the guile-srfi package into the Guile distribution.
1056 * srfi-13.c: All procedures so specified in the SRFI now accept
1057 character set arguments.
1059 * Makefile.am: Snarfed some variables from the guile-readline
1062 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
1064 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
1065 configure.in, Makefile.am: Added FSF copyright and Guile license
1068 * srfi-13.c, srfi-14.c: Include srfi-14.h.
1069 (scm_init_srfi_13_14): Initialize the complete module, if not
1072 * srfi-14.h: New file.
1074 * srfi-13.scm, srfi-14.scm: Load new combined library.
1076 * Makefile.am: Build only one library,
1077 `libguile-srfi-srfi-13-14.la'
1079 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1081 * guile-srfi.texi: Integrated the SRFI-14 documentation.
1083 * srfi-14.c, srfi-14.scm: Made the procedures and variables
1084 compliant to the final SRFI document.
1086 * Renamed the package to guile-srfi.
1088 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1090 * NEWS: New section for 0.0.3.
1092 * configure.in, README, guile-srfi-13.texi: Bumped version number
1095 * Released version 0.0.2.
1097 * Makefile.am: Added rules for builing the SRFI-14 library.
1099 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1100 (character set library).
1102 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1104 * README: Updated procedure and incompatibility list.
1106 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1107 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1108 (scm_string_downcaseS, string_titlecase_x),
1109 (scm_string_titlecase_x, scm_string_titlecase),
1110 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1113 * srfi-13.scm: Export new case mapping procedures.
1115 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1116 procedures from incompatibility list.
1117 (Case Mapping): New section for case mapping procedures.
1119 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1121 * NEWS: New section for 0.0.2
1123 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1126 * Released version 0.0.1.
1128 * README: Made procedure list up-to-date.
1130 * guile-srfi-13.texi: Fixed typos, completed reference and added
1133 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1135 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1137 * Started guile-srfi-13 package. Files are copied from the
1138 guile-gdbm and slightly modified.