mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Surrogate characters shouldn't be in charsets
* libguile/srfi-14.c (charsets_complement): use surrogate #defines instead of hardcoded numbers * libguile/srfi-14.i.c (cs_full_ranges): remove surrogates from full charset * libguile/unidata_to_charset.pl (full): test for surrogates
This commit is contained in:
parent
526ee76ac3
commit
24d23822ee
3 changed files with 13 additions and 7 deletions
|
@ -29,6 +29,7 @@
|
|||
#include "libguile.h"
|
||||
#include "libguile/srfi-14.h"
|
||||
#include "libguile/strings.h"
|
||||
#include "libguile/chars.h"
|
||||
|
||||
/* Include the pre-computed standard charset data. */
|
||||
#include "libguile/srfi-14.i.c"
|
||||
|
@ -386,8 +387,8 @@ charsets_complement (scm_t_char_set *p, scm_t_char_set *q)
|
|||
p->ranges = scm_gc_malloc (sizeof (scm_t_char_range) * 2,
|
||||
"character-set");
|
||||
p->ranges[0].lo = 0;
|
||||
p->ranges[0].hi = 0xd7ff;
|
||||
p->ranges[1].lo = 0xe000;
|
||||
p->ranges[0].hi = SCM_CODEPOINT_SURROGATE_START - 1;
|
||||
p->ranges[1].lo = SCM_CODEPOINT_SURROGATE_END + 1;
|
||||
p->ranges[1].hi = SCM_CODEPOINT_MAX;
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue