summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2011-08-02 12:02:52 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2011-08-02 12:02:52 -0400
commitfb33fa43b4e085d01a41f1533ea699531a67ef49 (patch)
tree037c2f5dd29b7336606baf9dd4f70b465a7fa143
parent92f2affc50fe6e47334957695abcc727339cb022 (diff)
* src/keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
-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. */