summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTian Gao <gaogaotiantian@hotmail.com>2024-04-19 03:50:09 (GMT)
committerGitHub <noreply@github.com>2024-04-19 03:50:09 (GMT)
commita09e47299217fe98615aec8318e13a744307d52a (patch)
tree334ae7adde2cc710f5fc2b485977a9e85d0911b5
parent398abdd6fa5b6b15c0570c75321cd7df9573a5b7 (diff)
downloadcpython-a09e47299217fe98615aec8318e13a744307d52a.zip
cpython-a09e47299217fe98615aec8318e13a744307d52a.tar.gz
cpython-a09e47299217fe98615aec8318e13a744307d52a.tar.bz2
gh-117535: Change unknown filename of warnings from `sys` to `<sys>` (#118018)
-rw-r--r--Lib/test/test_warnings/__init__.py4
-rw-r--r--Lib/warnings.py4
-rw-r--r--Misc/NEWS.d/next/Library/2024-04-18-00-35-11.gh-issue-117535.0m6SIM.rst1
-rw-r--r--Python/_warnings.c4
4 files changed, 7 insertions, 6 deletions
diff --git a/Lib/test/test_warnings/__init__.py b/Lib/test/test_warnings/__init__.py
index 50b0f3f..b768631 100644
--- a/Lib/test/test_warnings/__init__.py
+++ b/Lib/test/test_warnings/__init__.py
@@ -489,7 +489,7 @@ class WarnTests(BaseTest):
warning_tests.inner("spam7", stacklevel=9999)
self.assertEqual(os.path.basename(w[-1].filename),
- "sys")
+ "<sys>")
def test_stacklevel_import(self):
# Issue #24305: With stacklevel=2, module-level warnings should work.
@@ -1388,7 +1388,7 @@ a=A()
# Issue #21925: Emitting a ResourceWarning late during the Python
# shutdown must be logged.
- expected = b"sys:1: ResourceWarning: unclosed file "
+ expected = b"<sys>:0: ResourceWarning: unclosed file "
# don't import the warnings module
# (_warnings will try to import it)
diff --git a/Lib/warnings.py b/Lib/warnings.py
index 4ad6ad0..20a39d5 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -332,8 +332,8 @@ def warn(message, category=None, stacklevel=1, source=None,
raise ValueError
except ValueError:
globals = sys.__dict__
- filename = "sys"
- lineno = 1
+ filename = "<sys>"
+ lineno = 0
else:
globals = frame.f_globals
filename = frame.f_code.co_filename
diff --git a/Misc/NEWS.d/next/Library/2024-04-18-00-35-11.gh-issue-117535.0m6SIM.rst b/Misc/NEWS.d/next/Library/2024-04-18-00-35-11.gh-issue-117535.0m6SIM.rst
new file mode 100644
index 0000000..7242350
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-04-18-00-35-11.gh-issue-117535.0m6SIM.rst
@@ -0,0 +1 @@
+Change the unknown filename of :mod:`warnings` from ``sys`` to ``<sys>`` to clarify that it's not a real filename.
diff --git a/Python/_warnings.c b/Python/_warnings.c
index 4c52025..2ba704d 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -894,8 +894,8 @@ setup_context(Py_ssize_t stack_level,
if (f == NULL) {
globals = interp->sysdict;
- *filename = PyUnicode_FromString("sys");
- *lineno = 1;
+ *filename = PyUnicode_FromString("<sys>");
+ *lineno = 0;
}
else {
globals = f->f_frame->f_globals;