The traceback results look identical to that of the error system. Once the 'format()' function has been moved into the 'self' namespace I'm happy for this branch to be merged back into the 1.2 line. The relax test-suite passes and the code is all good. This implements all of the ideas discusses in the threads starting at https://mail.gna.org/public/relax-devel/2006-08/msg00052.html (Message-id: <7f080ed10608100336r3dc92d80h1ce3251e55b49347@xxxxxxxxxxxxxx>) and https://mail.gna.org/public/relax-devel/2006-08/msg00071.html (Message-id: <1155722684.28764.797.camel@fbsdpcu021>), and those scattered ideas within the long NaN thread starting at https://mail.gna.org/public/relax-devel/2006-08/msg00000.html (Message-id: <7f080ed10608020558o47fd0260s9579f663147ab84@xxxxxxxxxxxxxx>).
Actually I've just looked over all the modifications and just have one more point. The warning statements in the 'pdb.py' file are only executed when the 'print_flag' is set. I think the 'if print_flag:' statements should be dropped and the warning printed to stderr in all situations. The print_flag variable is for increasing or decreasing the quantity of data, results, etc printed out for the user to see. The value is specifically set by the called user function and hence the variable won't exist in all situations. As with the RelaxError system The new RelaxWarning system would be better separated from this fine granularity output printing system.
I'll look back into trimming the other side of the stack later on. The idea I had was to trim both ends of the stack so that only things after the line
File "test_m5.py", line 38, in ?
in your traceback are printed, i.e. from the script onwards. This would only occur when RelaxErrors or RelaxWarnings occur. The RelaxError system does not currently have this feature, but it is a very ancient idea, so I might create a task for this. Then I can't forget about it again (which has occurred quite a number of times already). The change is very superficial though, but it may help users by simplifying the debugging output for them. I have previously avoided the task as it is not basic and the benefits were almost non-existant in the early stages of development.
Bye,
Edward