patch 9.1.1615: diff format erroneously detected Commit: https://github.com/vim/vim/commit/887b4981e7e929ce8676b1b524e47a7fb5a8288b Author: Christian Brabandt <c...@256bit.org> Date: Sun Aug 10 00:01:21 2025 +0200
patch 9.1.1615: diff format erroneously detected Problem: diff format erroneously detected (Tomáš Janoušek) Solution: Make the regex to detect normal diff format a bit stricter, while at it, fix wrong test content from patch v9.1.1606 fixes: #17946 Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/autoload/dist/script.vim b/runtime/autoload/dist/script.vim index f7e1b0482..5fb45ccc5 100644 --- a/runtime/autoload/dist/script.vim +++ b/runtime/autoload/dist/script.vim @@ -4,7 +4,7 @@ vim9script # Invoked from "scripts.vim" in 'runtimepath' # # Maintainer: The Vim Project <https://github.com/vim/vim> -# Last Change: 2025 Aug 08 +# Last Change: 2025 Aug 09 # Former Maintainer: Bram Moolenaar <b...@vim.org> export def DetectFiletype() @@ -287,6 +287,7 @@ def DetectFromText(line1: string) # Diff file: # - "diff" in first line (context diff) # - "Only in " in first line + # - "34,35c34,35" normal diff format output # - "--- " in first line and "+++ " in second line (unified diff). # - "*** " in first line and "--- " in second line (context diff). # - "# It was generated by makepatch " in the second line (makepatch diff). @@ -295,7 +296,7 @@ def DetectFromText(line1: string) # - "=== ", "--- ", "+++ " (bzr diff, common case) # - "=== (removed|added|renamed|modified)" (bzr diff, alternative) # - "# HG changeset patch" in first line (Mercurial export format) - elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\+ \=$\|===== \+ \d\+\.\d\+ vs edited\|==== //\+#\d\+\|# HG changeset patch\)' + elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\(,\d\+\)\=\>$\|# It was generated by makepatch \|Index:\s\+\+ \=$\|===== \+ \d\+\.\d\+ vs edited\|==== //\+#\d\+\|# HG changeset patch\)' || (line1 =~ '^--- ' && line2 =~ '^+++ ') || (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ') || (line1 =~ '^\*\*\* ' && line2 =~ '^--- ') diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index d7acd331e..1bd200856 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -3027,7 +3027,7 @@ endfunc func Test_info_file() filetype on - call writefile(['File: coreutils.info, Node: Top, Next: Introduction, Up: (dir)', 'D'], 'Xfile', 'D') + call writefile(['File: coreutils.info, Node: Top, Next: Introduction, Up: (dir)'], 'Xfile', 'D') split Xfile call assert_equal('info', &filetype) bwipe! @@ -3038,7 +3038,7 @@ endfunc func Test_mail_file() filetype on - call writefile(['Return-path: <l...@debian.home.arpa>', 'D'], 'Xfile', 'D') + call writefile(['Return-path: <l...@debian.home.arpa>'], 'Xfile', 'D') split Xfile call assert_equal('mail', &filetype) bwipe! @@ -3049,7 +3049,7 @@ endfunc func Test_terminfo_file() filetype on - call writefile(['# Reconstructed via infocmp from file: /etc/terminfo/x/xterm', 'D'], 'Xfile', 'D') + call writefile(['# Reconstructed via infocmp from file: /etc/terminfo/x/xterm'], 'Xfile', 'D') split Xfile call assert_equal('terminfo', &filetype) bwipe! @@ -3069,4 +3069,15 @@ func Test_pacmanlog() filetype off endfunc +func Test_diff_format() + filetype on + + call writefile(['0d555557 1 (John John 2025-01-01 00:00:00 +0000 1) foo'], 'Xdiff', 'D') + split Xdiff + call assert_true(empty(&filetype)) + bwipe! + + filetype off +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index e14ed63ca..4792ff1bd 100644 --- a/src/version.c +++ b/src/version.c @@ -719,6 +719,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1615, /**/ 1614, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1ukrqB-005DrL-HD%40256bit.org.