Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
313523ce
Commit
313523ce
authored
Sep 17, 2016
by
Steve Dower
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #28192: Don't import readline in isolated mode
parent
d2154ab0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
12 deletions
+11
-12
Lib/site.py
Lib/site.py
+7
-5
Lib/test/test_site.py
Lib/test/test_site.py
+2
-6
Modules/main.c
Modules/main.c
+2
-1
No files found.
Lib/site.py
View file @
313523ce
...
@@ -60,7 +60,8 @@ omitted because it is not mentioned in either path configuration file.
...
@@ -60,7 +60,8 @@ omitted because it is not mentioned in either path configuration file.
The readline module is also automatically configured to enable
The readline module is also automatically configured to enable
completion for systems that support it. This can be overridden in
completion for systems that support it. This can be overridden in
sitecustomize, usercustomize or PYTHONSTARTUP.
sitecustomize, usercustomize or PYTHONSTARTUP. Starting Python in
isolated mode (-I) disables automatic readline configuration.
After these operations, an attempt is made to import a module
After these operations, an attempt is made to import a module
named sitecustomize, which can perform arbitrary additional
named sitecustomize, which can perform arbitrary additional
...
@@ -491,7 +492,7 @@ def execsitecustomize():
...
@@ -491,7 +492,7 @@ def execsitecustomize():
else
:
else
:
raise
raise
except
Exception
as
err
:
except
Exception
as
err
:
if
os
.
environ
.
get
(
"PYTHONVERBOSE"
)
:
if
sys
.
flags
.
verbose
:
sys
.
excepthook
(
*
sys
.
exc_info
())
sys
.
excepthook
(
*
sys
.
exc_info
())
else
:
else
:
sys
.
stderr
.
write
(
sys
.
stderr
.
write
(
...
@@ -511,7 +512,7 @@ def execusercustomize():
...
@@ -511,7 +512,7 @@ def execusercustomize():
else
:
else
:
raise
raise
except
Exception
as
err
:
except
Exception
as
err
:
if
os
.
environ
.
get
(
"PYTHONVERBOSE"
)
:
if
sys
.
flags
.
verbose
:
sys
.
excepthook
(
*
sys
.
exc_info
())
sys
.
excepthook
(
*
sys
.
exc_info
())
else
:
else
:
sys
.
stderr
.
write
(
sys
.
stderr
.
write
(
...
@@ -538,12 +539,13 @@ def main():
...
@@ -538,12 +539,13 @@ def main():
setquit
()
setquit
()
setcopyright
()
setcopyright
()
sethelper
()
sethelper
()
enablerlcompleter
()
if
not
sys
.
flags
.
isolated
:
enablerlcompleter
()
execsitecustomize
()
execsitecustomize
()
if
ENABLE_USER_SITE
:
if
ENABLE_USER_SITE
:
execusercustomize
()
execusercustomize
()
# Prevent e
dition
of sys.path when python was started with -S and
# Prevent e
xtending
of sys.path when python was started with -S and
# site is imported later.
# site is imported later.
if
not
sys
.
flags
.
no_site
:
if
not
sys
.
flags
.
no_site
:
main
()
main
()
...
...
Lib/test/test_site.py
View file @
313523ce
...
@@ -140,8 +140,6 @@ class HelperFunctionsTests(unittest.TestCase):
...
@@ -140,8 +140,6 @@ class HelperFunctionsTests(unittest.TestCase):
self
.
assertRegex
(
err_out
.
getvalue
(),
'Traceback'
)
self
.
assertRegex
(
err_out
.
getvalue
(),
'Traceback'
)
self
.
assertRegex
(
err_out
.
getvalue
(),
'ModuleNotFoundError'
)
self
.
assertRegex
(
err_out
.
getvalue
(),
'ModuleNotFoundError'
)
@
unittest
.
skipIf
(
sys
.
platform
==
"win32"
,
"Windows does not raise an "
"error for file paths containing null characters"
)
def
test_addpackage_import_bad_pth_file
(
self
):
def
test_addpackage_import_bad_pth_file
(
self
):
# Issue 5258
# Issue 5258
pth_dir
,
pth_fn
=
self
.
make_pth
(
"abc
\
x00
def
\
n
"
)
pth_dir
,
pth_fn
=
self
.
make_pth
(
"abc
\
x00
def
\
n
"
)
...
@@ -447,10 +445,9 @@ class StartupImportTests(unittest.TestCase):
...
@@ -447,10 +445,9 @@ class StartupImportTests(unittest.TestCase):
popen
=
subprocess
.
Popen
([
sys
.
executable
,
'-I'
,
'-v'
,
'-c'
,
popen
=
subprocess
.
Popen
([
sys
.
executable
,
'-I'
,
'-v'
,
'-c'
,
'import sys; print(set(sys.modules))'
],
'import sys; print(set(sys.modules))'
],
stdout
=
subprocess
.
PIPE
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
stderr
=
subprocess
.
PIPE
,
encoding
=
'utf-8'
)
stdout
,
stderr
=
popen
.
communicate
()
stdout
,
stderr
=
popen
.
communicate
()
stdout
=
stdout
.
decode
(
'utf-8'
)
stderr
=
stderr
.
decode
(
'utf-8'
)
modules
=
eval
(
stdout
)
modules
=
eval
(
stdout
)
self
.
assertIn
(
'site'
,
modules
)
self
.
assertIn
(
'site'
,
modules
)
...
@@ -474,6 +471,5 @@ class StartupImportTests(unittest.TestCase):
...
@@ -474,6 +471,5 @@ class StartupImportTests(unittest.TestCase):
if
sys
.
platform
!=
'darwin'
:
if
sys
.
platform
!=
'darwin'
:
self
.
assertFalse
(
modules
.
intersection
(
collection_mods
),
stderr
)
self
.
assertFalse
(
modules
.
intersection
(
collection_mods
),
stderr
)
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
unittest
.
main
()
unittest
.
main
()
Modules/main.c
View file @
313523ce
...
@@ -703,7 +703,8 @@ Py_Main(int argc, wchar_t **argv)
...
@@ -703,7 +703,8 @@ Py_Main(int argc, wchar_t **argv)
PySys_SetArgv
(
argc
-
_PyOS_optind
,
argv
+
_PyOS_optind
);
PySys_SetArgv
(
argc
-
_PyOS_optind
,
argv
+
_PyOS_optind
);
if
((
Py_InspectFlag
||
(
command
==
NULL
&&
filename
==
NULL
&&
module
==
NULL
))
&&
if
((
Py_InspectFlag
||
(
command
==
NULL
&&
filename
==
NULL
&&
module
==
NULL
))
&&
isatty
(
fileno
(
stdin
)))
{
isatty
(
fileno
(
stdin
))
&&
!
Py_IsolatedFlag
)
{
PyObject
*
v
;
PyObject
*
v
;
v
=
PyImport_ImportModule
(
"readline"
);
v
=
PyImport_ImportModule
(
"readline"
);
if
(
v
==
NULL
)
if
(
v
==
NULL
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment