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 vstinner
Recipients Demur Rumed, martius, ned.deily, r.david.murray, serhiy.storchaka, vstinner, yselivanov
Date 2016-11-23.23:57:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> Another much larger change would be to change f_lasti to -2...

Attached lasti.patch implements this idea. I consider that it makes the C code simpler because getting the next instruction (f_lasti + 2) doesn't require a special case anymore.

My patch keeps f_lasti == -1 at the Python level for backward compatibility.

lasti.patch is only a backward incompatible change at the C level.


Between pygen_yf.patch and lasti.patch, I prefer lasti.patch even if 3.6 is at its last beta version before the final version. I prefer to fix the C API. Later it will be much harder to fix it.


I read again the wordcode issue #26647:

I wrote on the review of wpy7.patch: "The overall change LGTM, but I'm no more 100% sure that starting f_lasti=-1 is safe."

I wrote: "IMHO it's ok to break the C API, but I would prefer to keep the backward compatibility for the Python API (replace any negative number with -1 for the Python API)."

Serhiy: "I think we should make yet few related changes: (...) * Change f_lasti, tb_lasti etc to count code units instead of bytes."
Date User Action Args
2016-11-23 23:57:51vstinnersetrecipients: + vstinner, ned.deily, r.david.murray, serhiy.storchaka, yselivanov, martius, Demur Rumed
2016-11-23 23:57:51vstinnersetmessageid: <>
2016-11-23 23:57:51vstinnerlinkissue28782 messages
2016-11-23 23:57:50vstinnercreate