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 <cb@256bit.org>
This commit is contained in:
5
runtime/autoload/dist/script.vim
vendored
5
runtime/autoload/dist/script.vim
vendored
@ -4,7 +4,7 @@ vim9script
|
|||||||
# Invoked from "scripts.vim" in 'runtimepath'
|
# Invoked from "scripts.vim" in 'runtimepath'
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2025 Aug 08
|
# Last Change: 2025 Aug 09
|
||||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
export def DetectFiletype()
|
export def DetectFiletype()
|
||||||
@ -287,6 +287,7 @@ def DetectFromText(line1: string)
|
|||||||
# Diff file:
|
# Diff file:
|
||||||
# - "diff" in first line (context diff)
|
# - "diff" in first line (context diff)
|
||||||
# - "Only in " in first line
|
# - "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 (unified diff).
|
||||||
# - "*** " in first line and "--- " in second line (context diff).
|
# - "*** " in first line and "--- " in second line (context diff).
|
||||||
# - "# It was generated by makepatch " in the second line (makepatch diff).
|
# - "# It was generated by makepatch " in the second line (makepatch diff).
|
||||||
@ -295,7 +296,7 @@ def DetectFromText(line1: string)
|
|||||||
# - "=== ", "--- ", "+++ " (bzr diff, common case)
|
# - "=== ", "--- ", "+++ " (bzr diff, common case)
|
||||||
# - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
|
# - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
|
||||||
# - "# HG changeset patch" in first line (Mercurial export format)
|
# - "# 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\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|
elseif line1 =~ '^\(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\)'
|
||||||
|| (line1 =~ '^--- ' && line2 =~ '^+++ ')
|
|| (line1 =~ '^--- ' && line2 =~ '^+++ ')
|
||||||
|| (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ')
|
|| (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ')
|
||||||
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|
||||||
|
|||||||
@ -3027,7 +3027,7 @@ endfunc
|
|||||||
func Test_info_file()
|
func Test_info_file()
|
||||||
filetype on
|
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
|
split Xfile
|
||||||
call assert_equal('info', &filetype)
|
call assert_equal('info', &filetype)
|
||||||
bwipe!
|
bwipe!
|
||||||
@ -3038,7 +3038,7 @@ endfunc
|
|||||||
func Test_mail_file()
|
func Test_mail_file()
|
||||||
filetype on
|
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
|
split Xfile
|
||||||
call assert_equal('mail', &filetype)
|
call assert_equal('mail', &filetype)
|
||||||
bwipe!
|
bwipe!
|
||||||
@ -3049,7 +3049,7 @@ endfunc
|
|||||||
func Test_terminfo_file()
|
func Test_terminfo_file()
|
||||||
filetype on
|
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
|
split Xfile
|
||||||
call assert_equal('terminfo', &filetype)
|
call assert_equal('terminfo', &filetype)
|
||||||
bwipe!
|
bwipe!
|
||||||
@ -3069,4 +3069,15 @@ func Test_pacmanlog()
|
|||||||
filetype off
|
filetype off
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@ -719,6 +719,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1615,
|
||||||
/**/
|
/**/
|
||||||
1614,
|
1614,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user