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

Reply via email to