Commit: runtime: Set b:undo_ftplugin where missing (#12943)

7 views
Skip to first unread message

Christian Brabandt

unread,
Aug 28, 2023, 3:45:12 PM8/28/23
to vim...@googlegroups.com
runtime: Set b:undo_ftplugin where missing (#12943)

Commit: https://github.com/vim/vim/commit/f937ab32a1ac3a560f217ca4ce8305ab2d5b0b74
Author: dkearns <dougk...@gmail.com>
Date: Tue Aug 29 05:32:27 2023 +1000

runtime: Set b:undo_ftplugin where missing (https://github.com/vim/vim/issues/12943)

Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index d8130ceee..4fafc7cf4 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -158,6 +158,7 @@ runtime/ftplugin/html.vim @dkearns
runtime/ftplugin/i3config.vim @hiqua
runtime/ftplugin/icon.vim @dkearns
runtime/ftplugin/indent.vim @dkearns
+runtime/ftplugin/ishd.vim @dkearns
runtime/ftplugin/j.vim @glts
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
diff --git a/runtime/ftplugin/abap.vim b/runtime/ftplugin/abap.vim
index 956b002ec..61db8093f 100644
--- a/runtime/ftplugin/abap.vim
+++ b/runtime/ftplugin/abap.vim
@@ -3,6 +3,7 @@
" Author: Steven Oliver <oliver...@gmail.com>
" Copyright: Copyright (c) 2013 Steven Oliver
" License: You may redistribute this under the same terms as Vim itself
+" Last Change: 2023 Aug 28 by Vim Project (undo_ftplugin)
" --------------------------------------------------------------------------

" Only do this when not done yet for this buffer
@@ -17,10 +18,13 @@ set cpo&vim
setlocal softtabstop=2 shiftwidth=2
setlocal suffixesadd=.abap

+let b:undo_ftplugin = "setl sts< sua< sw<"
+
" Windows allows you to filter the open file dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "ABAP Source Files (*.abap) *.abap
" .
\ "All Files (*.*) *.*
"
+ let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif

let &cpo = s:cpo_save
diff --git a/runtime/ftplugin/art.vim b/runtime/ftplugin/art.vim
index c501a992d..41b02a94e 100644
--- a/runtime/ftplugin/art.vim
+++ b/runtime/ftplugin/art.vim
@@ -3,6 +3,7 @@
" Maintainer: Dorai Sitaram <ds...@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: Apr 2, 2003
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -13,3 +14,5 @@ run ftplugin/lisp.vim

setl lw-=if
setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,for,schema,while
+
+let b:undo_ftplugin ..= " | setl lw<"
diff --git a/runtime/ftplugin/asm.vim b/runtime/ftplugin/asm.vim
index 0914bf634..f6a92d57d 100644
--- a/runtime/ftplugin/asm.vim
+++ b/runtime/ftplugin/asm.vim
@@ -1,11 +1,13 @@
" Vim filetype plugin file
" Language: asm
" Maintainer: Colin Caine <cmcaine at the common googlemail domain>
-" Last Changed: 23 May 2020
+" Last Change: 23 May 2020
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

if exists("b:did_ftplugin") | finish | endif
+let b:did_ftplugin = 1

setl comments=:;,s1:/*,mb:*,ex:*/,://
setl commentstring=;%s

-let b:did_ftplugin = 1
+let b:undo_ftplugin = "setl commentstring< comments<"
diff --git a/runtime/ftplugin/bzl.vim b/runtime/ftplugin/bzl.vim
index 8ab876e9d..716b3890b 100644
--- a/runtime/ftplugin/bzl.vim
+++ b/runtime/ftplugin/bzl.vim
@@ -2,6 +2,7 @@
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2021 Jan 19
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

""
" @section Introduction, intro
@@ -41,6 +42,9 @@ let &l:tabstop = s:save_tabstop

setlocal formatoptions-=t

+" Initially defined in the python ftplugin sourced above
+let b:undo_ftplugin .= " | setlocal fo<"
+
" Make gf work with imports in BUILD files.
setlocal includeexpr=substitute(v:fname,'//','','')

@@ -48,6 +52,7 @@ setlocal includeexpr=substitute(v:fname,'//','','')
if get(g:, 'ft_bzl_fold', 0)
setlocal foldmethod=syntax
setlocal foldtext=BzlFoldText()
+ let b:undo_ftplugin .= " | setlocal fdm< fdt<"
endif

if exists('*BzlFoldText')
diff --git a/runtime/ftplugin/dune.vim b/runtime/ftplugin/dune.vim
index 86c99c097..6e20a8fab 100644
--- a/runtime/ftplugin/dune.vim
+++ b/runtime/ftplugin/dune.vim
@@ -3,8 +3,9 @@
" Anton Kochkov <anton....@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change:
-" 2018 Nov 3 - Added commentstring (Markus Mottl)
-" 2017 Sep 6 - Initial version (Etienne Millon)
+" 2023 Aug 28 - Added undo_ftplugin (Vim Project)
+" 2018 Nov 03 - Added commentstring (Markus Mottl)
+" 2017 Sep 06 - Initial version (Etienne Millon)

if exists("b:did_ftplugin")
finish
@@ -18,3 +19,5 @@ setl commentstring=;\ %s
setl comments=:;

setl iskeyword+=#,?,.,/
+
+let b:undo_ftplugin = "setl lisp< cms< com< isk<"
diff --git a/runtime/ftplugin/fish.vim b/runtime/ftplugin/fish.vim
index 7acbf4421..f06ad3a0b 100644
--- a/runtime/ftplugin/fish.vim
+++ b/runtime/ftplugin/fish.vim
@@ -3,6 +3,7 @@
" Maintainer: Nicholas Boyle (github.com/nickeb96)
" Repository: https://github.com/nickeb96/fish.vim
" Last Change: February 1, 2023
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

if exists("b:did_ftplugin")
finish
@@ -13,3 +14,5 @@ setlocal iskeyword=@,48-57,_,192-255,-,.
setlocal comments=:#
setlocal commentstring=#%s
setlocal formatoptions+=crjq
+
+let b:undo_ftplugin = "setl cms< com< fo< isk<"
diff --git a/runtime/ftplugin/hare.vim b/runtime/ftplugin/hare.vim
index bb10daf38..0200ba591 100644
--- a/runtime/ftplugin/hare.vim
+++ b/runtime/ftplugin/hare.vim
@@ -2,26 +2,34 @@
" Language: Hare
" Maintainer: Amelia Clarke <m...@rsaihe.dev>
" Previous Maintainer: Drew DeVault <s...@cmpwn.com>
-" Last Updated: 2022-09-21
+" Last Updated: 2022-09-28
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

-" Only do this when not done yet for this buffer
if exists('b:did_ftplugin')
finish
endif
-
-" Don't load another plugin for this buffer
let b:did_ftplugin = 1

-setlocal noexpandtab
-setlocal tabstop=8
-setlocal shiftwidth=0
-setlocal softtabstop=0
-setlocal textwidth=80
+" Formatting settings.
+setlocal formatoptions-=t formatoptions+=croql/
+
+" Miscellaneous.
+setlocal comments=://
setlocal commentstring=//\ %s
+setlocal suffixesadd=.ha

-" Set 'formatoptions' to break comment lines but not other lines,
-" and insert the comment leader when hitting <CR> or using "o".
-setlocal fo-=t fo+=croql
+let b:undo_ftplugin = "setl cms< com< fo< sua<"
+
+" Hare recommended style.
+if get(g:, "hare_recommended_style", 1)
+ setlocal noexpandtab
+ setlocal shiftwidth=8
+ setlocal softtabstop=0
+ setlocal tabstop=8
+ setlocal textwidth=80
+ let b:undo_ftplugin ..= " | setl et< sts< sw< ts< tw<"
+endif

compiler hare
-" vim: tabstop=2 shiftwidth=2 expandtab
+
+" vim: et sw=2 sts=2 ts=8
diff --git a/runtime/ftplugin/ishd.vim b/runtime/ftplugin/ishd.vim
index 33ef1510b..b16034903 100644
--- a/runtime/ftplugin/ishd.vim
+++ b/runtime/ftplugin/ishd.vim
@@ -1,32 +1,37 @@
" Vim filetype plugin file
-" Language: InstallShield (ft=ishd)
-" Maintainer: Johannes Zellner <joha...@zellner.org>
-" Last Change: Sat, 24 May 2003 11:55:36 CEST
+" Language: InstallShield (ft=ishd)
+" Maintainer: Doug Kearns <dougk...@gmail.com>
+" Previous Maintainer: Johannes Zellner <joha...@zellner.org>
+" Last Change: 2023 Aug 28

if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1

-setlocal foldmethod=syntax
-
" Using line continuation here.
let s:cpo_save = &cpo
set cpo-=C

+setlocal foldmethod=syntax
+
+let b:undo_ftplugin = "setl fdm<"
+
" matchit support
if exists("loaded_matchit")
- let b:match_ignorecase=0
- let b:match_words=
+ let b:match_ignorecase = 0
+ let b:match_words =
\ '\%(^\s*\)\@<=\<function\>\s\+[^()]\+\s*(:\%(^\s*\)\@<=\<begin\>\s*$:\%(^\s*\)\@<=\<return\>:\%(^\s*\)\@<=\<end\>\s*;\s*$,' .
\ '\%(^\s*\)\@<=\<repeat\>\s*$:\%(^\s*\)\@<=\<until\>\s\+.\{-}\s*;\s*$,' .
\ '\%(^\s*\)\@<=\<switch\>\s*(.\{-}):\%(^\s*\)\@<=\<\%(case\|default\)\>:\%(^\s*\)\@<=\<endswitch\>\s*;\s*$,' .
\ '\%(^\s*\)\@<=\<while\>\s*(.\{-}):\%(^\s*\)\@<=\<endwhile\>\s*;\s*$,' .
\ '\%(^\s*\)\@<=\<for\>.\{-}\<\%(to\|downto\)\>:\%(^\s*\)\@<=\<endfor\>\s*;\s*$,' .
\ '\%(^\s*\)\@<=\<if\>\s*(.\{-})\s*then:\%(^\s*\)\@<=\<else\s*if\>\s*([^)]*)\s*then:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<endif\>\s*;\s*$'
+ let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
endif

-if has("gui_win32") && !exists("b:browsefilter")
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "InstallShield Files (*.rul) *.rul
" .
- \ "All Files (*.*) *.*
"
+ \ "All Files (*.*) *
"
+ let b:undo_ftplugin .= " | unlet! b:browsefilter"
endif

let &cpo = s:cpo_save
diff --git a/runtime/ftplugin/lprolog.vim b/runtime/ftplugin/lprolog.vim
index a8a3c612c..1075a9c81 100644
--- a/runtime/ftplugin/lprolog.vim
+++ b/runtime/ftplugin/lprolog.vim
@@ -2,7 +2,8 @@
" Language: LambdaProlog (Teyjus)
" Maintainer: Markus Mottl <markus...@gmail.com>
" URL: http://www.ocaml.info/vim/ftplugin/lprolog.vim
-" Last Change: 2006 Feb 05
+" Last Change: 2023 Aug 28 - added undo_ftplugin (Vim Project)
+" 2006 Feb 05
" 2001 Sep 16 - fixed 'no_mail_maps'-bug (MM)
" 2001 Sep 02 - initial release (MM)

@@ -15,11 +16,13 @@ endif
let b:did_ftplugin = 1

" Error format
-setlocal efm=%+A./%f:%l.%c:\ %m formatprg=fmt\ -w75\ -p\%
+setlocal efm=%+A./%f:%l.%c:\ %m

" Formatting of comments
setlocal formatprg=fmt\ -w75\ -p\%

+let b:undo_ftplugin = "setlocal efm< fp<"
+
" Add mappings, unless the user didn't want this.
if !exists("no_plugin_maps") && !exists("no_lprolog_maps")
" Uncommenting
@@ -28,6 +31,11 @@ if !exists("no_plugin_maps") && !exists("no_lprolog_maps")
vmap <buffer> <LocalLeader>c <Plug>BUncomOn
nmap <buffer> <LocalLeader>C <Plug>LUncomOff
vmap <buffer> <LocalLeader>C <Plug>BUncomOff
+ let b:undo_ftplugin ..=
+ \ " | silent! execute 'nunmap <buffer> <LocalLeader>c'" ..
+ \ " | silent! execute 'vunmap <buffer> <LocalLeader>c'" ..
+ \ " | silent! execute 'nunmap <buffer> <LocalLeader>C'" ..
+ \ " | silent! execute 'vunmap <buffer> <LocalLeader>C'"
endif

nnoremap <buffer> <Plug>LUncomOn mz0i/* <ESC>$A */<ESC>`z
diff --git a/runtime/ftplugin/nginx.vim b/runtime/ftplugin/nginx.vim
index e808db127..525d0fdcc 100644
--- a/runtime/ftplugin/nginx.vim
+++ b/runtime/ftplugin/nginx.vim
@@ -2,5 +2,8 @@
" Language: nginx.conf
" Maintainer: Chris Aumann <m...@chr4.org>
" Last Change: Apr 15, 2017
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

setlocal commentstring=#\ %s
+
+let b:undo_ftplugin = "setlocal commentstring<"
diff --git a/runtime/ftplugin/pbtxt.vim b/runtime/ftplugin/pbtxt.vim
index e3c1bf765..56c2553ca 100644
--- a/runtime/ftplugin/pbtxt.vim
+++ b/runtime/ftplugin/pbtxt.vim
@@ -2,20 +2,16 @@
" Language: Protobuf Text Format
" Maintainer: Lakshay Garg <laks...@outlook.in>
" Last Change: 2020 Nov 17
+" 2023 Aug 28 by Vim Project (undo_ftplugin)
" Homepage: https://github.com/lakshayg/vim-pbtxt

if exists("b:did_ftplugin")
finish
endif
-
let b:did_ftplugin = 1

-let s:cpo_save = &cpo
-set cpo&vim
-
setlocal commentstring=#\ %s

-let &cpo = s:cpo_save
-unlet s:cpo_save
+let b:undo_ftplugin = "setlocal commentstring<"

" vim: nowrap sw=2 sts=2 ts=8 noet
diff --git a/runtime/ftplugin/scala.vim b/runtime/ftplugin/scala.vim
index b484df99f..769499cfc 100644
--- a/runtime/ftplugin/scala.vim
+++ b/runtime/ftplugin/scala.vim
@@ -4,6 +4,7 @@
" URL: https://github.com/derekwyatt/vim-scala
" License: Same as Vim
" Last Change: 11 August 2021
+" 2023 Aug 28 by Vim Project (undo_ftplugin)
" ----------------------------------------------------------------------------

if exists('b:did_ftplugin') || &cp
@@ -32,4 +33,6 @@ setlocal includeexpr=substitute(v:fname,'\.','/','g')
setlocal path+=src/main/scala,src/test/scala
setlocal suffixesadd=.scala

+let b:undo_ftplugin = "setlocal cms< com< et< fo< inc< inex< pa< sts< sua< sw<"
+
" vim:set sw=2 sts=2 ts=8 et:
diff --git a/runtime/ftplugin/sexplib.vim b/runtime/ftplugin/sexplib.vim
index 27e1b2837..b0767ef55 100644
--- a/runtime/ftplugin/sexplib.vim
+++ b/runtime/ftplugin/sexplib.vim
@@ -3,6 +3,7 @@
" Maintainer: Markus Mottl <markus...@gmail.com>
" URL: https://github.com/ocaml/vim-ocaml
" Last Change:
+" 2023 Aug 28 - Added undo_ftplugin (Vim Project)
" 2017 Apr 12 - First version (MM)

if exists("b:did_ftplugin")
@@ -13,3 +14,5 @@ let b:did_ftplugin=1
" Comment string
setl commentstring=;\ %s
setl comments=:;
+
+let b:undo_ftplugin = "setl cms< com<"
diff --git a/runtime/ftplugin/usd.vim b/runtime/ftplugin/usd.vim
index c795ba591..cd5013f96 100644
--- a/runtime/ftplugin/usd.vim
+++ b/runtime/ftplugin/usd.vim
@@ -2,17 +2,13 @@
" Language: Pixar Animation's Universal Scene Description format
" Maintainer: Colin Kennedy <coli...@gmail.com>
" Last Change: 2023 May 9
+" 2023 Aug 28 by Vim Project (undo_ftplugin)

if exists("b:did_ftplugin")
finish
endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
let b:did_ftplugin = 1

setlocal commentstring=#\ %s

-let &cpo = s:cpo_save
-unlet s:cpo_save
+let b:undo_ftplugin = "setlocal commentstring<"
diff --git a/runtime/ftplugin/vhdl.vim b/runtime/ftplugin/vhdl.vim
index 0249b542b..ff56166eb 100644
--- a/runtime/ftplugin/vhdl.vim
+++ b/runtime/ftplugin/vhdl.vim
@@ -3,6 +3,7 @@
" Maintainer: R.Shankar <shankar.pec?gmail.com>
" Modified By: Gerald Lai <laigera+vim?gmail.com>
" Last Change: 2011 Dec 11
+" 2023 Aug 28 by Vim Project (undo_ftplugin, commentstring)

" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -22,13 +23,20 @@ set cpo&vim
" Set 'comments' to format dashed lists in comments.
"setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://

+setlocal commentstring=--\ %s
+
" Format comments to be up to 78 characters long
"setlocal tw=75

+" let b:undo_ftplugin = "setl cms< com< fo< tw<"
+
+let b:undo_ftplugin = "setl cms< "
+
" Win32 can filter files in the browse dialog
"if has("gui_win32") && !exists("b:browsefilter")
" let b:browsefilter = "Verilog Source Files (*.v) *.v
" .
" \ "All Files (*.*) *.*
"
+" let b:undo_ftplugin .= " | unlet! b:browsefilter"
"endif

" Let the matchit plugin know what items can be matched.
@@ -52,37 +60,49 @@ if ! exists("b:match_words") && exists("loaded_matchit")
\ s:notend.'\<package\>:\<end\s\+package\>,'.
\ s:notend.'\<procedure\>:\<end\s\+procedure\>,'.
\ s:notend.'\<configuration\>:\<end\s\+configuration\>'
+ let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
endif

-" count repeat
-function! <SID>CountWrapper(cmd)
- let i = v:count1
- if a:cmd[0] == ":"
- while i > 0
- execute a:cmd
- let i = i - 1
- endwhile
- else
- execute "normal! gv\<Esc>"
- execute "normal ".i.a:cmd
- let curcol = col(".")
- let curline = line(".")
- normal! gv
- call cursor(curline, curcol)
- endif
-endfunction
+if !exists("no_plugin_maps") && !exists("no_vhdl_maps")
+ " count repeat
+ function! <SID>CountWrapper(cmd)
+ let i = v:count1
+ if a:cmd[0] == ":"
+ while i > 0
+ execute a:cmd
+ let i = i - 1
+ endwhile
+ else
+ execute "normal! gv\<Esc>"
+ execute "normal ".i.a:cmd
+ let curcol = col(".")
+ let curline = line(".")
+ normal! gv
+ call cursor(curline, curcol)
+ endif
+ endfunction

-" explore motion
-" keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
-let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
-noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\%(\<end\s\+\)\@<!\<".b:vhdl_explore."\>\c\<Bar>\%^","bW")')<CR>
-noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\%(\<end\s\+\)\@<!\<".b:vhdl_explore."\>\c\<Bar>\%$","W")')<CR>
-noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\<end\s\+".b:vhdl_explore."\>\c\<Bar>\%^","bW")')<CR>
-noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\<end\s\+".b:vhdl_explore."\>\c\<Bar>\%$","W")')<CR>
-vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
-vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
-vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
-vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
+ " explore motion
+ " keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
+ let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
+ noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\%(\<end\s\+\)\@<!\<".b:vhdl_explore."\>\c\<Bar>\%^","bW")')<CR>
+ noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\%(\<end\s\+\)\@<!\<".b:vhdl_explore."\>\c\<Bar>\%$","W")')<CR>
+ noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\<end\s\+".b:vhdl_explore."\>\c\<Bar>\%^","bW")')<CR>
+ noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\%(--.*\)\@<!\<end\s\+".b:vhdl_explore."\>\c\<Bar>\%$","W")')<CR>
+ vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
+ vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
+ vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
+ vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
+ let b:undo_ftplugin .=
+ \ " | silent! execute 'nunmap <buffer> [['" .
+ \ " | silent! execute 'nunmap <buffer> ]]'" .
+ \ " | silent! execute 'nunmap <buffer> []'" .
+ \ " | silent! execute 'nunmap <buffer> ]['" .
+ \ " | silent! execute 'vunmap <buffer> [['" .
+ \ " | silent! execute 'vunmap <buffer> ]]'" .
+ \ " | silent! execute 'vunmap <buffer> []'" .
+ \ " | silent! execute 'vunmap <buffer> ]['"
+endif

let &cpo = s:cpo_save
unlet s:cpo_save
Reply all
Reply to author
Forward
0 new messages