[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 8bb64d2: * lisp/emacs-lisp/edebug.el (edebug--displ
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] master 8bb64d2: * lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion. |
Date: |
Wed, 25 Feb 2015 06:03:29 +0000 |
branch: master
commit 8bb64d2722632fcc2b7c816e5f85d64ff10161f9
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion.
Fixes: debbugs:19611
* lisp/emacs-lisp/debug.el (debugger-env-macro): Remove redundant
save-excursion.
---
lisp/ChangeLog | 6 ++++++
lisp/emacs-lisp/debug.el | 6 +-----
lisp/emacs-lisp/edebug.el | 9 +++++++++
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5fa7ef7..fc2893e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-25 Stefan Monnier <address@hidden>
+
+ * 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 <address@hidden>
* mail/rmailsum.el (rmail-summary-previous-all)
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index dc0e666..8c1440d 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -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)
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 7faa101..1091877 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 8bb64d2: * lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion.,
Stefan Monnier <=