summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/globals.h2
-rw-r--r--src/testdir/test_signs.vim7
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/globals.h b/src/globals.h
index 6d9741b6a..b64e5cb61 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1902,7 +1902,7 @@ EXTERN int channel_need_redraw INIT(= FALSE);
#endif
#define FOR_ALL_LIST_ITEMS(l, li) \
- for ((li) = (l)->lv_first; (li) != NULL; (li) = (li)->li_next)
+ for ((li) = (l) == NULL ? NULL : (l)->lv_first; (li) != NULL; (li) = (li)->li_next)
// While executing a regexp and set to OPTION_MAGIC_ON or OPTION_MAGIC_OFF this
// overrules p_magic. Otherwise set to OPTION_MAGIC_NOT_SET.
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 738eebf4d..b77725c7d 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -2012,4 +2012,11 @@ func Test_sign_funcs_multi()
call delete("Xsign")
endfunc
+func Test_sign_null_list()
+ eval test_null_list()->sign_define()
+ eval test_null_list()->sign_placelist()
+ eval test_null_list()->sign_undefine()
+ eval test_null_list()->sign_unplacelist()
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index e9a04e2ca..1fffa738f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3381,
+/**/
3380,
/**/
3379,