summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorIrit Katriel <1055913+iritkatriel@users.noreply.github.com>2021-09-05 15:54:13 (GMT)
committerGitHub <noreply@github.com>2021-09-05 15:54:13 (GMT)
commit9e31b3952f6101ef71ec029481b972169ab0e0f1 (patch)
treeb325ae97e170eafbdb9b58a5cc1755446c5667b5 /Python
parentb01fd533fef78b088674bad73267b89bea98e904 (diff)
downloadcpython-9e31b3952f6101ef71ec029481b972169ab0e0f1.zip
cpython-9e31b3952f6101ef71ec029481b972169ab0e0f1.tar.gz
cpython-9e31b3952f6101ef71ec029481b972169ab0e0f1.tar.bz2
bpo-41031: Match C and Python code formatting of unprintable exceptions and exceptions in the __main__ module. (GH-28139)
Diffstat (limited to 'Python')
-rw-r--r--Python/errors.c4
-rw-r--r--Python/pythonrun.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/Python/errors.c b/Python/errors.c
index 15ca21b..b2030f7 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -25,6 +25,7 @@ extern char *strerror(int);
extern "C" {
#endif
+_Py_IDENTIFIER(__main__);
_Py_IDENTIFIER(__module__);
_Py_IDENTIFIER(builtins);
_Py_IDENTIFIER(stderr);
@@ -1297,7 +1298,8 @@ write_unraisable_exc_file(PyThreadState *tstate, PyObject *exc_type,
}
}
else {
- if (!_PyUnicode_EqualToASCIIId(modulename, &PyId_builtins)) {
+ if (!_PyUnicode_EqualToASCIIId(modulename, &PyId_builtins) &&
+ !_PyUnicode_EqualToASCIIId(modulename, &PyId___main__)) {
if (PyFile_WriteObject(modulename, file, Py_PRINT_RAW) < 0) {
Py_DECREF(modulename);
return -1;
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 3d07f43..0e0262c 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -35,6 +35,7 @@
#endif
+_Py_IDENTIFIER(__main__);
_Py_IDENTIFIER(builtins);
_Py_IDENTIFIER(excepthook);
_Py_IDENTIFIER(flush);
@@ -974,7 +975,8 @@ print_exception(PyObject *f, PyObject *value)
err = PyFile_WriteString("<unknown>", f);
}
else {
- if (!_PyUnicode_EqualToASCIIId(modulename, &PyId_builtins))
+ if (!_PyUnicode_EqualToASCIIId(modulename, &PyId_builtins) &&
+ !_PyUnicode_EqualToASCIIId(modulename, &PyId___main__))
{
err = PyFile_WriteObject(modulename, f, Py_PRINT_RAW);
err += PyFile_WriteString(".", f);