vim-patch:9.1.1615: diff format erroneously detected (#35276)

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: vim/vim#17946

887b4981e7

Co-authored-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2025-08-10 07:27:53 +08:00
committed by GitHub
parent 77500c5ad5
commit f79430e2ce
2 changed files with 16 additions and 4 deletions

View File

@@ -2063,6 +2063,7 @@ local patterns_text = {
-- 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).
@@ -2071,7 +2072,7 @@ local patterns_text = {
-- - "=== ", "--- ", "+++ " (bzr diff, common case)
-- - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
-- - "# HG changeset patch" in first line (Mercurial export format)
['^\\(diff\\>\\|Only in \\|\\d\\+\\(,\\d\\+\\)\\=[cda]\\d\\+\\>\\|# It was generated by makepatch \\|Index:\\s\\+\\f\\+\\r\\=$\\|===== \\f\\+ \\d\\+\\.\\d\\+ vs edited\\|==== //\\f\\+#\\d\\+\\|# HG changeset patch\\)'] = {
['^\\(diff\\>\\|Only in \\|\\d\\+\\(,\\d\\+\\)\\=[cda]\\d\\+\\(,\\d\\+\\)\\=\\>$\\|# It was generated by makepatch \\|Index:\\s\\+\\f\\+\\r\\=$\\|===== \\f\\+ \\d\\+\\.\\d\\+ vs edited\\|==== //\\f\\+#\\d\\+\\|# HG changeset patch\\)'] = {
'diff',
{ vim_regex = true },
},

View File

@@ -2993,7 +2993,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!
@@ -3004,7 +3004,7 @@ endfunc
func Test_mail_file()
filetype on
call writefile(['Return-path: <lgc@debian.home.arpa>', 'D'], 'Xfile', 'D')
call writefile(['Return-path: <lgc@debian.home.arpa>'], 'Xfile', 'D')
split Xfile
call assert_equal('mail', &filetype)
bwipe!
@@ -3015,7 +3015,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!
@@ -3035,4 +3035,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