Am 22.11.2012 23:28, schrieb Christian Brabandt:
Problem is, in expr1 ? expr2 : expr3
Vim explicitly resets evaluate in the false case which leads to being
rettv.v_type being VAR_UNKNOWN and then handle_subscript doesn't handle
the subscript anymore.
Here is a patch:
diff --git a/src/eval.c b/src/eval.c
--- a/src/eval.c
+++ b/src/eval.c
@@ -19574,7 +19574,7 @@
while (ret == OK
&& (**arg == '['
|| (**arg == '.' && rettv->v_type == VAR_DICT)
- || (**arg == '(' && rettv->v_type == VAR_FUNC))
+ || (**arg == '(' && (rettv->v_type == VAR_FUNC || rettv->v_type
== VAR_UNKNOWN)))
&& !vim_iswhite(*(*arg - 1)))
{
if (**arg == '(')
Now gVim crashes.
--
Andy
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php