runtime: cleanup :Sman command via the undo_ftplugin mechanism (#12967)

Regards to @dkearns as noticed in
https://github.com/vim/vim/commit/2ac708b548660b232a32c52d89bde3d8596646c0

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/gpg.vim b/runtime/ftplugin/gpg.vim
index 9e00dae..2415555 100644
--- a/runtime/ftplugin/gpg.vim
+++ b/runtime/ftplugin/gpg.vim
@@ -27,7 +27,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/modconf.vim b/runtime/ftplugin/modconf.vim
index 09ad54b..d5eda5a 100644
--- a/runtime/ftplugin/modconf.vim
+++ b/runtime/ftplugin/modconf.vim
@@ -28,7 +28,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/muttrc.vim b/runtime/ftplugin/muttrc.vim
index bd01367..7a4eb7a 100644
--- a/runtime/ftplugin/muttrc.vim
+++ b/runtime/ftplugin/muttrc.vim
@@ -30,7 +30,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/readline.vim b/runtime/ftplugin/readline.vim
index c81d0f2..a696da2 100644
--- a/runtime/ftplugin/readline.vim
+++ b/runtime/ftplugin/readline.vim
@@ -42,7 +42,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/sshconfig.vim b/runtime/ftplugin/sshconfig.vim
index 214e492..c9a5cfa 100644
--- a/runtime/ftplugin/sshconfig.vim
+++ b/runtime/ftplugin/sshconfig.vim
@@ -26,7 +26,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/sudoers.vim b/runtime/ftplugin/sudoers.vim
index 65cf2d8..b412362 100644
--- a/runtime/ftplugin/sudoers.vim
+++ b/runtime/ftplugin/sudoers.vim
@@ -27,7 +27,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/systemd.vim b/runtime/ftplugin/systemd.vim
index c0bc630..e60a5e4 100644
--- a/runtime/ftplugin/systemd.vim
+++ b/runtime/ftplugin/systemd.vim
@@ -30,7 +30,7 @@
     if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
       let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
     else
-      let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+      let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
     endif
   endif
 endif
diff --git a/runtime/ftplugin/udevrules.vim b/runtime/ftplugin/udevrules.vim
index bde9c5d..83fb728 100644
--- a/runtime/ftplugin/udevrules.vim
+++ b/runtime/ftplugin/udevrules.vim
@@ -27,7 +27,7 @@
   if exists(':Sman') == 2
     setlocal iskeyword+=-
     setlocal keywordprg=:Sman
-    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer Sman'
   endif
 endif
 
diff --git a/runtime/ftplugin/zsh.vim b/runtime/ftplugin/zsh.vim
index 0ca8077..ed75d04 100644
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -30,7 +30,7 @@
     compiler zsh
   endif
   setlocal keywordprg=:RunHelp
-  let b:undo_ftplugin .= 'keywordprg<'
+  let b:undo_ftplugin .= 'keywordprg< | sil! delc -buffer RunHelp'
 endif
 
 let b:match_words = '\<if\>:\<elif\>:\<else\>:\<fi\>'