From 1c58b439bfa0823ff1fd6e43eeba52d4e2fedbaf Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 8 Jan 2008 05:17:47 +0000 Subject: [PATCH] (diff-end-of-hunk): Don't match empty lines in unified format. --- lisp/ChangeLog | 3 +++ lisp/diff-mode.el | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 21205e3f8b1..a0825f79441 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2008-01-08 Glenn Morris + * diff-mode.el (diff-end-of-hunk): Don't match empty lines in + unified format. + * mouse.el (mouse-major-mode-menu): Suppress duplicate menus. 2008-01-08 Ralf Angeli diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 9e9eb81797a..6291453ba17 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -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 ;; Keywords: convenience patch diff @@ -401,9 +401,13 @@ when editing big diffs)." (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 "^[^<>#\\]") -- 2.39.5