projects
/
chise
/
xemacs-chise.git.1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Add some `=ucs@cns' features.
[chise/xemacs-chise.git.1]
/
src
/
text-coding.c
diff --git
a/src/text-coding.c
b/src/text-coding.c
index
7be2d3e
..
b3f80ff
100644
(file)
--- a/
src/text-coding.c
+++ b/
src/text-coding.c
@@
-3246,6
+3246,8
@@
decode_flush_er_chars (struct decoding_stream *str, unsigned_char_dynarr* dst)
}
}
}
}
+EXFUN (Fregexp_quote, 1);
+
void decode_add_er_char (struct decoding_stream *str, Emchar character,
unsigned_char_dynarr* dst);
void
void decode_add_er_char (struct decoding_stream *str, Emchar character,
unsigned_char_dynarr* dst);
void
@@
-3267,7
+3269,7
@@
decode_add_er_char (struct decoding_stream *str, Emchar c,
{
Lisp_Object string = make_string (str->er_buf,
str->er_counter);
{
Lisp_Object string = make_string (str->er_buf,
str->er_counter);
- Lisp_Object rest = Vcoded_charset_entity_reference_alist;
+ Lisp_Object rest;
Lisp_Object cell;
Lisp_Object ret;
Lisp_Object pat;
Lisp_Object cell;
Lisp_Object ret;
Lisp_Object pat;
@@
-3275,7
+3277,8
@@
decode_add_er_char (struct decoding_stream *str, Emchar c,
Lisp_Object char_type;
int base;
Lisp_Object char_type;
int base;
- while (!NILP (rest))
+ for ( rest = Vcoded_charset_entity_reference_alist;
+ !NILP (rest); rest = Fcdr (rest) )
{
cell = Fcar (rest);
ccs = Fcar (cell);
{
cell = Fcar (rest);
ccs = Fcar (cell);
@@
-3295,6
+3298,7
@@
decode_add_er_char (struct decoding_stream *str, Emchar c,
pat = ret;
else
continue;
pat = ret;
else
continue;
+ pat = Fregexp_quote (pat);
cell = Fcdr (cell);
cell = Fcdr (cell);
cell = Fcdr (cell);
cell = Fcdr (cell);
@@
-3336,7
+3340,6
@@
decode_add_er_char (struct decoding_stream *str, Emchar c,
DECODE_ADD_UCS_CHAR (chr, dst);
goto decoded;
}
DECODE_ADD_UCS_CHAR (chr, dst);
goto decoded;
}
- rest = Fcdr (rest);
}
if (!NILP (Fstring_match (build_string ("^&MCS-\\([0-9A-F]+\\)$"),
string, Qnil, Qnil)))
}
if (!NILP (Fstring_match (build_string ("^&MCS-\\([0-9A-F]+\\)$"),
string, Qnil, Qnil)))
@@
-4609,7
+4612,7
@@
char_encode_utf8 (struct encoding_stream *str, Emchar ch,
= CODING_SYSTEM_ISO2022_INITIAL_CHARSET (str->codesys, 0);
int code_point = charset_code_point (ucs_ccs, ch, 0);
= CODING_SYSTEM_ISO2022_INITIAL_CHARSET (str->codesys, 0);
int code_point = charset_code_point (ucs_ccs, ch, 0);
- if ( (code_point < 0) || (code_point > 0x10FFFF) )
+ if ( (code_point < 0) || (code_point > 0xEFFFF) )
{
Lisp_Object map
= CODING_SYSTEM_ISO2022_INITIAL_CHARSET (str->codesys, 1);
{
Lisp_Object map
= CODING_SYSTEM_ISO2022_INITIAL_CHARSET (str->codesys, 1);