Subject: bug#5404: 23.1.91; Nextstep port: M-x gdb hangs in tab completion of symbols

From: [email-masked] (Nick Roberts)
Date: Mon, 18 Jan 2010 11:05:14 +1300

> I'd like to report a problem with M-x gdb in the Nextstep port of
 > emacs 23.1.91.  When gud mode is started with M-x gdb, tab completion
 > of symbols (i.e., gud-gdb-complete-command) causes emacs to hang.
 > 
 > The release announcement for emacs 23.1.91 noted a major change in M-x
 > gdb (<http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg01109.html>)
 > and this seems to be new behavior in 23.1.91.

Do you mean it worked before this reversion?  That earlier GDB/MI code is the
future and I'd like to put it back on a branch in the Emacs repository but I
don't know if there are branches or how to list them using bzr.  I don't
really want my own branch as it probably wouldn't get checked out by anybody
else but a shared experimental branch would be good.

 >...
 >   6) At the (gdb) prompt, type "b add_", then TAB
 > 
 >   7) After pressing TAB, emacs becomes unresponsive.
 > 
 >      Emacs stays unresponsive until Ctrl-G is pressed.

On GNU/Linux this works fine for me with just one completion.

 > 
 > Observations from edebug
 > ------------------------
 > 
 > I've used M-x edebug-defun to instrument different functions in
 > gud.el, so that I could step through them with emacs debugger.  
 > 
 > Emacs seems to hang when evaluating the expression
 > 
 >    (get-buffer-process gud-comint-buffer)

More likely it hangs on accept-process-output.

Emacs uses the special purpose gdb command "complete".  I have noticed that it
can appear to hang when there are too many completions then typing C-c C-c
causes all these to spill into the GUD buffer.  On the command line you get
something like:

(top-gdb) b <TAB>
Display all 20671 possibilities? (y or n)

but that doesn't seem to be the case here.

-- 
Nick                                           http://users.snap.net.nz/~nickrob