1
0
forked from aniani/vim

patch 8.2.3596: crash when using :pedit in Vim9 script

Problem:    Crash when using :pedit in Vim9 script.
Solution:   Move check for arguments to after checking there are arguments.
            (Yegappan Lakshmanan, closes #9134, closes #9135)
This commit is contained in:
Yegappan Lakshmanan
2021-11-15 11:22:09 +00:00
committed by Bram Moolenaar
parent 0d5a12ea04
commit 733b124a90
3 changed files with 18 additions and 5 deletions

View File

@@ -1851,13 +1851,13 @@ popup_create(typval_T *argvars, typval_T *rettv, create_type_T type)
int nr; int nr;
int i; int i;
if (in_vim9script()
&& (check_for_string_or_number_or_list_arg(argvars, 0) == FAIL
|| check_for_dict_arg(argvars, 1) == FAIL))
return NULL;
if (argvars != NULL) if (argvars != NULL)
{ {
if (in_vim9script()
&& (check_for_string_or_number_or_list_arg(argvars, 0) == FAIL
|| check_for_dict_arg(argvars, 1) == FAIL))
return NULL;
// Check that arguments look OK. // Check that arguments look OK.
if (argvars[0].v_type == VAR_NUMBER) if (argvars[0].v_type == VAR_NUMBER)
{ {

View File

@@ -1570,5 +1570,16 @@ def Test_no_space_after_command()
CheckDefExecAndScriptFailure(lines, 'E486:', 1) CheckDefExecAndScriptFailure(lines, 'E486:', 1)
enddef enddef
" Test for the 'popuppreview' option
def Test_popuppreview()
set previewpopup=height:10,width:60
pedit Xfile
var id = popup_findpreview()
assert_notequal(id, 0)
assert_match('Xfile', popup_getoptions(id).title)
popup_clear()
set previewpopup&
enddef
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker

View File

@@ -757,6 +757,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 */
/**/
3596,
/**/ /**/
3595, 3595,
/**/ /**/