diff --git a/Doc/library/string.rst b/Doc/library/string.rst index eab9f370f6e..2bd8dfdc960 100644 --- a/Doc/library/string.rst +++ b/Doc/library/string.rst @@ -644,12 +644,14 @@ Instead of the normal ``%``\ -based substitutions, Templates support ``$``\ * ``$$`` is an escape; it is replaced with a single ``$``. * ``$identifier`` names a substitution placeholder matching a mapping key of - ``"identifier"``. By default, ``"identifier"`` must spell a Python - identifier. The first non-identifier character after the ``$`` character - terminates this placeholder specification. + ``"identifier"``. By default, ``"identifier"`` is restricted to any + case-insensitive ASCII alphanumeric string (including underscores) that + starts with an underscore or ASCII letter. The first non-identifier + character after the ``$`` character terminates this placeholder + specification. -* ``${identifier}`` is equivalent to ``$identifier``. It is required when valid - identifier characters follow the placeholder but are not part of the +* ``${identifier}`` is equivalent to ``$identifier``. It is required when + valid identifier characters follow the placeholder but are not part of the placeholder, such as ``"${noun}ification"``. Any other appearance of ``$`` in the string will result in a :exc:`ValueError` diff --git a/Misc/NEWS b/Misc/NEWS index 8be0e137c45..2b02f1ded2e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -45,6 +45,12 @@ Tests tp_finalize to avoid reference leaks encountered when combining tp_dealloc with PyType_FromSpec (see issue #16690 for details) +Documentation +------------- + +- Issue #24351: Clarify what is meant by "identifier" in the context of + string.Template instances. + What's New in Python 3.5.0 beta 2? ==================================