]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 25 Feb 2015 06:03:14 +0000 (01:03 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 25 Feb 2015 06:03:14 +0000 (01:03 -0500)
Fixes: debbugs:19611
* lisp/emacs-lisp/debug.el (debugger-env-macro): Remove redundant
save-excursion.

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

index 5fa7ef757b3d05792b2f224772608107511c75ba..fc2893e1c1d916f7726556ca3f905e492195716c 100644 (file)
@@ -1,3 +1,9 @@
+2015-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/edebug.el (edebug--display): Save-excursion (bug#19611).
+       * emacs-lisp/debug.el (debugger-env-macro): Remove redundant
+       save-excursion.
+
 2015-02-24  Glenn Morris  <rgm@gnu.org>
 
        * mail/rmailsum.el (rmail-summary-previous-all)
index dc0e666836e740e162351c90a1c8c099aa72d630..8c1440d02f3d757d7a630be329daea638c45aa38 100644 (file)
@@ -535,11 +535,7 @@ Applies to the frame whose line point is on in the backtrace."
 (defmacro debugger-env-macro (&rest body)
   "Run BODY in original environment."
   (declare (indent 0))
-  `(save-excursion
-    (if (null (buffer-live-p debugger-old-buffer))
-        ;; old buffer deleted
-        (setq debugger-old-buffer (current-buffer)))
-    (set-buffer debugger-old-buffer)
+  `(progn
     (set-match-data debugger-outer-match-data)
     (prog1
         (progn ,@body)
index 7faa101299e4dfd138ddcc713e6cd8d611bb8533..10918775f49671f48d078602fc58e9ddd8f34adc 100644 (file)
@@ -2358,6 +2358,12 @@ MSG is printed after `::::} '."
 (defalias 'edebug-mark-marker 'mark-marker)
 
 (defun edebug--display (value offset-index arg-mode)
+  ;; edebug--display-1 is too big, we should split it.  This function
+  ;; here was just introduced to avoid making edebug--display-1
+  ;; yet a bit deeper.
+  (save-excursion (edebug--display-1 value offset-index arg-mode)))
+
+(defun edebug--display-1 (value offset-index arg-mode)
   (unless (marker-position edebug-def-mark)
     ;; The buffer holding the source has been killed.
     ;; Let's at least show a backtrace so the user can figure out
@@ -3317,6 +3323,9 @@ Return the result of the last expression."
      ;; Restore outside context.
      (setq-default cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w)
      (unwind-protect
+         ;; FIXME: This restoring of edebug-outside-buffer and
+         ;; edebug-outside-point is redundant now that backtrace-eval does it
+         ;; for us.
          (with-current-buffer edebug-outside-buffer ; of edebug-buffer
            (goto-char edebug-outside-point)
            (if (marker-buffer (edebug-mark-marker))