From 1c6aa2f55f3b54ec27799c9e36a7b737ec81112a Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 8 Jan 2008 05:19:13 +0000 Subject: [PATCH] (diff-end-of-hunk): Don't match empty lines in unified format. --- lisp/diff-mode.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 4c566b344a9..a088cd6ccba 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -391,9 +391,13 @@ when editing big diffs)." ;; Especially important for unified (because headers are ambiguous). (setq style (cdr (assq (char-after) '((?@ . unified) (?* . context)))))) (goto-char (match-end 0))) + ;; Some versions of diff replace all-blank context lines in unified + ;; format with empty lines. The use of \n below avoids matching such + ;; lines as headers. + ;; http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01990.html (let ((end (and (re-search-forward (case style ;; A `unified' header is ambiguous. - (unified (concat "^[^-+# \\]\\|" + (unified (concat "^[^-+# \\\n]\\|" diff-file-header-re)) (context "^[^-+#! \\]") (normal "^[^<>#\\]") -- 2.39.2