# HG changeset patch # User Christian Brabandt # Date 1697275812 -7200 # Node ID 09e8f7ac05e0522fb43b47ffcb90a3601d83fff7 # Parent 8d846b2c5159f21593c4ca9e000f579dfd38073f runtime(tcsh): Update ftplugin (#13327) Commit: https://github.com/vim/vim/commit/7687238e1b0d2f26ba57e1bdf76f782eaa43af3a Author: dkearns Date: Sat Oct 14 20:27:27 2023 +1100 runtime(tcsh): Update ftplugin (https://github.com/vim/vim/issues/13327) Fix b:browsefilter deletion error when calling b:undo_ftplugin. Fixes #13167 Signed-off-by: Christian Brabandt diff --git a/runtime/ftplugin/csh.vim b/runtime/ftplugin/csh.vim --- a/runtime/ftplugin/csh.vim +++ b/runtime/ftplugin/csh.vim @@ -3,9 +3,11 @@ " Maintainer: Doug Kearns " Previous Maintainer: Dan Sharp " Contributor: Johannes Zellner -" Last Change: 2021 Oct 15 +" Last Change: 2023 Oct 09 -if exists("b:did_ftplugin") | finish | endif +if exists("b:did_ftplugin") + finish +endif let b:did_ftplugin = 1 let s:save_cpo = &cpo @@ -18,7 +20,7 @@ setlocal formatoptions+=crql let b:undo_ftplugin = "setlocal com< cms< fo<" -" Csh: thanks to Johannes Zellner +" Csh: thanks to Johannes Zellner " - Both foreach and end must appear alone on separate lines. " - The words else and endif must appear at the beginning of input lines; " the if must appear alone on its input line or after an else. @@ -38,13 +40,14 @@ if exists("loaded_matchit") && !exists(" \ s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\:' .. \ s:line_start .. 'endsw\>' unlet s:line_start - let b:undo_ftplugin ..= " | unlet b:match_words" + let b:undo_ftplugin ..= " | unlet! b:match_words" endif if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") - let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .. - \ "All Files (*.*)\t*.*\n" - let b:undo_ftplugin ..= " | unlet b:browsefilter" + let b:browsefilter = "csh Scripts (*.csh)\t*.csh\n" .. + \ "All Files (*.*)\t*.*\n" + let b:csh_set_browsefilter = 1 + let b:undo_ftplugin ..= " | unlet! b:browsefilter b:csh_set_browsefilter" endif let &cpo = s:save_cpo diff --git a/runtime/ftplugin/tcsh.vim b/runtime/ftplugin/tcsh.vim --- a/runtime/ftplugin/tcsh.vim +++ b/runtime/ftplugin/tcsh.vim @@ -2,9 +2,11 @@ " Language: tcsh " Maintainer: Doug Kearns " Previous Maintainer: Dan Sharp -" Last Change: 2021 Oct 15 +" Last Change: 2023 Oct 09 -if exists("b:did_ftplugin") | finish | endif +if exists("b:did_ftplugin") + finish +endif let s:save_cpo = &cpo set cpo-=C @@ -12,24 +14,26 @@ set cpo-=C " Define some defaults in case the included ftplugins don't set them. let s:undo_ftplugin = "" let s:browsefilter = "csh Files (*.csh)\t*.csh\n" .. - \ "All Files (*.*)\t*.*\n" + \ "All Files (*.*)\t*.*\n" runtime! ftplugin/csh.vim ftplugin/csh_*.vim ftplugin/csh/*.vim let b:did_ftplugin = 1 " Override our defaults if these were set by an included ftplugin. if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin + let s:undo_ftplugin = b:undo_ftplugin endif if exists("b:browsefilter") - let s:browsefilter = b:browsefilter + let s:browsefilter = b:browsefilter endif -if (has("gui_win32") || has("gui_gtk")) - let b:browsefilter="tcsh Scripts (*.tcsh)\t*.tcsh\n" .. s:browsefilter +if (has("gui_win32") || has("gui_gtk")) && + \ (!exists("b:browsefilter") || exists("b:csh_set_browsefilter")) + let b:browsefilter = "tcsh Scripts (*.tcsh)\t*.tcsh\n" .. s:browsefilter + let s:undo_ftplugin = "unlet! b:browsefilter | " .. s:undo_ftplugin endif -let b:undo_ftplugin = "unlet! b:browsefilter | " .. s:undo_ftplugin +let b:undo_ftplugin = s:undo_ftplugin let &cpo = s:save_cpo unlet s:save_cpo