mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 16:58:17 +00:00
vim-patch:8.2.1098: Vim9: cannot use line break in :throw argument
Problem: Vim9: cannot use line break in :throw argument.
Solution: Check for line break.
006ad48b8a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -837,10 +837,17 @@ char *eval_to_string_skip(char *arg, exarg_T *eap, const bool skip)
|
|||||||
typval_T tv;
|
typval_T tv;
|
||||||
char *retval;
|
char *retval;
|
||||||
|
|
||||||
|
evalarg_T evalarg = {
|
||||||
|
.eval_flags = skip ? 0 : EVAL_EVALUATE,
|
||||||
|
};
|
||||||
|
if (eap != NULL && getline_equal(eap->getline, eap->cookie, getsourceline)) {
|
||||||
|
evalarg.eval_getline = eap->getline;
|
||||||
|
evalarg.eval_cookie = eap->cookie;
|
||||||
|
}
|
||||||
if (skip) {
|
if (skip) {
|
||||||
emsg_skip++;
|
emsg_skip++;
|
||||||
}
|
}
|
||||||
if (eval0(arg, &tv, eap, skip ? NULL : &EVALARG_EVALUATE) == FAIL || skip) {
|
if (eval0(arg, &tv, eap, &evalarg) == FAIL || skip) {
|
||||||
retval = NULL;
|
retval = NULL;
|
||||||
} else {
|
} else {
|
||||||
retval = xstrdup(tv_get_string(&tv));
|
retval = xstrdup(tv_get_string(&tv));
|
||||||
@@ -849,7 +856,7 @@ char *eval_to_string_skip(char *arg, exarg_T *eap, const bool skip)
|
|||||||
if (skip) {
|
if (skip) {
|
||||||
emsg_skip--;
|
emsg_skip--;
|
||||||
}
|
}
|
||||||
clear_evalarg(&EVALARG_EVALUATE, eap);
|
clear_evalarg(&evalarg, eap);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user