diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 12233fb86fd..4f7a6de5ea3 100755 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -469,7 +469,7 @@ def start_subprocess(self): 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 @@ -497,14 +497,13 @@ def restart_subprocess(self, with_cwd=False): 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 index e71ddf49d34..d700525a730 100644 --- a/Lib/idlelib/ScriptBinding.py +++ b/Lib/idlelib/ScriptBinding.py @@ -142,7 +142,7 @@ def _run_module_event(self, event): 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: diff --git a/Misc/ACKS b/Misc/ACKS index cc557b311bf..7fd3baf48e9 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1403,6 +1403,7 @@ Fraser Tweedale Doobee R. Tzeck Eren Türkay Lionel Ulmer +Adnan Umer Roger Upole Daniel Urban Michael Urman