aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-12-28 13:37:33 +0000
committerGerd Moellmann2000-12-28 13:37:33 +0000
commit5a7cb8f13db7a034020435845486ad2d735355dd (patch)
tree2e8ffc2077ee642a8164c2b33c8d680f8fee1045
parentdefac922dd8e8f3ecd8bf02714d32dbc04bb031e (diff)
downloademacs-5a7cb8f13db7a034020435845486ad2d735355dd.tar.gz
emacs-5a7cb8f13db7a034020435845486ad2d735355dd.zip
(echo_char): If C is an integer, always call
push_key_description. Former code could signal an invalid character error.
-rw-r--r--src/keyboard.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index d8c96c82add..15bb56a22ee 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -735,8 +735,6 @@ void
735echo_char (c) 735echo_char (c)
736 Lisp_Object c; 736 Lisp_Object c;
737{ 737{
738 extern char *push_key_description ();
739
740 if (current_kboard->immediate_echo) 738 if (current_kboard->immediate_echo)
741 { 739 {
742 char *ptr = current_kboard->echoptr; 740 char *ptr = current_kboard->echoptr;
@@ -755,14 +753,7 @@ echo_char (c)
755 > ECHOBUFSIZE - KEY_DESCRIPTION_SIZE) 753 > ECHOBUFSIZE - KEY_DESCRIPTION_SIZE)
756 return; 754 return;
757 755
758 if (ASCII_BYTE_P (ch)) 756 ptr = push_key_description (ch, ptr, 1);
759 ptr = push_key_description (ch, ptr);
760 else
761 {
762 if (SINGLE_BYTE_CHAR_P (ch))
763 ch = unibyte_char_to_multibyte (ch);
764 ptr += CHAR_STRING (ch, ptr);
765 }
766 } 757 }
767 else if (SYMBOLP (c)) 758 else if (SYMBOLP (c))
768 { 759 {