# HG changeset patch # User Richard M. Stallman # Date 811435544 0 # Node ID 04ffbdd37d2da53689ea45a33c6963aba95dea2e # Parent d07703594662cc93b4c415bea0c8228556a9f5f0 (substitute-key-definition): Do recursively scan where KEYMAP has nothing at all. diff -r d07703594662 -r 04ffbdd37d2d lisp/subr.el --- a/lisp/subr.el Mon Sep 18 14:15:22 1995 +0000 +++ b/lisp/subr.el Mon Sep 18 14:45:44 1995 +0000 @@ -129,7 +129,9 @@ (if (and (keymapp defn) ;; Avoid recursively scanning ;; where KEYMAP does not have a submap. - (keymapp (lookup-key keymap prefix1)) + (let ((elt (lookup-key keymap prefix1))) + (or (null elt) + (keymapp elt))) ;; Avoid recursively rescanning keymap being scanned. (not (memq inner-def key-substitution-in-progress))) @@ -163,7 +165,9 @@ (define-key keymap prefix1 (nconc (nreverse skipped) newdef)) (if (and (keymapp defn) - (keymapp (lookup-key keymap prefix1)) + (let ((elt (lookup-key keymap prefix1))) + (or (null elt) + (keymapp elt))) (not (memq inner-def key-substitution-in-progress))) (substitute-key-definition olddef newdef keymap