aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2015-02-25 01:03:14 -0500
committerStefan Monnier2015-02-25 01:03:14 -0500
commit8bb64d2722632fcc2b7c816e5f85d64ff10161f9 (patch)
treef4b552101768edd4e43e11ec361d5e2dbac07a0b /lisp
parentb86ba30d17abcc85c73ad47ed95f15147508538c (diff)
downloademacs-8bb64d2722632fcc2b7c816e5f85d64ff10161f9.tar.gz
emacs-8bb64d2722632fcc2b7c816e5f85d64ff10161f9.zip
* lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion.
Fixes: debbugs:19611 * lisp/emacs-lisp/debug.el (debugger-env-macro): Remove redundant save-excursion.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/emacs-lisp/debug.el6
-rw-r--r--lisp/emacs-lisp/edebug.el9
3 files changed, 16 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5fa7ef757b3..fc2893e1c1d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12015-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/edebug.el (edebug--display): Save-excursion (bug#19611).
4 * emacs-lisp/debug.el (debugger-env-macro): Remove redundant
5 save-excursion.
6
12015-02-24 Glenn Morris <rgm@gnu.org> 72015-02-24 Glenn Morris <rgm@gnu.org>
2 8
3 * mail/rmailsum.el (rmail-summary-previous-all) 9 * mail/rmailsum.el (rmail-summary-previous-all)
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index dc0e666836e..8c1440d02f3 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."
535(defmacro debugger-env-macro (&rest body) 535(defmacro debugger-env-macro (&rest body)
536 "Run BODY in original environment." 536 "Run BODY in original environment."
537 (declare (indent 0)) 537 (declare (indent 0))
538 `(save-excursion 538 `(progn
539 (if (null (buffer-live-p debugger-old-buffer))
540 ;; old buffer deleted
541 (setq debugger-old-buffer (current-buffer)))
542 (set-buffer debugger-old-buffer)
543 (set-match-data debugger-outer-match-data) 539 (set-match-data debugger-outer-match-data)
544 (prog1 540 (prog1
545 (progn ,@body) 541 (progn ,@body)
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 7faa101299e..10918775f49 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -2358,6 +2358,12 @@ MSG is printed after `::::} '."
2358(defalias 'edebug-mark-marker 'mark-marker) 2358(defalias 'edebug-mark-marker 'mark-marker)
2359 2359
2360(defun edebug--display (value offset-index arg-mode) 2360(defun edebug--display (value offset-index arg-mode)
2361 ;; edebug--display-1 is too big, we should split it. This function
2362 ;; here was just introduced to avoid making edebug--display-1
2363 ;; yet a bit deeper.
2364 (save-excursion (edebug--display-1 value offset-index arg-mode)))
2365
2366(defun edebug--display-1 (value offset-index arg-mode)
2361 (unless (marker-position edebug-def-mark) 2367 (unless (marker-position edebug-def-mark)
2362 ;; The buffer holding the source has been killed. 2368 ;; The buffer holding the source has been killed.
2363 ;; Let's at least show a backtrace so the user can figure out 2369 ;; Let's at least show a backtrace so the user can figure out
@@ -3317,6 +3323,9 @@ Return the result of the last expression."
3317 ;; Restore outside context. 3323 ;; Restore outside context.
3318 (setq-default cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w) 3324 (setq-default cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w)
3319 (unwind-protect 3325 (unwind-protect
3326 ;; FIXME: This restoring of edebug-outside-buffer and
3327 ;; edebug-outside-point is redundant now that backtrace-eval does it
3328 ;; for us.
3320 (with-current-buffer edebug-outside-buffer ; of edebug-buffer 3329 (with-current-buffer edebug-outside-buffer ; of edebug-buffer
3321 (goto-char edebug-outside-point) 3330 (goto-char edebug-outside-point)
3322 (if (marker-buffer (edebug-mark-marker)) 3331 (if (marker-buffer (edebug-mark-marker))