#6 Py #567468: A different patch for python-mode vs gdb

open
nobody
None
5
2003-08-09
2003-08-09
Martin v. Löwis
No

This is from http://python.org/sf/567468:

Patch 509975 fixes the conflict between gdb-mode and
python-mode by checking whether the current process is
a python process. My patch fixes it more simply, by
only clearing the overlay arrow if we were the ones who
set it.

I'd be happy with either patch.

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

Date: 2002-07-16 18:53
Sender: bwarsaw
Logged In: YES
user_id=12800

I've rejected 509975 because it doesn't play nice when
you're pdb tracking from the shell (see comments in
that patch).

I'm not sure this patch works correctly either, but for a
different reason: it doesn't actually work for me!

If I add "import pdb; pdb.set_trace()" to a file and
then
execute the file from the shell buffer, I see the overlay
arrow. If I then switch to a gdb debugging a C program and
hit "next", the overlay arrow in the .py buffer
disappears.

This seems like a tricky problem and I don't have a good
solution, but I think I have to reject this patch too.

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

Date: 2002-07-16 19:02
Sender: nobody
Logged In: NO

The problem my patch was intended to fix is that currently
just loading python-mode.el (as happens by default
under Red
Hat 7.3) breaks gdb-mode. With my patch, it works fine.

emacs only supports one overlay arrow at a time; if you hit
'next' in gdb, gdb-mode will set the overlay arrow, which
means that it will no longer be set in the python buffer.
This may not be ideal behavior, but it's a limitation of
emacs, not a bug in my patch.

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

Date: 2002-07-16 19:30
Sender: bwarsaw
Logged In: YES
user_id=12800

Hmm, it must work differently in emacs than in XEmacs
(which
is what I use). In a vanilla Emacs 21.2.1 I can't get the
overlay arrow to work even without python-mode.el
loaded, so
I'll have to take your word for it.

In XEmacs, I definitely do get two overlay arrows, one in
the C buffer and one in the python-mode buffer. As I step
through the python program, the C arrow stays nicely
visible
and highlighted. As I step through gdb though, the python
overlay arrow disappears.

Your patch makes no difference to me and I can't get
overlay
arrow working at all in Emacs, so I suppose the patch is
benign. I'll reopen it but I'd like confirmation from some
other Emacs user that this fixes the problem in that
editor.
Alternatively, maybe I should just apply it and worry
about
it if people complain.

Discussion

  •  
    Attachments
  • Logged In: YES
    user_id=1310184

    This patch should really be applied. It works perfectly fine
    in emacs 21

    Cf. discussion in bug 912521 : python-mode kills arrow in
    gdb (gud.el)