1 2005-05-07 Kevin Ryde <user42@zip.com.au>
3 * srfi-1.scm, srfi-1.c, srfi-1.h (car+cdr, fold, last, list-index,
4 list-tabulate, not-pair, xcons): Rewrite in C.
6 2005-05-04 Kevin Ryde <user42@zip.com.au>
8 * srfi-1.scm, srfi-1.c, srfi-1.h (break, break!, drop-right!,
9 drop-while, eighth, fifth, lset-adjoin, ninth, reduce, reduce-right,
10 seventh, sixth, span, span!, take!, take-while, take-while!, tenth):
13 2005-04-23 Kevin Ryde <user42@zip.com.au>
15 * srfi-1.c (scm_srfi1_count, scm_srfi1_filter_map): Don't modify the
16 rest argument, that belongs to the caller when reached from apply.
17 Use a temp vector like scm_srfi1_for_each.
19 2005-04-04 Kevin Ryde <user42@zip.com.au>
21 * srfi-1.c, srfi-1.h (scm_srfi1_concatenate, scm_srfi1_concatenate_x):
22 Add code to check argument is a list, scm_append and scm_append_x
23 don't do that on their "rest" list (in a normal build).
25 2005-04-02 Kevin Ryde <user42@zip.com.au>
27 * srfi-1.c (scm_srfi1_count): Use scm_list_copy to make arg list,
28 instead of an inline loop. Share final list check between all cases
31 * srfi-1.c (scm_srfi1_filter_map): Have 2-arg case share finalization
34 * srfi-1.scm (alist-cons): Define just as acons, not a call to acons.
36 * srfi-1.scm, srfi-1.c, srfi-1.h (alist-copy): Rewrite in C.
38 * srfi-1.scm (lset-union): Rewrite to accumulate result by consing in
39 the order specified by the SRFI.
41 2005-03-29 Marius Vollmer <marius.vollmer@uni-dortmund.de>
43 * srfi-60.c: Replaced SCM_INUMP with SCM_I_INUMP and SCM_INUM with
44 SCM_I_INUM throughout.
46 2005-03-26 Marius Vollmer <mvo@zagadka.de>
48 * Makefile.am (srfiinclude_HEADERS): Added srfi-60.h.
50 2005-03-18 Kevin Ryde <user42@zip.com.au>
52 * srfi-1.scm, srfi-1.c, srfi-1.h (filter-map): Rewrite in C.
54 2005-03-16 Kevin Ryde <user42@zip.com.au>
56 * srfi-1.scm, srfi-1.c, srfi-1.h (drop-right, partition!, remove!,
57 split-at, split-at!, take-right): Rewrite in C. remove! derived from
60 2005-03-14 Kevin Ryde <user42@zip.com.au>
62 * srfi-1.scm, srfi-1.c, srfi-1.h (find, find-tail): Rewrite in C.
64 2005-03-13 Kevin Ryde <user42@zip.com.au>
66 * srfi-1.scm (lset-union): Call `=' procedure with args in the order
67 specified by the SRFI.
69 * srfi-60.scm, srfi-60.c, srfi-60.h: New files.
70 * Makefile.am: Add them.
72 2005-03-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
74 * srfi-1.c: Use scm_is_pair instead of SCM_CONSP; use scm_is_null
77 2005-02-18 Kevin Ryde <user42@zip.com.au>
79 * srfi-1.scm (lset-adjoin): Revert change using `list' not `acc', the
80 spec is not quite clear, but reference code uses acc, so do that.
82 2005-02-12 Kevin Ryde <user42@zip.com.au>
84 * srfi-1.scm (reduce, reduce-right): Don't call f with ridentity, use
85 it only if lst is empty, per srfi and intended optimization reduce
88 2005-02-04 Kevin Ryde <user42@zip.com.au>
90 * srfi-1.scm (list=): Correction to arguments passed to given elt=,
91 spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
92 arg was always from list 0 not list i.
94 2005-01-29 Kevin Ryde <user42@zip.com.au>
96 * srfi-1.scm (lset-adjoin): Actually use the given `=' procedure.
97 Test membership only on the given `list', not `acc', as per the spec.
99 * srfi-1.c, srfi-1.scm (remove): Rewrite in C, a trivial adaption from
100 scm_filter in the core.
101 * srfi-1.scm (remove!): Use filter!.
103 2005-01-28 Kevin Ryde <user42@zip.com.au>
105 * srfi-1.scm (lset=): Correction to pred call arg order, srfi spec is
106 (= e[i] e[i+1]), but had some calls the other way around.
108 2005-01-24 Kevin Ryde <user42@zip.com.au>
110 * srfi-1.c (scm_srfi1_member): Correction to pred call arg order, srfi
111 spec is (PRED X elem). Update docstring from manual.
113 * srfi-1.scm (lset=): Allow no list arguments, per srfi spec example.
115 2005-01-18 Kevin Ryde <user42@zip.com.au>
117 * srfi-1.scm: Remove (ice-9 session) and (ice-9 receive), not used.
119 2005-01-12 Kevin Ryde <user42@zip.com.au>
121 * srfi-39.scm (current-input-port, current-output-port): Parameter
122 replacements for core functions, per SRFI spec.
123 (current-error-port): The same, for consistency.
125 2005-01-10 Marius Vollmer <mvo@zagadka.de>
127 * srfi-1.c (check_args): Bugfix to change from 2005-01-02: ARGV is
128 the vector to check, not ARGS.
130 2005-01-02 Marius Vollmer <mvo@zagadka.de>
132 * srfi-1.c: Use new vector elements API or simple vector API, as
135 2005-01-02 Kevin Ryde <user42@zip.com.au>
137 * Makefile.am (srfi_DATA): Add srfi-39.scm.
139 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
141 * README: Update, document available SRFIs.
143 2004-12-06 Kevin Ryde <user42@zip.com.au>
145 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
146 tail-recursive forms.
148 * srfi-1.scm (alist-delete): Correction to equality proc call argument
149 order, spec is for given KEY param first.
151 2004-12-05 Kevin Ryde <user42@zip.com.au>
153 * srfi-1.scm (filter-map): Change to a tail-recursive form.
154 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
155 for tail recursiveness.
157 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
159 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
160 the skeletons remains.
162 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
164 * srfi-4.c (print_int64, print_uint64): Removed.
165 (uvec_print): Use scm_intprint for signed elemets and
166 scm_uintprint for unsigned ones. Do not use print_int64 and
167 print_uint64 since scm_intprint and scm_Uintprint can handle 64
170 2004-09-03 Stefan Jahn <stefan@lkcc.org>
172 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
173 lst1 is a #define on Win32 systems.
175 2004-08-26 Kevin Ryde <user42@zip.com.au>
177 * srfi-31.scm (rec): Add missing `error' to else clause.
179 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
181 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
182 to the library names.
183 * srfi-1.scm, srfi-4.scm: Use the new library names with
186 2004-08-25 Marius Vollmer <mvo@zagadka.de>
188 SRFI-13 and SRFI-14 have been moved into the core.
190 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
193 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
194 content except for the init functions.
196 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
198 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
199 scm_substring_sharedS.
201 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
204 * srfi-13.scm (substring/shared): Export as replacement since we
205 now have a version in the core.
207 2004-08-15 Marius Vollmer <mvo@zagadka.de>
209 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
211 2004-08-14 Kevin Ryde <user42@zip.com.au>
213 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
214 and charset as predicates, per SRFI-13 spec.
216 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
218 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
219 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
220 validation macros. Replaced every use.
222 2004-08-05 Kevin Ryde <user42@zip.com.au>
224 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
225 per doc/ref/srfi-modules.texi.
227 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
229 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
230 scm_from_*, respectively.
231 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
234 2004-08-02 Kevin Ryde <user42@zip.com.au>
236 * srfi-13.c (scm_string_every): Correction to initial "res" value,
237 return should be #t for an empty string. Reported by Andreas Vögele.
239 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
241 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
242 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
243 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
244 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
245 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
246 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
248 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
250 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
251 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
252 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
253 scm_is_bool, respectively.
255 2004-07-05 Kevin Ryde <user42@zip.com.au>
257 * srfi-4.c (uvec_sizes): Add "const".
259 * srfi-31.scm: Correction to heading comment.
261 2004-06-20 Rob Browning <rlb@defaultvalue.org>
263 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
264 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
265 (uvec_print): rewrite using a union to make more
266 compact, and use static print_uint64 and print_int64 to print
268 (print_int64): new static function (temporary fix).
269 (print_uint64): new static function (temporary fix).
271 * Makefile.am (srfi_DATA): add srfi-31.scm.
273 * srfi-31.scm: new file.
275 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
277 * srfi-17.scm (setter, car, cdr etc.): When within one define
278 expression a new variable in the local module is defined in terms
279 of an equally named variable from some other module, use @ to
280 refer to the variable in the other module. This is necessary due
281 to section 5.2.1 of R5RS: In a define expression first the new
282 binding is created and then the expression is evaluated.
284 2004-04-24 Kevin Ryde <user42@zip.com.au>
286 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
287 guaranteed uniqueness of temp variable symbols.
289 2004-04-15 Kevin Ryde <user42@zip.com.au>
291 * srfi-13.c (scm_string_trim, scm_string_trim_right,
292 scm_string_trim_both): Cast to unsigned char for isspace.
294 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
296 * srfi-13.c (s_scm_string_map): convert character to unsigned char
297 before converting to unsigned int. This prevents hi-bit ascii as
298 being converted large integers.
299 (string_upcase_x): change caller for scm_{up,down}case to
302 2004-03-23 Kevin Ryde <user42@zip.com.au>
304 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
307 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
309 * Makefile.am (TAGS_FILES): Use this variable instead of
310 ETAGS_ARGS so that TAGS can be built using separate build
313 2004-01-24 Marius Vollmer <mvo@zagadka.de>
315 * Makefile.am (srfi_DATA): Added srfi-26.scm.
317 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
319 * srfi-26.scm: New, from Daniel Skarda. Thanks!
321 2003-12-03 Kevin Ryde <user42@zip.com.au>
323 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
326 * srfi-1.scm (map!): Define as an alias for map, previous definition
327 was not tail-recursive.
329 2003-08-23 Kevin Ryde <user42@zip.com.au>
331 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
332 from core list-copy but allowing improper lists, per SRFI-1 spec.
334 * srfi-19.scm (date-week-number): Correction, day of week starting
335 week applied was off by one.
337 2003-07-29 Kevin Ryde <user42@zip.com.au>
339 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
342 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
344 * srfi-34.scm: Add cond-expand-provide srfi-34.
346 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
348 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
349 Re-implement in C to avoid stack overflows for long input lists.
351 2003-07-08 Kevin Ryde <user42@zip.com.au>
353 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
354 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
355 functions. scm_srfi1_delete_x is derived from scm_delete_x.
356 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
359 2003-06-07 Kevin Ryde <user42@zip.com.au>
361 * srfi-6.scm: #:re-export open-input-string, open-output-string and
362 get-output-string, for the benefit of applications wanting to use
363 #:select on the module.
365 2003-05-29 Stefan Jahn <stefan@lkcc.org>
367 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
368 libguile_srfi_srfi_4_la_LDFLAGS,
369 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
370 option for the mingw32 build.
372 2003-05-13 Kevin Ryde <user42@zip.com.au>
374 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
376 2003-05-10 Kevin Ryde <user42@zip.com.au>
378 * srfi-1.scm (take): Make this an alias for list-head.
379 (drop): Make this an alias for list-tail.
381 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
383 * srfi-34.scm: New file.
385 2003-04-23 Marius Vollmer <mvo@zagadka.de>
387 * srfi-1.scm: Removed stray "o" from exports list.
389 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
391 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
392 Now, guile itself does not include any calls to SCM_NCONSP any
395 2003-04-05 Marius Vollmer <mvo@zagadka.de>
397 * Changed license terms to the plain LGPL thru-out.
399 2003-03-25 Rob Browning <rlb@defaultvalue.org>
401 * srfi-4.c: replace typedefs for basic types with typedefs using
402 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
403 remove typedefs altogether later.
405 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
407 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
408 core. (Thanks to Kevin Ryde.)
410 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
412 * srfi-13.scm: Mark replacements.
414 * srfi-17.scm: Mark replacements.
416 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
418 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
419 member, delete, delete!, assoc): Marked as replacements.
420 (filter, filter!): Removed. (Now implemented in the core.)
422 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
424 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
425 with the versions in this module using
426 scm_c_extend_primitive_generic.
428 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
430 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
431 case of two argument lists. (Thanks to Kevin Ryde.)
433 2002-12-08 Rob Browning <rlb@defaultvalue.org>
435 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
437 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
439 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
441 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
443 * srfi-1.scm: Load srfi-1 extension.
444 (map, map-in-order, for-each, member, assoc): Replaced by
445 primitives in srfi-1.c.
446 (map1): Defined as `map'.
448 * Makefile.am: Added rules for srfi-1.c.
450 * srfi-1.c, srfi-1.h: New files.
452 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
454 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
455 the subtitute for char-set:graphic when then token-set hsa been
456 defaulted, grab the real char-set:graphic from (srfi srfi-14).
458 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
459 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
462 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
464 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
465 the second arg. Collect characters belonging to this set into
466 tokens (as specified by the SRFI), instead of splitting at these
467 characters. Default to an equivalent of char-set:graphic instead
468 of everything-but-whitespace. Thanks to Matthias Koeppe!
470 2002-04-10 Rob Browning <rlb@defaultvalue.org>
472 * .cvsignore: add *.c.clean.c.
474 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
476 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
477 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
478 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
479 Point to manual in commentary; nfc.
481 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
483 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
485 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
487 * srfi-13.c, srfi-14.c, srfi-4.c:
488 Retire inclusion guard macro SCM_MAGIC_SNARFER.
490 * Makefile.am (snarfcppopts): New var.
491 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
493 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
495 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
496 that 8-bit chars work. Thanks to David Pirotte!
498 2002-02-24 Rob Browning <rlb@defaultvalue.org>
500 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
501 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
502 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
503 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
505 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
507 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
508 match the expectations of priv:year-day.
510 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
512 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
513 month number, not day number. (Thanks to Sébastien de Menten de
514 Horne for reporting the problem.)
516 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
518 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
519 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
522 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
524 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
525 Thanks to Panagiotis Vossos.
527 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
529 * srfi-1.scm (map1): Rewrite to be tail-recursive.
530 Thanks to Panagiotis Vossos for the bug report.
532 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
534 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
536 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
538 * Makefile.am (ETAGS_ARGS): Added.
540 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
542 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
543 it with `#ifdef' instead of `#if'.
545 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
547 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
548 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
549 superfluous whitespace at end of docstring lines.
551 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
553 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
556 2001-11-04 Stefan Jahn <stefan@lkcc.org>
558 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
559 __FOO__ macros into FOO.
561 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
563 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
564 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
565 the source directory, for libguile.la. Thanks to Ken Raeburn.
567 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
569 Support for native Win32. Thanks to Stefan Jahn!
571 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
572 which do not allow unresolved symbols inside shared libraries.
574 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
575 exported symbol with SCM_SRFI1314_API.
577 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
578 symbol with SCM_SRFI4_API.
580 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
582 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
583 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
584 directives `export', `export-syntax', `re-export' and
585 `re-export-syntax' into the `define-module' form. This is the
586 recommended way of exporting bindings.
588 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
590 * srfi-19.scm (priv:split-real): Inserted missing call to
593 2001-09-21 Rob Browning <rlb@defaultvalue.org>
595 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
597 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
598 (scm_char_set_hash): val needs to be long, not just unsigned.
599 (scm_char_set): need 1L, not just 1 in "<<".
600 (scm_list_to_char_set): need 1L, not just 1 in "<<".
601 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
602 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
603 (scm_string_to_char_set): string length var needed to be
605 (scm_string_to_char_set): need 1L, not just 1 in "<<".
606 (scm_string_to_char_set_x): string length var needed to be
608 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
609 (scm_char_set_filter): need 1L, not just 1 in "<<".
610 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
611 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
612 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
613 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
614 (scm_char_set_delete): need 1L, not just 1 in "<<".
615 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
616 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
618 2001-09-12 Gary Houston <ghouston@arglist.com>
620 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
622 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
624 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
625 trick export from the beginning of the files.
627 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
629 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
630 two args. Thanks to Alex Shinn.
632 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
634 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
636 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
638 * srfi-13.h (scm_string_map, scm_string_map_x,
639 scm_string_for_each): Reverse order of first two args.
640 (scm_string_for_each_index): New proc.
642 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
643 (scm_string_for_each_index): New func.
645 * srfi-13.scm (string-for-each-index): New exported proc.
647 Thanks to Alex Shinn.
649 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
651 * srfi-13.c (string-map): Swapped order of string and proc args to
652 conform with the srfi. (Thanks to Alex Shinn.)
654 2001-08-05 Gary Houston <ghouston@arglist.com>
656 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
657 internal definitions.
658 (list-tabulate, iota): check for bad arguments that otherwise
660 (filter): check for proper list, to avoid infinite recursion on
663 2001-08-04 Gary Houston <ghouston@arglist.com>
665 * srfi-1.scm (filter): replaced with a tail-recursive version.
666 (remove): implement using filter, to make it tail-recursive.
668 2001-07-31 Gary Houston <ghouston@arglist.com>
670 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
671 accounting for the (char-set-union cs2...) in the spec. i.e.,
672 (char-set-diff+intersection a) -> copy-of-a, empty-set
673 and the following are equivalent:
674 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
675 (char-set-diff+intersection a (char-set #\a #\b))
677 (scm_char_set_xor_x): disabled the side-effecting code, since it
678 gives inconsistent results to scm_char_set_xor for the case
679 (char-set-xor! a a a).
681 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
682 two arguments are compulsory in final spec. also similar changes
683 as for scm_char_set_diff_plus_intersection.
684 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
686 2001-07-22 Gary Houston <ghouston@arglist.com>
688 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
689 the compulsory cs1 arguments: all args are optional in final spec.
691 * srfi-14.h: declarations updated.
693 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
695 * srfi-11.scm, srfi-8.scm: Update copyright notice.
697 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
699 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
702 * srfi-19.scm: Define `current-time' before exporting it.
704 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
706 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
707 side. Bit sets were handled wrong because I couldn't tell bit
708 counts from byte counts. Also, the bit array should be 256 / 8
709 bytes long. Thank you, Gary!
711 Removed unnecessary protoype for scm_char_set_copy.
713 2001-07-16 Gary Houston <ghouston@arglist.com>
715 * srfi-14.scm: export string->char-set!, not string-char-set!.
717 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
718 scm_end_of_char_set_p): reject negative cursor values.
719 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
720 type error in list component, omit the position (was always 1).
722 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
724 (scm_char_set_map): Bug-fix: char-set-map was modifying the
725 argument instead of the return value.
727 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
729 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
730 use this value for initializing and comparing charsets.
731 (scm_char_set_hash): Use ``better'' hash algorithm which produces
734 2001-07-15 Gary Houston <ghouston@arglist.com>
736 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
737 opt arg to give default bound, as in final spec. don't allow
739 (scm_char_set_hash): bug fix: was overrunning the buffer and
740 calculating based on garbage.
741 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
742 reporting: wasn't incremented due to macro coding.
743 (scm_char_set): report argument number in error reporting: was
744 hard coded to 1. remove a couple of local variables.
746 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
748 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
751 2001-07-11 Gary Houston <ghouston@arglist.com>
753 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
754 return #t instead of giving wrong-number-of-arguments . take a
755 single "rest" argument. use memcmp instead of a loop to compare
757 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
758 take a single "rest" argument.
759 srfi-14.h: update the declarations.
761 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
765 2001-07-06 Gary Houston <ghouston@arglist.com>
767 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
768 delete!, assoc): roll back the previous change. instead place
769 dummy definitions in a deprecated block at the beginning as in
772 2001-07-06 Rob Browning <rlb@defaultvalue.org>
774 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
776 2001-07-03 Gary Houston <ghouston@arglist.com>
778 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
779 delete!, assoc): don't export until the new bindings have been
780 created. otherwise "export" thinks they are being re-exported and
781 a deprecation warning is produced.
782 (map-in-order): defined and exported, to support lists of unequal
785 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
787 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
788 invalid arguments. Same fix for several other procedures (do not
789 use zero?, use <= 0).
791 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
793 * srfi-1.scm: Replaced calls to `map' in several procedures to
795 (map, for-each): New procedures, extended from R5RS.
797 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
799 * srfi-4.c: Minor cleanups.
801 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
802 (scm_char_set_unfold_x, scm_char_set_for_each)
803 (scm_char_set_map, scm_char_set_filter)
804 (scm_char_set_filter_x, scm_char_set_count)
805 (scm_char_set_every, scm_char_set_any): Replace calls to
806 scm_apply() with the corresponding scm_call_N() functions.
808 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
809 (scm_char_set_unfold, scm_char_set_unfold_x)
810 (scm_char_set_map, scm_char_set_diff_plus_intersection)
811 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
812 SCM_LISTN with calls to scm_list_N().
814 * srfi-13.c (scm_string_tabulate, scm_string_map)
815 (scm_string_map_x, scm_string_unfold)
816 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
817 with calls to scm_list_N().
819 * srfi-13.c (scm_string_any, scm_string_every),
820 (scm_string_tabulate, scm_string_trim),
821 (scm_string_trim_right, scm_string_trim_both),
822 (scm_string_compare, scm_string_compare_ci),
823 (scm_string_indexS, scm_string_index_right),
824 (scm_string_skip, scm_string_skip_right, scm_string_count),
825 (scm_string_map, scm_string_map_x, scm_string_fold),
826 (scm_string_fold_right, scm_string_unfold),
827 (scm_string_unfold_right, scm_string_for_each),
828 (scm_string_filter, scm_string_delete): Replace calls to
829 scm_apply() with the corresponding scm_call_N() functions.
831 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
833 * Makefile.am: Added SRFI-4 files in various places.
835 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
837 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
839 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
840 scm_string_take_right, scm_string_drop_right, scm_string_trim,
841 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
842 Use scm_mem2string instead of scm_makfromstr.
844 (scm_reverse_list_to_string, string_titlecase_x): Prefer
845 !SCM_<pred> over SCM_N<pred>.
847 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
849 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
852 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
854 The SRFI-19 implementation was completely broken. Already the
855 reference implementation did not handle DST and time zones
856 properly and relied on non-R5RS-isms like passing reals to
857 `quotient'. For Guile, some additional fixes were needed because
858 of the incomplete numeric tower implementation. See also
861 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
862 (add-duration): Renamed from priv:add-duration.
863 (priv:time-normalize!): Handle fractional nanoseconds; remove
864 duplicate definition.
865 (priv:current-time-tai): Fixed typo.
866 (time=?, time<=?): Fixed typos.
867 (time-tai->time-utc, time-utc->time-tai,
868 time-utc->time-monotonic): Use make-time-unnormalized instead of
869 make-time when uninitialized time fields are used.
870 (set-date-nanosecond!, set-date-second!, set-date-minute!,
871 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
872 set-date-zone-offset!): Define.
873 (priv:local-tz-offset): Take an extra argument in order to handle
875 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
876 changed signature of priv:local-tz-offset. Don't pass non-integer
877 arguments to quotient (non-R5RS, not supported by Guile).
878 (date->time-utc): Ensure that seconds in a date structure are
879 always exact integers. Handle DST properly.
880 (current-date, julian-day->date, modified-julian-day->date):
881 Handle the changed signature of priv:local-tz-offset.
882 (julian-day->time-utc): Reverted earlier inexact->exact hack;
883 make-time now handles inexact arguments.
884 (priv:locale-print-time-zone): At least print the numerical time
886 (priv:integer-reader): Fixed named let iteration.
887 (priv:read-directives): Use set-date-month! instead of
888 priv:set-date-month! etc.
889 (string->date): Handle DST properly.
891 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
893 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
895 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
897 * srfi-14.c (charset_print): Mark unused parameters with
900 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
902 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
903 (delete-duplicates): Now the first occurrence of an element is
904 retained, as required.
905 (member, assoc): Fixed wrong order of equality predicate
908 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
912 * srfi-1.scm: New file.
914 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
916 Added exception notice to all files.
918 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
920 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
923 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
925 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
927 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
929 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
931 * srfi-19.scm: removed a stray open parenthesis. (thanks to
932 Matthias Köppe for the report).
934 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
936 * srfi-19.scm (:optional): renamed to optional to avoid reader
937 keywords conflict. Time passes... Removed :optional altogether
938 and just handle optional args directly. Thanks to Matthias Koeppe
939 for the report of this and the two bits below.
940 (priv:decode-julian-day-number): add inexact->exact for truncate
942 (time-utc->date): add inexact->exact and floor so quotient will
945 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
947 * README: Update, document available SRFIs.
949 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
951 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
952 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
953 srfi-2.scm: Use `cond-expand-provide' for providing features to
956 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
958 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
961 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
963 Avoid using module operations from C.
965 * srfi-13.c (scm_init_srfi_13_14): Removed.
966 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
967 initializations needed by C clients of srfi-14.
968 (scm_init_srfi_13, scm_init_srfi_14): Call it.
969 * srfi-13.scm: Call "scm_init_srfi_13" instead of
970 "scm_init_srfi_13_14".
971 * srfi-14.scm: Call "scm_init_srfi_14" instead of
972 "scm_init_srfi_13_14".
974 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
976 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
978 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
980 * Makefile.am (srfi_DATA): Added srfi-16.scm.
982 * srfi-16.scm: New file.
984 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
986 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
989 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
991 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
993 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
995 * Makefile.am (srfi_DATA): added srfi-19.scm.
997 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
1000 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1002 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
1004 * srfi-10.scm: Typo fix.
1006 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
1008 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
1010 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1012 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
1014 * srfi-10.scm: New file.
1016 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
1018 Added `Commentary:' tag.
1020 * srfi-9.scm: Added `Commentary:' tag.
1022 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
1025 (scm_reverse_string_concatenate): renamed to
1026 scm_string_concatentate_reverse.
1027 (scm_reverse_string_concatenate_shared): renamed to
1028 scm_string_concatenate_reverse_shared.
1030 2001-04-27 Gary Houston <ghouston@arglist.com>
1032 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
1033 add "srfi/" to lines including .x files so they can be found
1034 when build_dir != src_dir.
1036 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1038 * Makefile.am (srfi_DATA): Added srfi-9.scm.
1040 * srfi-9.scm: New file. Exports `define-record-type'.
1042 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
1044 * Makefile.am (srfi_DATA): added srfi-6.scm.
1045 (srfi_DATA): added srfi-11.scm.
1046 (srfi_DATA): added srfi-8.scm.
1047 (srfi_DATA): added srfi-2.scm.
1049 * srfi-11.scm: new file - exports let-values and let*-values.
1051 * srfi-6.scm: new file - guile already has srfi-6 procedures
1052 loaded by default, so this is a dummy file right now.
1054 * srfi-8.scm: new file - exports receive.
1056 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
1058 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1060 Changed two procedure names to match final SRFI document. Thanks
1061 to Rob Browning for spotting this.
1063 * srfi-13.scm (string-concatenate-reverse),
1064 (string-concatenate-reverse/shared): Rename from
1065 reverse-string-concatenate[/shared].
1067 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
1068 scm_reverse_string_concatenate_shared.
1069 (scm_string_concatenate_reverse): Renamed from
1070 scm_reverse_string_concatenate.
1072 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1074 * configure.in, autogen.sh: Removed.
1076 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
1077 when using memmove().
1079 * srfi-14.h: Added prototypes for all exported procedures..
1081 * srfi-13.c: Include srfi-13.h
1083 * srfi-13.h: New file containing the prototypes.
1085 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
1086 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
1088 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
1090 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
1092 * Makefile.am: Fixed "srf-14.x" typo.
1094 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1096 * guile-srfi.texi: Removed, because merged with the GRM.
1098 * guile-srfi.texi: The docs are now up to date with the
1099 implementation and have new introductory material.
1101 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1103 Integrated the guile-srfi package into the Guile distribution.
1105 * srfi-13.c: All procedures so specified in the SRFI now accept
1106 character set arguments.
1108 * Makefile.am: Snarfed some variables from the guile-readline
1111 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
1113 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
1114 configure.in, Makefile.am: Added FSF copyright and Guile license
1117 * srfi-13.c, srfi-14.c: Include srfi-14.h.
1118 (scm_init_srfi_13_14): Initialize the complete module, if not
1121 * srfi-14.h: New file.
1123 * srfi-13.scm, srfi-14.scm: Load new combined library.
1125 * Makefile.am: Build only one library,
1126 `libguile-srfi-srfi-13-14.la'
1128 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1130 * guile-srfi.texi: Integrated the SRFI-14 documentation.
1132 * srfi-14.c, srfi-14.scm: Made the procedures and variables
1133 compliant to the final SRFI document.
1135 * Renamed the package to guile-srfi.
1137 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1139 * NEWS: New section for 0.0.3.
1141 * configure.in, README, guile-srfi-13.texi: Bumped version number
1144 * Released version 0.0.2.
1146 * Makefile.am: Added rules for builing the SRFI-14 library.
1148 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1149 (character set library).
1151 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1153 * README: Updated procedure and incompatibility list.
1155 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1156 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1157 (scm_string_downcaseS, string_titlecase_x),
1158 (scm_string_titlecase_x, scm_string_titlecase),
1159 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1162 * srfi-13.scm: Export new case mapping procedures.
1164 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1165 procedures from incompatibility list.
1166 (Case Mapping): New section for case mapping procedures.
1168 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1170 * NEWS: New section for 0.0.2
1172 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1175 * Released version 0.0.1.
1177 * README: Made procedure list up-to-date.
1179 * guile-srfi-13.texi: Fixed typos, completed reference and added
1182 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1184 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1186 * Started guile-srfi-13 package. Files are copied from the
1187 guile-gdbm and slightly modified.