aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorKenichi Handa2000-05-20 00:03:16 +0000
committerKenichi Handa2000-05-20 00:03:16 +0000
commit54e03a4ac40be5c30a03feef21e69b825b44ca2f (patch)
treeba9e9f04d1800ac678802cf4347611d2209db75e /src/keymap.c
parentb16afa45bb6a0b0b68658c5d4e563e2010b12169 (diff)
downloademacs-54e03a4ac40be5c30a03feef21e69b825b44ca2f.tar.gz
emacs-54e03a4ac40be5c30a03feef21e69b825b44ca2f.zip
(Fsingle_key_description): Use SPLIT_CHAR instead of
SPLIT_NON_ASCII_CHAR. (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally. (Fkey_description): Likewise.
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c32
1 files changed, 10 insertions, 22 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 4b7c6c2a4a0..2a6114907f9 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1502,14 +1502,10 @@ then the value includes only maps for prefixes that start with PREFIX.")
1502 for (i = 0, i_byte = 0; i < XSTRING (prefix)->size;) 1502 for (i = 0, i_byte = 0; i < XSTRING (prefix)->size;)
1503 { 1503 {
1504 int i_before = i; 1504 int i_before = i;
1505 if (STRING_MULTIBYTE (prefix)) 1505
1506 FETCH_STRING_CHAR_ADVANCE (c, prefix, i, i_byte); 1506 FETCH_STRING_CHAR_ADVANCE (c, prefix, i, i_byte);
1507 else 1507 if (SINGLE_BYTE_CHAR_P (c) && (c & 0200))
1508 { 1508 c ^= 0200 | meta_modifier;
1509 c = XSTRING (prefix)->data[i++];
1510 if (c & 0200)
1511 c ^= 0200 | meta_modifier;
1512 }
1513 XVECTOR (copy)->contents[i_before] = make_number (c); 1509 XVECTOR (copy)->contents[i_before] = make_number (c);
1514 } 1510 }
1515 prefix = copy; 1511 prefix = copy;
@@ -1738,15 +1734,9 @@ spaces are put between sequence elements, etc.")
1738 int c; 1734 int c;
1739 int i_before = i; 1735 int i_before = i;
1740 1736
1741 if (STRING_MULTIBYTE (keys)) 1737 FETCH_STRING_CHAR_ADVANCE (c, keys, i, i_byte);
1742 FETCH_STRING_CHAR_ADVANCE (c, keys, i, i_byte); 1738 if (SINGLE_BYTE_CHAR_P (c) && (c & 0200))
1743 else 1739 c ^= 0200 | meta_modifier;
1744 {
1745 c = XSTRING (keys)->data[i++];
1746 if (c & 0200)
1747 c ^= 0200 | meta_modifier;
1748 }
1749
1750 XSETFASTINT (XVECTOR (vector)->contents[i_before], c); 1740 XSETFASTINT (XVECTOR (vector)->contents[i_before], c);
1751 } 1741 }
1752 keys = vector; 1742 keys = vector;
@@ -1931,7 +1921,7 @@ Control characters turn into C-whatever, etc.")
1931 if (SINGLE_BYTE_CHAR_P (without_bits)) 1921 if (SINGLE_BYTE_CHAR_P (without_bits))
1932 charset = 0; 1922 charset = 0;
1933 else 1923 else
1934 SPLIT_NON_ASCII_CHAR (without_bits, charset, c1, c2); 1924 SPLIT_CHAR (without_bits, charset, c1, c2);
1935 1925
1936 if (charset 1926 if (charset
1937 && CHARSET_DEFINED_P (charset) 1927 && CHARSET_DEFINED_P (charset)
@@ -3034,8 +3024,7 @@ describe_vector (vector, elt_prefix, elt_describer,
3034 } 3024 }
3035 else if (complete_char) 3025 else if (complete_char)
3036 { 3026 {
3037 character 3027 character = MAKE_CHAR (indices[0], indices[1], indices[2]);
3038 = MAKE_NON_ASCII_CHAR (indices[0], indices[1], indices[2]);
3039 } 3028 }
3040 else 3029 else
3041 character = 0; 3030 character = 0;
@@ -3178,8 +3167,7 @@ describe_vector (vector, elt_prefix, elt_describer,
3178 else if (complete_char) 3167 else if (complete_char)
3179 { 3168 {
3180 indices[char_table_depth] = i; 3169 indices[char_table_depth] = i;
3181 character 3170 character = MAKE_CHAR (indices[0], indices[1], indices[2]);
3182 = MAKE_NON_ASCII_CHAR (indices[0], indices[1], indices[2]);
3183 insert_char (character); 3171 insert_char (character);
3184 } 3172 }
3185 else 3173 else