From f47ed23fa2a0bcc7e5e46131860257a1171afda9 Mon Sep 17 00:00:00 2001 From: Gary Houston Date: Mon, 16 Jul 2001 22:31:56 +0000 Subject: [PATCH] * srfi-14.scm: export string->char-set!, not string-char-set!. * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next, scm_end_of_char_set_p): reject negative cursor values. (scm_list_to_char_set, scm_list_to_char_set_x): when reporting type error in list component, omit the position (was always 1). --- srfi/ChangeLog | 11 ++++++++++- srfi/srfi-14.c | 10 +++++----- srfi/srfi-14.scm | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/srfi/ChangeLog b/srfi/ChangeLog index 081f4eaa8..ceadab802 100644 --- a/srfi/ChangeLog +++ b/srfi/ChangeLog @@ -1,3 +1,12 @@ +2001-07-16 Gary Houston + + * srfi-14.scm: export string->char-set!, not string-char-set!. + + * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next, + scm_end_of_char_set_p): reject negative cursor values. + (scm_list_to_char_set, scm_list_to_char_set_x): when reporting + type error in list component, omit the position (was always 1). + 2001-07-16 Martin Grabmueller (scm_char_set_map): Bug-fix: char-set-map was modifying the @@ -11,7 +20,7 @@ more values. 2001-07-15 Gary Houston - + * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the opt arg to give default bound, as in final spec. don't allow negative bounds. diff --git a/srfi/srfi-14.c b/srfi/srfi-14.c index 14a717a80..427ee9e23 100644 --- a/srfi/srfi-14.c +++ b/srfi/srfi-14.c @@ -241,7 +241,7 @@ SCM_DEFINE (scm_char_set_ref, "char-set-ref", 2, 0, 0, int ccursor; SCM_VALIDATE_SMOB (1, cs, charset); - SCM_VALIDATE_INUM_COPY (2, cursor, ccursor); + SCM_VALIDATE_INUM_MIN_COPY (2, cursor, 0, ccursor); if (ccursor >= SCM_CHARSET_SIZE || !SCM_CHARSET_GET (cs, ccursor)) SCM_MISC_ERROR ("invalid character set cursor: ~A", scm_list_1 (cursor)); @@ -260,7 +260,7 @@ SCM_DEFINE (scm_char_set_cursor_next, "char-set-cursor-next", 2, 0, 0, int ccursor; SCM_VALIDATE_SMOB (1, cs, charset); - SCM_VALIDATE_INUM_COPY (2, cursor, ccursor); + SCM_VALIDATE_INUM_MIN_COPY (2, cursor, 0, ccursor); if (ccursor >= SCM_CHARSET_SIZE || !SCM_CHARSET_GET (cs, ccursor)) SCM_MISC_ERROR ("invalid character set cursor: ~A", scm_list_1 (cursor)); @@ -282,7 +282,7 @@ SCM_DEFINE (scm_end_of_char_set_p, "end-of-char-set?", 1, 0, 0, { int ccursor; - SCM_VALIDATE_INUM_COPY (1, cursor, ccursor); + SCM_VALIDATE_INUM_MIN_COPY (1, cursor, 0, ccursor); return SCM_BOOL (ccursor >= SCM_CHARSET_SIZE); } #undef FUNC_NAME @@ -507,7 +507,7 @@ SCM_DEFINE (scm_list_to_char_set, "list->char-set", 1, 1, 0, SCM chr = SCM_CAR (list); int c; - SCM_VALIDATE_CHAR_COPY (1, chr, c); + SCM_VALIDATE_CHAR_COPY (0, chr, c); list = SCM_CDR (list); p[c / sizeof (long)] |= 1 << (c % sizeof (long)); @@ -534,7 +534,7 @@ SCM_DEFINE (scm_list_to_char_set_x, "list->char-set!", 2, 0, 0, SCM chr = SCM_CAR (list); int c; - SCM_VALIDATE_CHAR_COPY (1, chr, c); + SCM_VALIDATE_CHAR_COPY (0, chr, c); list = SCM_CDR (list); p[c / sizeof (long)] |= 1 << (c % sizeof (long)); diff --git a/srfi/srfi-14.scm b/srfi/srfi-14.scm index c123c4dc6..08aa7b71e 100644 --- a/srfi/srfi-14.scm +++ b/srfi/srfi-14.scm @@ -64,7 +64,7 @@ char-set-copy char-set list->char-set list->char-set! - string->char-set string-char-set! + string->char-set string->char-set! char-set-filter char-set-filter! ucs-range->char-set ucs-range->char-set! ->char-set