classification
Title: PEP 342 is outdated
Type: Stage: resolved
Components: Documentation Versions: Python 3.3
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, msmhrt, ncoghlan, r.david.murray
Priority: normal Keywords:

Created on 2014-01-21 15:08 by msmhrt, last changed 2014-01-25 08:03 by ncoghlan. This issue is now closed.

Messages (3)
msg208650 - (view) Author: Masami HIRATA (msmhrt) Date: 2014-01-21 15:08
Although PEP 342 says foo(yield 42) is legal, Lib/test/test_grammar.py says:
>        # Requires parentheses as call argument
>        def g(): f((yield 1))
>        check_syntax_error(self, "def g(): f(yield 1)")

BTW, It seems that foo(yield 42) written in ECMAScript 6 is OK.
msg208658 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-01-21 15:53
Most PEPs are historical documents once they are final, so I don't think there is actually anything to fix here.  But I could be wrong.
msg209163 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2014-01-25 08:03
David is correct, most PEPs are historical records of design decisions that cease to be updated once completed. The language reference is the normative guide for current behaviour.

The exception is "informational" and "process" PEPs, which cover things that are not covered in the language reference, as well the occasional Standards Track PEP which ends up not being incorporated into the language reference properly (for example, until the import section was added to the language reference in Python 3.3, PEP 302 was the best available reference documentation).
History
Date User Action Args
2014-01-25 08:03:40ncoghlansetstatus: open -> closed

nosy: + ncoghlan
messages: + msg209163

resolution: not a bug
stage: resolved
2014-01-21 15:53:39r.david.murraysetnosy: + r.david.murray
messages: + msg208658
2014-01-21 15:08:12msmhrtcreate