Commit Graph

89 Commits

Author SHA1 Message Date
Miss Islington (bot) 50e04cc273
Fix mistakes on function coroutines related definitions (GH-9871)
Fix a bug I introduced in GH-9864 by which coroutines are treated as synonymous of function coroutines.

Also, fix the same mistake (coroutines == function coroutines) already present in other parts of the reference.

I'm very sorry for the hassle.
(cherry picked from commit 95f68b10d5)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-10-28 06:52:27 -07:00
Serhiy Storchaka 9a75b8470a
[3.7] bpo-35054: Add more index entries for symbols. (GH-10064). (GH-10120)
(cherry picked from commit ddb961d2ab)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-10-26 11:18:42 +03:00
Miss Islington (bot) 2a6cf44680
bpo-33726, doc: Add short descriptions to PEP references in seealso (GH-7294)
(cherry picked from commit 0f14fc1a7c)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-10-19 16:43:55 -07:00
Miss Islington (bot) 91b863d93b Update compound_stmts.rst (GH-9864) (GH-9869)
(cherry picked from commit c8bb467f40)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-10-14 11:32:58 +03:00
Miss Islington (bot) 399b47fdf6
Use 'for example' instead of 'in other words' in compound statement doc (GH-8401)
(cherry picked from commit 6921ef7bef)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-07-30 12:30:31 -07:00
Miss Islington (bot) 80c188f3ef
bpo-33702: Add some missing links in production lists and do a little polish (GH-7259)
(cherry picked from commit caccca78e4)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-07-07 14:09:09 -07:00
Elvis Pranskevichus 15f3d0cc76 [3.7] bpo-32996: The bulk of What's New in Python 3.7 (GH-6978). (GH-6998)
(cherry picked from commit 63536bd286)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-05-19 23:39:45 -04:00
Guido van Rossum 95e4d58913 String annotations [PEP 563] (#4390)
* Document `from __future__ import annotations`
* Provide plumbing and tests for `from __future__ import annotations`
* Implement unparsing the AST back to string form

This is required for PEP 563 and as such only implements a part of the
unparsing process that covers expressions.
2018-01-26 08:20:18 -08:00
Berker Peksag 7c9da3e5ba
Remove redundant 'exc = True' line (GH-4357)
It can be removed after c28890fb42
2017-11-11 17:55:05 +03:00
Yury Selivanov 03660041d2 Issue #28091: Document PEP 525 & PEP 530.
Patch by Eric Appelt.
2016-12-15 17:36:05 -05:00
Eric Snow 4f29e75289 Issue #24254: Drop cls.__definition_order__. 2016-09-08 15:11:11 -07:00
Eric Snow b957b0c2bc Issue #28030: Update the language reference for PEP 468. 2016-09-08 13:59:58 -07:00
Eric Snow 92a6c170e6 Issue #24254: Preserve class attribute definition order. 2016-09-05 14:50:11 -07:00
Berker Peksag 91494d3b73 Issue #26576: Merge from 3.5 2016-08-03 10:17:51 +03:00
Berker Peksag 6cafececbf Issue #26576: Clarify that the @deco syntax is not always an equivalent of f = deco(f)
Patch by Chris Angelico.
2016-08-03 10:17:21 +03:00
Yury Selivanov 711d25db48 Merge 3.5 (issue #27243) 2016-06-09 15:13:16 -04:00
Yury Selivanov a6f6edbda8 Issue #27243: Fix __aiter__ protocol 2016-06-09 15:08:31 -04:00
Benjamin Peterson 815b61d4ce merge 3.5 (#27042) 2016-05-16 23:20:32 -07:00
Benjamin Peterson 54044d605f class definitions only get argument lists (closes #27042) 2016-05-16 23:20:22 -07:00
Benjamin Peterson bc7ee43a6d Backed out changeset 71ff2235bb4c (closes #27042) 2016-05-16 23:18:33 -07:00
Serhiy Storchaka 7b1e5a7722 Remove redundant leading zeroes in PEP references. 2016-03-31 15:31:20 +03:00
Serhiy Storchaka e4ba872543 Remove redundant leading zeroes in PEP references. 2016-03-31 15:30:54 +03:00
Robert Collins df395991f6 Issue #9232: Support trailing commas in function declarations.
For example, "def f(*, a = 3,): pass" is now legal.

Patch from Mark Dickinson.
2015-08-12 08:00:06 +12:00
Yury Selivanov 75b5ab5770 docs: Fix productionlist for async def functions 2015-08-01 16:19:36 -04:00
Yury Selivanov 8fb307cd65 Issue #24619: New approach for tokenizing async/await.
This commit fixes how one-line async-defs and defs are tracked
by tokenizer.  It allows to correctly parse invalid code such
as:

>>> async def f():
...     def g(): pass
...     async = 10

and valid code such as:

>>> async def f():
...     async def g(): pass
...     await z

As a consequence, is is now possible to have one-line
'async def foo(): await ..' functions:

>>> async def foo(): return await bar()
2015-07-22 13:33:45 +03:00
Yury Selivanov 66f8828bfc Issue #24439: Improve PEP 492 related docs.
Patch by Martin Panter.
2015-06-24 11:04:15 -04:00
Yury Selivanov 5376ba9630 Issue #24400: Introduce a distinct type for 'async def' coroutines.
Summary of changes:

1. Coroutines now have a distinct, separate from generators
   type at the C level: PyGen_Type, and a new typedef PyCoroObject.
   PyCoroObject shares the initial segment of struct layout with
   PyGenObject, making it possible to reuse existing generators
   machinery.  The new type is exposed as 'types.CoroutineType'.

   As a consequence of having a new type, CO_GENERATOR flag is
   no longer applied to coroutines.

2. Having a separate type for coroutines made it possible to add
   an __await__ method to the type.  Although it is not used by the
   interpreter (see details on that below), it makes coroutines
   naturally (without using __instancecheck__) conform to
   collections.abc.Coroutine and collections.abc.Awaitable ABCs.

   [The __instancecheck__ is still used for generator-based
   coroutines, as we don't want to add __await__ for generators.]

3. Add new opcode: GET_YIELD_FROM_ITER.  The opcode is needed to
   allow passing native coroutines to the YIELD_FROM opcode.

   Before this change, 'yield from o' expression was compiled to:

      (o)
      GET_ITER
      LOAD_CONST
      YIELD_FROM

   Now, we use GET_YIELD_FROM_ITER instead of GET_ITER.

   The reason for adding a new opcode is that GET_ITER is used
   in some contexts (such as 'for .. in' loops) where passing
   a coroutine object is invalid.

4. Add two new introspection functions to the inspec module:
   getcoroutinestate(c) and getcoroutinelocals(c).

5. inspect.iscoroutine(o) is updated to test if 'o' is a native
   coroutine object.  Before this commit it used abc.Coroutine,
   and it was requested to update inspect.isgenerator(o) to use
   abc.Generator; it was decided, however, that inspect functions
   should really be tailored for checking for native types.

6. sys.set_coroutine_wrapper(w) API is updated to work with only
   native coroutines.  Since types.coroutine decorator supports
   any type of callables now, it would be confusing that it does
   not work for all types of coroutines.

7. Exceptions logic in generators C implementation was updated
   to raise clearer messages for coroutines:

   Before: TypeError("generator raised StopIteration")
   After: TypeError("coroutine raised StopIteration")
2015-06-22 12:19:30 -04:00
Yury Selivanov f3e40fac10 Issue 24180: Documentation for PEP 492 changes. 2015-05-21 11:50:30 -04:00
Terry Jan Reedy 65e3ecb3e2 Issue #22243: fix except grammar in reference. 2014-08-23 19:29:47 -04:00
Zachary Ware 2f78b84c47 Issue #21439: Fix a couple of typos. 2014-06-03 09:32:40 -05:00
Raymond Hettinger aa7886dd3f Issue 21439: Minor issues in the reference manual.
(Contributed by Feliks Kluzniak.)
2014-05-26 22:20:37 -07:00
Zachary Ware 9fafc9f79a Add prompts to interactive example.
This makes it match the new example below, and allows Sphinx's
"hide the prompts and output" feature to work.
2014-05-06 09:18:17 -05:00
Zachary Ware 8edd532026 Issue #21366: Document the fact that ``return`` in a ``finally`` clause
overrides a ``return`` in the ``try`` suite.
2014-05-06 09:07:13 -05:00
Terry Jan Reedy 7c895edabc Closes 21048: Index 'as' in import and with statements. 2014-04-29 00:58:56 -04:00
Georg Brandl 6930777c63 merge with 3.3 2013-10-06 10:28:48 +02:00
Georg Brandl 242e6a0bce Use "lambda expression" as preferred to "lambda form". 2013-10-06 10:28:39 +02:00
Benjamin Peterson 1ef876cd28 evaluate positional defaults before keyword-only defaults (closes #16967) 2013-02-10 09:29:59 -05:00
Chris Jerdonek b43099464a Add additional links and index entries for "argument" and "parameter".
This adds to the work done for issue #15990 (i.e. f44b8d69e5fc and the
commits referenced there).
2012-12-25 14:54:44 -08:00
Chris Jerdonek c131b0760d Fix formatting of syntax description of function definition. 2012-10-25 17:21:22 -07:00
Mark Dickinson 05ee5817a1 Issue #14167: restore statement about breaks in finally clauses. 2012-09-24 20:16:38 +01:00
Andrew Svetlov f158d86074 Issue #14167: Document return statement in finally blocks.
Patch by Yury Selivanov.
2012-08-14 15:38:15 +03:00
Georg Brandl 64a40949cf Closes #14186: add link to PEP 3107 (function annotations) to the function definition section. 2012-03-10 09:22:47 +01:00
Benjamin Peterson d204934ee3 exception support is correct now (closes #13705) 2012-01-03 16:30:37 -06:00
Benjamin Peterson 57f97f400b parameter_list was meant here 2011-12-23 20:01:43 -06:00
Benjamin Peterson ad17358a2f kill superfluous 'comprehension' case (closes #13658) 2011-12-23 20:00:56 -06:00
Ezio Melotti e130a52d8a Remove duplication. 2011-10-19 10:58:56 +03:00
Ezio Melotti fc3db8a91e #11669: rephrase footnote in the Compound Statements page. 2011-06-26 11:25:28 +03:00
Ezio Melotti 147f6088f0 #11446: merge with 3.1. 2011-03-11 20:53:24 +02:00
Ezio Melotti 7885833df0 #11446: fix incorrect PEP link. 2011-03-11 20:50:42 +02:00
Georg Brandl 41d0815a65 Merged revisions 87789-87790 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r87789 | georg.brandl | 2011-01-06 10:23:56 +0100 (Do, 06 Jan 2011) | 1 line

  Fix various issues (mostly Python 2 relics) found by Jacques Ducasse.
........
  r87790 | georg.brandl | 2011-01-06 10:25:27 +0100 (Do, 06 Jan 2011) | 1 line

  Add acks where acks are due.
........
2011-01-09 08:01:46 +00:00