* Current state of python.el in the Emacs trunk
@ 2011-01-27 9:33 Андрей Парамонов
0 siblings, 0 replies; 23+ messages in thread
From: Андрей Парамонов @ 2011-01-27 9:33 UTC (permalink / raw)
To: emacs-devel; +Cc: cschol2112
In reply to Bug#7329: [Patch] Enable completion in
inferior-python-mode Dave said:
> Thanks for letting me know, but I can't do anything about problems with
> the version in Emacs. The one I maintain has the feature, without the
> bugs people tell me about in the Emacs one.
I'm interested in better Python mode in Emacs as well.
Best wishes,
Andrey Paramonov
^ permalink raw reply [flat|nested] 23+ messages in thread
* Current state of python.el in the Emacs trunk @ 2011-01-27 4:32 Christoph 2011-01-27 18:35 ` Stefan Monnier 0 siblings, 1 reply; 23+ messages in thread From: Christoph @ 2011-01-27 4:32 UTC (permalink / raw) To: emacs-devel; +Cc: fx Hi, There was a recent comment in another thread that the Python mode is currently poorly maintained, so I started looking into what the current state is and what it would take to improve it. I noticed that the original author Dave Love has an updated version on his website, that, among other things, also supports Python 3. There is a note in the beginning of the file that this version is not covered by FSF copyright anymore. Can anybody (Dave?) shed some light on as to why there is such a big discrepancy between the Emacs version and Dave's version on his homepage? Could we update the Emacs version with Dave's changes (if he agrees and the legal stuff is sorted out, of course)? I would also like to volunteer to work on python.el by integrating Dave's changes, and work on other issues. For my own benefit, it would also be nice if it supported alternative implementations like IronPython, which right now it does not. There seems to be some support for Jython but just invoking the IronPython interpreter in Jython mode does not work and seems hokey, too. Christoph ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-01-27 4:32 Christoph @ 2011-01-27 18:35 ` Stefan Monnier 2011-01-28 0:23 ` Christoph 2011-02-15 20:07 ` Dave Love 0 siblings, 2 replies; 23+ messages in thread From: Stefan Monnier @ 2011-01-27 18:35 UTC (permalink / raw) To: Christoph; +Cc: fx, emacs-devel > I noticed that the original author Dave Love has an updated version on his > website, that, among other things, also supports Python 3. There is a note > in the beginning of the file that this version is not covered by FSF > copyright anymore. Can anybody (Dave?) shed some light on as to why there is > such a big discrepancy between the Emacs version and Dave's version on > his homepage? AFAIK, the problem is that Dave decided to declare the new changes as "not covered by his copyright assignment", in other words, expressly forbidding us to use them. I'm still not very clear if that's really what happened. > Could we update the Emacs version with Dave's changes (if he agrees and the > legal stuff is sorted out, of course)? We'd be happy to do that if we could, yes. We'd also be happy to have Dave help maintain our python.el directly. > I would also like to volunteer to work on python.el by integrating > Dave's changes, and work on other issues. If you can help clear the the communication between Dave and us, that would be wonderful, yes. > For my own benefit, it would also be nice if it supported alternative > implementations like IronPython, which right now it does not. > There seems to be some support for Jython but just invoking the > IronPython interpreter in Jython mode does not work and seems > hokey, too. Patches welcome, Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-01-27 18:35 ` Stefan Monnier @ 2011-01-28 0:23 ` Christoph 2011-02-15 20:07 ` Dave Love 1 sibling, 0 replies; 23+ messages in thread From: Christoph @ 2011-01-28 0:23 UTC (permalink / raw) To: Stefan Monnier; +Cc: Christoph, fx, emacs-devel On 1/27/2011 11:35 AM, Stefan Monnier wrote: > AFAIK, the problem is that Dave decided to declare the new changes as > "not covered by his copyright assignment", in other words, expressly > forbidding us to use them. > I'm still not very clear if that's really what happened. OK. I copied him on this thread. Dave, can you shed some light on this? I would appreciate it. Thank you! > If you can help clear the the communication between Dave and us, that > would be wonderful, yes. I will try my best. >> For my own benefit, it would also be nice if it supported alternative >> implementations like IronPython, which right now it does not. > > Patches welcome, Thanks. I will have some patches in a little while. Christoph ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-01-27 18:35 ` Stefan Monnier 2011-01-28 0:23 ` Christoph @ 2011-02-15 20:07 ` Dave Love 2011-02-15 20:13 ` Chong Yidong 1 sibling, 1 reply; 23+ messages in thread From: Dave Love @ 2011-02-15 20:07 UTC (permalink / raw) To: Stefan Monnier; +Cc: Christoph, emacs-devel@gnu.org [This message was stuck offline. Apologies for the late delivery.] Stefan Monnier <monnier@iro.umontreal.ca> writes: >> I noticed that the original author Dave Love has an updated version on his >> website, that, among other things, also supports Python 3. There is a note >> in the beginning of the file that this version is not covered by FSF >> copyright anymore. Can anybody (Dave?) shed some light on as to why there is >> such a big discrepancy between the Emacs version and Dave's version on >> his homepage? There were various ill-advised changes to the Emacs fork, for one thing, and people weren't interested in fixing the bugs as far as I can tell, possibly because of the propaganda from the direction of the old, less-capable mode. > We'd be happy to do that if we could, yes. We'd also be happy to have > Dave help maintain our python.el directly. It was unrewarding even to comment on bugs in it previously, and I wouldn't want just to help and be over-ruled in things like support for Python 3. In fact, much of the mode should be dumped anyway in favour of abstraction into a general framework, as intended; I don't understand why that was rejected. >> I would also like to volunteer to work on python.el by integrating >> Dave's changes, and work on other issues. > > If you can help clear the the communication between Dave and us, that > would be wonderful, yes. I responded to cyd some time ago, and I don't have time to dig that or repeat it now, sorry. Since you're planning to replace python.el with python-mode.el for some strange reason, I don't understand why this is relevant or why assignment difficulties matter, otherwise I might have been more careful. (python-mode.el even infringes the GPL.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-15 20:07 ` Dave Love @ 2011-02-15 20:13 ` Chong Yidong 2011-02-15 22:33 ` Stefan Monnier 2011-02-21 0:48 ` Dave Love 0 siblings, 2 replies; 23+ messages in thread From: Chong Yidong @ 2011-02-15 20:13 UTC (permalink / raw) To: Dave Love; +Cc: Christoph, Stefan Monnier, emacs-devel@gnu.org Dave Love <fx@gnu.org> writes: > Since you're planning to replace python.el with python-mode.el for > some strange reason, This is a false statement. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-15 20:13 ` Chong Yidong @ 2011-02-15 22:33 ` Stefan Monnier 2011-02-16 3:05 ` Christoph 2011-02-21 0:48 ` Dave Love 2011-02-21 0:48 ` Dave Love 1 sibling, 2 replies; 23+ messages in thread From: Stefan Monnier @ 2011-02-15 22:33 UTC (permalink / raw) To: Chong Yidong; +Cc: Christoph, Dave Love, emacs-devel@gnu.org >> Since you're planning to replace python.el with python-mode.el for >> some strange reason, > This is a false statement. Almost: there have been discussions to switch to python-mode.el (predicated on the ability to get the copyright cleared), so Dave's comment isn't completely false. The only problem is that the very reason for desiring such a switch is because nobody (including and especially the most obvious candidate, Dave) has been willing to maintain our python.el. IOW it's not really that his statement is false, but that we're faced with an inconsistent logic ;-) Now Fabian proposes a third Python mode. That sounds like adding insult to injury, but I must say it is very tempting: - its copyright is clean, like our python.el. - he seems interested in maintaining it. Of course, I'd rather work at bringing the various python modes closer to each other, rather than have them fork even further, so I'm not sure what's the best course here. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-15 22:33 ` Stefan Monnier @ 2011-02-16 3:05 ` Christoph 2011-02-16 4:32 ` Stefan Monnier ` (2 more replies) 2011-02-21 0:48 ` Dave Love 1 sibling, 3 replies; 23+ messages in thread From: Christoph @ 2011-02-16 3:05 UTC (permalink / raw) To: Stefan Monnier; +Cc: Chong Yidong, Dave Love, emacs-devel@gnu.org Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > The only problem is that the very reason for desiring such a switch is > because nobody (including and especially the most obvious candidate, > Dave) has been willing to maintain our python.el. I'm confused. Didn't I offer to do maintenance work, like for example integrating Dave's bug fixes (if he agreed to it)? I have actually spent quite some time digging through the current python.el mode and tried to do some clean up and fix things. For example, the inital integration of pdbtrack a couple of years ago left a huge amount of duplication since it was never really cleaned up. For example: why are there two different ways to invoke a python shell? > Now Fabian proposes a third Python mode. I looked at it and I like it. It actually fixes some issues that the current python.el has, especially when it comes to things like pdbtrack. I had some issues getting some of features to work (shell completion, for example) but that might just be because I was using 24.0.50 and/or using it wrong. I didn't have the time to compare the current python.el with Fabian's version as far as features go, but I didn't really miss anything while using Fabian's new mode today. > Of course, I'd rather work at bringing the various python modes closer > to each other, rather than have them fork even further, so I'm not sure > what's the best course here. As far as python-mode.el goes...the discussion I started on this list sparked another on the python-mode list: http://mail.python.org/pipermail/python-mode/2011-February/000937.html This doesn't sound like we would get on the same page anytime soon. Christoph ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-16 3:05 ` Christoph @ 2011-02-16 4:32 ` Stefan Monnier 2011-02-21 0:49 ` Dave Love 2011-02-16 7:07 ` Fabian Ezequiel Gallina 2011-02-21 0:51 ` Dave Love 2 siblings, 1 reply; 23+ messages in thread From: Stefan Monnier @ 2011-02-16 4:32 UTC (permalink / raw) To: Christoph; +Cc: Chong Yidong, Dave Love, emacs-devel@gnu.org >> The only problem is that the very reason for desiring such a switch is >> because nobody (including and especially the most obvious candidate, >> Dave) has been willing to maintain our python.el. > I'm confused. Didn't I offer to do maintenance work, like for example > integrating Dave's bug fixes (if he agreed to it)? Yes, you did, sorry for that. The discussion of moving to python-mode.el took place a good while before you suggested taking over maintenance, so I simplified my argument by not mentioning more recent developments. > I have actually spent quite some time digging through the current > python.el mode and tried to do some clean up and fix things. > For example, the inital integration of pdbtrack a couple of years ago > left a huge amount of duplication since it was never really cleaned > up. For example: why are there two different ways to invoke > a python shell? My best guess: historical accident. >> Now Fabian proposes a third Python mode. > I looked at it and I like it. It actually fixes some issues that the > current python.el has, especially when it comes to things like > pdbtrack. I had some issues getting some of features to work (shell > completion, for example) but that might just be because I was using > 24.0.50 and/or using it wrong. > I didn't have the time to compare the current python.el with Fabian's > version as far as features go, but I didn't really miss anything while > using Fabian's new mode today. Since you have a good knowledge of our current python.el, maybe you could get together with Fabian to merge the two? >> Of course, I'd rather work at bringing the various python modes closer >> to each other, rather than have them fork even further, so I'm not sure >> what's the best course here. > As far as python-mode.el goes...the discussion I started on this list > sparked another on the python-mode list: > http://mail.python.org/pipermail/python-mode/2011-February/000937.html > This doesn't sound like we would get on the same page anytime soon. Don't trust everything you read, and don't assume every poster in a thread is actually relevant to the problem. AFAIK most authors of python-mode.el would be willing to sign the needed papers and work with us, but it's indeed likely that one or two might pose problem, and even more likely that it'll take a lot of effort (if at all possible) to track down all those people. And furthermore, we don't need to integrate python-mode.el into Emacs to bring the various python mode closer to each other. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-16 4:32 ` Stefan Monnier @ 2011-02-21 0:49 ` Dave Love 0 siblings, 0 replies; 23+ messages in thread From: Dave Love @ 2011-02-21 0:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: Christoph, Chong Yidong, emacs-devel@gnu.org Stefan Monnier <monnier@iro.umontreal.ca> writes: > Don't trust everything you read, and don't assume every poster in > a thread is actually relevant to the problem. AFAIK most authors of > python-mode.el would be willing to sign the needed papers and work with > us, but it's indeed likely that one or two might pose problem, and even > more likely that it'll take a lot of effort (if at all possible) to > track down all those people. I'm sure I've said this before, but when we last tried, Barry Warsaw said he needed papers from a former employer, and couldn't get that, so it wasn't worth pursuing any others, and it didn't look as if there was enough information on other contributors anyway. I may even have the mail somewhere in an old archive. As I remember, Stefan was one of the people who had tried previously. I believe someone else said they had papers on file for it, but didn't according to the FSF records. Anyhow, the code I originally contributed was already better than the then python-mode.el, after I couldn't get that fixed. It also compared favourably with the Eclipse mode and the Python IDE in Python, whose name I forget. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-16 3:05 ` Christoph 2011-02-16 4:32 ` Stefan Monnier @ 2011-02-16 7:07 ` Fabian Ezequiel Gallina 2011-02-21 0:52 ` Dave Love 2011-02-21 0:51 ` Dave Love 2 siblings, 1 reply; 23+ messages in thread From: Fabian Ezequiel Gallina @ 2011-02-16 7:07 UTC (permalink / raw) To: Christoph; +Cc: Chong Yidong, Dave Love, Stefan Monnier, emacs-devel@gnu.org 2011/2/16 Christoph <cschol2112@googlemail.com>: > Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> Now Fabian proposes a third Python mode. It wasn't my plan to complicate things further, it was the approach that worked for me to solve the problem of my not-so-happy experience with the different python modes I tried. If it can help to enhance the current trunk's python.el status to something better then it's good twice. > > I looked at it and I like it. It actually fixes some issues that the > current python.el has, especially when it comes to things like > pdbtrack. I had some issues getting some of features to work (shell > completion, for example) but that might just be because I was using > 24.0.50 and/or using it wrong. > That's good to hear, I fixed some shell integration and completion stuff today, so that probably will do the trick. > I didn't have the time to compare the current python.el with Fabian's > version as far as features go, but I didn't really miss anything while > using Fabian's new mode today. > Most of the stuff in trunk's python.el is there, so (I hope) your feeling remains that way :) Regards, -- Fabián E. Gallina http://www.from-the-cloud.com ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-16 7:07 ` Fabian Ezequiel Gallina @ 2011-02-21 0:52 ` Dave Love 0 siblings, 0 replies; 23+ messages in thread From: Dave Love @ 2011-02-21 0:52 UTC (permalink / raw) To: Fabian Ezequiel Gallina Cc: Christoph, Chong Yidong, Stefan Monnier, emacs-devel@gnu.org Fabian Ezequiel Gallina <galli.87@gmail.com> writes: > It wasn't my plan to complicate things further, it was the approach > that worked for me to solve the problem of my not-so-happy experience > with the different python modes I tried. What's wrong with mine, and did you report the problems? If so, I don't recall seeing it. > Most of the stuff in trunk's python.el is there, so (I hope) your > feeling remains that way :) So how is this new mode better than mine, and where can I see it? ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-16 3:05 ` Christoph 2011-02-16 4:32 ` Stefan Monnier 2011-02-16 7:07 ` Fabian Ezequiel Gallina @ 2011-02-21 0:51 ` Dave Love 2011-02-24 6:13 ` Christoph 2 siblings, 1 reply; 23+ messages in thread From: Dave Love @ 2011-02-21 0:51 UTC (permalink / raw) To: Christoph; +Cc: Chong Yidong, Stefan Monnier, emacs-devel@gnu.org Christoph <cschol2112@googlemail.com> writes: > I'm confused. Didn't I offer to do maintenance work, like for example > integrating Dave's bug fixes (if he agreed to it)? I'm not sure what fixes you mean. I've just maintained a separate version. > I have actually spent quite some time digging through the current > python.el mode and tried to do some clean up and fix things. That stuff simply shouldn't be there, which is why it originally wasn't. It appears all the world's Python, so it doesn't matter if it causes global problems and more-or-less excludes similar things for other interpreters as far as I remember. (I implemented a gud-minor-mode, of course, but it required changes to gud.el and I didn't keep up with Emacs. I think the general facility was less code than the Python-specific version.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-21 0:51 ` Dave Love @ 2011-02-24 6:13 ` Christoph 2011-03-29 4:58 ` ken manheimer 0 siblings, 1 reply; 23+ messages in thread From: Christoph @ 2011-02-24 6:13 UTC (permalink / raw) To: Dave Love; +Cc: Chong Yidong, Stefan Monnier, emacs-devel@gnu.org Dave Love <fx@gnu.org> writes: > I'm not sure what fixes you mean. I've just maintained a separate > version. I was volunteering in case you were willing to let us incorporate any fixes and improvements you made to your separate mode into the trunk but couldnt or didnt want to do it yourself. The commentary of your file says that certain bugs have been fixed, iirc. > That stuff simply shouldn't be there, which is why it originally > wasn't. That's what I am currently working on cleaning up. This is mainly to provide a cleaner base for the integration of functionality from Fabian's new mode. > It appears all the world's Python, so it doesn't matter if it causes > global problems and more-or-less excludes similar things for other > interpreters as far as I remember. (I implemented a gud-minor-mode, of > course, but it required changes to gud.el and I didn't keep up with > Emacs. I think the general facility was less code than the > Python-specific version.) I am unclear as to how gud-minor-mode would be better, since I am not familiar with that mode at all. However, I remember reading in some old thread where somebody made the point that Python's way of debugging doesn't lend itself well to using a gud-minor-mode. I might have to go back and reread that thread again. Christoph ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-24 6:13 ` Christoph @ 2011-03-29 4:58 ` ken manheimer 2011-03-29 14:03 ` Stefan Monnier 0 siblings, 1 reply; 23+ messages in thread From: ken manheimer @ 2011-03-29 4:58 UTC (permalink / raw) To: Christoph; +Cc: Chong Yidong, Dave Love, Stefan Monnier, emacs-devel@gnu.org [-- Attachment #1: Type: text/plain, Size: 7615 bytes --] On Thu, Feb 24, 2011 at 1:13 AM, Christoph <cschol2112@googlemail.com>wrote: > Dave Love <fx@gnu.org> writes: > > > I'm not sure what fixes you mean. I've just maintained a separate > > version. > > I was volunteering in case you were willing to let us incorporate any > fixes and improvements you made to your separate mode into the trunk but > couldnt or didnt want to do it yourself. The commentary of your file > says that certain bugs have been fixed, iirc. > > > That stuff simply shouldn't be there, which is why it originally > > wasn't. > > That's what I am currently working on cleaning up. This is mainly to > provide a cleaner base for the integration of functionality from > Fabian's new mode. > > > It appears all the world's Python, so it doesn't matter if it causes > > global problems and more-or-less excludes similar things for other > > interpreters as far as I remember. (I implemented a gud-minor-mode, of > > course, but it required changes to gud.el and I didn't keep up with > > Emacs. I think the general facility was less code than the > > Python-specific version.) > > I am unclear as to how gud-minor-mode would be better, since I am not > familiar with that mode at all. However, I remember reading in some old > thread where somebody made the point that Python's way of debugging > doesn't lend itself well to using a gud-minor-mode. I might have to go > back and reread that thread again. > > Christoph sorry it's about a month later, but i wasn't aware of these conversations until this eve. i expect that the point to which you're referring is mine, stated in the message included below. the upshot is that, in my not-so-recent acquaintance with gud and gdb-oriented debugging, they're oriented to be used as executives, running the program being debugged. this (if it is, in fact, the case) is extremely cumbersome and limited when it comes to debugging very dynamic languages, where you may want to embark on debugging in the middle of an already-executing run, dropping to an interactive session when a traceback is encountered. this is useful for many programs, and crucial for long running servers (like zope, which was my main focus when i developed pdbtrack for python-mode.el). when i originally developed pdbtrack i looked at gud integration, and it was horrifying. i got 90% of what i needed by using a comint output filter which noticed the python debugger's (pdb's) characteristic output and fetched the corresponding files in another buffer, with the overlay-arrow on the current line, and tracking execution as you interact with the python debugger in whatever the shell is where it's running. i did that with less that 150 lines of elisp lines, including a lot of comments. i depend on it daily when debugging python within emacs, and i think many other emacs / python users do, too. i was spurred to speak up when dave suggested in the thread (as i excerpted in the following message) that "it's not difficult to restructure GUD" to provide the functionality, and therefore "and it's not clean to make an add-on, which is why it's [pdbtrack, i believe] not in python.el". it sounded like, by suggesting providing the functionality with gud, dave was missing and/or dismissing some central features which make pdbtrack useful. i can see making it easy to disable for the people who don't want to use it, but making it unavailable for those who need it was a very frustrating prospect. however, pdbtrack does seem to be present in the versions of python.el that come with emacs 23 on the various systems i use, so i'm hopeful it's been adopted and will continue to be. ken ---------- Forwarded message ---------- From: ken manheimer <ken.manheimer@gmail.com> Date: Thu, Feb 19, 2009 at 3:21 PM Subject: Re: replacing python.el To: Dave Love <fx@gnu.org> Cc: Glenn Morris <rgm@gnu.org>, "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> 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 > [-- Attachment #2: Type: text/html, Size: 10669 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-03-29 4:58 ` ken manheimer @ 2011-03-29 14:03 ` Stefan Monnier 2011-03-29 15:34 ` Fabian Ezequiel Gallina 2011-03-30 2:12 ` Christoph Scholtes 0 siblings, 2 replies; 23+ messages in thread From: Stefan Monnier @ 2011-03-29 14:03 UTC (permalink / raw) To: ken manheimer; +Cc: Christoph, Chong Yidong, Dave Love, emacs-devel@gnu.org > prospect. however, pdbtrack does seem to be present in the versions of > python.el that come with Emacs 23 on the various systems i use, so i'm > hopeful it's been adopted and will continue to be. There's no plan to remove it, indeed. Its global impact is a bit problematic but that's no argument for removing the feature since it's not a bug of the implementation but is part of the intended UI. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-03-29 14:03 ` Stefan Monnier @ 2011-03-29 15:34 ` Fabian Ezequiel Gallina 2011-03-30 2:12 ` Christoph Scholtes 1 sibling, 0 replies; 23+ messages in thread From: Fabian Ezequiel Gallina @ 2011-03-29 15:34 UTC (permalink / raw) To: Stefan Monnier Cc: Christoph, ken manheimer, Dave Love, Chong Yidong, emacs-devel@gnu.org 2011/3/29 Stefan Monnier <monnier@iro.umontreal.ca>: >> prospect. however, pdbtrack does seem to be present in the versions of >> python.el that come with Emacs 23 on the various systems i use, so i'm >> hopeful it's been adopted and will continue to be. > > There's no plan to remove it, indeed. Its global impact is a bit > problematic but that's no argument for removing the feature since it's > not a bug of the implementation but is part of the intended UI. > FWIW the python.el I'm proposing contains a pretty short pdbtrack implementation[0]. [0] https://github.com/fgallina/python.el/blob/master/python.el#L1413 (sorry Stefan for the double email) Regards, -- Fabián E. Gallina http://www.from-the-cloud.com ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-03-29 14:03 ` Stefan Monnier 2011-03-29 15:34 ` Fabian Ezequiel Gallina @ 2011-03-30 2:12 ` Christoph Scholtes 1 sibling, 0 replies; 23+ messages in thread From: Christoph Scholtes @ 2011-03-30 2:12 UTC (permalink / raw) To: Stefan Monnier Cc: ken manheimer, Dave Love, Chong Yidong, emacs-devel@gnu.org Stefan Monnier <monnier@iro.umontreal.ca> writes: >> prospect. however, pdbtrack does seem to be present in the versions of >> python.el that come with Emacs 23 on the various systems i use, so i'm >> hopeful it's been adopted and will continue to be. > > There's no plan to remove it, indeed. Its global impact is a bit > problematic but that's no argument for removing the feature since it's > not a bug of the implementation but is part of the intended UI. I actually like the idea of pdbtrack quite a bit and like Stefan said, there is no plan to remove it. Fabian's implementation works really nice and also handles all corner cases well, for example the end of the script being debugged. The current pdbtrack implementation would end up in emacs2.py when stepping past the end of the script. Christoph ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-15 22:33 ` Stefan Monnier 2011-02-16 3:05 ` Christoph @ 2011-02-21 0:48 ` Dave Love 2011-02-21 2:10 ` Stephen J. Turnbull ` (2 more replies) 1 sibling, 3 replies; 23+ messages in thread From: Dave Love @ 2011-02-21 0:48 UTC (permalink / raw) To: Stefan Monnier; +Cc: Christoph, Chong Yidong, emacs-devel@gnu.org Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > The only problem is that the very > reason for desiring such a switch is because nobody (including and > especially the most obvious candidate, Dave) has been willing to > maintain our python.el. I wasn't unwilling to maintain it, and I attempted in the past to get the Emacs version fixed and prevent problems being introduced, but that was rather unrewarding, and I gave up. It's not appropriate anyway, as rms seems to think I act in bad faith these days. If I was mainatinaing it, I'd just do what I've been doing separately, which doesn't seem acceptable. I haven't checked exactly what's currently in Emacs, but I'm baffled why, for instance, it got three .py files instead of a more maintainable one, and why changes were made which clearly broke things. > Now Fabian proposes a third Python mode. That sounds like adding innnsult > to injury, but I must say it is very tempting: > - its copyright is clean, like our python.el. > - he seems interested in maintaining it. I don't know what that's about, but I maintain a version with no unfixed bugs I'm aware of, and had various features (and not misfeatures) the others don't. Until I started working on it at the university, it was covered by an assignment (given potential problems with my previous employment were disregarded) and could just have been used. It may well need to be fixed for the incompatible Emacs changes that get made, but I'd fix it if told, and if it didn't break it for released versions. > Of course, I'd rather work at bringing the various python modes closer > to each other, rather than have them fork even further, so I'm not sure > what's the best course here. Why? python.el was intentionally different from python-mode.el for various reasons, like being a well-behaved Emacs (as opposed to XEmacs?) mode. I don't understand why you'd want something whose distinction as far as I can tell is violating conventions with fewer features and extra bugs. Actually, after all the propaganda about it, python.el code now seems to be migrating into python-mode.el (after stripping the copyright headers, contrary to the licence, of course). I do find this all pretty sad. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-21 0:48 ` Dave Love @ 2011-02-21 2:10 ` Stephen J. Turnbull 2011-02-21 2:25 ` Stephen J. Turnbull 2011-02-21 22:25 ` Stefan Monnier 2 siblings, 0 replies; 23+ messages in thread From: Stephen J. Turnbull @ 2011-02-21 2:10 UTC (permalink / raw) To: Dave Love; +Cc: Christoph, Chong Yidong, Stefan Monnier, emacs-devel@gnu.org Dave Love writes: > Why? python.el was intentionally different from python-mode.el for > various reasons, like being a well-behaved Emacs (as opposed to XEmacs?) > mode. The people working on python-mode do seem to prefer XEmacs to a certain extent, so I can understand why you might write something like that, but I assure it's not very well-behaved by XEmacs standards, either. We do tend to be more lenient in those matters if somebody volunteers to do the maintainance, though, unless it visibly impacts other code. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-21 0:48 ` Dave Love 2011-02-21 2:10 ` Stephen J. Turnbull @ 2011-02-21 2:25 ` Stephen J. Turnbull 2011-02-21 22:25 ` Stefan Monnier 2 siblings, 0 replies; 23+ messages in thread From: Stephen J. Turnbull @ 2011-02-21 2:25 UTC (permalink / raw) To: Dave Love; +Cc: Christoph, Chong Yidong, Stefan Monnier, emacs-devel@gnu.org Dave Love writes: > python.el code now seems to be migrating into python-mode.el (after > stripping the copyright headers, contrary to the licence, of > course). Please add specific references to http://tracker.xemacs.org/XEmacs/its/issue753 and I'll do something about it in the XEmacs packaged version. (I'll do something about it eventually anyway, but it's not exactly top priority for me personally; a lot of work for very little in return.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-21 0:48 ` Dave Love 2011-02-21 2:10 ` Stephen J. Turnbull 2011-02-21 2:25 ` Stephen J. Turnbull @ 2011-02-21 22:25 ` Stefan Monnier 2 siblings, 0 replies; 23+ messages in thread From: Stefan Monnier @ 2011-02-21 22:25 UTC (permalink / raw) To: Dave Love; +Cc: Christoph, Chong Yidong, emacs-devel@gnu.org > I wasn't unwilling to maintain it, and I attempted in the past to get > the Emacs version fixed and prevent problems being introduced, but that > was rather unrewarding, and I gave up. "I gave up" is basically what I meant by "unwilling to maintain". If you prefer that I say "we were not willing to have him as maintainer under the terms he wanted" that's perfectly fine by me: I do not care about whose fault it is. I only care about improving our python.el and making sure it stays well maintained. > If I was mainatinaing it, I'd just do what I've been doing separately, > which doesn't seem acceptable. I do not understand the above sentence. > I haven't checked exactly what's > currently in Emacs, but I'm baffled why, for instance, it got three > .py files instead of a more maintainable one, Presumably because, for lack of a maintainer, we integrate suboptimal patches which solved incompatibilities between Python2 and Python3 by splitting the file into two versions. > and why changes were made which clearly broke things. I don't know to which changes you're referring here. > I don't know what that's about, but I maintain a version with no unfixed > bugs I'm aware of, and had various features (and not misfeatures) the > others don't. But that does not help us much since (IIUC) you say that those changes aren't covered by your assignment so we can't integrate them. >> Of course, I'd rather work at bringing the various python modes closer >> to each other, rather than have them fork even further, so I'm not sure >> what's the best course here. > Why? python.el was intentionally different from python-mode.el for > various reasons, like being a well-behaved Emacs (as opposed to XEmacs?) > mode. I don't understand why you'd want something whose distinction as > far as I can tell is violating conventions with fewer features and extra > bugs. Bringing them closer to each other does not necessarily mean "take the bad parts of python-mode.el". BTW, regarding the global effect of pdbtrack, I agree that it's a bit problematic, but at the same time this provides a form of integration that some users really appreciate and which seems difficult to get within something like GUD. It'd be good to let users choose which one they want. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Current state of python.el in the Emacs trunk 2011-02-15 20:13 ` Chong Yidong 2011-02-15 22:33 ` Stefan Monnier @ 2011-02-21 0:48 ` Dave Love 1 sibling, 0 replies; 23+ messages in thread From: Dave Love @ 2011-02-21 0:48 UTC (permalink / raw) To: Chong Yidong; +Cc: Christoph, Stefan Monnier, emacs-devel@gnu.org Chong Yidong <cyd@stupidchicken.com> writes: > Dave Love <fx@gnu.org> writes: > >> Since you're planning to replace python.el with python-mode.el for >> some strange reason, > > This is a false statement. I have to take statements like "The plan is to ship it with python.el until we can ship it with python-mode.el" at face value, but I'm sorry I forgot you previously said it was false, whether or not it is. I should have talked in the past tense about it, anyway. ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2011-03-30 2:12 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-01-27 9:33 Current state of python.el in the Emacs trunk Андрей Парамонов -- strict thread matches above, loose matches on Subject: below -- 2011-01-27 4:32 Christoph 2011-01-27 18:35 ` Stefan Monnier 2011-01-28 0:23 ` Christoph 2011-02-15 20:07 ` Dave Love 2011-02-15 20:13 ` Chong Yidong 2011-02-15 22:33 ` Stefan Monnier 2011-02-16 3:05 ` Christoph 2011-02-16 4:32 ` Stefan Monnier 2011-02-21 0:49 ` Dave Love 2011-02-16 7:07 ` Fabian Ezequiel Gallina 2011-02-21 0:52 ` Dave Love 2011-02-21 0:51 ` Dave Love 2011-02-24 6:13 ` Christoph 2011-03-29 4:58 ` ken manheimer 2011-03-29 14:03 ` Stefan Monnier 2011-03-29 15:34 ` Fabian Ezequiel Gallina 2011-03-30 2:12 ` Christoph Scholtes 2011-02-21 0:48 ` Dave Love 2011-02-21 2:10 ` Stephen J. Turnbull 2011-02-21 2:25 ` Stephen J. Turnbull 2011-02-21 22:25 ` Stefan Monnier 2011-02-21 0:48 ` Dave Love
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).