patch 9.1.1615: diff format erroneously detected
Commit:
https://github.com/vim/vim/commit/887b4981e7e929ce8676b1b524e47a7fb5a8288b
Author: Christian Brabandt <[email protected]>
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 <[email protected]>
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 <[email protected]>
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: <[email protected]>', 'D'], 'Xfile', 'D')
+ call writefile(['Return-path: <[email protected]>'], '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 [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1ukrqB-005DrL-HD%40256bit.org.