mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.1627: Vim9: cannot pass "true" to submatch/term_gettty/term_start
Problem: Vim9: cannot pass "true" to submatch(), term_gettty() and term_start() Solution: Use tv_get_bool_chk(). (closes #6888, closes #6890, closes #6889)
This commit is contained in:
parent
707be5f352
commit
ad30470610
@ -8400,7 +8400,7 @@ f_submatch(typval_T *argvars, typval_T *rettv)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||||
retList = (int)tv_get_number_chk(&argvars[1], &error);
|
retList = (int)tv_get_bool_chk(&argvars[1], &error);
|
||||||
if (error)
|
if (error)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
|||||||
if (!(supported2 & JO2_CURWIN))
|
if (!(supported2 & JO2_CURWIN))
|
||||||
break;
|
break;
|
||||||
opt->jo_set2 |= JO2_CURWIN;
|
opt->jo_set2 |= JO2_CURWIN;
|
||||||
opt->jo_curwin = tv_get_number(item);
|
opt->jo_curwin = tv_get_bool(item);
|
||||||
}
|
}
|
||||||
else if (STRCMP(hi->hi_key, "bufnr") == 0)
|
else if (STRCMP(hi->hi_key, "bufnr") == 0)
|
||||||
{
|
{
|
||||||
|
@ -5768,7 +5768,7 @@ f_term_gettty(typval_T *argvars, typval_T *rettv)
|
|||||||
if (buf == NULL)
|
if (buf == NULL)
|
||||||
return;
|
return;
|
||||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||||
num = tv_get_number(&argvars[1]);
|
num = tv_get_bool(&argvars[1]);
|
||||||
|
|
||||||
switch (num)
|
switch (num)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
" Test various aspects of the Vim9 script language.
|
" Test various aspects of the Vim9 script language.
|
||||||
|
|
||||||
source check.vim
|
source check.vim
|
||||||
|
source term_util.vim
|
||||||
source view_util.vim
|
source view_util.vim
|
||||||
source vim9.vim
|
source vim9.vim
|
||||||
source screendump.vim
|
source screendump.vim
|
||||||
@ -1648,6 +1649,14 @@ def Test_strchars()
|
|||||||
strchars("A\u20dd", true)->assert_equal(1)
|
strchars("A\u20dd", true)->assert_equal(1)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def Test_submatch()
|
||||||
|
let pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'
|
||||||
|
let Rep = {-> range(10)->map({_, v -> submatch(v, true)})->string()}
|
||||||
|
let actual = substitute('A123456789', pat, Rep, '')
|
||||||
|
let expected = "[['A123456789'], ['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9']]"
|
||||||
|
assert_equal(expected, actual)
|
||||||
|
enddef
|
||||||
|
|
||||||
def Test_synID()
|
def Test_synID()
|
||||||
new
|
new
|
||||||
setline(1, "text")
|
setline(1, "text")
|
||||||
@ -1655,6 +1664,20 @@ def Test_synID()
|
|||||||
bwipe!
|
bwipe!
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def Test_term_gettty()
|
||||||
|
let buf = Run_shell_in_terminal({})
|
||||||
|
assert_notequal('', term_gettty(buf, true))
|
||||||
|
StopShellInTerminal(buf)
|
||||||
|
enddef
|
||||||
|
|
||||||
|
def Test_term_start()
|
||||||
|
botright new
|
||||||
|
let winnr = winnr()
|
||||||
|
term_start(&shell, #{curwin: true})
|
||||||
|
assert_equal(winnr, winnr())
|
||||||
|
bwipe!
|
||||||
|
enddef
|
||||||
|
|
||||||
def Test_win_splitmove()
|
def Test_win_splitmove()
|
||||||
split
|
split
|
||||||
win_splitmove(1, 2, #{vertical: true, rightbelow: true})
|
win_splitmove(1, 2, #{vertical: true, rightbelow: true})
|
||||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1627,
|
||||||
/**/
|
/**/
|
||||||
1626,
|
1626,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user