From 065088d5549e7711668321cc5a77c9a9b684b142 Mon Sep 17 00:00:00 2001 From: Johan Kotlinski Date: Sun, 2 Apr 2023 20:29:38 +0100 Subject: [PATCH] patch 9.0.1438: .fs files are falsely recognized as forth files Problem: .fs files are falsely recognized as forth files. Solution: Check 100 lines for something that looks like forth. (Johan Kotlinski, closes #12219, closes #11988) --- runtime/autoload/dist/ft.vim | 18 ++++++++++-------- src/testdir/test_filetype.vim | 16 ---------------- src/version.c | 2 ++ 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index bfc325d240ad7..5d2053d70a424 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -307,14 +307,16 @@ export def FTfs() if exists("g:filetype_fs") exe "setf " .. g:filetype_fs else - var line = getline(nextnonblank(1)) - # comments and colon definitions - if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$' - \ || line =~ '^\s*: \S' - setf forth - else - setf fsharp - endif + var n = 1 + while n < 100 && n <= line("$") + # Forth comments and colon definitions + if getline(n) =~ "^[:(\\\\] " + setf forth + return + endif + n += 1 + endwhile + setf fsharp endif enddef diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index a753ec8377897..af2969dd8ca22 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -1212,27 +1212,11 @@ func Test_fs_file() call assert_equal('forth', &filetype) bwipe! - call writefile(['.( Forth displayed inline comment )'], 'Xfile.fs') - split Xfile.fs - call assert_equal('forth', &filetype) - bwipe! - call writefile(['\ Forth line comment'], 'Xfile.fs') split Xfile.fs call assert_equal('forth', &filetype) bwipe! - " empty line comment - no space required - call writefile(['\'], 'Xfile.fs') - split Xfile.fs - call assert_equal('forth', &filetype) - bwipe! - - call writefile(['\G Forth documentation comment '], 'Xfile.fs') - split Xfile.fs - call assert_equal('forth', &filetype) - bwipe! - call writefile([': squared ( n -- n^2 )', 'dup * ;'], 'Xfile.fs') split Xfile.fs call assert_equal('forth', &filetype) diff --git a/src/version.c b/src/version.c index 0e612ee1ee86a..47ecd534eed22 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1438, /**/ 1437, /**/