Hi Andy! On Fr, 23 Nov 2012, Andy Wokula wrote:
> 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. Hm, interesting. For me it passes all tests. Can you get me a stack trace? regards, Christian -- -- 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