From: Miles Bader Date: Tue, 12 Sep 2000 11:24:28 +0000 (+0000) Subject: (diff-hunk-text): Use `with-temp-buffer'. X-Git-Tag: emacs-pretest-21.0.90~1658 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3017133f17acb9be3fd8c644feae4c5794abee06;p=emacs.git (diff-hunk-text): Use `with-temp-buffer'. (diff-mode-map): Bind `diff-test-hunk'. (diff-apply-hunk): Use `select-window' instead of `pop-to-buffer'. --- diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 5e5d4d7e625..f0d52b679a1 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -4,7 +4,7 @@ ;; Author: Stefan Monnier ;; Keywords: patch diff -;; Revision: $Id: diff-mode.el,v 1.11 2000/09/07 20:14:27 fx Exp $ +;; Revision: $Id: diff-mode.el,v 1.12 2000/09/11 13:49:38 miles Exp $ ;; This file is part of GNU Emacs. @@ -133,7 +133,8 @@ when editing big diffs)." ;; From compilation-minor-mode. ("\C-c\C-c" . diff-goto-source) ;; Misc operations. - ("\C-cda" . diff-apply-hunk)) + ("\C-cda" . diff-apply-hunk) + ("\C-cdt" . diff-test-hunk)) "Keymap for `diff-mode'. See also `diff-mode-shared-map'.") (easy-menu-define diff-mode-menu diff-mode-map @@ -883,7 +884,7 @@ Only works for unified diffs." (defun diff-hunk-text (hunk dest) "Returns the literal source text from HUNK, if DEST is nil, otherwise the destination text." - (with-current-buffer "foo" + (with-temp-buffer (erase-buffer) (insert hunk) (goto-char (point-min)) @@ -1068,11 +1069,10 @@ was non-nil." (- real-line patch-line))))) ;; Display BUF in a window, and maybe select it - (cond ((eq popup 'select) - (pop-to-buffer buf) - (goto-char pos)) - (t - (set-window-point (display-buffer buf) pos)))) + (let ((win (display-buffer buf))) + (set-window-point win pos) + (when (eq popup 'select) + (select-window win)))) ;; Return an appropriate indicator of success (if reversed 'reversed t)))))