◐ Shell
clean mode source ↗

Message 158369 - Python tracker

Thanks for your review, Terry.

Popping from the end is not an implementation of rule 2. Calling event handlers is separate concept from binding/unbinding event handlers. The "doafterhandler" list contains bind/unbind requests that were made while calling event handlers. The doafterhandler "queue" should be FIFO, not LIFO.

Code note 1:

The running time of the algorithm is an important consideration. Your last suggestion for using a for-loop looks most appropriate, as you've said. Attached is a revised patch for it.

Code note 2:

The _ComplexBinder class may need refactoring, but that's a separate issue. I'm willing to review patches for that.