diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-04-18 01:03:43 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-04-18 01:03:43 -0400 |
commit | 5c07cd0f156217db268ccb9fa64566fb429c4257 (patch) | |
tree | 9c0d424613ef717f1d8af00fdab9e3c5ba563887 /lisp/emacs-lisp | |
parent | 568ce6826fa0aaa4d5dc95880cbdc0965dc07521 (diff) | |
download | emacs-5c07cd0f156217db268ccb9fa64566fb429c4257.tar.gz |
* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)
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.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/debug.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index b2d54c77feb..069c7a90ad0 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -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 diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index cbc40193125..b08ee3c4a17 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -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))) |