[Python-checkins] cpython (2.7): Issue #21192: Idle Editor. When a file is run, put its name in the restart bar.

terry.reedy python-checkins at python.org
Sat Aug 1 04:36:11 CEST 2015


https://hg.python.org/cpython/rev/20a8e5dccf66
changeset:   97174:20a8e5dccf66
branch:      2.7
parent:      97159:8203fc75b3d2
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Fri Jul 31 22:34:31 2015 -0400
summary:
  Issue #21192: Idle Editor. When a file is run, put its name in the restart bar.
Do not print false prompts. Original patch by Adnan Umer.

files:
  Lib/idlelib/PyShell.py       |  13 ++++++-------
  Lib/idlelib/ScriptBinding.py |   2 +-
  2 files changed, 7 insertions(+), 8 deletions(-)


diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -482,7 +482,7 @@
         self.poll_subprocess()
         return self.rpcclt
 
-    def restart_subprocess(self, with_cwd=False):
+    def restart_subprocess(self, with_cwd=False, filename=''):
         if self.restarting:
             return self.rpcclt
         self.restarting = True
@@ -510,14 +510,13 @@
         console.stop_readline()
         # annotate restart in shell window and mark it
         console.text.delete("iomark", "end-1c")
-        if was_executing:
-            console.write('\n')
-            console.showprompt()
-        halfbar = ((int(console.width) - 16) // 2) * '='
-        console.write(halfbar + ' RESTART ' + halfbar)
+        tag = 'RUN ' + filename if filename else 'RESTART Shell'
+        halfbar = ((int(console.width) -len(tag) - 4) // 2) * '='
+        console.write("\n{0} {1} {0}".format(halfbar, tag))
         console.text.mark_set("restart", "end-1c")
         console.text.mark_gravity("restart", "left")
-        console.showprompt()
+        if not filename:
+            console.showprompt()
         # restart subprocess debugger
         if debug:
             # Restarted debugger connects to current instance of debug GUI
diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py
--- a/Lib/idlelib/ScriptBinding.py
+++ b/Lib/idlelib/ScriptBinding.py
@@ -147,7 +147,7 @@
             return 'break'
         interp = self.shell.interp
         if PyShell.use_subprocess:
-            interp.restart_subprocess(with_cwd=False)
+            interp.restart_subprocess(with_cwd=False, filename=code.co_filename)
         dirname = os.path.dirname(filename)
         # XXX Too often this discards arguments the user just set...
         interp.runcommand("""if 1:

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list