[Python-mode] [ python-mode-Bugs-912521 ] python-mode kills arrow in gdb (gud.el)

SourceForge.net noreply at sourceforge.net
Tue Mar 9 01:34:56 EST 2004


Bugs item #912521, was opened at 2004-03-09 06:34
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=581349&aid=912521&group_id=86916

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Matthias Klose (doko)
Assigned to: Nobody/Anonymous (nobody)
Summary: python-mode kills arrow in gdb (gud.el)

Initial Comment:
[this is http://python.org/sf/606250, reopened]
 forwarded from http://bugs.debian.org/159628 ]

Once python-mode.el has been loaded, all GDB buffers
stop showing the little arrow that lives in the
"fringe" on the left side of an emacs21 frame. To be
specific, the arrow appears and then disappears right
away, each time a 'step' or 'next' command is run. I
traced the problem down to the unconditional hooking of
'comint-output-filter-functions, python-mode.el line
3472 to be exact:

(add-hook 'comint-output-filter-functions
'py-pdbtrack-track-stack-file)

I haven't tested it fully, but I've found that if I
take this line out, GDB can show its arrow once more.
There is code in python-mode.el to insert this hook in
a buffer-local fashion only in the '*Python*' buffer..
maybe that should be reviewed and used instead of this
global hook?

(took forever to figure out it was python-mode causing
the problem..)

Followup:

This one is still broken for me, in python-mode 4.40. (I'm
the submitter of the original debian bug report).



Here are some instructions to reproduce the problem:

===============
574:warner at cinla% cat hello.c 
#include <stdio.h>

int main(void)
{
    printf("hello\n");
    printf("world\n");
    printf("\n");
    return 0;
}
575:warner at cinla% gcc -g -o hello hello.c
576:warner at cinla% ./hello 
hello
world

577:warner at cinla% cat foo.py
#! /usr/bin/python

print "hiya"
578:warner at cinla% emacs -q

M-x gdb hello RET              # starts GUD session
(gdb) b main RET
(gdb) run RET                  # GDB stops on "hello".
Note
arrow in fringe.
C-x C-f  foo.py RET            # loads python-mode.el
C-x b *gud-hello* RET          # switch back to GDB buffer
(gdb) next RET                 # GDB stops on "world".
Note
lack of arrow.
(gdb) next RET                 # arrow flickers and
disappears each time
===================

emacs-version reports "GNU Emacs 21.3.1 (i386-pc-linux-gnu,
X toolkit) of 2003-10-31 on raven, modified by Debian"
this is package emacs21, version 21.3+1-4 (from unstable)
python-elisp is version 2.3.2.91-1, with py-version at
$Revision: 4.40 $


let me know if there is anything I can do to further track
it down.
thanks!
 -Brian

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=581349&aid=912521&group_id=86916



More information about the Python-mode mailing list