1 2005-02-18 Kevin Ryde <user42@zip.com.au>
3 * srfi-1.scm (lset-adjoin): Revert change using `list' not `acc', the
4 spec is not quite clear, but reference code uses acc, so do that.
6 2005-02-12 Kevin Ryde <user42@zip.com.au>
8 * srfi-1.scm (reduce, reduce-right): Don't call f with ridentity, use
9 it only if lst is empty, per srfi and intended optimization reduce
12 2005-02-04 Kevin Ryde <user42@zip.com.au>
14 * srfi-1.scm (list=): Correction to arguments passed to given elt=,
15 spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
16 arg was always from list 0 not list i.
18 2005-01-29 Kevin Ryde <user42@zip.com.au>
20 * srfi-1.scm (lset-adjoin): Actually use the given `=' procedure.
21 Test membership only on the given `list', not `acc', as per the spec.
23 * srfi-1.c, srfi-1.scm (remove): Rewrite in C, a trivial adaption from
24 scm_filter in the core.
25 * srfi-1.scm (remove!): Use filter!.
27 2005-01-28 Kevin Ryde <user42@zip.com.au>
29 * srfi-1.scm (lset=): Correction to pred call arg order, srfi spec is
30 (= e[i] e[i+1]), but had some calls the other way around.
32 2005-01-24 Kevin Ryde <user42@zip.com.au>
34 * srfi-1.c (scm_srfi1_member): Correction to pred call arg order, srfi
35 spec is (PRED X elem). Update docstring from manual.
37 * srfi-1.scm (lset=): Allow no list arguments, per srfi spec example.
39 2005-01-18 Kevin Ryde <user42@zip.com.au>
41 * srfi-1.scm: Remove (ice-9 session) and (ice-9 receive), not used.
43 2005-01-12 Kevin Ryde <user42@zip.com.au>
45 * srfi-39.scm (current-input-port, current-output-port): Parameter
46 replacements for core functions, per SRFI spec.
47 (current-error-port): The same, for consistency.
49 2005-01-10 Marius Vollmer <mvo@zagadka.de>
51 * srfi-1.c (check_args): Bugfix to change from 2005-01-02: ARGV is
52 the vector to check, not ARGS.
54 2005-01-02 Marius Vollmer <mvo@zagadka.de>
56 * srfi-1.c: Use new vector elements API or simple vector API, as
59 2005-01-02 Kevin Ryde <user42@zip.com.au>
61 * Makefile.am (srfi_DATA): Add srfi-39.scm.
63 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
65 * README: Update, document available SRFIs.
67 2004-12-06 Kevin Ryde <user42@zip.com.au>
69 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
72 * srfi-1.scm (alist-delete): Correction to equality proc call argument
73 order, spec is for given KEY param first.
75 2004-12-05 Kevin Ryde <user42@zip.com.au>
77 * srfi-1.scm (filter-map): Change to a tail-recursive form.
78 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
79 for tail recursiveness.
81 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
83 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
84 the skeletons remains.
86 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
88 * srfi-4.c (print_int64, print_uint64): Removed.
89 (uvec_print): Use scm_intprint for signed elemets and
90 scm_uintprint for unsigned ones. Do not use print_int64 and
91 print_uint64 since scm_intprint and scm_Uintprint can handle 64
94 2004-09-03 Stefan Jahn <stefan@lkcc.org>
96 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
97 lst1 is a #define on Win32 systems.
99 2004-08-26 Kevin Ryde <user42@zip.com.au>
101 * srfi-31.scm (rec): Add missing `error' to else clause.
103 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
105 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
106 to the library names.
107 * srfi-1.scm, srfi-4.scm: Use the new library names with
110 2004-08-25 Marius Vollmer <mvo@zagadka.de>
112 SRFI-13 and SRFI-14 have been moved into the core.
114 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
117 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
118 content except for the init functions.
120 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
122 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
123 scm_substring_sharedS.
125 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
128 * srfi-13.scm (substring/shared): Export as replacement since we
129 now have a version in the core.
131 2004-08-15 Marius Vollmer <mvo@zagadka.de>
133 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
135 2004-08-14 Kevin Ryde <user42@zip.com.au>
137 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
138 and charset as predicates, per SRFI-13 spec.
140 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
142 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
143 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
144 validation macros. Replaced every use.
146 2004-08-05 Kevin Ryde <user42@zip.com.au>
148 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
149 per doc/ref/srfi-modules.texi.
151 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
153 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
154 scm_from_*, respectively.
155 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
158 2004-08-02 Kevin Ryde <user42@zip.com.au>
160 * srfi-13.c (scm_string_every): Correction to initial "res" value,
161 return should be #t for an empty string. Reported by Andreas Vögele.
163 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
165 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
166 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
167 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
168 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
169 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
170 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
172 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
174 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
175 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
176 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
177 scm_is_bool, respectively.
179 2004-07-05 Kevin Ryde <user42@zip.com.au>
181 * srfi-4.c (uvec_sizes): Add "const".
183 * srfi-31.scm: Correction to heading comment.
185 2004-06-20 Rob Browning <rlb@defaultvalue.org>
187 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
188 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
189 (uvec_print): rewrite using a union to make more
190 compact, and use static print_uint64 and print_int64 to print
192 (print_int64): new static function (temporary fix).
193 (print_uint64): new static function (temporary fix).
195 * Makefile.am (srfi_DATA): add srfi-31.scm.
197 * srfi-31.scm: new file.
199 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
201 * srfi-17.scm (setter, car, cdr etc.): When within one define
202 expression a new variable in the local module is defined in terms
203 of an equally named variable from some other module, use @ to
204 refer to the variable in the other module. This is necessary due
205 to section 5.2.1 of R5RS: In a define expression first the new
206 binding is created and then the expression is evaluated.
208 2004-04-24 Kevin Ryde <user42@zip.com.au>
210 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
211 guaranteed uniqueness of temp variable symbols.
213 2004-04-15 Kevin Ryde <user42@zip.com.au>
215 * srfi-13.c (scm_string_trim, scm_string_trim_right,
216 scm_string_trim_both): Cast to unsigned char for isspace.
218 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
220 * srfi-13.c (s_scm_string_map): convert character to unsigned char
221 before converting to unsigned int. This prevents hi-bit ascii as
222 being converted large integers.
223 (string_upcase_x): change caller for scm_{up,down}case to
226 2004-03-23 Kevin Ryde <user42@zip.com.au>
228 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
231 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
233 * Makefile.am (TAGS_FILES): Use this variable instead of
234 ETAGS_ARGS so that TAGS can be built using separate build
237 2004-01-24 Marius Vollmer <mvo@zagadka.de>
239 * Makefile.am (srfi_DATA): Added srfi-26.scm.
241 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
243 * srfi-26.scm: New, from Daniel Skarda. Thanks!
245 2003-12-03 Kevin Ryde <user42@zip.com.au>
247 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
250 * srfi-1.scm (map!): Define as an alias for map, previous definition
251 was not tail-recursive.
253 2003-08-23 Kevin Ryde <user42@zip.com.au>
255 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
256 from core list-copy but allowing improper lists, per SRFI-1 spec.
258 * srfi-19.scm (date-week-number): Correction, day of week starting
259 week applied was off by one.
261 2003-07-29 Kevin Ryde <user42@zip.com.au>
263 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
266 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
268 * srfi-34.scm: Add cond-expand-provide srfi-34.
270 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
272 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
273 Re-implement in C to avoid stack overflows for long input lists.
275 2003-07-08 Kevin Ryde <user42@zip.com.au>
277 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
278 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
279 functions. scm_srfi1_delete_x is derived from scm_delete_x.
280 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
283 2003-06-07 Kevin Ryde <user42@zip.com.au>
285 * srfi-6.scm: #:re-export open-input-string, open-output-string and
286 get-output-string, for the benefit of applications wanting to use
287 #:select on the module.
289 2003-05-29 Stefan Jahn <stefan@lkcc.org>
291 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
292 libguile_srfi_srfi_4_la_LDFLAGS,
293 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
294 option for the mingw32 build.
296 2003-05-13 Kevin Ryde <user42@zip.com.au>
298 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
300 2003-05-10 Kevin Ryde <user42@zip.com.au>
302 * srfi-1.scm (take): Make this an alias for list-head.
303 (drop): Make this an alias for list-tail.
305 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
307 * srfi-34.scm: New file.
309 2003-04-23 Marius Vollmer <mvo@zagadka.de>
311 * srfi-1.scm: Removed stray "o" from exports list.
313 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
315 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
316 Now, guile itself does not include any calls to SCM_NCONSP any
319 2003-04-05 Marius Vollmer <mvo@zagadka.de>
321 * Changed license terms to the plain LGPL thru-out.
323 2003-03-25 Rob Browning <rlb@defaultvalue.org>
325 * srfi-4.c: replace typedefs for basic types with typedefs using
326 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
327 remove typedefs altogether later.
329 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
331 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
332 core. (Thanks to Kevin Ryde.)
334 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
336 * srfi-13.scm: Mark replacements.
338 * srfi-17.scm: Mark replacements.
340 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
342 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
343 member, delete, delete!, assoc): Marked as replacements.
344 (filter, filter!): Removed. (Now implemented in the core.)
346 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
348 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
349 with the versions in this module using
350 scm_c_extend_primitive_generic.
352 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
354 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
355 case of two argument lists. (Thanks to Kevin Ryde.)
357 2002-12-08 Rob Browning <rlb@defaultvalue.org>
359 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
361 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
363 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
365 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
367 * srfi-1.scm: Load srfi-1 extension.
368 (map, map-in-order, for-each, member, assoc): Replaced by
369 primitives in srfi-1.c.
370 (map1): Defined as `map'.
372 * Makefile.am: Added rules for srfi-1.c.
374 * srfi-1.c, srfi-1.h: New files.
376 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
378 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
379 the subtitute for char-set:graphic when then token-set hsa been
380 defaulted, grab the real char-set:graphic from (srfi srfi-14).
382 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
383 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
386 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
388 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
389 the second arg. Collect characters belonging to this set into
390 tokens (as specified by the SRFI), instead of splitting at these
391 characters. Default to an equivalent of char-set:graphic instead
392 of everything-but-whitespace. Thanks to Matthias Koeppe!
394 2002-04-10 Rob Browning <rlb@defaultvalue.org>
396 * .cvsignore: add *.c.clean.c.
398 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
400 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
401 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
402 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
403 Point to manual in commentary; nfc.
405 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
407 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
409 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
411 * srfi-13.c, srfi-14.c, srfi-4.c:
412 Retire inclusion guard macro SCM_MAGIC_SNARFER.
414 * Makefile.am (snarfcppopts): New var.
415 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
417 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
419 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
420 that 8-bit chars work. Thanks to David Pirotte!
422 2002-02-24 Rob Browning <rlb@defaultvalue.org>
424 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
425 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
426 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
427 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
429 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
431 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
432 match the expectations of priv:year-day.
434 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
436 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
437 month number, not day number. (Thanks to Sébastien de Menten de
438 Horne for reporting the problem.)
440 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
442 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
443 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
446 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
448 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
449 Thanks to Panagiotis Vossos.
451 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
453 * srfi-1.scm (map1): Rewrite to be tail-recursive.
454 Thanks to Panagiotis Vossos for the bug report.
456 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
458 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
460 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
462 * Makefile.am (ETAGS_ARGS): Added.
464 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
466 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
467 it with `#ifdef' instead of `#if'.
469 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
471 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
472 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
473 superfluous whitespace at end of docstring lines.
475 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
477 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
480 2001-11-04 Stefan Jahn <stefan@lkcc.org>
482 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
483 __FOO__ macros into FOO.
485 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
487 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
488 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
489 the source directory, for libguile.la. Thanks to Ken Raeburn.
491 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
493 Support for native Win32. Thanks to Stefan Jahn!
495 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
496 which do not allow unresolved symbols inside shared libraries.
498 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
499 exported symbol with SCM_SRFI1314_API.
501 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
502 symbol with SCM_SRFI4_API.
504 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
506 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
507 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
508 directives `export', `export-syntax', `re-export' and
509 `re-export-syntax' into the `define-module' form. This is the
510 recommended way of exporting bindings.
512 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
514 * srfi-19.scm (priv:split-real): Inserted missing call to
517 2001-09-21 Rob Browning <rlb@defaultvalue.org>
519 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
521 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
522 (scm_char_set_hash): val needs to be long, not just unsigned.
523 (scm_char_set): need 1L, not just 1 in "<<".
524 (scm_list_to_char_set): need 1L, not just 1 in "<<".
525 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
526 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
527 (scm_string_to_char_set): string length var needed to be
529 (scm_string_to_char_set): need 1L, not just 1 in "<<".
530 (scm_string_to_char_set_x): string length var needed to be
532 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
533 (scm_char_set_filter): need 1L, not just 1 in "<<".
534 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
535 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
536 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
537 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
538 (scm_char_set_delete): need 1L, not just 1 in "<<".
539 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
540 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
542 2001-09-12 Gary Houston <ghouston@arglist.com>
544 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
546 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
548 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
549 trick export from the beginning of the files.
551 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
553 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
554 two args. Thanks to Alex Shinn.
556 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
558 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
560 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
562 * srfi-13.h (scm_string_map, scm_string_map_x,
563 scm_string_for_each): Reverse order of first two args.
564 (scm_string_for_each_index): New proc.
566 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
567 (scm_string_for_each_index): New func.
569 * srfi-13.scm (string-for-each-index): New exported proc.
571 Thanks to Alex Shinn.
573 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
575 * srfi-13.c (string-map): Swapped order of string and proc args to
576 conform with the srfi. (Thanks to Alex Shinn.)
578 2001-08-05 Gary Houston <ghouston@arglist.com>
580 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
581 internal definitions.
582 (list-tabulate, iota): check for bad arguments that otherwise
584 (filter): check for proper list, to avoid infinite recursion on
587 2001-08-04 Gary Houston <ghouston@arglist.com>
589 * srfi-1.scm (filter): replaced with a tail-recursive version.
590 (remove): implement using filter, to make it tail-recursive.
592 2001-07-31 Gary Houston <ghouston@arglist.com>
594 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
595 accounting for the (char-set-union cs2...) in the spec. i.e.,
596 (char-set-diff+intersection a) -> copy-of-a, empty-set
597 and the following are equivalent:
598 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
599 (char-set-diff+intersection a (char-set #\a #\b))
601 (scm_char_set_xor_x): disabled the side-effecting code, since it
602 gives inconsistent results to scm_char_set_xor for the case
603 (char-set-xor! a a a).
605 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
606 two arguments are compulsory in final spec. also similar changes
607 as for scm_char_set_diff_plus_intersection.
608 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
610 2001-07-22 Gary Houston <ghouston@arglist.com>
612 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
613 the compulsory cs1 arguments: all args are optional in final spec.
615 * srfi-14.h: declarations updated.
617 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
619 * srfi-11.scm, srfi-8.scm: Update copyright notice.
621 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
623 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
626 * srfi-19.scm: Define `current-time' before exporting it.
628 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
630 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
631 side. Bit sets were handled wrong because I couldn't tell bit
632 counts from byte counts. Also, the bit array should be 256 / 8
633 bytes long. Thank you, Gary!
635 Removed unnecessary protoype for scm_char_set_copy.
637 2001-07-16 Gary Houston <ghouston@arglist.com>
639 * srfi-14.scm: export string->char-set!, not string-char-set!.
641 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
642 scm_end_of_char_set_p): reject negative cursor values.
643 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
644 type error in list component, omit the position (was always 1).
646 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
648 (scm_char_set_map): Bug-fix: char-set-map was modifying the
649 argument instead of the return value.
651 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
653 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
654 use this value for initializing and comparing charsets.
655 (scm_char_set_hash): Use ``better'' hash algorithm which produces
658 2001-07-15 Gary Houston <ghouston@arglist.com>
660 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
661 opt arg to give default bound, as in final spec. don't allow
663 (scm_char_set_hash): bug fix: was overrunning the buffer and
664 calculating based on garbage.
665 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
666 reporting: wasn't incremented due to macro coding.
667 (scm_char_set): report argument number in error reporting: was
668 hard coded to 1. remove a couple of local variables.
670 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
672 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
675 2001-07-11 Gary Houston <ghouston@arglist.com>
677 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
678 return #t instead of giving wrong-number-of-arguments . take a
679 single "rest" argument. use memcmp instead of a loop to compare
681 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
682 take a single "rest" argument.
683 srfi-14.h: update the declarations.
685 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
689 2001-07-06 Gary Houston <ghouston@arglist.com>
691 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
692 delete!, assoc): roll back the previous change. instead place
693 dummy definitions in a deprecated block at the beginning as in
696 2001-07-06 Rob Browning <rlb@defaultvalue.org>
698 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
700 2001-07-03 Gary Houston <ghouston@arglist.com>
702 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
703 delete!, assoc): don't export until the new bindings have been
704 created. otherwise "export" thinks they are being re-exported and
705 a deprecation warning is produced.
706 (map-in-order): defined and exported, to support lists of unequal
709 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
711 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
712 invalid arguments. Same fix for several other procedures (do not
713 use zero?, use <= 0).
715 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
717 * srfi-1.scm: Replaced calls to `map' in several procedures to
719 (map, for-each): New procedures, extended from R5RS.
721 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
723 * srfi-4.c: Minor cleanups.
725 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
726 (scm_char_set_unfold_x, scm_char_set_for_each)
727 (scm_char_set_map, scm_char_set_filter)
728 (scm_char_set_filter_x, scm_char_set_count)
729 (scm_char_set_every, scm_char_set_any): Replace calls to
730 scm_apply() with the corresponding scm_call_N() functions.
732 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
733 (scm_char_set_unfold, scm_char_set_unfold_x)
734 (scm_char_set_map, scm_char_set_diff_plus_intersection)
735 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
736 SCM_LISTN with calls to scm_list_N().
738 * srfi-13.c (scm_string_tabulate, scm_string_map)
739 (scm_string_map_x, scm_string_unfold)
740 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
741 with calls to scm_list_N().
743 * srfi-13.c (scm_string_any, scm_string_every),
744 (scm_string_tabulate, scm_string_trim),
745 (scm_string_trim_right, scm_string_trim_both),
746 (scm_string_compare, scm_string_compare_ci),
747 (scm_string_indexS, scm_string_index_right),
748 (scm_string_skip, scm_string_skip_right, scm_string_count),
749 (scm_string_map, scm_string_map_x, scm_string_fold),
750 (scm_string_fold_right, scm_string_unfold),
751 (scm_string_unfold_right, scm_string_for_each),
752 (scm_string_filter, scm_string_delete): Replace calls to
753 scm_apply() with the corresponding scm_call_N() functions.
755 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
757 * Makefile.am: Added SRFI-4 files in various places.
759 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
761 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
763 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
764 scm_string_take_right, scm_string_drop_right, scm_string_trim,
765 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
766 Use scm_mem2string instead of scm_makfromstr.
768 (scm_reverse_list_to_string, string_titlecase_x): Prefer
769 !SCM_<pred> over SCM_N<pred>.
771 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
773 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
776 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
778 The SRFI-19 implementation was completely broken. Already the
779 reference implementation did not handle DST and time zones
780 properly and relied on non-R5RS-isms like passing reals to
781 `quotient'. For Guile, some additional fixes were needed because
782 of the incomplete numeric tower implementation. See also
785 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
786 (add-duration): Renamed from priv:add-duration.
787 (priv:time-normalize!): Handle fractional nanoseconds; remove
788 duplicate definition.
789 (priv:current-time-tai): Fixed typo.
790 (time=?, time<=?): Fixed typos.
791 (time-tai->time-utc, time-utc->time-tai,
792 time-utc->time-monotonic): Use make-time-unnormalized instead of
793 make-time when uninitialized time fields are used.
794 (set-date-nanosecond!, set-date-second!, set-date-minute!,
795 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
796 set-date-zone-offset!): Define.
797 (priv:local-tz-offset): Take an extra argument in order to handle
799 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
800 changed signature of priv:local-tz-offset. Don't pass non-integer
801 arguments to quotient (non-R5RS, not supported by Guile).
802 (date->time-utc): Ensure that seconds in a date structure are
803 always exact integers. Handle DST properly.
804 (current-date, julian-day->date, modified-julian-day->date):
805 Handle the changed signature of priv:local-tz-offset.
806 (julian-day->time-utc): Reverted earlier inexact->exact hack;
807 make-time now handles inexact arguments.
808 (priv:locale-print-time-zone): At least print the numerical time
810 (priv:integer-reader): Fixed named let iteration.
811 (priv:read-directives): Use set-date-month! instead of
812 priv:set-date-month! etc.
813 (string->date): Handle DST properly.
815 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
817 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
819 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
821 * srfi-14.c (charset_print): Mark unused parameters with
824 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
826 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
827 (delete-duplicates): Now the first occurrence of an element is
828 retained, as required.
829 (member, assoc): Fixed wrong order of equality predicate
832 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
836 * srfi-1.scm: New file.
838 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
840 Added exception notice to all files.
842 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
844 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
847 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
849 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
851 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
853 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
855 * srfi-19.scm: removed a stray open parenthesis. (thanks to
856 Matthias Köppe for the report).
858 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
860 * srfi-19.scm (:optional): renamed to optional to avoid reader
861 keywords conflict. Time passes... Removed :optional altogether
862 and just handle optional args directly. Thanks to Matthias Koeppe
863 for the report of this and the two bits below.
864 (priv:decode-julian-day-number): add inexact->exact for truncate
866 (time-utc->date): add inexact->exact and floor so quotient will
869 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
871 * README: Update, document available SRFIs.
873 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
875 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
876 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
877 srfi-2.scm: Use `cond-expand-provide' for providing features to
880 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
882 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
885 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
887 Avoid using module operations from C.
889 * srfi-13.c (scm_init_srfi_13_14): Removed.
890 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
891 initializations needed by C clients of srfi-14.
892 (scm_init_srfi_13, scm_init_srfi_14): Call it.
893 * srfi-13.scm: Call "scm_init_srfi_13" instead of
894 "scm_init_srfi_13_14".
895 * srfi-14.scm: Call "scm_init_srfi_14" instead of
896 "scm_init_srfi_13_14".
898 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
900 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
902 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
904 * Makefile.am (srfi_DATA): Added srfi-16.scm.
906 * srfi-16.scm: New file.
908 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
910 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
913 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
915 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
917 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
919 * Makefile.am (srfi_DATA): added srfi-19.scm.
921 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
924 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
926 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
928 * srfi-10.scm: Typo fix.
930 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
932 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
934 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
936 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
938 * srfi-10.scm: New file.
940 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
942 Added `Commentary:' tag.
944 * srfi-9.scm: Added `Commentary:' tag.
946 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
949 (scm_reverse_string_concatenate): renamed to
950 scm_string_concatentate_reverse.
951 (scm_reverse_string_concatenate_shared): renamed to
952 scm_string_concatenate_reverse_shared.
954 2001-04-27 Gary Houston <ghouston@arglist.com>
956 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
957 add "srfi/" to lines including .x files so they can be found
958 when build_dir != src_dir.
960 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
962 * Makefile.am (srfi_DATA): Added srfi-9.scm.
964 * srfi-9.scm: New file. Exports `define-record-type'.
966 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
968 * Makefile.am (srfi_DATA): added srfi-6.scm.
969 (srfi_DATA): added srfi-11.scm.
970 (srfi_DATA): added srfi-8.scm.
971 (srfi_DATA): added srfi-2.scm.
973 * srfi-11.scm: new file - exports let-values and let*-values.
975 * srfi-6.scm: new file - guile already has srfi-6 procedures
976 loaded by default, so this is a dummy file right now.
978 * srfi-8.scm: new file - exports receive.
980 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
982 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
984 Changed two procedure names to match final SRFI document. Thanks
985 to Rob Browning for spotting this.
987 * srfi-13.scm (string-concatenate-reverse),
988 (string-concatenate-reverse/shared): Rename from
989 reverse-string-concatenate[/shared].
991 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
992 scm_reverse_string_concatenate_shared.
993 (scm_string_concatenate_reverse): Renamed from
994 scm_reverse_string_concatenate.
996 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
998 * configure.in, autogen.sh: Removed.
1000 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
1001 when using memmove().
1003 * srfi-14.h: Added prototypes for all exported procedures..
1005 * srfi-13.c: Include srfi-13.h
1007 * srfi-13.h: New file containing the prototypes.
1009 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
1010 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
1012 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
1014 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
1016 * Makefile.am: Fixed "srf-14.x" typo.
1018 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1020 * guile-srfi.texi: Removed, because merged with the GRM.
1022 * guile-srfi.texi: The docs are now up to date with the
1023 implementation and have new introductory material.
1025 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1027 Integrated the guile-srfi package into the Guile distribution.
1029 * srfi-13.c: All procedures so specified in the SRFI now accept
1030 character set arguments.
1032 * Makefile.am: Snarfed some variables from the guile-readline
1035 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
1037 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
1038 configure.in, Makefile.am: Added FSF copyright and Guile license
1041 * srfi-13.c, srfi-14.c: Include srfi-14.h.
1042 (scm_init_srfi_13_14): Initialize the complete module, if not
1045 * srfi-14.h: New file.
1047 * srfi-13.scm, srfi-14.scm: Load new combined library.
1049 * Makefile.am: Build only one library,
1050 `libguile-srfi-srfi-13-14.la'
1052 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1054 * guile-srfi.texi: Integrated the SRFI-14 documentation.
1056 * srfi-14.c, srfi-14.scm: Made the procedures and variables
1057 compliant to the final SRFI document.
1059 * Renamed the package to guile-srfi.
1061 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1063 * NEWS: New section for 0.0.3.
1065 * configure.in, README, guile-srfi-13.texi: Bumped version number
1068 * Released version 0.0.2.
1070 * Makefile.am: Added rules for builing the SRFI-14 library.
1072 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1073 (character set library).
1075 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1077 * README: Updated procedure and incompatibility list.
1079 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1080 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1081 (scm_string_downcaseS, string_titlecase_x),
1082 (scm_string_titlecase_x, scm_string_titlecase),
1083 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1086 * srfi-13.scm: Export new case mapping procedures.
1088 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1089 procedures from incompatibility list.
1090 (Case Mapping): New section for case mapping procedures.
1092 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1094 * NEWS: New section for 0.0.2
1096 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1099 * Released version 0.0.1.
1101 * README: Made procedure list up-to-date.
1103 * guile-srfi-13.texi: Fixed typos, completed reference and added
1106 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1108 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1110 * Started guile-srfi-13 package. Files are copied from the
1111 guile-gdbm and slightly modified.