Closed
Description
Bug report
Bug description:
If I have a module called foo
.py with the following contents in the root of my CPython local clone:
class Foo: pass
Then running PYTHON_BASIC_REPL=1 ./python.exe -i foo.py
, I get the following behaviour: foo.py
is executed, and the Foo
class is available in the globals of the REPL:
~/dev/cpython (main)⚡ % PYTHON_BASIC_REPL=1 ./python.exe -i foo.py
>>> Foo
<class '__main__.Foo'>
But with the new REPL, the Foo
class isn't available!
~/dev/cpython (main)⚡ % ./python.exe -i foo.py
>>> Foo
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
Foo
NameError: name 'Foo' is not defined
>>>
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
- gh-120678: pyrepl: Include globals from modules passed with
-i
#120904 - [3.13] gh-120678: pyrepl: Include globals from modules passed with
-i
(GH-120904) #121916 - gh-120678: Guard against stdin.fileno() being unavailable #121924
- [3.13] gh-120678: Guard against stdin.fileno() being unavailable (GH-121924) #121929