From 0981d4e871f89f503ffd06fce2865a2ad3e3c042 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 24 Dec 2025 08:52:08 +0800 Subject: [PATCH] vim-patch:6d211bc: runtime(doc): Improve :catch documentation fixes: vim/vim#18984 https://github.com/vim/vim/commit/6d211bc4f0f4bd9b7ab3b1444f2786b723d04ac0 Co-authored-by: Christian Brabandt --- runtime/doc/vimeval.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/runtime/doc/vimeval.txt b/runtime/doc/vimeval.txt index 8d96995082..d117d84d00 100644 --- a/runtime/doc/vimeval.txt +++ b/runtime/doc/vimeval.txt @@ -2419,12 +2419,15 @@ text... matching {pattern} is being thrown and has not yet been caught by a previous `:catch`. Otherwise, these commands are skipped. - When {pattern} is omitted all errors are caught. - Examples: > + Pattern can start with "Vim({cmd})" to indicate an + exception that occurred when executing the Ex command + {cmd}. When {pattern} is omitted all errors are + caught. Examples: > :catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C) :catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors :catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts :catch /^Vim(write):/ " catch all errors in :write + :catch /^Vim(!):/ " catch all errors in :! :catch /^Vim\%((\a\+)\)\=:E123:/ " catch error E123 :catch /my-exception/ " catch user exception :catch /.*/ " catch everything