changeset 33051:02939ae3aaca

runtime: Set b:undo_ftplugin where missing (#12943) Commit: https://github.com/vim/vim/commit/f937ab32a1ac3a560f217ca4ce8305ab2d5b0b74 Author: dkearns <dougkearns@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 <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 28 Aug 2023 21:45:06 +0200
parents 6a839ee3ab4b
children 5c220cf30f1f
files .github/CODEOWNERS runtime/ftplugin/abap.vim runtime/ftplugin/art.vim runtime/ftplugin/asm.vim runtime/ftplugin/bzl.vim runtime/ftplugin/dune.vim runtime/ftplugin/fish.vim runtime/ftplugin/hare.vim runtime/ftplugin/ishd.vim runtime/ftplugin/lprolog.vim runtime/ftplugin/nginx.vim runtime/ftplugin/pbtxt.vim runtime/ftplugin/scala.vim runtime/ftplugin/sexplib.vim runtime/ftplugin/usd.vim runtime/ftplugin/vhdl.vim
diffstat 16 files changed, 131 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- 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
--- a/runtime/ftplugin/abap.vim
+++ b/runtime/ftplugin/abap.vim
@@ -3,6 +3,7 @@
 " Author:	Steven Oliver <oliver.steven@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)\t*.abap\n" .
                      \ "All Files (*.*)\t*.*\n"
+  let b:undo_ftplugin .= " | unlet! b:browsefilter"
 endif
 
 let &cpo = s:cpo_save
--- a/runtime/ftplugin/art.vim
+++ b/runtime/ftplugin/art.vim
@@ -3,6 +3,7 @@
 " Maintainer:    Dorai Sitaram <ds26@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<"
--- 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<"
--- 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')
--- a/runtime/ftplugin/dune.vim
+++ b/runtime/ftplugin/dune.vim
@@ -3,8 +3,9 @@
 "              Anton Kochkov       <anton.kochkov@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<"
--- 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<"
--- a/runtime/ftplugin/hare.vim
+++ b/runtime/ftplugin/hare.vim
@@ -2,26 +2,34 @@
 " Language: Hare
 " Maintainer: Amelia Clarke <me@rsaihe.dev>
 " Previous Maintainer: Drew DeVault <sir@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
--- 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 <johannes@zellner.org>
-" Last Change:	Sat, 24 May 2003 11:55:36 CEST
+" Language:		InstallShield (ft=ishd)
+" Maintainer:		Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer:	Johannes Zellner <johannes@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)\t*.rul\n" .
-		       \ "All Files (*.*)\t*.*\n"
+          \              "All Files (*.*)\t*\n"
+    let b:undo_ftplugin .= " | unlet! b:browsefilter"
 endif
 
 let &cpo = s:cpo_save
--- a/runtime/ftplugin/lprolog.vim
+++ b/runtime/ftplugin/lprolog.vim
@@ -2,7 +2,8 @@
 " Language:     LambdaProlog (Teyjus)
 " Maintainer:   Markus Mottl  <markus.mottl@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(
     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
--- a/runtime/ftplugin/nginx.vim
+++ b/runtime/ftplugin/nginx.vim
@@ -2,5 +2,8 @@
 " Language: nginx.conf
 " Maintainer: Chris Aumann <me@chr4.org>
 " Last Change: Apr 15, 2017
+"              2023 Aug 28 by Vim Project (undo_ftplugin)
 
 setlocal commentstring=#\ %s
+
+let b:undo_ftplugin = "setlocal commentstring<"
--- a/runtime/ftplugin/pbtxt.vim
+++ b/runtime/ftplugin/pbtxt.vim
@@ -2,20 +2,16 @@
 " Language:             Protobuf Text Format
 " Maintainer:           Lakshay Garg <lakshayg@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
--- 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,
 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:
--- a/runtime/ftplugin/sexplib.vim
+++ b/runtime/ftplugin/sexplib.vim
@@ -3,6 +3,7 @@
 " Maintainer:  Markus Mottl        <markus.mottl@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<"
--- 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 <colinvfx@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<"
--- 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)\t*.v\n" .
 "   \ "All Files (*.*)\t*.*\n"
+"  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
     \ 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