mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.1914: Vim9: cannot put line break in expression for '=' register
Problem: Vim9: cannot put line break in expression for '=' register. Solution: Pass fgetline to set_expr_line(). (closes #7209)
This commit is contained in:
19
src/eval.c
19
src/eval.c
@@ -474,9 +474,10 @@ skip_expr_concatenate(
|
||||
* Return pointer to allocated memory, or NULL for failure.
|
||||
*/
|
||||
char_u *
|
||||
eval_to_string(
|
||||
eval_to_string_eap(
|
||||
char_u *arg,
|
||||
int convert)
|
||||
int convert,
|
||||
exarg_T *eap)
|
||||
{
|
||||
typval_T tv;
|
||||
char_u *retval;
|
||||
@@ -484,8 +485,10 @@ eval_to_string(
|
||||
#ifdef FEAT_FLOAT
|
||||
char_u numbuf[NUMBUFLEN];
|
||||
#endif
|
||||
evalarg_T evalarg;
|
||||
|
||||
if (eval0(arg, &tv, NULL, &EVALARG_EVALUATE) == FAIL)
|
||||
fill_evalarg_from_eap(&evalarg, eap, eap != NULL && eap->skip);
|
||||
if (eval0(arg, &tv, NULL, &evalarg) == FAIL)
|
||||
retval = NULL;
|
||||
else
|
||||
{
|
||||
@@ -512,11 +515,19 @@ eval_to_string(
|
||||
retval = vim_strsave(tv_get_string(&tv));
|
||||
clear_tv(&tv);
|
||||
}
|
||||
clear_evalarg(&EVALARG_EVALUATE, NULL);
|
||||
clear_evalarg(&evalarg, NULL);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
char_u *
|
||||
eval_to_string(
|
||||
char_u *arg,
|
||||
int convert)
|
||||
{
|
||||
return eval_to_string_eap(arg, convert, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Call eval_to_string() without using current local variables and using
|
||||
* textwinlock. When "use_sandbox" is TRUE use the sandbox.
|
||||
|
Reference in New Issue
Block a user