From 18e2d91f52853c5e62d5f34e4f4238056d31a53b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 10 Apr 2005 01:45:58 +0000 Subject: [PATCH] (where_is_internal): Convert a string used as event type into "(any string)". --- src/ChangeLog | 14 ++++++++++++++ src/keymap.c | 19 +++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index feb4351286..860c384794 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,17 @@ +2005-04-09 Richard M. Stallman + + * keymap.c (where_is_internal): Convert a string used as event type + into "(any string)". + + * lread.c (Vloads_in_progress): Not static. + + * fns.c (Vloads_in_progress): Add extern. + (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil. + +2005-04-09 Thien-Thi Nguyen + + * dispnew.c (mirror_line_dance): Avoid crash if W2 is null. + 2005-04-09 Lute Kamstra * print.c (PRINTPREPARE): Check if the marker PRINTCHARFUN is diff --git a/src/keymap.c b/src/keymap.c index 10ae718ba0..ba31430108 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -764,7 +764,9 @@ usage: (map-keymap FUNCTION KEYMAP) */) remove that. Also remove a menu help string as second element. If AUTOLOAD is nonzero, load autoloadable keymaps - that are referred to with indirection. */ + that are referred to with indirection. + + This can GC because menu_item_eval_property calls Feval. */ Lisp_Object get_keyelt (object, autoload) @@ -2554,6 +2556,19 @@ where_is_internal (definition, keymaps, firstonly, noindirect, no_remap) continue; record_sequence: + /* Don't annoy user with strings from a menu such as + Select Paste. Change them all to "(any string)", + so that there seems to be only one menu item + to report. */ + if (! NILP (sequence)) + { + Lisp_Object tem; + tem = Faref (sequence, make_number (XVECTOR (sequence)->size - 1)); + if (STRINGP (tem)) + Faset (sequence, make_number (XVECTOR (sequence)->size - 1), + build_string ("(any string)")); + } + /* It is a true unshadowed match. Record it, unless it's already been seen (as could happen when inheriting keymaps). */ if (NILP (Fmember (sequence, found))) @@ -2731,7 +2746,7 @@ where_is_internal_2 (args, key, binding) } -/* This function cannot GC. */ +/* This function can GC because get_keyelt can. */ static Lisp_Object where_is_internal_1 (binding, key, definition, noindirect, this, last, -- 2.20.1