Re: [vim/vim] Vim hangs and segfaults with a scratch PHP buffer (#1200)

2016-10-27 Fir de Conversatie Bram Moolenaar

Hirohito Higashi wrote:

> Hi ChrisBra, Lifepillar and list,
> 
> 2016-10-27(Thu) 5:19:43 UTC+9 Christian Brabandt:
> > If that is really the case, I wonder if we can't just get rid of those 
> > lines https://github.com/vim/vim/blob/master/src/popupmnu.c#L585-L593

That means we keep adding buffers, even when the current buffer could be
re-used.

> > I could prepare a patch.
> 
> How about an attached patch?

I think we should at least check if prepare_tagpreview() split the
window.  If it did then we should call do_ecmd().

For extra safety we can check if the buffer has only one window.


-- 
SECOND SOLDIER: It could be carried by an African swallow!
FIRST SOLDIER:  Oh  yes! An African swallow maybe ... but not a European
swallow. that's my point.
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [vim/vim] Vim hangs and segfaults with a scratch PHP buffer (#1200)

2016-10-26 Fir de Conversatie h_east
Hi ChrisBra, Lifepillar and list,

2016-10-27(Thu) 5:19:43 UTC+9 Christian Brabandt:
> If that is really the case, I wonder if we can't just get rid of those lines 
> https://github.com/vim/vim/blob/master/src/popupmnu.c#L585-L593
> 
> 
> I could prepare a patch.

How about an attached patch?
--
Best regards,Hirohito Higashi (a.k.a. h_east)

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/popupmnu.c b/src/popupmnu.c
index d9d1fee..cf5bd16 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -582,7 +582,8 @@ pum_set_selected(int n, int repeat)
 
 	if (curwin->w_p_pvw)
 	{
-		if (curbuf->b_fname == NULL
+		if (curwin_save != curwin && curwin_save->w_buffer != curbuf
+			&& curbuf->b_fname == NULL
 			&& curbuf->b_p_bt[0] == 'n' && curbuf->b_p_bt[2] == 'f'
 			&& curbuf->b_p_bh[0] == 'w')
 		{