runtime(go): fix `b:undo_ftplugin`
last `unmap` can cause the error "E31: No such mapping" when
`doaudocmd FileType go` if appending other commands to `b:undo_ftplugin` i.e.
the space and the next bar as `let b:undo_ftplugin .= ' | setl ...'`.
closes: #17664
Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/go.vim b/runtime/ftplugin/go.vim
index e3f947c..13291af 100644
--- a/runtime/ftplugin/go.vim
+++ b/runtime/ftplugin/go.vim
@@ -7,6 +7,7 @@
" 2025 Mar 18 by Vim Project (use :term for 'keywordprg' #16911)
" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)
" 2025 Jul 02 by Vim Project (add section movement mappings #17641)
+" 2025 Jul 05 by Vim Project (update b:undo_ftplugin #17664)
if exists('b:did_ftplugin')
finish
@@ -56,10 +57,10 @@
noremap <silent> <buffer> [[ <Cmd>call <SID>GoFindSection('prev_start', v:count1)<CR>
noremap <silent> <buffer> [] <Cmd>call <SID>GoFindSection('prev_end', v:count1)<CR>
let b:undo_ftplugin .= ''
- \ . '| unmap <buffer> ]]'
- \ . '| unmap <buffer> ]['
- \ . '| unmap <buffer> [['
- \ . '| unmap <buffer> []'
+ \ . "| silent! exe 'unmap <buffer> ]]'"
+ \ . "| silent! exe 'unmap <buffer> ]['"
+ \ . "| silent! exe 'unmap <buffer> [['"
+ \ . "| silent! exe 'unmap <buffer> []'"
endif
function! <SID>GoFindSection(dir, count)