##// END OF EJS Templates
Make event triggering robust to (un)registration....
Make event triggering robust to (un)registration. Event callbacks can register or unregister new callbacks for the same event while executing, and the previous triggering implementation allowed for event callbacks to be inadvertently skipped. The fix is to make a copy of the list of callbacks before executing any of them. With this change, the resulting semantics are simple: any callbacks registered before triggering are executed, and any new callbacks registered are only visible at the next triggering of the event. Note that this could potentially break existing callers who expected newly-appended callbacks were immediately executed. Fixes #9447. Originally based on a patch by @marksandler2.

File last commit:

r11336:24b78a4d
r22317:68860ee5
Show More
__main__.py
14 lines | 464 B | text/x-python | PythonLexer
Bradley M. Froehle
Allow starting IPython as `python -m IPython`....
r8667 # encoding: utf-8
"""Terminal-based IPython entry point.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2012, IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
Thomas Kluyver
Use new entry point for python -m IPython
r11336 from IPython import start_ipython
Bradley M. Froehle
Allow starting IPython as `python -m IPython`....
r8667
Thomas Kluyver
Use new entry point for python -m IPython
r11336 start_ipython()