summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKurt B. Kaiser <kbk@shore.net>2009-05-06 03:38:31 (GMT)
committerKurt B. Kaiser <kbk@shore.net>2009-05-06 03:38:31 (GMT)
commit1521fdae594d87cfc724711aef1a50aa555947d2 (patch)
tree919f33789a693b0976fd3b74924f4112b5413c33
parentcef4b81fae5dd90a0c00b04412c3a8ea03064326 (diff)
downloadcpython-1521fdae594d87cfc724711aef1a50aa555947d2.zip
cpython-1521fdae594d87cfc724711aef1a50aa555947d2.tar.gz
cpython-1521fdae594d87cfc724711aef1a50aa555947d2.tar.bz2
Merged revisions 72226 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72226 | kurt.kaiser | 2009-05-02 21:03:44 -0400 (Sat, 02 May 2009) | 3 lines idle.py modified and simplified to better support developing experimental versions of IDLE which are not installed in the standard location. ........
-rw-r--r--Lib/idlelib/NEWS.txt3
-rw-r--r--Lib/idlelib/idle.py33
2 files changed, 14 insertions, 22 deletions
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 9bb47ba..573f45f 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -30,6 +30,9 @@ What's New in IDLE 2.7? (UNRELEASED, but merged into 3.1 releases above.)
*Release date: XX-XXX-2009*
+- idle.py modified and simplified to better support developing experimental
+ versions of IDLE which are not installed in the standard location.
+
- OutputWindow/PyShell right click menu "Go to file/line" wasn't working with
file paths containing spaces. Bug 5559.
diff --git a/Lib/idlelib/idle.py b/Lib/idlelib/idle.py
index 52e2ebb..a249557 100644
--- a/Lib/idlelib/idle.py
+++ b/Lib/idlelib/idle.py
@@ -1,22 +1,11 @@
-try:
- import idlelib, idlelib.PyShell
-except ImportError:
- # IDLE is not installed, but maybe PyShell is on sys.path:
- print("*** idle.py import error! Trying alternate approach....")
- try:
- import PyShell
- except ImportError:
- raise
- else:
- import os
- idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
- if idledir != os.getcwd():
- # We're not in the IDLE directory, help the subprocess find run.py
- pypath = os.environ.get('PYTHONPATH', '')
- if pypath:
- os.environ['PYTHONPATH'] = pypath + ':' + idledir
- else:
- os.environ['PYTHONPATH'] = idledir
- PyShell.main()
-else:
- idlelib.PyShell.main()
+import os.path
+import sys
+
+# If we are working on a development version of IDLE, we need to prepend the
+# parent of this idlelib dir to sys.path. Otherwise, importing idlelib gets
+# the version installed with the Python used to call this module:
+idlelib_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+sys.path.insert(0, idlelib_dir)
+
+import idlelib.PyShell
+idlelib.PyShell.main()