This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mickey695
Recipients eric.smith, mickey695, serhiy.storchaka
Date 2017-12-29.17:59:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1514570382.95.0.213398074469.issue31907@psf.upfronthosting.co.za>
In-reply-to
Content
Well, it has been more than the 2 weeks I promised however now I finally have time to look into this.

I did some fuzzing to build a list quickly and the following ASCII characters can not be used as part of the argument name:
exclamation mark(!)
period(.)
colon(:)
opening square bracket([)
opening/closing curly brackets({})

also, the argument name may not start with digits from zero to nine(0-9)

Basically what needs to be changed is arg_name under the section "Format String Syntax" in \Doc\library\string.rst

Problem is, I really don't understand the syntax of the Python/sphinx formal language.

The following expression is what I came up with:
arg_name ::= [^`decinteger`] [<any character except "!" | "." | "[" | "{" | "}"> | `integer` ]+

If anyone from the documentation team could look into it I would be grateful.

Moreover, I think attribute_name should probably be changed as it does not have to be a valid identifier. In fact, it can be any text. Eric V. Smiths' example can be used with any text as the attribute name. A comment should be added to the aforementioned section explaining that normally only valid identifiers are accepted, however by implementing your own __getattr__ this can be changed.
History
Date User Action Args
2017-12-29 17:59:43mickey695setrecipients: + mickey695, eric.smith, serhiy.storchaka
2017-12-29 17:59:42mickey695setmessageid: <1514570382.95.0.213398074469.issue31907@psf.upfronthosting.co.za>
2017-12-29 17:59:42mickey695linkissue31907 messages
2017-12-29 17:59:42mickey695create