changeset 6926:027b7de8a571

(debug, debugger-eval-expression): Preserve match-data.
author Karl Heuer <kwzh@gnu.org>
date Sat, 16 Apr 1994 07:18:26 +0000
parents f6a18b7160b1
children c9f93ac26d28
files lisp/emacs-lisp/debug.el
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/debug.el	Sat Apr 16 06:58:38 1994 +0000
+++ b/lisp/emacs-lisp/debug.el	Sat Apr 16 07:18:26 1994 +0000
@@ -30,6 +30,7 @@
 (defvar debug-function-list nil
   "List of functions currently set for debug on entry.")
 
+(defvar debugger-outer-match-data)
 (defvar debugger-outer-track-mouse)
 (defvar debugger-outer-last-command)
 (defvar debugger-outer-this-command)
@@ -56,7 +57,6 @@
 first will be printed into the backtrace buffer."
   (message "Entering debugger...")
   (let (debugger-value
-	(debugger-match-data (match-data))
 	(debug-on-error nil)
 	(debug-on-quit nil)
 	(debugger-buffer (let ((default-major-mode 'fundamental-mode))
@@ -67,6 +67,7 @@
 	(executing-macro nil)
 	;; Save the outer values of these vars for the `e' command
 	;; before we replace the values.
+	(debugger-outer-match-data (match-data))
 	(debugger-outer-track-mouse track-mouse)
 	(debugger-outer-last-command last-command)
 	(debugger-outer-this-command this-command)
@@ -148,7 +149,7 @@
 	      (erase-buffer)
 	      (fundamental-mode))
 	  (kill-buffer debugger-buffer))
-	(store-match-data debugger-match-data)))
+	(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 track-mouse debugger-outer-track-mouse)
@@ -297,7 +298,9 @@
 	  (standard-input debugger-outer-standard-input)
 	  (standard-output debugger-outer-standard-output)
 	  (cursor-in-echo-area debugger-outer-cursor-in-echo-area))
+      (store-match-data debugger-outer-match-data)
       (prog1 (eval-expression exp)
+	(setq debugger-outer-match-data (match-data))
 	(setq debugger-outer-track-mouse track-mouse)
 	(setq debugger-outer-last-command last-command)
 	(setq debugger-outer-this-command this-command)