summaryrefslogtreecommitdiff
path: root/lisp/diff-mode.el
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2000-10-02 03:48:38 +0000
committerMiles Bader <miles@gnu.org>2000-10-02 03:48:38 +0000
commit00df919edec1fc3617ce8e92625a19c9a57d52e2 (patch)
tree3a7dd1295402f4a63f200d5c76aa7b90033ceb8a /lisp/diff-mode.el
parentceec5a0c1b94e1b5cda93874292b29a1fa5f4a7b (diff)
downloademacs-00df919edec1fc3617ce8e92625a19c9a57d52e2.tar.gz
(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.
Diffstat (limited to 'lisp/diff-mode.el')
-rw-r--r--lisp/diff-mode.el25
1 files changed, 17 insertions, 8 deletions
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index a7a45eb0768..a0293d0b3ff 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -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 @@ when editing big diffs)."
: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 @@ hunk was applied backwards and nil if the hunk wasn't applied."
(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 @@ applied and nil if it can't be found."
(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 @@ If the prefix arg is bigger than 8 (for example with \\[universal-argument] \\[u
(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 ()