> IF vim recognizes an error in a script, what does it do?
> Where are the rules for this detailed?
>
> Suppose that while editing file.foo, I initiate a script
> e.g. :so myscript.vim
> and there is an error
> e.g. the script looks for a non existing pattern in file.foo
> After issuing its error message what is the expected action
> for the general case:
> 1. The script is immediately terminated, returning to the
> invocation point?
> 2. After possibly issuing an error message,
> the script continues trying to execute with its next command.
> In this case as if the search for the pattern had not failed?
>
> Are these kinds of exception rules spelled out explicitly
> anywhere in the available documentation?
> Not just mentioned in passing by an example!
>
> In my simple test case, it appears that 2. is the rule.
> But of course I'm just seemingly poking a black box.
:h except-compat
Normally, a script is sourced to the end, even if errors occur. This is
the same in all (also older) Vim versions.
But if :source is executed within a :try-block, sourcing will stop on
the first error.
try
so script.vim
endtry
If you want to still source to the end, you have to use :sil! to
surpress errors:
try
:sil! so script.vim
endtry
What you can't have is: execute :so within a :try-block and still see
all error messages (not only the first).
--
Andy
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
No comments:
Post a Comment