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

Raspunde prin e-mail lui