mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Merge 3.2
- Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell. Original patches by Marco Scataglini and Roger Serwy. Merge 3.2 #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.
This commit is contained in:
commit
f8672bec68
4 changed files with 19 additions and 9 deletions
|
@ -411,11 +411,11 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
||||||
self.rpcclt.register("flist", self.tkconsole.flist)
|
self.rpcclt.register("flist", self.tkconsole.flist)
|
||||||
self.rpcclt.register("linecache", linecache)
|
self.rpcclt.register("linecache", linecache)
|
||||||
self.rpcclt.register("interp", self)
|
self.rpcclt.register("interp", self)
|
||||||
self.transfer_path()
|
self.transfer_path(with_cwd=True)
|
||||||
self.poll_subprocess()
|
self.poll_subprocess()
|
||||||
return self.rpcclt
|
return self.rpcclt
|
||||||
|
|
||||||
def restart_subprocess(self):
|
def restart_subprocess(self, with_cwd=False):
|
||||||
if self.restarting:
|
if self.restarting:
|
||||||
return self.rpcclt
|
return self.rpcclt
|
||||||
self.restarting = True
|
self.restarting = True
|
||||||
|
@ -439,7 +439,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
||||||
except socket.timeout as err:
|
except socket.timeout as err:
|
||||||
self.display_no_subprocess_error()
|
self.display_no_subprocess_error()
|
||||||
return None
|
return None
|
||||||
self.transfer_path()
|
self.transfer_path(with_cwd=with_cwd)
|
||||||
# annotate restart in shell window and mark it
|
# annotate restart in shell window and mark it
|
||||||
console.text.delete("iomark", "end-1c")
|
console.text.delete("iomark", "end-1c")
|
||||||
if was_executing:
|
if was_executing:
|
||||||
|
@ -492,12 +492,18 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
||||||
except OSError:
|
except OSError:
|
||||||
return
|
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:
|
self.runcommand("""if 1:
|
||||||
import sys as _sys
|
import sys as _sys
|
||||||
_sys.path = %r
|
_sys.path = %r
|
||||||
del _sys
|
del _sys
|
||||||
\n""" % (sys.path,))
|
\n""" % (path,))
|
||||||
|
|
||||||
active_seq = None
|
active_seq = None
|
||||||
|
|
||||||
|
@ -1191,7 +1197,8 @@ class PyShell(OutputWindow):
|
||||||
self.text.see("restart")
|
self.text.see("restart")
|
||||||
|
|
||||||
def restart_shell(self, event=None):
|
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):
|
def showprompt(self):
|
||||||
self.resetoutput()
|
self.resetoutput()
|
||||||
|
|
|
@ -144,10 +144,9 @@ class ScriptBinding:
|
||||||
return 'break'
|
return 'break'
|
||||||
if not self.tabnanny(filename):
|
if not self.tabnanny(filename):
|
||||||
return 'break'
|
return 'break'
|
||||||
shell = self.shell
|
interp = self.shell.interp
|
||||||
interp = shell.interp
|
|
||||||
if PyShell.use_subprocess:
|
if PyShell.use_subprocess:
|
||||||
shell.restart_shell()
|
interp.restart_subprocess(with_cwd=False)
|
||||||
dirname = os.path.dirname(filename)
|
dirname = os.path.dirname(filename)
|
||||||
# XXX Too often this discards arguments the user just set...
|
# XXX Too often this discards arguments the user just set...
|
||||||
interp.runcommand("""if 1:
|
interp.runcommand("""if 1:
|
||||||
|
|
|
@ -880,6 +880,7 @@ Mark Sapiro
|
||||||
Ty Sarna
|
Ty Sarna
|
||||||
Ben Sayer
|
Ben Sayer
|
||||||
sbt
|
sbt
|
||||||
|
Marco Scataglini
|
||||||
Andrew Schaaf
|
Andrew Schaaf
|
||||||
Michael Scharf
|
Michael Scharf
|
||||||
Andreas Schawo
|
Andreas Schawo
|
||||||
|
|
|
@ -463,6 +463,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell.
|
||||||
|
Original patches by Marco Scataglini and Roger Serwy.
|
||||||
|
|
||||||
- Issue #8828: Add new function os.replace(), for cross-platform renaming
|
- Issue #8828: Add new function os.replace(), for cross-platform renaming
|
||||||
with overwriting.
|
with overwriting.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue