Re: [CEDET-devel] Disappearing buffers
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2010-03-18 23:40:06
|
On 03/18/2010 10:14 AM, Damien Deville wrote: > Hi cedet-devel, > > First a little fix > > In latest cedet cvs version semantic-idle.el should (require 'eldoc) > otherwise eldoc-message function is not defined. Thanks, I'll put one in. > Now a recurrent problem i am facing: > > I have some C code which define one static function foo then uses it in > another function, when placing cursor at the start of foo() and waiting > for idle-summary timer to expire, my buffer get closed and I have the > following error in *Messages* buffer What feature is using the below in the idle timer? I cannot find a call to semantic-symref-result-get-tags in anything that is called from the idle timer except for the use of gnu global as a database backend. Even in that case, the purpose is to close buffers that weren't already open. The earlier block of code in that function attempts to do that with get-file-buffer. If the database return is retrieving a file name for which get-file-buffer fails, but find-file-noselect succeeds, well that's kind of interesting. What do you think that might be? You can look in the temporary buffer *CEDET Global* to see what those names might look like. Eric > > Idle Service Error semantic-idle-summary-idle-function: "#<buffer > *Messages*> - Wrong type argument: syntax-table-p, nil" > > > Here is the patch i use which prevent the buffer from being closed but > leads to lot of buffer being opened. > > Index: semantic/symref/semantic-symref.el > =================================================================== > RCS file: /cvsroot/cedet/cedet/semantic/symref/semantic-symref.el,v > retrieving revision 1.15 > diff -u -r1.15 semantic-symref.el > --- semantic/symref/semantic-symref.el 28 Mar 2009 12:42:14 -0000 1.15 > +++ semantic/symref/semantic-symref.el 7 Sep 2009 06:38:27 -0000 > @@ -396,8 +396,10 @@ > tag)) > lines))) > ;; Kill off dead buffers, unless we were requested to leave them > open. > - (when (not open-buffers) > - (mapc 'kill-buffer buffs-to-kill)) > + ;; DAMIEND > + ;; (when (not open-buffers) > + ;; (mapc 'kill-buffer buffs-to-kill)) > + ;; DAMIEND > ;; Strip out duplicates. > (dolist (T ans) > (if (and T (not (semantic-equivalent-tag-p (car out) T))) > > I tried reproducing the issue on a simple c files but did not succeed. > What could I try to help debugging this issue. > > Damien |