summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/keymap.c13
2 files changed, 7 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 858833dbe25..59f09515829 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
+
2010-12-03 Don March <don@ohspite.net>
* keymap.c (Fdefine_key): Fix non-prefix key error message when
diff --git a/src/keymap.c b/src/keymap.c
index 03688abfe4c..c461fdddbbc 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1217,16 +1217,9 @@ binding KEY to DEF is added at the front of KEYMAP. */)
keymap = get_keymap (cmd, 0, 1);
if (!CONSP (keymap))
{
- char trailing_esc[5];
- if (c == meta_prefix_char && metized)
- {
- if (idx == 0)
- strcpy(trailing_esc, "ESC");
- else
- strcpy(trailing_esc, " ESC");
- }
- else
- strcpy(trailing_esc, "");
+ const char *trailing_esc = ((EQ (c, meta_prefix_char) && metized)
+ ? (idx == 0 ? "ESC" : " ESC")
+ : "");
/* We must use Fkey_description rather than just passing key to
error; key might be a vector, not a string. */