From 5ad2af6de5be2bc7c1375b3e2652b5c450d96925 Mon Sep 17 00:00:00 2001 From: tomo Date: Tue, 31 May 2011 07:36:54 +0000 Subject: [PATCH] (char_encode_as_entity_reference): Don't use `DECODE_CHAR' to detect isolated characters. --- src/text-coding.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/text-coding.c b/src/text-coding.c index 6485b64..8015b7c 100644 --- a/src/text-coding.c +++ b/src/text-coding.c @@ -3415,11 +3415,22 @@ char_encode_as_entity_reference (Emchar ch, char* buf) char_type = Qnil; if (!NILP (ccs = Ffind_charset (ccs))) { - int code_point = charset_code_point (ccs, ch, 0); + int code_point + = charset_code_point (ccs, ch, + NILP (char_type) ? + CHAR_ALL : CHAR_ISOLATED_ONLY ); if ( (code_point >= 0) - && (NILP (char_type) - || DECODE_CHAR (ccs, code_point, 0) != ch) ) + && ( NILP (char_type) +#if 1 + || ( charset_code_point (ccs, ch, CHAR_DEFINED_ONLY) + == -1 ) +#endif +#if 0 + || ( DECODE_CHAR (ccs, code_point, 0) != ch ) +#endif + ) + ) { Lisp_Object ret; -- 1.7.10.4