1
0
forked from aniani/vim

patch 9.0.1431: getscriptinfo() loops even when specific SID is given

Problem:    getscriptinfo() loops even when specific SID is given.
Solution:   Only loop when needed.  Give a clearer error message.
            (closes #12207)
This commit is contained in:
zeertzjq
2023-03-30 21:50:37 +01:00
committed by Bram Moolenaar
parent 6400203517
commit 2d68b722e3
3 changed files with 34 additions and 12 deletions

View File

@@ -91,6 +91,16 @@ func Test_getscriptinfo()
call assert_fails("echo getscriptinfo('foobar')", 'E1206:')
call assert_fails("echo getscriptinfo({'sid': []})", 'E745:')
call assert_fails("echo getscriptinfo({'sid': {}})", 'E728:')
call assert_fails("echo getscriptinfo({'sid': 0})", 'E475:')
call assert_fails("echo getscriptinfo({'sid': -1})", 'E475:')
call assert_fails("echo getscriptinfo({'sid': -999})", 'E475:')
echo getscriptinfo({'sid': '1'})
call assert_fails("vim9cmd echo getscriptinfo({'sid': '1'})", 'E1030:')
let max_sid = max(map(getscriptinfo(), { k, v -> v.sid }))
call assert_equal([], getscriptinfo({'sid': max_sid + 1}))
endfunc
" vim: shiftwidth=2 sts=2 expandtab