[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master dbec115948: Fix instrumented eval-defun not printing "Edebug:" to
From: |
Lars Ingebrigtsen |
Subject: |
master dbec115948: Fix instrumented eval-defun not printing "Edebug:" to the echo area |
Date: |
Thu, 25 Aug 2022 08:38:36 -0400 (EDT) |
branch: master
commit dbec115948657d4f0b5c8ad86410b8e1c9e825d2
Author: Daniel MartÃn <mardani29@yahoo.es>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix instrumented eval-defun not printing "Edebug:" to the echo area
* lisp/progmodes/elisp-mode.el (elisp--eval-defun): Determine if we're
instrumenting a function and call eval-region with PRINTFLAG set to
nil if so (Bug#50245).
* test/lisp/progmodes/elisp-mode-tests.el
(eval-defun-prints-edebug-when-instrumented): Add a new test.
---
lisp/progmodes/elisp-mode.el | 6 ++++--
test/lisp/progmodes/elisp-mode-tests.el | 10 ++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 9dc67010aa..4ada27a1ac 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -1646,6 +1646,7 @@ Return the result of evaluation."
;; printing, not while evaluating.
(defvar elisp--eval-defun-result)
(let ((debug-on-error eval-expression-debug-on-error)
+ (edebugging edebug-all-defs)
elisp--eval-defun-result)
(save-excursion
;; Arrange for eval-region to "read" the (possibly) altered form.
@@ -1670,8 +1671,9 @@ Return the result of evaluation."
(elisp--eval-defun-1
(macroexpand form)))))
(print-length eval-expression-print-length)
- (print-level eval-expression-print-level))
- (eval-region beg end standard-output
+ (print-level eval-expression-print-level)
+ (should-print (if (not edebugging) standard-output)))
+ (eval-region beg end should-print
(lambda (_ignore)
;; Skipping to the end of the specified region
;; will make eval-region return.
diff --git a/test/lisp/progmodes/elisp-mode-tests.el
b/test/lisp/progmodes/elisp-mode-tests.el
index 8074d8d706..e73be0db50 100644
--- a/test/lisp/progmodes/elisp-mode-tests.el
+++ b/test/lisp/progmodes/elisp-mode-tests.el
@@ -183,6 +183,16 @@
(call-interactively #'eval-last-sexp)
(should (equal (current-message) "66 (#o102, #x42, ?B)"))))))
+;;; eval-defun
+
+(ert-deftest eval-defun-prints-edebug-when-instrumented ()
+ (skip-unless (not noninteractive))
+ (with-temp-buffer
+ (let ((current-prefix-arg '(4)))
+ (erase-buffer) (insert "(defun foo ())") (message nil)
+ (call-interactively #'eval-defun)
+ (should (equal (current-message) "Edebug: foo")))))
+
;;; eldoc
(defun elisp-mode-tests--face-propertized-string (string)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master dbec115948: Fix instrumented eval-defun not printing "Edebug:" to the echo area,
Lars Ingebrigtsen <=