Mercurial > cpython-lru_cache-weakref
diff Lib/idlelib/PyShell.py @ 74692:1b5abba0c808 2.7
#13506 Add '' to path for interactive interpreter by adding with_cwd parameter
to PyShell.PyShell.transfer_path() and changing elsewhere as needed.
Original patches by Marco Scataglini and Roger Serwy.
| author | Terry Jan Reedy <tjreedy@udel.edu> |
|---|---|
| date | Tue, 31 Jan 2012 02:09:25 -0500 |
| parents | 7857d1f4ce79 |
| children | 822d7a1f8885 |
line wrap: on
line diff
--- a/Lib/idlelib/PyShell.py Sun Jan 29 15:38:47 2012 +0100 +++ b/Lib/idlelib/PyShell.py Tue Jan 31 02:09:25 2012 -0500 @@ -423,11 +423,11 @@ self.rpcclt.register("flist", self.tkconsole.flist) self.rpcclt.register("linecache", linecache) self.rpcclt.register("interp", self) - self.transfer_path() + self.transfer_path(with_cwd=True) self.poll_subprocess() return self.rpcclt - def restart_subprocess(self): + def restart_subprocess(self, with_cwd=False): if self.restarting: return self.rpcclt self.restarting = True @@ -451,7 +451,7 @@ except socket.timeout, err: self.display_no_subprocess_error() return None - self.transfer_path() + self.transfer_path(with_cwd=with_cwd) # annotate restart in shell window and mark it console.text.delete("iomark", "end-1c") if was_executing: @@ -501,12 +501,18 @@ except OSError: return - def transfer_path(self): + def transfer_path(self, with_cwd=False): + if with_cwd: # Issue 13506 + path = [''] # include Current Working Directory + path.extend(sys.path) + else: + path = sys.path + self.runcommand("""if 1: import sys as _sys _sys.path = %r del _sys - \n""" % (sys.path,)) + \n""" % (path,)) active_seq = None @@ -1209,7 +1215,8 @@ self.text.see("restart") def restart_shell(self, event=None): - self.interp.restart_subprocess() + "Callback for Run/Restart Shell Cntl-F6" + self.interp.restart_subprocess(with_cwd=True) def showprompt(self): self.resetoutput()
