summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2009-07-07 01:43:29 +0000
committerKenichi Handa <handa@m17n.org>2009-07-07 01:43:29 +0000
commitd6763ac9f5738a7f0573fedb24195f8008942b3e (patch)
tree3e6b673e279af5367b98e7956ee38be1e08a0f48
parentcbe88c9c73d930b1348b2ed3415e7ef40692a784 (diff)
downloademacs-d6763ac9f5738a7f0573fedb24195f8008942b3e.tar.gz
(get_next_display_element): Use DECODE_BYTE.
(x_produce_glyphs): Likewise.
-rw-r--r--src/ChangeLog24
-rw-r--r--src/xdisp.c5
2 files changed, 26 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1afa3b755d3..3dc02d49783 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,27 @@
+2009-07-07 Kenichi Handa <handa@m17n.org>
+
+ * .gdbinit (xcharset): Fix the treating $arg0.
+
+ * character.h (unibyte_has_multibyte_table): Delete extern.
+ (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
+ (charset_unibyte_decoder): Extern it.
+ (DECODE_UNIBYTE): New macro.
+
+ * charset.c (Fset_charset_priority): Update charset_unibyte and
+ charset_unibyte_decoder.
+ (init_charset_once): Initialize charset_unibyte_decoder.
+ (syms_of_charset): Initialize charset_unibyte.
+
+ * character.c (unibyte_has_multibyte_table): Delete it.
+ (charset_unibyte_decoder): New variable.
+ (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
+ charset_unibyte.
+ (multibyte_char_to_unibyte_safe): Likewise.
+ (Funibyte_char_to_multibyte): Don't check charset_unibyte.
+
+ * xdisp.c (get_next_display_element): Use DECODE_BYTE.
+ (x_produce_glyphs): Likewise.
+
2009-07-03 Eli Zaretskii <eliz@gnu.org>
* dired.c (Ffile_attributes): Decode user and group name by the
diff --git a/src/xdisp.c b/src/xdisp.c
index 8094b8f8e13..8a2b2a387d9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -5743,7 +5743,7 @@ get_next_display_element (it)
|| it->c == 0xAD /* SOFT HYPHEN */)))
: (it->c >= 127
&& (! unibyte_display_via_language_environment
- || (UNIBYTE_CHAR_HAS_MULTIBYTE_P (it->c)))))))
+ || (DECODE_UNIBYTE (it->c) <= 0xA0))))))
{
/* IT->c is a control character which must be displayed
either as '\003' or as `^C' where the '\\' and '^'
@@ -21196,9 +21196,8 @@ x_produce_glyphs (it)
{
if (SINGLE_BYTE_CHAR_P (it->c)
&& unibyte_display_via_language_environment)
- it->char_to_display = unibyte_char_to_multibyte (it->c);
- if (! SINGLE_BYTE_CHAR_P (it->char_to_display))
{
+ it->char_to_display = DECODE_UNIBYTE (it->c);
it->multibyte_p = 1;
it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display,
-1, Qnil);