This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: python-mode kills arrow in gdb (gud.el)
Type: Stage:
Components: Demos and Tools Versions: Python 2.3
process
Status: closed Resolution: works for me
Dependencies: Superseder:
Assigned To: barry Nosy List: barry, doko, nnorwitz, skip.montanaro, warner
Priority: normal Keywords:

Created on 2002-09-08 08:21 by doko, last changed 2022-04-10 16:05 by admin. This issue is now closed.

Messages (4)
msg12298 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2002-09-08 08:21
[ forwarded from http://bugs.debian.org/159628 ]

missing proper category ...

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..)
msg12299 - (view) Author: Neal Norwitz (nnorwitz) * (Python committer) Date: 2002-11-02 02:51
Logged In: YES 
user_id=33168

Barry, I thought you worked on this?  Perhaps this is a
duplicate?
msg12300 - (view) Author: Skip Montanaro (skip.montanaro) * (Python triager) Date: 2003-08-01 04:10
Logged In: YES 
user_id=44345

Matthias, I'm closing this.  It seems to work for me.  I entered
gdb on the python executable, set a break in main(), got there,
visited a Python file and manually reloaded python-mode, then
returned to the gdb buffer.  The => marker was visible and
didn't disappear with a series of next and step commands.

The only differences are I'm using XEmacs 21.5.9 and
python-mode 4.37.  If you can verify that the problem still exists
with 4.37 under Emacs 21 I'll dig further.
msg12301 - (view) Author: Brian Warner (warner) Date: 2003-12-17 10:39
Logged In: YES 
user_id=24186

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@cinla% cat hello.c 
#include <stdio.h>

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

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

print "hiya"
578:warner@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
History
Date User Action Args
2022-04-10 16:05:39adminsetgithub: 37148
2002-09-08 08:21:06dokocreate