This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Mark.Shannon
Recipients Mark.Shannon, georg.brandl, pitrou, vstinner
Date 2013-01-15.09:26:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1358241986.28.0.471673172826.issue16956@psf.upfronthosting.co.za>
In-reply-to
Content
The interaction between bdb/pdb and the line number table is via the frame.f_lineno attribute.

Allowing signed offsets changes the one-to-one line muber => bytecode offset relation into a one-to-many relation.

Reading frame.f_lineno is not an issue as each bytecode offset will always refer to exactly one line number.

Setting frame.f_lineno requires some thought as each line number could potentially refer to several bytecode offsets. However, the proposed patch retains the one-to-one relation, as the test in the while statement is merely moved, not duplicated.

I am reluctant to change frame_setlineno() until there really is a one-to-many relation as it will be untestable.
Once a one-to-many relation exists (e.g. duplicating finally blocks to avoid 'pseudo excpetions') then frame_setlineno should be modified (and tests added)
History
Date User Action Args
2013-01-15 09:26:26Mark.Shannonsetrecipients: + Mark.Shannon, georg.brandl, pitrou, vstinner
2013-01-15 09:26:26Mark.Shannonsetmessageid: <1358241986.28.0.471673172826.issue16956@psf.upfronthosting.co.za>
2013-01-15 09:26:26Mark.Shannonlinkissue16956 messages
2013-01-15 09:26:25Mark.Shannoncreate