changeset 87638:706ecd592fce

(diff-end-of-hunk): Don't match empty lines in unified format.
author Glenn Morris <rgm@gnu.org>
date Tue, 08 Jan 2008 05:17:14 +0000
parents 454ba5d2d3ac
children cf7db98ca95f
files lisp/diff-mode.el
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/diff-mode.el	Tue Jan 08 05:13:06 2008 +0000
+++ b/lisp/diff-mode.el	Tue Jan 08 05:17:14 2008 +0000
@@ -1,7 +1,7 @@
 ;;; diff-mode.el --- a mode for viewing/editing context diffs
 
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007 Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: convenience patch diff
@@ -401,9 +401,13 @@
 (defun diff-end-of-hunk (&optional style)
   ;; Especially important for unified (because headers are ambiguous).
   (setq style (diff-hunk-style style))
+  ;; 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 "^[^<>#\\]")