On Sun, Nov 25, 2012 at 02:29:59PM +0100, Christian Brabandt wrote:
> Hi everybody
>
> On Fr, 23 Nov 2012, Ike Devolder wrote:
> > but the following i can reproduce every time:
> >
> > same configuration as before, same file (index.php)
> > - open index.php (it still has the syntax error
> > - :w (syntastic kicks in)
> > - fix the error by adding ; after phpinfo()
> > - :w (no more error in the file)
> > - remove the ; again
> > - :w (syntastic kicks in)
> > - :w ->E776: No location list
> >
> > "index.php" 2L, 16C written
> > Error detected while processing function
> > <SNR>31_UpdateErrors..<SNR>31_AutoToggleLocList..<SNR>31_ShowLocList:
> > line 3:
> > E776: No location list
> > Press ENTER or type command to continue
> >
> > no crash in this case, if i continue after this issue i get a second
> > quickfix
> > buffer.
> >
> > thx for the intermediate fix it is definatly an improvement.
>
> The following patch seems to fix all the issues mentioned so far. It
> basically does this by reverting Patch 7.3.715 and making sure, no data
> is freed more than once. Unfortunately, I have not been able to come up
> with a simple test case for the syntastic problem, that could be
> included.
>
> If anybody can come up with such a test (using no plugin, but just using
> vim -u NONE -U NONE -N) a tip is appreciated.
>
> regards,
> Christian
> --
> Ich bin geldgierig. Als Finanzminister muß man geldgierig sein.
> -- Hans Eichel
>
> --
> 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
> diff --git a/src/quickfix.c b/src/quickfix.c
> --- a/src/quickfix.c
> +++ b/src/quickfix.c
> @@ -898,11 +898,7 @@
> * way with ":grep'.
> */
> while (qi->qf_listcount > qi->qf_curlist + 1)
> - {
> - if (wp != NULL && wp->w_llist == qi)
> - wp->w_llist = NULL;
> qf_free(qi, --qi->qf_listcount);
> - }
>
> /*
> * When the stack is full, remove to oldest entry
> @@ -910,8 +906,6 @@
> */
> if (qi->qf_listcount == LISTCOUNT)
> {
> - if (wp != NULL && wp->w_llist == qi)
> - wp->w_llist = NULL;
> qf_free(qi, 0);
> for (i = 1; i < LISTCOUNT; ++i)
> qi->qf_lists[i - 1] = qi->qf_lists[i];
> @@ -2135,13 +2129,17 @@
> while (qi->qf_lists[idx].qf_count)
> {
> qfp = qi->qf_lists[idx].qf_start->qf_next;
> - vim_free(qi->qf_lists[idx].qf_start->qf_text);
> - vim_free(qi->qf_lists[idx].qf_start->qf_pattern);
> - vim_free(qi->qf_lists[idx].qf_start);
> + if (qi->qf_lists[idx].qf_title != NULL)
> + {
> + vim_free(qi->qf_lists[idx].qf_start->qf_text);
> + vim_free(qi->qf_lists[idx].qf_start->qf_pattern);
> + vim_free(qi->qf_lists[idx].qf_start);
> + }
> qi->qf_lists[idx].qf_start = qfp;
> --qi->qf_lists[idx].qf_count;
> }
> - vim_free(qi->qf_lists[idx].qf_title);
> + if (qi->qf_lists[idx].qf_title != NULL)
> + vim_free(qi->qf_lists[idx].qf_title);
> qi->qf_lists[idx].qf_title = NULL;
> }
>
thx all seems to be working fine with this patch
--
Ike
--
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