updated for version 7.4.086
Problem: Skipping over an expression when not evaluating it does not work
properly for dict members.
Solution: Skip over unrecognized expression. (ZyX)
diff --git a/src/testdir/test34.in b/src/testdir/test34.in
index 5abc140..71ee5f6 100644
--- a/src/testdir/test34.in
+++ b/src/testdir/test34.in
@@ -1,6 +1,7 @@
Test for user functions.
Also test an <expr> mapping calling a function.
Also test that a builtin function cannot be replaced.
+Also test for regression when calling arbitrary expression.
STARTTEST
:so small.vim
@@ -62,7 +63,17 @@
[(one again:call append(line('$'), max([1, 2, 3]))
:call extend(g:, {'max': function('min')})
:call append(line('$'), max([1, 2, 3]))
-:$-7,$w! test.out
+:try
+: " Regression: the first line below used to throw ?E110: Missing ')'?
+: " Second is here just to prove that this line is correct when not skipping
+: " rhs of &&.
+: $put =(0&&(function('tr'))(1, 2, 3))
+: $put =(1&&(function('tr'))(1, 2, 3))
+:catch
+: $put ='!!! Unexpected exception:'
+: $put =v:exception
+:endtry
+:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1