patch 7.4.1644
Problem: Using string() on a partial that exists in the dictionary it binds
results in an error. (Nikolai Pavlov)
Solution: Make string() not fail on a recursively nested structure. (Ken
Takta)
diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim
index f67bb41..75cc492 100644
--- a/src/testdir/test_partial.vim
+++ b/src/testdir/test_partial.vim
@@ -180,3 +180,16 @@
unlet obj
call assert_false(exists('*{' . funcnumber . '}'))
endfunc
+
+func Test_tostring()
+ let d = {}
+ let d.d = d
+ function d.test3()
+ echo 42
+ endfunction
+ try
+ call string(d.test3)
+ catch
+ call assert_true(v:false, v:exception)
+ endtry
+endfunc