changeset 32061:cdfabbe10a24

(diff-goto-source): Emit a status message. (diff-test-hunk, diff-apply-hunk): Remove unneeded `let'. (diff-test-hunk): Make the return value agree with the doc string. (diff-apply-hunk): Only advance if `diff-advance-after-apply-hunk'. (diff-advance-after-apply-hunk): New variable.
author Miles Bader <miles@gnu.org>
date Mon, 02 Oct 2000 03:46:26 +0000
parents 14f0b79b6073
children 3c0a00f2233a
files lisp/diff-mode.el
diffstat 1 files changed, 17 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/diff-mode.el	Sun Oct 01 20:58:17 2000 +0000
+++ b/lisp/diff-mode.el	Mon Oct 02 03:46:26 2000 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Stefan Monnier <monnier@cs.yale.edu>
 ;; Keywords: patch diff
-;; Revision: $Id: diff-mode.el,v 1.23 2000/09/29 02:25:32 monnier Exp $
+;; Revision: $Id: diff-mode.el,v 1.24 2000/09/29 18:05:27 monnier Exp $
 
 ;; This file is part of GNU Emacs.
 
@@ -83,6 +83,12 @@
   :group 'diff-mode
   :type '(boolean))
 
+(defcustom diff-advance-after-apply-hunk t
+  "*Non-nil means `diff-apply-hunk' will move to the next hunk after applying."
+  :group 'diff-mode
+  :type 'boolean)
+
+
 (defvar diff-mode-hook nil
   "Run after setting up the `diff-mode' major mode.")
 
@@ -1041,10 +1047,10 @@
 	  (delete-char (length (car old)))
 	  (insert (car new)))
 	;; Display BUF in a window
-	(let ((win (display-buffer buf)))
-	  (set-window-point win (+ pos (cdr new))))
+	(set-window-point (display-buffer buf) (+ pos (cdr new)))
 	(diff-hunk-status-msg line-offset reversed nil)
-	(diff-hunk-next)
+	(when diff-advance-after-apply-hunk
+	  (diff-hunk-next))
 	(if reversed 'reversed t))))))
 
 
@@ -1057,9 +1063,10 @@
   (interactive "P")
   (destructuring-bind (buf line-offset pos src dst &optional switched)
       (diff-find-source-location nil reverse)
-    (let ((win (display-buffer buf)))
-      (set-window-point win (+ pos (cdr src))))
-    (diff-hunk-status-msg line-offset (diff-xor reverse switched) t)))
+    (set-window-point (display-buffer buf) (+ pos (cdr src)))
+    (let ((reversed (diff-xor switched reverse)))
+      (diff-hunk-status-msg line-offset (diff-xor reverse switched) t)
+      (if reversed 'reversed t))))
 
 
 (defun diff-goto-source (&optional other-file)
@@ -1075,7 +1082,9 @@
       (diff-find-source-location other-file t)
     (pop-to-buffer buf)
     (goto-char (+ pos (cdr src)))
-    (unless line-offset (message "Hunk text not found"))))
+    (if line-offset
+	(diff-hunk-status-msg line-offset (not switched) t)
+      (message "Hunk text not found"))))
 
 
 (defun diff-current-defun ()