Skip to content

Commit f26ec68

Browse files
CPython Developersfanninpm
authored andcommitted
Update code from v3.14.2-288-g06f9c8ca1c
1 parent ab6114d commit f26ec68

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

Lib/code.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
__all__ = ["InteractiveInterpreter", "InteractiveConsole", "interact",
1414
"compile_command"]
1515

16-
1716
class InteractiveInterpreter:
1817
"""Base class for InteractiveConsole.
1918
@@ -126,7 +125,7 @@ def showtraceback(self):
126125
"""
127126
try:
128127
typ, value, tb = sys.exc_info()
129-
self._showtraceback(typ, value, tb.tb_next, '')
128+
self._showtraceback(typ, value, tb.tb_next, "")
130129
finally:
131130
typ = value = tb = None
132131

@@ -140,7 +139,7 @@ def _showtraceback(self, typ, value, tb, source):
140139
and not value.text and value.lineno is not None
141140
and len(lines) >= value.lineno):
142141
value.text = lines[value.lineno - 1]
143-
sys.last_exc = sys.last_value = value = value.with_traceback(tb)
142+
sys.last_exc = sys.last_value = value
144143
if sys.excepthook is sys.__excepthook__:
145144
self._excepthook(typ, value, tb)
146145
else:
@@ -220,12 +219,17 @@ def interact(self, banner=None, exitmsg=None):
220219
"""
221220
try:
222221
sys.ps1
222+
delete_ps1_after = False
223223
except AttributeError:
224224
sys.ps1 = ">>> "
225+
delete_ps1_after = True
225226
try:
226-
sys.ps2
227+
_ps2 = sys.ps2
228+
delete_ps2_after = False
227229
except AttributeError:
228230
sys.ps2 = "... "
231+
delete_ps2_after = True
232+
229233
cprt = 'Type "help", "copyright", "credits" or "license" for more information.'
230234
if banner is None:
231235
self.write("Python %s on %s\n%s\n(%s)\n" %
@@ -288,6 +292,12 @@ def interact(self, banner=None, exitmsg=None):
288292
if _quit is not None:
289293
builtins.quit = _quit
290294

295+
if delete_ps1_after:
296+
del sys.ps1
297+
298+
if delete_ps2_after:
299+
del sys.ps2
300+
291301
if exitmsg is None:
292302
self.write('now exiting %s...\n' % self.__class__.__name__)
293303
elif exitmsg != '':
@@ -366,7 +376,7 @@ def interact(banner=None, readfunc=None, local=None, exitmsg=None, local_exit=Fa
366376
console.raw_input = readfunc
367377
else:
368378
try:
369-
import readline
379+
import readline # noqa: F401
370380
except ImportError:
371381
pass
372382
console.interact(banner, exitmsg)
@@ -375,9 +385,9 @@ def interact(banner=None, readfunc=None, local=None, exitmsg=None, local_exit=Fa
375385
if __name__ == "__main__":
376386
import argparse
377387

378-
parser = argparse.ArgumentParser()
388+
parser = argparse.ArgumentParser(color=True)
379389
parser.add_argument('-q', action='store_true',
380-
help="don't print version and copyright messages")
390+
help="don't print version and copyright messages")
381391
args = parser.parse_args()
382392
if args.q or sys.flags.quiet:
383393
banner = ''

0 commit comments

Comments
 (0)