mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-24 13:57:36 +00:00
(substitute-key-definition): Don't recursively scan
where OLDMAP has a submap but KEYMAP does not.
This commit is contained in:
parent
79e50e4f32
commit
350b75679b
1 changed files with 5 additions and 1 deletions
|
|
@ -178,8 +178,11 @@ in KEYMAP as NEWDEF those chars which are defined as OLDDEF in OLDMAP."
|
|||
(setq inner-def (symbol-function inner-def)))
|
||||
(if (eq defn olddef)
|
||||
(define-key keymap prefix1 (nconc (nreverse skipped) newdef))
|
||||
;; Avoid recursively rescanning a keymap being scanned.
|
||||
(if (and (keymapp defn)
|
||||
;; Avoid recursively scanning
|
||||
;; where KEYMAP does not have a submap.
|
||||
(keymapp (lookup-key keymap prefix1))
|
||||
;; Avoid recursively rescanning keymap being scanned.
|
||||
(not (memq inner-def
|
||||
key-substitution-in-progress)))
|
||||
;; If this one isn't being scanned already,
|
||||
|
|
@ -212,6 +215,7 @@ in KEYMAP as NEWDEF those chars which are defined as OLDDEF in OLDMAP."
|
|||
(define-key keymap prefix1
|
||||
(nconc (nreverse skipped) newdef))
|
||||
(if (and (keymapp defn)
|
||||
(keymapp (lookup-key keymap prefix1))
|
||||
(not (memq inner-def
|
||||
key-substitution-in-progress)))
|
||||
(substitute-key-definition olddef newdef keymap
|
||||
|
|
|
|||
Loading…
Reference in a new issue