diff --git a/libguile/srfi-14.c b/libguile/srfi-14.c index 33b508d21..822673b92 100644 --- a/libguile/srfi-14.c +++ b/libguile/srfi-14.c @@ -34,6 +34,18 @@ /* Include the pre-computed standard charset data. */ #include "libguile/srfi-14.i.c" +scm_t_char_range cs_full_ranges[] = { + {0x0000, SCM_CODEPOINT_SURROGATE_START - 1} + , + {SCM_CODEPOINT_SURROGATE_END + 1, SCM_CODEPOINT_MAX} +}; + +scm_t_char_set cs_full = { + 2, + cs_full_ranges +}; + + #define SCM_CHARSET_DATA(charset) ((scm_t_char_set *) SCM_SMOB_DATA (charset)) #define SCM_CHARSET_SET(cs, idx) \ @@ -2025,6 +2037,7 @@ SCM scm_char_set_hex_digit; SCM scm_char_set_blank; SCM scm_char_set_ascii; SCM scm_char_set_empty; +SCM scm_char_set_designated; SCM scm_char_set_full; @@ -2102,6 +2115,7 @@ scm_init_srfi_14 (void) scm_char_set_blank = define_charset ("char-set:blank", &cs_blank); scm_char_set_ascii = define_charset ("char-set:ascii", &cs_ascii); scm_char_set_empty = define_charset ("char-set:empty", &cs_empty); + scm_char_set_designated = define_charset ("char-set:designated", &cs_designated); scm_char_set_full = define_charset ("char-set:full", &cs_full); #include "libguile/srfi-14.x" diff --git a/libguile/srfi-14.i.c b/libguile/srfi-14.i.c index d92b4d73e..fd537daf3 100644 --- a/libguile/srfi-14.i.c +++ b/libguile/srfi-14.i.c @@ -6253,7 +6253,7 @@ scm_t_char_set cs_empty = { cs_empty_ranges }; -scm_t_char_range cs_full_ranges[] = { +scm_t_char_range cs_designated_ranges[] = { {0x0000, 0x0377} , {0x037a, 0x037e} @@ -7145,7 +7145,7 @@ scm_t_char_range cs_full_ranges[] = { {0x100000, 0x10fffd} }; -scm_t_char_set cs_full = { +scm_t_char_set cs_designated = { 445, - cs_full_ranges + cs_designated_ranges }; diff --git a/libguile/unidata_to_charset.pl b/libguile/unidata_to_charset.pl index 61c8d100e..d086c8ec4 100755 --- a/libguile/unidata_to_charset.pl +++ b/libguile/unidata_to_charset.pl @@ -254,8 +254,8 @@ sub empty { return 0; } -# Full -- All characters except for the surrogates -sub full { +# Designated -- All characters except for the surrogates +sub designated { my($codepoint, $name, $category, $uppercase, $lowercase)= @_; if ($category =~ (/Cs/)) { return 0; @@ -387,7 +387,7 @@ compute "symbol"; compute "blank"; compute "ascii"; compute "empty"; -compute "full"; +compute "designated"; close $in; close $out;