From fb33fa43b4e085d01a41f1533ea699531a67ef49 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 2 Aug 2011 12:02:52 -0400 Subject: [PATCH] * src/keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE. --- src/ChangeLog | 4 ++++ src/keymap.c | 13 +++---------- 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 + + * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE. + 2010-12-03 Don March * 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. */ -- 2.39.2