Each pseudoevent is bound to an event handler. Some event handlers
call another function that does the actual work. The annotations below
are intended to at least give the module where the actual work is done.
+'eEW' = editor.EditorWindow
-File # IOBindig except as noted
- New File
- Open... # IOBinding.open
- Open Module
+File
+ New File # eEW.new_callback
+ Open... # iomenu.open
+ Open Module # eEw.open_module
Recent Files
- Class Browser # Class Browser
- Path Browser # Path Browser
+ Class Browser # eEW.open_class_browser, browser.ClassBrowser
+ Path Browser # eEW.open_path_browser, pathbrowser
---
- Save # IDBinding.save
- Save As... # IOBinding.save_as
- Save Copy As... # IOBindling.save_a_copy
+ Save # iomenu.save
+ Save As... # iomenu.save_as
+ Save Copy As... # iomenu.save_a_copy
---
- Print Window # IOBinding.print_window
+ Print Window # iomenu.print_window
---
- Close
- Exit
+ Close # eEW.close_event
+ Exit # flist.close_all_callback (bound in eEW)
Edit
- Undo # undoDelegator
- Redo # undoDelegator
- ---
- Cut
- Copy
- Paste
- Select All
- --- # Next 5 items use SearchEngine; dialogs use SearchDialogBase
- Find # Search Dialog
- Find Again
- Find Selection
- Find in Files... # GrepDialog
- Replace... # ReplaceDialog
- Go to Line
- Show Completions # AutoComplete extension and AutoCompleteWidow (&HP)
- Expand Word # AutoExpand extension
- Show call tip # Calltips extension and CalltipWindow (& Hyperparser)
- Show surrounding parens # ParenMatch (& Hyperparser)
-
-Shell # PyShell
- View Last Restart # PyShell.PyShell.view_restart_mark
- Restart Shell # PyShell.PyShell.restart_shell
+ Undo # undodelegator
+ Redo # undodelegator
+ --- # eEW.right_menu_event
+ Cut # eEW.cut
+ Copy # eEW.copy
+ Paste # eEW.past
+ Select All # eEW.select_all (+ see eEW.remove_selection)
+ --- # Next 5 items use searchengine; dialogs use searchbase
+ Find # eEW.find_event, search.SearchDialog.find
+ Find Again # eEW.find_again_event, sSD.find_again
+ Find Selection # eEW.find_selection_event, sSD.find_selection
+ Find in Files... # eEW.find_in_files_event, grep
+ Replace... # eEW.replace_event, replace.ReplaceDialog.replace
+ Go to Line # eEW.goto_line_event
+ Show Completions # autocomplete extension and autocompleteWidow (&HP)
+ Expand Word # autoexpand extension
+ Show call tip # Calltips extension and CalltipWindow (& Hyperparser)
+ Show surrounding parens # parenmatch (& Hyperparser)
+
+Shell # pyshell
- View Last Restart# pyshell.?
- Restart Shell # pyshell.?
++ View Last Restart # pyshell.PyShell.view_restart_mark
++ Restart Shell # pyshell.PyShell.restart_shell
+ Interrupt Execution # pyshell.PyShell.cancel_callback
Debug (Shell only)
Go to File/Line
- debugger # debugger, debugger_r
- Stack Viewer # stackviewer
- Debugger # Debugger, RemoteDebugger, PyShell.toggle_debuger
- Stack Viewer # StackViewer, PyShell.open_stack_viewer
- Auto-open Stack Viewer # StackViewer
++ debugger # debugger, debugger_r, PyShell.toggle_debuger
++ Stack Viewer # stackviewer, PyShell.open_stack_viewer
+ Auto-open Stack Viewer # stackviewer
Format (Editor only)
- Indent Region
- Dedent Region
- Comment Out Region
- Uncomment Region
- Tabify Region
- Untabify Region
- Toggle Tabs
- New Indent Width
- Format Paragraph # FormatParagraph extension
+ Indent Region # eEW.indent_region_event
+ Dedent Region # eEW.dedent_region_event
+ Comment Out Reg. # eEW.comment_region_event
+ Uncomment Region # eEW.uncomment_region_event
+ Tabify Region # eEW.tabify_region_event
+ Untabify Region # eEW.untabify_region_event
+ Toggle Tabs # eEW.toggle_tabs_event
+ New Indent Width # eEW.change_indentwidth_event
+ Format Paragraph # paragraph extension
---
- Strip tailing whitespace # RstripExtension extension
+ Strip tailing whitespace # rstrip extension
Run (Editor only)
- Python Shell # PyShell
+ Python Shell # pyshell
---
- Check Module # ScriptBinding
- Run Module # ScriptBinding
+ Check Module # runscript
+ Run Module # runscript
Options
- Configure IDLE # configDialog
+ Configure IDLE # eEW.config_dialog, configdialog
(tabs in the dialog)
- Font tab # onfig-main.def
- Highlight tab # configSectionNameDialog, config-highlight.def
- Keys tab # keybindingDialog, configSectionNameDialog, onfig-keus.def
- General tab # configHelpSourceEdit, config-main.def
- Configure Extensions # configDialog
- Xyz tab # xyz.py, config-extensions.def
+ Font tab # config-main.def
+ Highlight tab # query, config-highlight.def
+ Keys tab # query, config_key, config_keys.def
+ General tab # config_help, config-main.def
+ Extensions tab # config-extensions.def, corresponding .py
---
- Code Context (editor only) # CodeContext extension
+ Code Context (ed)# codecontext extension
Window
- Zoomheight # ZoomHeight extension
+ Zoomheight # zoomheight extension
---
- <open windows> # WindowList
+ <open windows> # windows
Help
- About IDLE # aboutDialog
+ About IDLE # eEW.about_dialog, help_about.AboutDialog
---
- IDLE Help # help
- Python Doc
- Turtle Demo
+ IDLE Help # eEW.help_dialog, helpshow_idlehelp
+ Python Doc # eEW.python_docs
+ Turtle Demo # eEW.open_turtle_demo
---
<other help sources>
- Issue #2466: posixpath.ismount now correctly recognizes mount points which
the user does not have permission to access.
-- Issue #27773: Correct some memory management errors server_hostname in
- _ssl.wrap_socket().
-
-- Issue #26750: unittest.mock.create_autospec() now works properly for
- subclasses of property() and other data descriptors.
-
-- In the curses module, raise an error if window.getstr() or window.instr() is
- passed a negative value.
-
-- Issue #27783: Fix possible usage of uninitialized memory in
- operator.methodcaller.
-
-- Issue #27774: Fix possible Py_DECREF on unowned object in _sre.
-
-- Issue #27760: Fix possible integer overflow in binascii.b2a_qp.
-
-- Issue #27758: Fix possible integer overflow in the _csv module for large
- record lengths.
-
-- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
- HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates
- that the script is in CGI mode.
-
-- Issue #27656: Do not assume sched.h defines any SCHED_* constants.
-
-- Issue #27130: In the "zlib" module, fix handling of large buffers
- (typically 4 GiB) when compressing and decompressing. Previously, inputs
- were limited to 4 GiB, and compression and decompression operations did not
- properly handle results of 4 GiB.
-
-- Issue #27533: Release GIL in nt._isdir
-
-- Issue #17711: Fixed unpickling by the persistent ID with protocol 0.
- Original patch by Alexandre Vassalotti.
-
-- Issue #27522: Avoid an unintentional reference cycle in email.feedparser.
+- Issue #9998: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH
+ for shared libraries.
-- Issue #26844: Fix error message for imp.find_module() to refer to 'path'
- instead of 'name'. Patch by Lev Maximov.
-
-- Issue #23804: Fix SSL zero-length recv() calls to not block and not raise
- an error about unclean EOF.
+- Issue #27573: exit message for code.interact is now configurable.
-- Issue #27466: Change time format returned by http.cookie.time2netscape,
- confirming the netscape cookie format and making it consistent with
- documentation.
+- Issue #27930: Improved behaviour of logging.handlers.QueueListener.
+ Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.
-- Issue #26664: Fix activate.fish by removing mis-use of ``$``.
+- Issue #6766: Distributed reference counting added to multiprocessing
+ to support nesting of shared values / proxy objects.
-- Issue #22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong
- mode no longer break tracing, trace_vinfo() now always returns a list of
- pairs of strings, tracing in the "u" mode now works.
+- Issue #21201: Improves readability of multiprocessing error message. Thanks
+ to Wojciech Walczak for patch.
-- Fix a scoping issue in importlib.util.LazyLoader which triggered an
- UnboundLocalError when lazy-loading a module that was already put into
- sys.modules.
+- asyncio: Add set_protocol / get_protocol to Transports.
-- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().
+- Issue #27456: asyncio: Set TCP_NODELAY by default.
-- Issue #26754: Some functions (compile() etc) accepted a filename argument
- encoded as an iterable of integers. Now only strings and byte-like objects
- are accepted.
+IDLE
+----
-- Issue #27048: Prevents distutils failing on Windows when environment
- variables contain non-ASCII characters
++- Issue #15308: Add 'interrupt execution' (^C) to Shell menu.
++ Patch by Roger Serwy, updated by Bayard Randel.
+
-- Issue #27330: Fixed possible leaks in the ctypes module.
+- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
-- Issue #27238: Got rid of bare excepts in the turtle module. Original patch
- by Jelle Zijlstra.
+- Issue #27891: Consistently group and sort imports within idlelib modules.
-- Issue #27122: When an exception is raised within the context being managed
- by a contextlib.ExitStack() and one of the exit stack generators
- catches and raises it in a chain, do not re-raise the original exception
- when exiting, let the new chained one through. This avoids the PEP 479
- bug described in issue25782.
+- Issue #17642: add larger font sizes for classroom projection.
-- [Security] Issue #27278: Fix os.urandom() implementation using getrandom() on
- Linux. Truncate size to INT_MAX and loop until we collected enough random
- bytes, instead of casting a directly Py_ssize_t to int.
+- Add version to title of IDLE help window.
-- Issue #26386: Fixed ttk.TreeView selection operations with item id's
- containing spaces.
+- Issue #25564: In section on IDLE -- console differences, mention that
+ using exec means that __builtins__ is defined for each statement.
-- [Security] Issue #22636: Avoid shell injection problems with
- ctypes.util.find_library().
+- Issue #27821: Fix 3.6.0a3 regression that prevented custom key sets
+ from being selected when no custom theme was defined.
-- Issue #16182: Fix various functions in the "readline" module to use the
- locale encoding, and fix get_begidx() and get_endidx() to return code point
- indexes.
+C API
+-----
-- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
+- Issue #26900: Excluded underscored names and other private API from limited API.
-- Issue #27392: Add loop.connect_accepted_socket().
- Patch by Jim Fulton.
+- Issue #26027: Add support for path-like objects in PyUnicode_FSConverter() &
+ PyUnicode_FSDecoder().
-- Issue #27930: Improved behaviour of logging.handlers.QueueListener.
- Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.
+Tests
+-----
-- Issue #21201: Improves readability of multiprocessing error message. Thanks
- to Wojciech Walczak for patch.
+- Issue #27427: Additional tests for the math module. Patch by Francisco Couzo.
-- Issue #27456: asyncio: Set TCP_NODELAY by default.
+- Issue #27953: Skip math and cmath tests that fail on OS X 10.4 due to a
+ poor libm implementation of tan.
-IDLE
-----
+- Issue #26040: Improve test_math and test_cmath coverage and rigour. Patch by
+ Jeff Allen.
-- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
+- Issue #27787: Call gc.collect() before checking each test for "dangling
+ threads", since the dangling threads are weak references.
-- Add version to title of IDLE help window.
+Build
+-----
-- Issue #25564: In section on IDLE -- console differences, mention that
- using exec means that __builtins__ is defined for each statement.
+- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach)
-- Issue #27714: text_textview and test_autocomplete now pass when re-run
- in the same process. This occurs when test_idle fails when run with the
- -w option but without -jn. Fix warning from test_config.
+- Issue #27705: Update message in validate_ucrtbase.py
-- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports.
- Users must include the same imports required to run directly in Python.
+- Issue #27976: Deprecate building _ctypes with the bundled copy of libffi on
+ non-OSX UNIX platforms.
-- Issue #27452: add line counter and crc to IDLE configHandler test dump.
+- Issue #27983: Cause lack of llvm-profdata tool when using clang as
+ required for PGO linking to be a configure time error rather than
+ make time when --with-optimizations is enabled. Also improve our
+ ability to find the llvm-profdata tool on MacOS and some Linuxes.
-- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
+- Issue #21590: Support for DTrace and SystemTap probes.
-- Issue #27245: IDLE: Cleanly delete custom themes and key bindings.
- Previously, when IDLE was started from a console or by import, a cascade
- of warnings was emitted. Patch by Serhiy Storchaka.
+- Issue #26307: The profile-opt build now applys PGO to the built-in modules.
-C API
------
+- Issue #26539: Add the --with-optimizations flag to turn on LTO and PGO build
+ support when available.
-- Issue #26754: PyUnicode_FSDecoder() accepted a filename argument encoded as
- an iterable of integers. Now only strings and bytes-like objects are accepted.
+- Issue #27917: Set platform triplets for Android builds.
-Tests
------
+- Issue #25825: Update references to the $(LIBPL) installation path on AIX.
+ This path was changed in 3.2a4.
-- Issue #27787: Call gc.collect() before checking each test for "dangling
- threads", since the dangling threads are weak references.
+- Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.
-- Issue #27369: In test_pyexpat, avoid testing an error message detail that
- changed in Expat 2.2.0.
+- Issue #21122: Fix LTO builds on OS X.
Tools/Demos
-----------