[Python-checkins] bpo-38113: Update Python/ast.c to PEP-384 (GH-15975)

Miss Islington (bot) webhook-mailer at python.org
Wed Sep 11 11:47:20 EDT 2019


https://github.com/python/cpython/commit/5b172c27f760dc5437e37dd8f1540eb76440e9a7
commit: 5b172c27f760dc5437e37dd8f1540eb76440e9a7
branch: master
author: Dino Viehland <dinoviehland at fb.com>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-09-11T08:47:16-07:00
summary:

bpo-38113: Update Python/ast.c to PEP-384 (GH-15975)



Removes statics for better subinterpreter support and moves to _PyType_Name


https://bugs.python.org/issue38113



Automerge-Triggered-By: @tiran

files:
M Python/ast.c

diff --git a/Python/ast.c b/Python/ast.c
index 11524029ae26..46815c271b62 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -294,7 +294,7 @@ validate_expr(expr_ty exp, expr_context_ty ctx)
         if (!validate_constant(exp->v.Constant.value)) {
             PyErr_Format(PyExc_TypeError,
                          "got an invalid type in Constant: %s",
-                         Py_TYPE(exp->v.Constant.value)->tp_name);
+                         _PyType_Name(Py_TYPE(exp->v.Constant.value)));
             return 0;
         }
         return 1;
@@ -618,12 +618,11 @@ new_identifier(const char *n, struct compiling *c)
        identifier; if so, normalize to NFKC. */
     if (!PyUnicode_IS_ASCII(id)) {
         PyObject *id2;
-        _Py_IDENTIFIER(NFKC);
         if (!c->c_normalize && !init_normalization(c)) {
             Py_DECREF(id);
             return NULL;
         }
-        PyObject *form = _PyUnicode_FromId(&PyId_NFKC);
+        PyObject *form = PyUnicode_InternFromString("NFKC");
         if (form == NULL) {
             Py_DECREF(id);
             return NULL;
@@ -637,7 +636,7 @@ new_identifier(const char *n, struct compiling *c)
             PyErr_Format(PyExc_TypeError,
                          "unicodedata.normalize() must return a string, not "
                          "%.200s",
-                         Py_TYPE(id2)->tp_name);
+                         _PyType_Name(Py_TYPE(id2)));
             Py_DECREF(id2);
             return NULL;
         }



More information about the Python-checkins mailing list