From af70074f2f0ea0b3120014de3b721057d09c9758 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 13 Feb 2012 10:55:27 -0500 Subject: [PATCH] * src/keymap.c (Fsingle_key_description): Handle char ranges. --- src/ChangeLog | 4 ++++ src/keymap.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1e28d258523..d9c02e011ad 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-02-13 Stefan Monnier + + * keymap.c (Fsingle_key_description): Handle char ranges. + 2012-02-12 Chong Yidong * xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here, diff --git a/src/keymap.c b/src/keymap.c index 5b5faec3a65..0ae055213c3 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -2270,9 +2270,15 @@ around function keys and event symbols. */) if (CONSP (key) && lucid_event_type_list_p (key)) key = Fevent_convert_list (key); + if (CONSP (key) && INTEGERP (XCAR (key)) && INTEGERP (XCDR (key))) + /* An interval from a map-char-table. */ + return concat3 (Fsingle_key_description (XCAR (key), no_angles), + build_string (".."), + Fsingle_key_description (XCDR (key), no_angles)); + key = EVENT_HEAD (key); - if (INTEGERP (key)) /* Normal character */ + if (INTEGERP (key)) /* Normal character. */ { char tem[KEY_DESCRIPTION_SIZE], *p; @@ -2280,7 +2286,7 @@ around function keys and event symbols. */) *p = 0; return make_specified_string (tem, -1, p - tem, 1); } - else if (SYMBOLP (key)) /* Function key or event-symbol */ + else if (SYMBOLP (key)) /* Function key or event-symbol. */ { if (NILP (no_angles)) { -- 2.39.2