# HG changeset patch # User Juri Linkov # Date 1131522518 0 # Node ID 3f4ee1926eb174b437e969b7882a9947ce7c04ff # Parent 670149b47c3961acac18e73f1a24ddafe692959d (shadow_lookup): If Flookup_key returns a number, call it again with a sub-key-sequence, and if its return value is non-nil (sub-key is bound), return nil. diff -r 670149b47c39 -r 3f4ee1926eb1 src/keymap.c --- a/src/keymap.c Wed Nov 09 07:41:48 2005 +0000 +++ b/src/keymap.c Wed Nov 09 07:48:38 2005 +0000 @@ -2377,7 +2377,13 @@ for (tail = shadow; CONSP (tail); tail = XCDR (tail)) { value = Flookup_key (XCAR (tail), key, flag); - if (!NILP (value) && !NATNUMP (value)) + if (NATNUMP (value)) + { + value = Flookup_key (XCAR (tail), Fsubstring (key, 0, value), flag); + if (!NILP (value)) + return Qnil; + } + else if (!NILP (value)) return value; } return Qnil;