mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1485: Vim9: readdirex() expression doesn't accept bool
Problem: Vim9: readdirex() expression doesn't accept bool. Solution: Accept both -1 and bool. (closes #6737)
This commit is contained in:
@@ -1493,6 +1493,12 @@ readdirex_checkitem(void *context, void *item)
|
|||||||
if (eval_expr_typval(expr, argv, 1, &rettv) == FAIL)
|
if (eval_expr_typval(expr, argv, 1, &rettv) == FAIL)
|
||||||
goto theend;
|
goto theend;
|
||||||
|
|
||||||
|
// We want to use -1, but also true/false should be allowed.
|
||||||
|
if (rettv.v_type == VAR_SPECIAL || rettv.v_type == VAR_BOOL)
|
||||||
|
{
|
||||||
|
rettv.v_type = VAR_NUMBER;
|
||||||
|
rettv.vval.v_number = rettv.vval.v_number == VVAL_TRUE;
|
||||||
|
}
|
||||||
retval = tv_get_number_chk(&rettv, &error);
|
retval = tv_get_number_chk(&rettv, &error);
|
||||||
if (error)
|
if (error)
|
||||||
retval = -1;
|
retval = -1;
|
||||||
|
@@ -1386,6 +1386,10 @@ def Test_search()
|
|||||||
assert_equal(2, search('bar', 'W', 0, 0, {-> val == 1}))
|
assert_equal(2, search('bar', 'W', 0, 0, {-> val == 1}))
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def Test_readdirex()
|
||||||
|
eval expand('.')->readdirex({e -> e.name[0] !=# '.'})
|
||||||
|
enddef
|
||||||
|
|
||||||
def Fibonacci(n: number): number
|
def Fibonacci(n: number): number
|
||||||
if n < 2
|
if n < 2
|
||||||
return n
|
return n
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
1485,
|
||||||
/**/
|
/**/
|
||||||
1484,
|
1484,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user