You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/terryjreedy'closed_at=Nonecreated_at=<Date2013-05-25.21:36:20.538>labels= ['expert-IDLE', 'type-bug', '3.10']
title='IDLE: add current directory to open_module'updated_at=<Date2020-06-06.22:20:53.253>user='https://github.com/terryjreedy'
The point of File / Open Module is to look at the source for a module that has been, could be, or will be imported. The problem is that open_module is executed in the idle process while imports are executed in the user process, with the current directory prepended to sys.module.
The problem was already noted in the source, line 675.
# XXX Ought to insert current file's directory in front of path
The augmentation of sys.path and subsequent restoration of the original could be done in a context manager that might be useful elsewhere. For 3.3,3.4, I think the change should be done after the patch in bpo-18055, to not invalidate that patch. It would need to located in a slightly different place in 2.7, which will not be changed by that issue.
Code also suggests that this function should be elsewhere, such as in iobinding. This should be in the same place as regular open, wherever that is, since it is an alternative open.
Document should be upgraded a bit: "Load module opens Python-coded modules on sys.path in an editor window. The default name is the currently selected text, if any."
Tests should be added with this issue. This is the smallest dialog, and the structure of the revised code (bpo-18055) gives a skeleton for a testcase: test_python_module (window open), test_builtin_module (Exception), test_bad_path (different Exception), and maybe even test_bad loader. We should look at tkinter tests for simulating name entry and click.
For IDLE development, I would love to have idlelib and idlelib.idle_test on the open line. Perhaps this should be user configurable: Favorite directories for opening files.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: