updated for version 7.3.005
Problem: Crash when using undotree(). (Christian Brabandt)
Solution: Increase the list reference count. Add a test for undotree()
(Lech Lorens)
diff --git a/src/eval.c b/src/eval.c
index fc01006..0f306d4 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -7075,7 +7075,7 @@
}
/*
- * Add a list entry to dictionary "d".
+ * Add a list entry to dictionary "d".
* Returns FAIL when out of memory and when key already exists.
*/
int
@@ -7097,6 +7097,7 @@
dictitem_free(item);
return FAIL;
}
+ ++list->lv_refcount;
return OK;
}
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 4951dc2..bdc2c28 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -44,7 +44,7 @@
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
clean:
- -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
+ -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
test1.out: test1.in
-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
diff --git a/src/testdir/test61.in b/src/testdir/test61.in
index f9a1574..8883163 100644
--- a/src/testdir/test61.in
+++ b/src/testdir/test61.in
@@ -4,6 +4,10 @@
Also tests :earlier and :later.
STARTTEST
+:echo undotree().entries
+ENDTEST
+
+STARTTEST
:" Delete three characters and undo
Gx:set ul=100
x:set ul=100
diff --git a/src/version.c b/src/version.c
index 3b50ffb..a1b3718 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 5,
+/**/
4,
/**/
3,