runtime(tcsh): Update ftplugin (#13327)

Fix b:browsefilter deletion error when calling b:undo_ftplugin.

Fixes #13167

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/csh.vim b/runtime/ftplugin/csh.vim
index ca5da5a..2feec57 100644
--- a/runtime/ftplugin/csh.vim
+++ b/runtime/ftplugin/csh.vim
@@ -3,9 +3,11 @@
 " Maintainer:		Doug Kearns <dougkearns@gmail.com>
 " Previous Maintainer:	Dan Sharp
 " Contributor:		Johannes Zellner <johannes@zellner.org>
-" 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 @@
 
 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 @@
 	\   s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\<breaksw\>:' ..
 	\   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