# HG changeset patch # User Miles Bader # Date 970458386 0 # Node ID cdfabbe10a24cb2782a43df76dbdaf204a1aa1d9 # Parent 14f0b79b60735c959bf2e3eec5ed908d795b4ee5 (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. diff -r 14f0b79b6073 -r cdfabbe10a24 lisp/diff-mode.el --- 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 ;; 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 ()