summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-15 12:27:09 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-15 12:27:09 +0000
commite3ce17a3ca838954728df21ccb6c2a724490203d (patch)
tree987a43ffc78ad0b50a3736c5dcbf8cbf6d5e3f07
parente1833bfd01c100896d2a01f281762c285192d84b (diff)
downloadvim-git-e3ce17a3ca838954728df21ccb6c2a724490203d.tar.gz
patch 8.2.4095: sed script not recognized by the first linev8.2.4095
Problem: Sed script not recognized by the first line. Solution: Recognize a sed script starting with "#n". (Doug Kearns)
-rw-r--r--runtime/scripts.vim6
-rw-r--r--src/testdir/test_filetype.vim2
-rw-r--r--src/version.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/runtime/scripts.vim b/runtime/scripts.vim
index e41405a6c..dd47f65ba 100644
--- a/runtime/scripts.vim
+++ b/runtime/scripts.vim
@@ -406,6 +406,12 @@ else
elseif s:line1 =~# '^#.*by RouterOS.*$'
set ft=routeros
+ " Sed scripts
+ " #ncomment is allowed but most likely a false positive so require a space
+ " before any trailing comment text
+ elseif s:line1 =~# '^#n\%($\|\s\)'
+ set ft=sed
+
" CVS diff
else
let s:lnum = 1
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index 5a5ba5f11..755eafcd2 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -654,7 +654,7 @@ let s:script_checks = {
\ ['#!/path/nodejs'],
\ ['#!/path/rhino']],
\ 'bc': [['#!/path/bc']],
- \ 'sed': [['#!/path/sed']],
+ \ 'sed': [['#!/path/sed'], ['#n'], ['#n comment']],
\ 'ocaml': [['#!/path/ocaml']],
\ 'awk': [['#!/path/awk'],
\ ['#!/path/gawk']],
diff --git a/src/version.c b/src/version.c
index e62c69dfc..733021bba 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4095,
+/**/
4094,
/**/
4093,