unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ken manheimer <ken.manheimer@gmail.com>
To: Dave Love <fx@gnu.org>
Cc: "skip@pobox.com" <skip@pobox.com>, "rms@gnu.org" <rms@gnu.org>,
	"python-mode@python.org" <python-mode@python.org>,
	"XEmacs-Beta@xemacs.org" <XEmacs-Beta@xemacs.org>,
	"barry@python.org" <barry@python.org>,
	"fbe2@comcast.net" <fbe2@comcast.net>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Re: replacing python.el
Date: Thu, 19 Feb 2009 15:21:00 -0500	[thread overview]
Message-ID: <2cd46e7f0902191221p74b2061aqde130167dcff4cab@mail.gmail.com> (raw)
In-Reply-To: <87wsc96fu1.fsf@liv.ac.uk>

sorry to be late to this python.el / python-mode.el convergence
discussion.  i'm concerned that what dave is describing would not
preserve a crucial feature of pdbtrack, a feature that may be a reason
some python developers choose python-mode.el over python.el.  (it is
for me.)

On Sun, Feb 1, 2009 at 3:51 PM, Dave Love <fx@gnu.org> wrote:
>[...]
> Indeed, and I don't understand what other problem there is with it,
> other than maintenance.  Why does it need to be replaced with
> python-mode.el, even if that was properly assigned?
>
> The only other worthwhile feature I know of sort-of from python-mode.el
> is related to something called pdbtrack (?).  My commentary explains
> that part of the functionality already exists, and something more
> general than the rest should be a general feature in GUD.  (The
> Python-specifics are already there.)  It's not difficult to restructure
> GUD -- or wasn't when I hacked it originally -- and it's not clean to
> make an add-on, which is why it's not in python.el.  I know there isn't
> interest in abstractions like that, but I didn't want to preempt a
> possible change of opinion.

when i last looked at it, gud was a terrible fit for pdbtrack.  if
things haven't changed drastically,  i'm concerned that what you're
suggesting would sacrifice pdbtrack's dynamicism.

this is all the more worrisome since i spent some time porting
pdbtrack to python.el.  it's currently there in emacs 23.0.90, but i
see it's not in the emacs that comes w/recent ubuntu, emacs 22.2.

here's the scoop, as best i can describe it.

gud is oriented to being in control of debugging, in particular
launching the program being debugged, or injecting a connection to
the executive to start the debugging at an arbitrary point, or
post-mortem.

pdbtrack, on the other hand, simply works wherevever python's
debugger, pdb, does.  the pdbtrack code is responsible for detecting
pdb activity within an (any) emacs shell and presenting, in a
companion buffer,  the source file and line that pdb is reporting as
the current instruction.

pdbtrack provides functionality for python's debugger, pdb, much like
edebug does for emacs lisp, except that pdb can be triggered as a
statement within the subject program's code, and not just taking over
execution of the program (as gdb and edebug do), or run
onerror/post-mortem.  (pdb also provides those modes.)  this turns out
to be invaluable in general, and especially for long-running programs
like servers, where you want debugging to trigger in very specific
situations.  with pdb, you just situate the debug-triggering code
exactly in the situation (i wish i could do this with edebug), or as
error handling around the situation.

gud may have facilities that could be used to enhance pdbtrack, but i
don't think it is designed to operate the way i describe above.  plus,
gud is massive, and i suspect it would take more emacs lisp code to
craft gud python accommodations than all of pdbtrack (last i checked
around 150 lines, including copious comments).

i hope this is clear.  as i said, pdbtrack porting to python.el has
already been done, it just isn't in the currently released version.
and, of course, there are other benefits to be had from a
python-mode.el/python.el convergence, but i want to make sure this
one, at least, is preserved.  (i also think the pdbtrack approach
would be appreciated for other dynamic languages, including emacs
lisp.)
-- 
ken
http://myriadicity.net




  parent reply	other threads:[~2009-02-19 20:21 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4980316B.7080503@online.de>
2009-02-01  6:31 ` replacing python.el Richard M Stallman
2009-02-01  7:00   ` Glenn Morris
2009-02-01  7:58     ` Beverley Eyre
2009-02-01 20:56       ` Dave Love
2009-02-02  2:37         ` Beverley Eyre
2009-02-02  3:37           ` Chong Yidong
2009-02-02 13:39             ` Barry Warsaw
2009-02-02 16:43         ` Richard M Stallman
2009-02-01 12:33     ` Barry Warsaw
2009-02-01 15:42       ` Jeff Kowalczyk
2009-02-02 13:11         ` Barry Warsaw
2009-02-01 21:57       ` Stefan Monnier
2009-02-02 18:57         ` Barry Warsaw
2009-02-01 20:51     ` Dave Love
2009-02-01 22:03       ` Stefan Monnier
2009-02-02 14:08       ` Barry Warsaw
2009-02-19 20:21       ` ken manheimer [this message]
2009-02-19 21:36         ` Barry Warsaw
2009-02-01 22:48     ` Richard M Stallman
2009-02-01  7:55   ` Beverley Eyre
2009-02-01 22:05     ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2cd46e7f0902191221p74b2061aqde130167dcff4cab@mail.gmail.com \
    --to=ken.manheimer@gmail.com \
    --cc=XEmacs-Beta@xemacs.org \
    --cc=barry@python.org \
    --cc=emacs-devel@gnu.org \
    --cc=fbe2@comcast.net \
    --cc=fx@gnu.org \
    --cc=python-mode@python.org \
    --cc=rms@gnu.org \
    --cc=skip@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).