From d17d17f39e9f1b85d8d19fd76827e238bb15a1ec Mon Sep 17 00:00:00 2001 From: Gregory Heytings Date: Sat, 17 Apr 2021 23:34:34 +0000 Subject: [PATCH] Load edebug before actually calling eval-defun * lisp/progmodes/elisp-mode.el (do-eval-defun): New function. (emacs-lisp-mode-map): Use it. (eval-defun): Do not load edebug anymore.s --- lisp/progmodes/elisp-mode.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 203712f45d..d3b7adc884 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -49,7 +49,7 @@ emacs-lisp-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map lisp-mode-shared-map) (define-key map "\e\t" 'completion-at-point) - (define-key map "\e\C-x" 'eval-defun) + (define-key map "\e\C-x" 'do-eval-defun) (define-key map "\e\C-q" 'indent-pp-sexp) map) "Keymap for Emacs Lisp mode. @@ -1366,6 +1366,11 @@ elisp--eval-defun (if str (princ str))) elisp--eval-defun-result)) +(defun do-eval-defun (edebug-it) + (interactive "P") + (require 'edebug) + (call-interactively 'eval-defun edebug-it)) + (defun eval-defun (edebug-it) "Evaluate the top-level form containing point, or after point. @@ -1393,7 +1398,6 @@ eval-defun which see." (interactive "P") (cond (edebug-it - (require 'edebug) (defvar edebug-all-defs) (eval-defun (not edebug-all-defs))) (t -- 2.30.2