]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 Apr 2021 05:03:43 +0000 (01:03 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 Apr 2021 05:03:43 +0000 (01:03 -0400)
Don't bind `load-read-function` to nil but to its actual default value.
Actually, I'm not sure it's worth the trouble rebinding this var, but
if we do, then we should bind it to a valid value rather than to nil.

* lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice
if needed.

lisp/emacs-lisp/debug.el
lisp/emacs-lisp/edebug.el

index b2d54c77feb38bf30fe1d55154e2a4719d3ae8c9..069c7a90ad05ad5fdaa1613a6c3271c635eeb5ab 100644 (file)
@@ -213,7 +213,7 @@ the debugger will not be entered."
              last-input-event last-command-event last-nonmenu-event
              last-event-frame
              overriding-local-map
-             load-read-function
+             (load-read-function #'read)
              ;; If we are inside a minibuffer, allow nesting
              ;; so that we don't get an error from the `e' command.
              (enable-recursive-minibuffers
index cbc40193125f268f48814e74cec32a39df356e8d..b08ee3c4a1701034d46fa4807b81644bb0b78a9b 100644 (file)
@@ -459,6 +459,9 @@ invoked without a prefix argument.
 If acting on a `defun' for FUNCTION, and the function was instrumented,
 `Edebug: FUNCTION' is printed in the minibuffer.  If not instrumented,
 just FUNCTION is printed."
+  ;; Re-install our advice, in case `debug' re-bound `load-read-function' to
+  ;; its default value.
+  (add-function :around load-read-function #'edebug--read)
   (let* ((edebug-all-forms (not (eq (not edebug-it) (not edebug-all-defs))))
         (edebug-all-defs  edebug-all-forms))
     (funcall orig-fun nil)))