From: Lars Ingebrigtsen Date: Sun, 20 Oct 2019 15:07:01 +0000 (+0200) Subject: Make edebug-mode-map take precedence X-Git-Tag: emacs-27.0.90~953 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cd4f707a987e954ef4ff1edb2639e4cb5c57bb59;p=emacs.git Make edebug-mode-map take precedence * lisp/emacs-lisp/edebug.el (edebug--recursive-edit): Bind minor-mode-overriding-map-alist to avoid other minor modes hiding the edebug commands (bug#11018). --- diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 2eceb823716..d01654927e7 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -2856,6 +2856,8 @@ See `edebug-behavior-alist' for implementations.") (defvar edebug-inside-windows) (defvar edebug-interactive-p) +(defvar edebug-mode-map) ; will be defined fully later. + (defun edebug--recursive-edit (arg-mode) ;; Start up a recursive edit inside of edebug. ;; The current buffer is the edebug-buffer, which is put into edebug-mode. @@ -2902,6 +2904,10 @@ See `edebug-behavior-alist' for implementations.") ;; Don't get confused by the user's keymap changes. (overriding-local-map nil) (overriding-terminal-local-map nil) + ;; Override other minor modes that may bind the keys + ;; edebug uses. + (minor-mode-overriding-map-alist + (list (cons 'edebug-mode edebug-mode-map))) ;; Bind again to outside values. (debug-on-error edebug-outside-debug-on-error) @@ -3561,8 +3567,6 @@ This is useful for exiting even if `unwind-protect' code may be executed." (edebug-Go-nonstop-mode . Go-nonstop)) "Association list between commands and the modes they set.") -(defvar edebug-mode-map) ; will be defined fully later. - (defun edebug-set-initial-mode () "Set the initial execution mode of Edebug. The mode is requested via the key that would be used to set the mode in