On Tue, 2 May 2000, Eric S. Raymond wrote:
Ka-Ping Yee <ping@lfw.org>:
With the suggested changes, this would print as
Traceback (innermost last): Line 1 of <stdin> Line 3 of <stdin>, in Spam.eggs AttributeError: ham
IMHO, this is not a good idea. Emacs users like me want traceback labels to be *more* like C compiler error messages, not less.
I suppose Python could go all the way and say things like Traceback (innermost last): <stdin>:3 foo.py:25: in Spam.eggs AttributeError: ham but that might be more intimidating for a beginner. Besides, you Emacs guys have plenty of programmability anyway :) You would have to do a little parsing to get the file name and line number from the current format; it's no more work to get it from the suggested format. (What i would really like, by the way, is to see the values of the function arguments on the stack -- but that's a lot of work to do in C, so implementing this with the help of repr.repr will probably be the first thing i do with sys.displaytb.) -- ?!ng