changeset 11062:302f676eeca0

(debugger-outer-load-read-function): New variable. (debug): Bind load-read-function to nil; save old value in debugger-outer-load-read-function and restore at end. (debugger-eval-expression): Handle load-read-function like other magic variables. (debugger-outer-overriding-local-map): New variable. (debug): Bind overriding-local-map to nil; save old value in debugger-outer-overriding-local-map and restore at end. (debugger-eval-expression): Handle overriding-local-map like other magic variables.
author Richard M. Stallman <rms@gnu.org>
date Sat, 18 Mar 1995 18:13:23 +0000
parents 2f41090c58b3
children f6c97f56c8b6
files lisp/emacs-lisp/debug.el
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/debug.el	Sat Mar 18 18:10:21 1995 +0000
+++ b/lisp/emacs-lisp/debug.el	Sat Mar 18 18:13:23 1995 +0000
@@ -40,6 +40,8 @@
   "This is the buffer that was current when the debugger was entered.")
 
 (defvar debugger-outer-match-data)
+(defvar debugger-outer-load-read-function)
+(defvar debugger-outer-overriding-local-map)
 (defvar debugger-outer-track-mouse)
 (defvar debugger-outer-last-command)
 (defvar debugger-outer-this-command)
@@ -77,6 +79,8 @@
 	;; Save the outer values of these vars for the `e' command
 	;; before we replace the values.
 	(debugger-outer-match-data (match-data))
+	(debugger-outer-load-read-function load-read-function)
+	(debugger-outer-overriding-local-map overriding-local-map)
 	(debugger-outer-track-mouse track-mouse)
 	(debugger-outer-last-command last-command)
 	(debugger-outer-this-command this-command)
@@ -94,6 +98,8 @@
 	  (unread-command-char -1) unread-command-events
 	  last-input-event last-command-event last-nonmenu-event
 	  last-event-frame
+	  overriding-local-map
+	  load-read-function
 	  (standard-input t) (standard-output t)
 	  (cursor-in-echo-area nil))
       (unwind-protect
@@ -169,6 +175,8 @@
 	(store-match-data debugger-outer-match-data)))
     ;; Put into effect the modified values of these variables
     ;; in case the user set them with the `e' command.
+    (setq load-read-function debugger-outer-load-read-function)
+    (setq overriding-local-map debugger-outer-overriding-local-map)
     (setq track-mouse debugger-outer-track-mouse)
     (setq last-command debugger-outer-last-command)
     (setq this-command debugger-outer-this-command)
@@ -314,10 +322,14 @@
 	  (last-event-frame debugger-outer-last-event-frame)
 	  (standard-input debugger-outer-standard-input)
 	  (standard-output debugger-outer-standard-output)
-	  (cursor-in-echo-area debugger-outer-cursor-in-echo-area))
+	  (cursor-in-echo-area debugger-outer-cursor-in-echo-area)
+	  (overriding-local-map debugger-outer-overriding-local-map)
+	  (load-read-function debugger-outer-load-read-function))
       (store-match-data debugger-outer-match-data)
       (prog1 (eval-expression exp)
 	(setq debugger-outer-match-data (match-data))
+	(setq debugger-outer-load-read-function load-read-function)
+	(setq debugger-outer-overriding-local-map overriding-local-map)
 	(setq debugger-outer-track-mouse track-mouse)
 	(setq debugger-outer-last-command last-command)
 	(setq debugger-outer-this-command this-command)