1 2005-01-29 Kevin Ryde <user42@zip.com.au>
3 * srfi-1.scm (lset-adjoin): Actually use the given `=' procedure.
4 Test membership only on the given `list', not `acc', as per the spec.
6 * srfi-1.c, srfi-1.scm (remove): Rewrite in C, a trivial adaption from
7 scm_filter in the core.
8 * srfi-1.scm (remove!): Use filter!.
10 2005-01-28 Kevin Ryde <user42@zip.com.au>
12 * srfi-1.scm (lset=): Correction to pred call arg order, srfi spec is
13 (= e[i] e[i+1]), but had some calls the other way around.
15 2005-01-24 Kevin Ryde <user42@zip.com.au>
17 * srfi-1.c (scm_srfi1_member): Correction to pred call arg order, srfi
18 spec is (PRED X elem). Update docstring from manual.
20 * srfi-1.scm (lset=): Allow no list arguments, per srfi spec example.
22 2005-01-18 Kevin Ryde <user42@zip.com.au>
24 * srfi-1.scm: Remove (ice-9 session) and (ice-9 receive), not used.
26 2005-01-12 Kevin Ryde <user42@zip.com.au>
28 * srfi-39.scm (current-input-port, current-output-port): Parameter
29 replacements for core functions, per SRFI spec.
30 (current-error-port): The same, for consistency.
32 2005-01-10 Marius Vollmer <mvo@zagadka.de>
34 * srfi-1.c (check_args): Bugfix to change from 2005-01-02: ARGV is
35 the vector to check, not ARGS.
37 2005-01-02 Marius Vollmer <mvo@zagadka.de>
39 * srfi-1.c: Use new vector elements API or simple vector API, as
42 2005-01-02 Kevin Ryde <user42@zip.com.au>
44 * Makefile.am (srfi_DATA): Add srfi-39.scm.
46 2004-12-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
48 * README: Update, document available SRFIs.
50 2004-12-06 Kevin Ryde <user42@zip.com.au>
52 * srfi-1.scm (alist-copy, alist-delete, break, span): Change to
55 * srfi-1.scm (alist-delete): Correction to equality proc call argument
56 order, spec is for given KEY param first.
58 2004-12-05 Kevin Ryde <user42@zip.com.au>
60 * srfi-1.scm (filter-map): Change to a tail-recursive form.
61 (append-map, append-map!): Rewrite as simple "concatenate map" forms,
62 for tail recursiveness.
64 2004-10-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
66 * srfi-4.scm, srfi-4.h, srfi-4.c: Moved content into core; only
67 the skeletons remains.
69 2004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
71 * srfi-4.c (print_int64, print_uint64): Removed.
72 (uvec_print): Use scm_intprint for signed elemets and
73 scm_uintprint for unsigned ones. Do not use print_int64 and
74 print_uint64 since scm_intprint and scm_Uintprint can handle 64
77 2004-09-03 Stefan Jahn <stefan@lkcc.org>
79 * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
80 lst1 is a #define on Win32 systems.
82 2004-08-26 Kevin Ryde <user42@zip.com.au>
84 * srfi-31.scm (rec): Add missing `error' to else clause.
86 2004-08-26 Marius Vollmer <marius.vollmer@uni-dortmund.de>
88 * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
90 * srfi-1.scm, srfi-4.scm: Use the new library names with
93 2004-08-25 Marius Vollmer <mvo@zagadka.de>
95 SRFI-13 and SRFI-14 have been moved into the core.
97 * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
100 * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
101 content except for the init functions.
103 2004-08-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
105 * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
106 scm_substring_sharedS.
108 * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
111 * srfi-13.scm (substring/shared): Export as replacement since we
112 now have a version in the core.
114 2004-08-15 Marius Vollmer <mvo@zagadka.de>
116 * srfi-39.scm: New, from Jose A Ortega Ruiz. Thanks!
118 2004-08-14 Kevin Ryde <user42@zip.com.au>
120 * srfi-13.c (scm_string_any, scm_string_every): Add support for char
121 and charset as predicates, per SRFI-13 spec.
123 2004-08-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
125 * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_COPY,
126 MY_VALIDATE_STRING_COPY): Modernized clones of the deprecated
127 validation macros. Replaced every use.
129 2004-08-05 Kevin Ryde <user42@zip.com.au>
131 * srfi-13.c (scm_string_any, scm_string_every): Enhance docstrings as
132 per doc/ref/srfi-modules.texi.
134 2004-08-02 Marius Vollmer <marius.vollmer@uni-dortmund.de>
136 * srfi-4.c: Replaced scm_num2* and scm_*2num with scm_to_* and
137 scm_from_*, respectively.
138 (print_int64, print_uint64): Rewritten by just calling scm_iprin1
141 2004-08-02 Kevin Ryde <user42@zip.com.au>
143 * srfi-13.c (scm_string_every): Correction to initial "res" value,
144 return should be #t for an empty string. Reported by Andreas Vögele.
146 2004-07-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
148 * srfi-13.c, srfi-14.c, srfi-4.c: Changed all uses of
149 SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
150 SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
151 SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
152 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
153 SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
155 2004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
157 * srfi-1.c, srfi-13.c, srfi-14.c, srfi-4.c: Replaced all uses of
158 deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL, SCM_NEGATE_BOOL, and
159 SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and
160 scm_is_bool, respectively.
162 2004-07-05 Kevin Ryde <user42@zip.com.au>
164 * srfi-4.c (uvec_sizes): Add "const".
166 * srfi-31.scm: Correction to heading comment.
168 2004-06-20 Rob Browning <rlb@defaultvalue.org>
170 * srfi-4.c: fix #ifdef checks for 64-bit types; should be #if.
171 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.
172 (uvec_print): rewrite using a union to make more
173 compact, and use static print_uint64 and print_int64 to print
175 (print_int64): new static function (temporary fix).
176 (print_uint64): new static function (temporary fix).
178 * Makefile.am (srfi_DATA): add srfi-31.scm.
180 * srfi-31.scm: new file.
182 2004-04-24 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
184 * srfi-17.scm (setter, car, cdr etc.): When within one define
185 expression a new variable in the local module is defined in terms
186 of an equally named variable from some other module, use @ to
187 refer to the variable in the other module. This is necessary due
188 to section 5.2.1 of R5RS: In a define expression first the new
189 binding is created and then the expression is evaluated.
191 2004-04-24 Kevin Ryde <user42@zip.com.au>
193 * srfi-11.scm (let-values): Use make-symbol rather than gensym, for
194 guaranteed uniqueness of temp variable symbols.
196 2004-04-15 Kevin Ryde <user42@zip.com.au>
198 * srfi-13.c (scm_string_trim, scm_string_trim_right,
199 scm_string_trim_both): Cast to unsigned char for isspace.
201 2004-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
203 * srfi-13.c (s_scm_string_map): convert character to unsigned char
204 before converting to unsigned int. This prevents hi-bit ascii as
205 being converted large integers.
206 (string_upcase_x): change caller for scm_{up,down}case to
209 2004-03-23 Kevin Ryde <user42@zip.com.au>
211 * srfi-1.scm (circular-list): Rewrite using set-cdr!, no need to copy
214 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
216 * Makefile.am (TAGS_FILES): Use this variable instead of
217 ETAGS_ARGS so that TAGS can be built using separate build
220 2004-01-24 Marius Vollmer <mvo@zagadka.de>
222 * Makefile.am (srfi_DATA): Added srfi-26.scm.
224 2004-01-21 Marius Vollmer <m.vollmer@ping.de>
226 * srfi-26.scm: New, from Daniel Skarda. Thanks!
228 2003-12-03 Kevin Ryde <user42@zip.com.au>
230 * srfi-1.c, srfi-1.h, srfi-1.scm (count): Rewrite in C, avoiding
233 * srfi-1.scm (map!): Define as an alias for map, previous definition
234 was not tail-recursive.
236 2003-08-23 Kevin Ryde <user42@zip.com.au>
238 * srfi-1.c, srfi-1.h, srfi-1.scm (list-copy): New function, derived
239 from core list-copy but allowing improper lists, per SRFI-1 spec.
241 * srfi-19.scm (date-week-number): Correction, day of week starting
242 week applied was off by one.
244 2003-07-29 Kevin Ryde <user42@zip.com.au>
246 * srfi-1.c, srfi-1.scm (concatenate, concatenate!): Use scm_append and
249 * srfi-1.c, srfi-1.h, srfi-1.scm (length+): Rewrite using scm_ilength.
251 * srfi-34.scm: Add cond-expand-provide srfi-34.
253 2003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
255 * srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition):
256 Re-implement in C to avoid stack overflows for long input lists.
258 2003-07-08 Kevin Ryde <user42@zip.com.au>
260 * srfi-1.c, srfi-1.h (scm_srfi1_delete, scm_srfi1_delete_x,
261 scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New
262 functions. scm_srfi1_delete_x is derived from scm_delete_x.
263 * srfi-1.scm (delete, delete!, delete-duplicates, delete-duplicates!):
266 2003-06-07 Kevin Ryde <user42@zip.com.au>
268 * srfi-6.scm: #:re-export open-input-string, open-output-string and
269 get-output-string, for the benefit of applications wanting to use
270 #:select on the module.
272 2003-05-29 Stefan Jahn <stefan@lkcc.org>
274 * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
275 libguile_srfi_srfi_4_la_LDFLAGS,
276 libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
277 option for the mingw32 build.
279 2003-05-13 Kevin Ryde <user42@zip.com.au>
281 * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
283 2003-05-10 Kevin Ryde <user42@zip.com.au>
285 * srfi-1.scm (take): Make this an alias for list-head.
286 (drop): Make this an alias for list-tail.
288 2003-04-30 Neil Jerram <neil@ossau.uklinux.net>
290 * srfi-34.scm: New file.
292 2003-04-23 Marius Vollmer <mvo@zagadka.de>
294 * srfi-1.scm: Removed stray "o" from exports list.
296 2003-04-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
298 * srfi-1.c (srfi1_ilength): Prefer !SCM_CONSP over SCM_NCONSP.
299 Now, guile itself does not include any calls to SCM_NCONSP any
302 2003-04-05 Marius Vollmer <mvo@zagadka.de>
304 * Changed license terms to the plain LGPL thru-out.
306 2003-03-25 Rob Browning <rlb@defaultvalue.org>
308 * srfi-4.c: replace typedefs for basic types with typedefs using
309 new standard int types (i.e. scm_t_uint8, etc.) -- should probably
310 remove typedefs altogether later.
312 2003-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
314 * srfi-1.scm: Re-export all srfi-1 bindings implemented by the
315 core. (Thanks to Kevin Ryde.)
317 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
319 * srfi-13.scm: Mark replacements.
321 * srfi-17.scm: Mark replacements.
323 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
325 * srfi-1.scm (iota, map, for-each, map-in-order, list-index,
326 member, delete, delete!, assoc): Marked as replacements.
327 (filter, filter!): Removed. (Now implemented in the core.)
329 2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
331 * srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
332 with the versions in this module using
333 scm_c_extend_primitive_generic.
335 2003-02-03 Mikael Djurfeldt <djurfeldt@nada.kth.se>
337 * srfi-1.c (srfi1_for_each): Corrected argument checking for the
338 case of two argument lists. (Thanks to Kevin Ryde.)
340 2002-12-08 Rob Browning <rlb@defaultvalue.org>
342 * Makefile.am (srfidir): VERSION -> GUILE_EFFECTIVE_VERSION.
344 2002-12-02 Marius Vollmer <mvo@zagadka.ping.de>
346 * Makefile.am (srfiinclude_HEADERS): Added srfi-1.h.
348 2002-12-01 Mikael Djurfeldt <mdj@linnaeus>
350 * srfi-1.scm: Load srfi-1 extension.
351 (map, map-in-order, for-each, member, assoc): Replaced by
352 primitives in srfi-1.c.
353 (map1): Defined as `map'.
355 * Makefile.am: Added rules for srfi-1.c.
357 * srfi-1.c, srfi-1.h: New files.
359 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de>
361 * srfi-13.c (scm_string_tokenize): Instead of using "isgraphic" as
362 the subtitute for char-set:graphic when then token-set hsa been
363 defaulted, grab the real char-set:graphic from (srfi srfi-14).
365 * srfi-14.h (SCM_CHARSET_GET): Cast IDX to unsigned char so that
366 it works for 8-bit characters. Thanks to Matthias Koeppe! No,
369 2002-04-24 Marius Vollmer <mvo@zagadka.ping.de>
371 * srfi-13.c (s_scm_string_tokenize): Only take character sets as
372 the second arg. Collect characters belonging to this set into
373 tokens (as specified by the SRFI), instead of splitting at these
374 characters. Default to an equivalent of char-set:graphic instead
375 of everything-but-whitespace. Thanks to Matthias Koeppe!
377 2002-04-10 Rob Browning <rlb@defaultvalue.org>
379 * .cvsignore: add *.c.clean.c.
381 2002-03-27 Thien-Thi Nguyen <ttn@giblet.glug.org>
383 * srfi-1.scm, srfi-13.scm, srfi-17.scm, srfi-4.scm, srfi-9.scm,
384 srfi-10.scm, srfi-14.scm, srfi-19.scm, srfi-6.scm, srfi-11.scm,
385 srfi-16.scm, srfi-2.scm, srfi-8.scm: Update copyright.
386 Point to manual in commentary; nfc.
388 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
390 * Makefile.am (.c.x): Pass "-o $@" to guile-snarf.
392 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
394 * srfi-13.c, srfi-14.c, srfi-4.c:
395 Retire inclusion guard macro SCM_MAGIC_SNARFER.
397 * Makefile.am (snarfcppopts): New var.
398 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
400 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
402 * srfi-13.c (string_titlecase_x): Treat characters as unsigned so
403 that 8-bit chars work. Thanks to David Pirotte!
405 2002-02-24 Rob Browning <rlb@defaultvalue.org>
407 * Makefile.am (libguile_srfi_srfi_4_la_LDFLAGS): use
408 @LIBGUILE_SRFI_SRFI_4_INTERFACE@.
409 (libguile_srfi_srfi_13_14_la_LDFLAGS): use
410 @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@.
412 2002-02-23 Neil Jerram <neil@ossau.uklinux.net>
414 * srfi-19.scm (priv:month-assoc): Correct numbers so that they
415 match the expectations of priv:year-day.
417 2002-02-22 Neil Jerram <neil@ossau.uklinux.net>
419 * srfi-19.scm (priv:year-day): Index into priv:month-assoc using
420 month number, not day number. (Thanks to Sébastien de Menten de
421 Horne for reporting the problem.)
423 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
425 * srfi-14.c, srfi-4.c: Use scm_gc_malloc/scm_malloc and
426 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
429 2002-01-21 Thien-Thi Nguyen <ttn@giblet.glug.org>
431 * srfi-1.scm (count1, take-while): Rewrite to be tail-recursive.
432 Thanks to Panagiotis Vossos.
434 2002-01-20 Thien-Thi Nguyen <ttn@giblet.glug.org>
436 * srfi-1.scm (map1): Rewrite to be tail-recursive.
437 Thanks to Panagiotis Vossos for the bug report.
439 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
441 * srfi-11.scm (let-values): Use `gensym' instead of `gentemp'.
443 2001-11-30 Neil Jerram <neil@ossau.uklinux.net>
445 * Makefile.am (ETAGS_ARGS): Added.
447 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
449 * srfi-4.c: Use HAVE_LONG_LONG instead of HAVE_LONG_LONGS and test
450 it with `#ifdef' instead of `#if'.
452 2001-11-07 Neil Jerram <neil@ossau.uklinux.net>
454 * srfi-13.c (scm_string_unfold, scm_string_unfold_right),
455 srfi-14.c (scm_char_set_unfold, scm_char_set_unfold_x): Remove
456 superfluous whitespace at end of docstring lines.
458 2001-11-06 Thien-Thi Nguyen <ttn@glug.org>
460 * srfi-19.scm (time-monotonic->time-monotonic): Spurious;
463 2001-11-04 Stefan Jahn <stefan@lkcc.org>
465 * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch. Renamed
466 __FOO__ macros into FOO.
468 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
470 * Makefile.am (libguile_srfi_srfi_4_la_LIBADD,
471 libguile_srfi_srfi_13_14_la_LIBADD): Refer to build directory, not
472 the source directory, for libguile.la. Thanks to Ken Raeburn.
474 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
476 Support for native Win32. Thanks to Stefan Jahn!
478 * Makefile.am: Put `-no-undefined' into LDFLAGS to support linkers
479 which do not allow unresolved symbols inside shared libraries.
481 * srfi-13.h, srfi-14.h: Defined SCM_SRFI1314_API. Prefixed each
482 exported symbol with SCM_SRFI1314_API.
484 * srfi-4.h: Defined SCM_SRFI4_API. Prefixed each exported
485 symbol with SCM_SRFI4_API.
487 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
489 * srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
490 srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
491 directives `export', `export-syntax', `re-export' and
492 `re-export-syntax' into the `define-module' form. This is the
493 recommended way of exporting bindings.
495 2001-09-22 Mikael Djurfeldt <mdj@linnaeus>
497 * srfi-19.scm (priv:split-real): Inserted missing call to
500 2001-09-21 Rob Browning <rlb@defaultvalue.org>
502 * srfi-14.h (SCM_CHARSET_GET): need 1L, not just 1 in "<<".
504 * srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".
505 (scm_char_set_hash): val needs to be long, not just unsigned.
506 (scm_char_set): need 1L, not just 1 in "<<".
507 (scm_list_to_char_set): need 1L, not just 1 in "<<".
508 (scm_list_to_char_set_x): need 1L, not just 1 in "<<".
509 (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
510 (scm_string_to_char_set): string length var needed to be
512 (scm_string_to_char_set): need 1L, not just 1 in "<<".
513 (scm_string_to_char_set_x): string length var needed to be
515 (scm_string_to_char_set_x): need 1L, not just 1 in "<<".
516 (scm_char_set_filter): need 1L, not just 1 in "<<".
517 (scm_char_set_filter_x): need 1L, not just 1 in "<<".
518 (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
519 (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
520 (scm_char_set_adjoin): need 1L, not just 1 in "<<".
521 (scm_char_set_delete): need 1L, not just 1 in "<<".
522 (scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
523 (scm_char_set_delete_x): need 1L, not just 1 in "<<".
525 2001-09-12 Gary Houston <ghouston@arglist.com>
527 * srfi-1.scm (filter): change "caller" to "filter" in check-arg-type.
529 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
531 * srfi-1.scm, srfi-13.scm: Remove the defines that were needed to
532 trick export from the beginning of the files.
534 2001-08-25 Thien-Thi Nguyen <ttn@revel.glug.org>
536 * srfi-19.scm (add-duration): Fix bug: Call `add-duration!' w/
537 two args. Thanks to Alex Shinn.
539 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
541 * Makefile.am (AUTOMAKE_OPTIONS): Change "foreign" to "gnu".
543 2001-08-24 Thien-Thi Nguyen <ttn@revel.glug.org>
545 * srfi-13.h (scm_string_map, scm_string_map_x,
546 scm_string_for_each): Reverse order of first two args.
547 (scm_string_for_each_index): New proc.
549 * srfi-13.c (scm_string_for_each): Reverse order of first 2 args.
550 (scm_string_for_each_index): New func.
552 * srfi-13.scm (string-for-each-index): New exported proc.
554 Thanks to Alex Shinn.
556 2001-08-22 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
558 * srfi-13.c (string-map): Swapped order of string and proc args to
559 conform with the srfi. (Thanks to Alex Shinn.)
561 2001-08-05 Gary Houston <ghouston@arglist.com>
563 * srfi-1.scm (check-arg-type, non-negative-integer?): a couple of new
564 internal definitions.
565 (list-tabulate, iota): check for bad arguments that otherwise
567 (filter): check for proper list, to avoid infinite recursion on
570 2001-08-04 Gary Houston <ghouston@arglist.com>
572 * srfi-1.scm (filter): replaced with a tail-recursive version.
573 (remove): implement using filter, to make it tail-recursive.
575 2001-07-31 Gary Houston <ghouston@arglist.com>
577 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctly
578 accounting for the (char-set-union cs2...) in the spec. i.e.,
579 (char-set-diff+intersection a) -> copy-of-a, empty-set
580 and the following are equivalent:
581 (char-set-diff+intersection a (char-set #\a) (char-set #\b))
582 (char-set-diff+intersection a (char-set #\a #\b))
584 (scm_char_set_xor_x): disabled the side-effecting code, since it
585 gives inconsistent results to scm_char_set_xor for the case
586 (char-set-xor! a a a).
588 (scm_char_set_diff_plus_intersection_x): added cs2 argument, since
589 two arguments are compulsory in final spec. also similar changes
590 as for scm_char_set_diff_plus_intersection.
591 * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
593 2001-07-22 Gary Houston <ghouston@arglist.com>
595 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): remove
596 the compulsory cs1 arguments: all args are optional in final spec.
598 * srfi-14.h: declarations updated.
600 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
602 * srfi-11.scm, srfi-8.scm: Update copyright notice.
604 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
606 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.
609 * srfi-19.scm: Define `current-time' before exporting it.
611 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
613 * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
614 side. Bit sets were handled wrong because I couldn't tell bit
615 counts from byte counts. Also, the bit array should be 256 / 8
616 bytes long. Thank you, Gary!
618 Removed unnecessary protoype for scm_char_set_copy.
620 2001-07-16 Gary Houston <ghouston@arglist.com>
622 * srfi-14.scm: export string->char-set!, not string-char-set!.
624 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next,
625 scm_end_of_char_set_p): reject negative cursor values.
626 (scm_list_to_char_set, scm_list_to_char_set_x): when reporting
627 type error in list component, omit the position (was always 1).
629 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
631 (scm_char_set_map): Bug-fix: char-set-map was modifying the
632 argument instead of the return value.
634 2001-07-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
636 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),
637 use this value for initializing and comparing charsets.
638 (scm_char_set_hash): Use ``better'' hash algorithm which produces
641 2001-07-15 Gary Houston <ghouston@arglist.com>
643 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
644 opt arg to give default bound, as in final spec. don't allow
646 (scm_char_set_hash): bug fix: was overrunning the buffer and
647 calculating based on garbage.
648 (scm_char_set_eq, scm_char_set_leq): fix argument number in error
649 reporting: wasn't incremented due to macro coding.
650 (scm_char_set): report argument number in error reporting: was
651 hard coded to 1. remove a couple of local variables.
653 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
655 * srfi-2.scm (and-let*): Use `re-export-syntax' instead of
658 2001-07-11 Gary Houston <ghouston@arglist.com>
660 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) should
661 return #t instead of giving wrong-number-of-arguments . take a
662 single "rest" argument. use memcmp instead of a loop to compare
664 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.
665 take a single "rest" argument.
666 srfi-14.h: update the declarations.
668 2001-07-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
672 2001-07-06 Gary Houston <ghouston@arglist.com>
674 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
675 delete!, assoc): roll back the previous change. instead place
676 dummy definitions in a deprecated block at the beginning as in
679 2001-07-06 Rob Browning <rlb@defaultvalue.org>
681 * srfi-19.scm (priv:locale-reader): don't need open-output-string.
683 2001-07-03 Gary Houston <ghouston@arglist.com>
685 * srfi-1.scm (iota, map, for-each, list-index, member, delete,
686 delete!, assoc): don't export until the new bindings have been
687 created. otherwise "export" thinks they are being re-exported and
688 a deprecation warning is produced.
689 (map-in-order): defined and exported, to support lists of unequal
692 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
694 * srfi-1.scm (list-tabulate): Do not go into infinite loop for
695 invalid arguments. Same fix for several other procedures (do not
696 use zero?, use <= 0).
698 2001-07-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
700 * srfi-1.scm: Replaced calls to `map' in several procedures to
702 (map, for-each): New procedures, extended from R5RS.
704 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
706 * srfi-4.c: Minor cleanups.
708 * srfi-14.c (scm_char_set_fold, scm_char_set_unfold)
709 (scm_char_set_unfold_x, scm_char_set_for_each)
710 (scm_char_set_map, scm_char_set_filter)
711 (scm_char_set_filter_x, scm_char_set_count)
712 (scm_char_set_every, scm_char_set_any): Replace calls to
713 scm_apply() with the corresponding scm_call_N() functions.
715 * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next)
716 (scm_char_set_unfold, scm_char_set_unfold_x)
717 (scm_char_set_map, scm_char_set_diff_plus_intersection)
718 (scm_char_set_diff_plus_intersection_x): Replace deprecated macros
719 SCM_LISTN with calls to scm_list_N().
721 * srfi-13.c (scm_string_tabulate, scm_string_map)
722 (scm_string_map_x, scm_string_unfold)
723 (scm_string_unfold_right): Replace deprecated macros SCM_LISTN
724 with calls to scm_list_N().
726 * srfi-13.c (scm_string_any, scm_string_every),
727 (scm_string_tabulate, scm_string_trim),
728 (scm_string_trim_right, scm_string_trim_both),
729 (scm_string_compare, scm_string_compare_ci),
730 (scm_string_indexS, scm_string_index_right),
731 (scm_string_skip, scm_string_skip_right, scm_string_count),
732 (scm_string_map, scm_string_map_x, scm_string_fold),
733 (scm_string_fold_right, scm_string_unfold),
734 (scm_string_unfold_right, scm_string_for_each),
735 (scm_string_filter, scm_string_delete): Replace calls to
736 scm_apply() with the corresponding scm_call_N() functions.
738 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
740 * Makefile.am: Added SRFI-4 files in various places.
742 * srfi-4.c, srfi-4.h, srfi-4.scm: New files implementing SRFI-4.
744 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
746 * srfi-13.c (scm_string_copyS, scm_string_take, scm_string_drop,
747 scm_string_take_right, scm_string_drop_right, scm_string_trim,
748 scm_string_trim_right, scm_string_trim_both, scm_string_tokenize):
749 Use scm_mem2string instead of scm_makfromstr.
751 (scm_reverse_list_to_string, string_titlecase_x): Prefer
752 !SCM_<pred> over SCM_N<pred>.
754 2001-06-25 Marius Vollmer <mvo@zagadka.ping.de>
756 * srfi-8.scm: Use `re-export-syntax' to correctly re-export
759 2001-06-18 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
761 The SRFI-19 implementation was completely broken. Already the
762 reference implementation did not handle DST and time zones
763 properly and relied on non-R5RS-isms like passing reals to
764 `quotient'. For Guile, some additional fixes were needed because
765 of the incomplete numeric tower implementation. See also
768 * srfi-19.scm (date-zone-offset): Fixed typo in export clause.
769 (add-duration): Renamed from priv:add-duration.
770 (priv:time-normalize!): Handle fractional nanoseconds; remove
771 duplicate definition.
772 (priv:current-time-tai): Fixed typo.
773 (time=?, time<=?): Fixed typos.
774 (time-tai->time-utc, time-utc->time-tai,
775 time-utc->time-monotonic): Use make-time-unnormalized instead of
776 make-time when uninitialized time fields are used.
777 (set-date-nanosecond!, set-date-second!, set-date-minute!,
778 set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
779 set-date-zone-offset!): Define.
780 (priv:local-tz-offset): Take an extra argument in order to handle
782 (time-utc->date, time-tai->date, time-monotonic->date): Handle the
783 changed signature of priv:local-tz-offset. Don't pass non-integer
784 arguments to quotient (non-R5RS, not supported by Guile).
785 (date->time-utc): Ensure that seconds in a date structure are
786 always exact integers. Handle DST properly.
787 (current-date, julian-day->date, modified-julian-day->date):
788 Handle the changed signature of priv:local-tz-offset.
789 (julian-day->time-utc): Reverted earlier inexact->exact hack;
790 make-time now handles inexact arguments.
791 (priv:locale-print-time-zone): At least print the numerical time
793 (priv:integer-reader): Fixed named let iteration.
794 (priv:read-directives): Use set-date-month! instead of
795 priv:set-date-month! etc.
796 (string->date): Handle DST properly.
798 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
800 * srfi-13.scm: Prevent `export' from re-exporting core bindings.
802 2001-06-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
804 * srfi-14.c (charset_print): Mark unused parameters with
807 2001-06-07 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
809 * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply.
810 (delete-duplicates): Now the first occurrence of an element is
811 retained, as required.
812 (member, assoc): Fixed wrong order of equality predicate
815 2001-06-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
819 * srfi-1.scm: New file.
821 2001-06-04 Marius Vollmer <mvo@zagadka.ping.de>
823 Added exception notice to all files.
825 2001-05-31 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
827 * srfi-14.scm, srfi-13.scm: Use `load-extension' for loading the
830 2001-05-31 Michael Livshin <mlivshin@bigfoot.com>
832 * Makefile.am (MKDEP): copied from libguile/Makefile.am, just in
834 (CLEANFILES): added *.x (and removed from DISTCLEANFILES)
836 2001-05-28 Michael Livshin <mlivshin@bigfoot.com>
838 * srfi-19.scm: removed a stray open parenthesis. (thanks to
839 Matthias Köppe for the report).
841 2001-05-23 Rob Browning <rlb@cs.utexas.edu>
843 * srfi-19.scm (:optional): renamed to optional to avoid reader
844 keywords conflict. Time passes... Removed :optional altogether
845 and just handle optional args directly. Thanks to Matthias Koeppe
846 for the report of this and the two bits below.
847 (priv:decode-julian-day-number): add inexact->exact for truncate
849 (time-utc->date): add inexact->exact and floor so quotient will
852 2001-05-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
854 * README: Update, document available SRFIs.
856 2001-05-21 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
858 * srfi-19.scm, srfi-17.scm, srfi-16.scm, srfi-14.scm, srfi-13.scm,
859 srfi-11.scm, srfi-10.scm, srfi-9.scm, srfi-8.scm, srfi-6.scm,
860 srfi-2.scm: Use `cond-expand-provide' for providing features to
863 2001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
865 * srfi-14.c (scm_c_init_srfi_14): Added "int" to declaration of
868 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
870 Avoid using module operations from C.
872 * srfi-13.c (scm_init_srfi_13_14): Removed.
873 * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains
874 initializations needed by C clients of srfi-14.
875 (scm_init_srfi_13, scm_init_srfi_14): Call it.
876 * srfi-13.scm: Call "scm_init_srfi_13" instead of
877 "scm_init_srfi_13_14".
878 * srfi-14.scm: Call "scm_init_srfi_14" instead of
879 "scm_init_srfi_13_14".
881 2001-05-16 Rob Browning <rlb@cs.utexas.edu>
883 * srfi-19.scm (priv:integer-reader-exact): minor cleanups.
885 2001-05-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
887 * Makefile.am (srfi_DATA): Added srfi-16.scm.
889 * srfi-16.scm: New file.
891 2001-05-10 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
893 * srfi-13.c (scm_string_delete): Logic was inversed for charset.
896 2001-05-08 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
898 * srfi-13.c (scm_string_copyS): Fixed nasty bug.
900 2001-05-05 Rob Browning <rlb@cs.utexas.edu>
902 * Makefile.am (srfi_DATA): added srfi-19.scm.
904 * srfi-19.scm: New file - time/date SRFI. Thanks to Will
907 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
909 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.
911 * srfi-10.scm: Typo fix.
913 2001-05-02 Rob Browning <rlb@cs.utexas.edu>
915 * srfi-11.scm (let-values): fix (a b c . d) case. Thanks Martin.
917 2001-05-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
919 * Makefile.am (srfi_DATA): Added srfi-10.scm and srfi-17.scm.
921 * srfi-10.scm: New file.
923 * srfi-17.scm: New file, contributed by Matthias Koeppe. Thanks a
925 Added `Commentary:' tag.
927 * srfi-9.scm: Added `Commentary:' tag.
929 2001-04-27 Rob Browning <rlb@cs.utexas.edu>
932 (scm_reverse_string_concatenate): renamed to
933 scm_string_concatentate_reverse.
934 (scm_reverse_string_concatenate_shared): renamed to
935 scm_string_concatenate_reverse_shared.
937 2001-04-27 Gary Houston <ghouston@arglist.com>
939 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):
940 add "srfi/" to lines including .x files so they can be found
941 when build_dir != src_dir.
943 2001-04-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
945 * Makefile.am (srfi_DATA): Added srfi-9.scm.
947 * srfi-9.scm: New file. Exports `define-record-type'.
949 2001-04-26 Rob Browning <rlb@cs.utexas.edu>
951 * Makefile.am (srfi_DATA): added srfi-6.scm.
952 (srfi_DATA): added srfi-11.scm.
953 (srfi_DATA): added srfi-8.scm.
954 (srfi_DATA): added srfi-2.scm.
956 * srfi-11.scm: new file - exports let-values and let*-values.
958 * srfi-6.scm: new file - guile already has srfi-6 procedures
959 loaded by default, so this is a dummy file right now.
961 * srfi-8.scm: new file - exports receive.
963 * srfi-2.scm: new file - just use/export (ice-9 and-let-star)
965 2001-04-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
967 Changed two procedure names to match final SRFI document. Thanks
968 to Rob Browning for spotting this.
970 * srfi-13.scm (string-concatenate-reverse),
971 (string-concatenate-reverse/shared): Rename from
972 reverse-string-concatenate[/shared].
974 * srfi-13.c (scm_string_concatenate_reverse_shared): Renamed from
975 scm_reverse_string_concatenate_shared.
976 (scm_string_concatenate_reverse): Renamed from
977 scm_reverse_string_concatenate.
979 2001-04-25 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
981 * configure.in, autogen.sh: Removed.
983 * srfi-13.c (scm_string_replace): Take sizeof (char) into account
984 when using memmove().
986 * srfi-14.h: Added prototypes for all exported procedures..
988 * srfi-13.c: Include srfi-13.h
990 * srfi-13.h: New file containing the prototypes.
992 * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable.
993 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets
995 (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
997 2001-04-24 Neil Jerram <neil@ossau.uklinux.net>
999 * Makefile.am: Fixed "srf-14.x" typo.
1001 2001-04-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1003 * guile-srfi.texi: Removed, because merged with the GRM.
1005 * guile-srfi.texi: The docs are now up to date with the
1006 implementation and have new introductory material.
1008 2001-04-23 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1010 Integrated the guile-srfi package into the Guile distribution.
1012 * srfi-13.c: All procedures so specified in the SRFI now accept
1013 character set arguments.
1015 * Makefile.am: Snarfed some variables from the guile-readline
1018 * srfi-14.c, srfi-14.h: Add prefix SCM_ to exported macros.
1020 * srfi-13.scm, srfi-14.scm, srfi-13.c, srfi-14.c, srfi-14.h,
1021 configure.in, Makefile.am: Added FSF copyright and Guile license
1024 * srfi-13.c, srfi-14.c: Include srfi-14.h.
1025 (scm_init_srfi_13_14): Initialize the complete module, if not
1028 * srfi-14.h: New file.
1030 * srfi-13.scm, srfi-14.scm: Load new combined library.
1032 * Makefile.am: Build only one library,
1033 `libguile-srfi-srfi-13-14.la'
1035 2001-04-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1037 * guile-srfi.texi: Integrated the SRFI-14 documentation.
1039 * srfi-14.c, srfi-14.scm: Made the procedures and variables
1040 compliant to the final SRFI document.
1042 * Renamed the package to guile-srfi.
1044 2001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1046 * NEWS: New section for 0.0.3.
1048 * configure.in, README, guile-srfi-13.texi: Bumped version number
1051 * Released version 0.0.2.
1053 * Makefile.am: Added rules for builing the SRFI-14 library.
1055 * srfi-14.c, srfi-14.scm: New files, implementing SRFI-14
1056 (character set library).
1058 2001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1060 * README: Updated procedure and incompatibility list.
1062 * srfi-13.c (string_upcase_x, scm_string_upcase_xS),
1063 (scm_string_upcase, string_downcase_x, scm_string_downcase_xS),
1064 (scm_string_downcaseS, string_titlecase_x),
1065 (scm_string_titlecase_x, scm_string_titlecase),
1066 (scm_string_fill_xS, scm_string_copyS, scm_string_to_listS): New
1069 * srfi-13.scm: Export new case mapping procedures.
1071 * guile-srfi-13.texi (What cannot be done): Removed case mapping
1072 procedures from incompatibility list.
1073 (Case Mapping): New section for case mapping procedures.
1075 2001-03-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1077 * NEWS: New section for 0.0.2
1079 * configure.in, README, guile-srfi-13.texi: Bumbed version number
1082 * Released version 0.0.1.
1084 * README: Made procedure list up-to-date.
1086 * guile-srfi-13.texi: Fixed typos, completed reference and added
1089 * srfi-13.c, srfi-13.scm: Filled in the last missing pieces.
1091 2001-03-22 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1093 * Started guile-srfi-13 package. Files are copied from the
1094 guile-gdbm and slightly modified.