]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45954: Rename PyConfig.no_debug_ranges to code_debug_ranges (GH-29886)
authorVictor Stinner <vstinner@python.org>
Thu, 2 Dec 2021 10:43:37 +0000 (11:43 +0100)
committerGitHub <noreply@github.com>
Thu, 2 Dec 2021 10:43:37 +0000 (11:43 +0100)
Rename PyConfig.no_debug_ranges to PyConfig.code_debug_ranges and
invert the value.

Document -X no_debug_ranges and PYTHONNODEBUGRANGES env var in
PyConfig.code_debug_ranges documentation.

Doc/c-api/init_config.rst
Include/cpython/initconfig.h
Lib/test/_test_embed_set_config.py
Lib/test/support/__init__.py
Lib/test/test_embed.py
Objects/codeobject.c
Programs/_testembed.c
Python/initconfig.c

index 989660caeda06eaee964f245db1823549269428b..3642a8bf7fbc7da8c51a769c901b0bb1534e088c 100644 (file)
@@ -596,13 +596,16 @@ PyConfig
 
       .. versionadded:: 3.10
 
-   .. c:member:: int no_debug_ranges
+   .. c:member:: int code_debug_ranges
 
-      If equals to ``1``, disables the inclusion of the end line and column
+      If equals to ``0``, disables the inclusion of the end line and column
       mappings in code objects. Also disables traceback printing carets to
       specific error locations.
 
-      Default: ``0``.
+      Set to ``0`` by the :envvar:`PYTHONNODEBUGRANGES` environment variable
+      and by the :option:`-X no_debug_ranges <-X>` command line option.
+
+      Default: ``1``.
 
       .. versionadded:: 3.11
 
index 76f3c5268ee5fcc45f0fbeba8ce6943cfc391f21..2be4c25ec0b09b256955c4634103584185123b63 100644 (file)
@@ -143,7 +143,7 @@ typedef struct PyConfig {
     int faulthandler;
     int tracemalloc;
     int import_time;
-    int no_debug_ranges;
+    int code_debug_ranges;
     int show_ref_count;
     int dump_refs;
     wchar_t *dump_refs_file;
index 23c927e2646bc09a4bdad789c6757187ecf1dc14..d05907ecfe744fb5cc41ee2fb03b062a239a65c2 100644 (file)
@@ -1,7 +1,7 @@
 # bpo-42260: Test _PyInterpreterState_GetConfigCopy()
 # and _PyInterpreterState_SetConfig().
 #
-# Test run in a subinterpreter since set_config(get_config())
+# Test run in a subprocess since set_config(get_config())
 # does reset sys attributes to their state of the Python startup
 # (before the site module is run).
 
@@ -61,7 +61,7 @@ class SetConfigTests(unittest.TestCase):
             'faulthandler',
             'tracemalloc',
             'import_time',
-            'no_debug_ranges',
+            'code_debug_ranges',
             'show_ref_count',
             'dump_refs',
             'malloc_stats',
index 6d84a8bea420e4eed4a0af36faf43a42f9edea68..f8faa41ad439c4713b74f7d3b93b96f8f9591ef0 100644 (file)
@@ -449,7 +449,7 @@ def has_no_debug_ranges():
     except ImportError:
         raise unittest.SkipTest("_testinternalcapi required")
     config = _testinternalcapi.get_config()
-    return bool(config['no_debug_ranges'])
+    return not bool(config['code_debug_ranges'])
 
 def requires_debug_ranges(reason='requires co_positions / debug_ranges'):
     return unittest.skipIf(has_no_debug_ranges(), reason)
index 94cdd98b2dbba47dd843006feeeed2aaf794c915..4781c7f2a9d122fe4640163349dbfacf5842a1f7 100644 (file)
@@ -386,7 +386,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
         'faulthandler': 0,
         'tracemalloc': 0,
         'import_time': 0,
-        'no_debug_ranges': 0,
+        'code_debug_ranges': 1,
         'show_ref_count': 0,
         'dump_refs': 0,
         'malloc_stats': 0,
@@ -818,7 +818,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
             'hash_seed': 123,
             'tracemalloc': 2,
             'import_time': 1,
-            'no_debug_ranges': 1,
+            'code_debug_ranges': 0,
             'show_ref_count': 1,
             'malloc_stats': 1,
 
@@ -878,7 +878,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
             'hash_seed': 42,
             'tracemalloc': 2,
             'import_time': 1,
-            'no_debug_ranges': 1,
+            'code_debug_ranges': 0,
             'malloc_stats': 1,
             'inspect': 1,
             'optimization_level': 2,
@@ -908,7 +908,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
             'hash_seed': 42,
             'tracemalloc': 2,
             'import_time': 1,
-            'no_debug_ranges': 1,
+            'code_debug_ranges': 0,
             'malloc_stats': 1,
             'inspect': 1,
             'optimization_level': 2,
index 5ab8641a17caa2bf2a856032365750826f058655..a413b183be8edcaeb31f84552c8c32634b94f78b 100644 (file)
@@ -381,7 +381,7 @@ _PyCode_New(struct _PyCodeConstructor *con)
 
     // Discard the endlinetable and columntable if we are opted out of debug
     // ranges.
-    if (_Py_GetConfig()->no_debug_ranges) {
+    if (!_Py_GetConfig()->code_debug_ranges) {
         con->endlinetable = Py_None;
         con->columntable = Py_None;
     }
index 8077c470c07c54d564bbf8e622427593270de29a..fc5f44d5eb626f9c15c3e06565fe42982a802b69 100644 (file)
@@ -531,7 +531,7 @@ static int test_init_from_config(void)
     config.import_time = 1;
 
     putenv("PYTHONNODEBUGRANGES=0");
-    config.no_debug_ranges = 1;
+    config.code_debug_ranges = 0;
 
     config.show_ref_count = 1;
     /* FIXME: test dump_refs: bpo-34223 */
index c916e2f7c0714f15dbffafc2dccc6d0fda5ce2a3..53b624fdd72ecc981c18e3b84532a29ae8b6573c 100644 (file)
@@ -614,7 +614,7 @@ config_check_consistency(const PyConfig *config)
     assert(config->faulthandler >= 0);
     assert(config->tracemalloc >= 0);
     assert(config->import_time >= 0);
-    assert(config->no_debug_ranges >= 0);
+    assert(config->code_debug_ranges >= 0);
     assert(config->show_ref_count >= 0);
     assert(config->dump_refs >= 0);
     assert(config->malloc_stats >= 0);
@@ -740,6 +740,7 @@ _PyConfig_InitCompatConfig(PyConfig *config)
     config->legacy_windows_stdio = -1;
 #endif
     config->use_frozen_modules = -1;
+    config->code_debug_ranges = 1;
 }
 
 
@@ -904,7 +905,7 @@ _PyConfig_Copy(PyConfig *config, const PyConfig *config2)
     COPY_ATTR(faulthandler);
     COPY_ATTR(tracemalloc);
     COPY_ATTR(import_time);
-    COPY_ATTR(no_debug_ranges);
+    COPY_ATTR(code_debug_ranges);
     COPY_ATTR(show_ref_count);
     COPY_ATTR(dump_refs);
     COPY_ATTR(dump_refs_file);
@@ -1012,7 +1013,7 @@ _PyConfig_AsDict(const PyConfig *config)
     SET_ITEM_INT(faulthandler);
     SET_ITEM_INT(tracemalloc);
     SET_ITEM_INT(import_time);
-    SET_ITEM_INT(no_debug_ranges);
+    SET_ITEM_INT(code_debug_ranges);
     SET_ITEM_INT(show_ref_count);
     SET_ITEM_INT(dump_refs);
     SET_ITEM_INT(malloc_stats);
@@ -1291,7 +1292,7 @@ _PyConfig_FromDict(PyConfig *config, PyObject *dict)
     GET_UINT(faulthandler);
     GET_UINT(tracemalloc);
     GET_UINT(import_time);
-    GET_UINT(no_debug_ranges);
+    GET_UINT(code_debug_ranges);
     GET_UINT(show_ref_count);
     GET_UINT(dump_refs);
     GET_UINT(malloc_stats);
@@ -1853,7 +1854,7 @@ config_read_complex_options(PyConfig *config)
 
     if (config_get_env(config, "PYTHONNODEBUGRANGES")
        || config_get_xoption(config, L"no_debug_ranges")) {
-        config->no_debug_ranges = 1;
+        config->code_debug_ranges = 0;
     }
 
     PyStatus status;