This patch makes Python/compile.c:com_node call com_set_lineno unconditionally, and removes all the other calls to the function, exploiting the fact that com_set_lineno is now a noop when unnecessary. I can't help feeling this is too easy. What have I missed? Resulting python passes make test, but that's not really news.
Logged In: YES user_id=6656 I withdraw this patch. It breaks tracing & frame_set_lineno in complicated ways that will take real thought to fix. The more I think about it, the more I think the hypothetical 2.4 compiler should use a richer data structure than c_lnotab.