While trying to evaluate commands on a remote server and get their output, I've ran into a problem with error checking -- it seems like with remote-expr there's no error-checking at all.
The simplest example I can think of is this (gist: https://gist.github.com/AndrewRadev/5123706): function! Test() try exe "frobble" return 1 catch return 2 endtry endfunction If I open a Vim with `vim --servername FOO` and :source this file, executing `:echo Test()` results in 2, since there is no "frobble" command. However, if I then try `vim --servername FOO --remote-expr 'Test()'`, I get 1. I tried avoiding try/catch and using `v:errmsg` instead, but that variable is also not set to the last error if the function is invoked with `--remote-expr`. For now, I'm working around this issue by using `--remote-send` to type in a function, which evaluates the expression and sticks the result in a global variable, and then `--remote-expr` to get the value of the global variable. I'd really like to avoid this, though, since it causes some other problems. Is this a known limitation or a bug? Is there any other way for me to get error messages? -- -- You received this message from the "vim_dev" 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 --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
