Commit graph

509 commits

Author SHA1 Message Date
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
Yury Selivanov
3e48b38dff Merge 3.5 (issue #25887) 2016-02-13 18:00:31 -05:00
Yury Selivanov
77c96813ab Issue #25887: Raise a RuntimeError when a coroutine is awaited more than once. 2016-02-13 17:59:05 -05:00
Martin Panter
bc1ee460dc Issue #25179: Documentation for formatted string literals aka f-strings
Some of the inspiration and wording is taken from the text of PEP 498 by Eric
V. Smith, and the existing str.format() documentation.
2016-02-13 00:41:37 +00:00
Zachary Ware
e922289620 Merge with 3.5 2016-02-03 22:07:08 -06:00
Zachary Ware
2b818142d1 Python for .NET has moved to Github.
Reported by Denis Akhiyarov on docs@
2016-02-03 22:05:46 -06:00
Brett Cannon
849113af6b Issue #25791: Warn when __package__ != __spec__.parent.
In a previous change, __spec__.parent was prioritized over
__package__. That is a backwards-compatibility break, but we do
eventually want __spec__ to be the ground truth for module details. So
this change reverts the change in semantics and instead raises an
ImportWarning when __package__ != __spec__.parent to give people time
to adjust to using spec objects.
2016-01-22 15:25:50 -08:00
Brett Cannon
63b8505281 Issue #25791: Raise an ImportWarning when __spec__ or __package__ are
not defined for a relative import.

This is the start of work to try and clean up import semantics to rely
more on a module's spec than on the myriad attributes that get set on
a module. Thanks to Rose Ames for the patch.
2016-01-15 13:33:03 -08:00
Brett Cannon
3ad18dc7a7 Merge for issue #25500 2015-12-04 14:52:07 -08:00
Brett Cannon
f4f25fe576 Issue #25500: Fix the language reference to not claim that import
statements search for __import__ in the global scope.

Thanks to Sergei Lebedev for finding the documentation bug.
2015-12-04 14:51:26 -08:00
R David Murray
3129571fb1 Merge: #25679: spelling fix 2015-11-20 09:59:19 -05:00
R David Murray
0aaeacb3f1 Merge: #25679: spelling fix 2015-11-20 09:58:51 -05:00
R David Murray
51d3f8b0ba #25679: spelling fix 2015-11-20 09:57:20 -05:00
Martin Panter
e56a919100 Issue #25523: Merge a-to-an corrections from 3.5 2015-11-02 04:27:17 +00:00
Martin Panter
d2ad5718ad Issue #25523: Further a-to-an corrections new in 3.5 2015-11-02 04:20:33 +00:00
Berker Peksag
83356f7a3f Issue #25418: Fix markup in object.__hash__ documentation
Patch by TAKASE Arihiro.
2015-10-16 11:23:31 +03:00
Berker Peksag
85d5d902ce Issue #25418: Fix markup in object.__hash__ documentation
Patch by TAKASE Arihiro.
2015-10-16 11:23:11 +03:00
Berker Peksag
edb9111d41 Issue #25418: Fix markup in object.__hash__ documentation
Patch by TAKASE Arihiro.
2015-10-16 11:22:50 +03:00
Martin Panter
430f657c67 Issue #25161: Merge full stops from 3.5 2015-10-10 10:45:00 +00:00
Martin Panter
84835ab1cb Issue #25161: Merge full stops from 3.4 into 3.5 2015-10-10 10:44:25 +00:00
Martin Panter
d21e0b52f1 Issue #25161: Add full stops in documentation; patch by Takase Arihiro 2015-10-10 10:36:22 +00:00
Martin Panter
3766ee5162 Issue #12067: Merge comparisons doc from 3.5 2015-09-23 05:41:52 +00:00
Martin Panter
e52c41a714 Issue #12067: Merge comparisons doc from 3.4 into 3.5 2015-09-23 05:34:48 +00:00
Martin Panter
aa0da864b8 Issue #12067: Rewrite Comparisons section in the language reference
Some of the details of comparing mixed types were incorrect or ambiguous.
NotImplemented is only relevant at a lower level than the Expressions
chapter. Added details of comparing range() objects, and default behaviour
and consistency suggestions for user-defined classes. Patch from Andy Maier.
2015-09-23 05:28:13 +00: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
Robert Collins
00cf3c394a Issue #4395: Better testing and documentation of binary operators.
Patch by Martin Panter.
2015-08-07 10:32:15 +12:00
Robert Collins
d84b29f805 Issue #4395: Better testing and documentation of binary operators.
Patch by Martin Panter.
2015-08-07 10:22:54 +12:00
Robert Collins
888a6729da Issue #24531: Document that encoding lines cannot follow non-comment lines.
Patch from Terry Reedy
2015-08-06 21:14:34 +12:00
Robert Collins
0b2833eaf2 Issue #24531: Document that encoding lines cannot follow non-comment lines.
Patch from Terry Reedy
2015-08-06 21:08:44 +12:00
Nick Coghlan
73c6f64a5e Merge issue #24129 from 3.4 2015-08-05 23:23:24 +10:00
Nick Coghlan
91e561aa77 Issue #24129: Clarify reference docs for name resolution.
This includes removing the assumption that readers will be familiar with the
name resolution scheme Python used prior to the introduction of lexical
scoping for function namespaces.

Patch by Ivan Levkivskyi.
2015-08-05 23:07:24 +10:00
Yury Selivanov
75b5ab5770 docs: Fix productionlist for async def functions 2015-08-01 16:19:36 -04:00
Berker Peksag
a1bddadddd Issue #24713: Use importlib.reload() in import reference document.
imp.reload() was deprecated in Python 3.4 and changed to call
importlib.reload().

Patch by Petr Viktorin.
2015-07-25 13:03:08 +03:00
Berker Peksag
7e732a7181 Issue #24713: Use importlib.reload() in import reference document.
imp.reload() was deprecated in Python 3.4 and changed to call
importlib.reload().

Patch by Petr Viktorin.
2015-07-25 13:02:37 +03: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
Benjamin Peterson
47066ee3db merge 3.4 (#24610) 2015-07-11 16:33:39 -07:00
Benjamin Peterson
acb3a4d88b fix normalization example (closes #24610)
Patch by Chris Angelico
2015-07-11 16:32:55 -07:00
Benjamin Peterson
4801383c29 upgrade to Unicode 8.0.0 2015-06-27 15:45:56 -05: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
Terry Jan Reedy
bd44ce8ead Merge with 3.4 2015-06-12 15:45:05 -04:00
Terry Jan Reedy
f5d4523844 Closes issue #24405: mark set display as code. 2015-06-12 15:44:45 -04:00
Raymond Hettinger
ab89f9c27f merge 2015-05-22 16:38:16 -07:00
Raymond Hettinger
9ecf9e2944 Issue #24219: Remove duplicate literal in docs. 2015-05-22 16:37:49 -07:00
Yury Selivanov
f3e40fac10 Issue 24180: Documentation for PEP 492 changes. 2015-05-21 11:50:30 -04:00
Yury Selivanov
8170e8c0d1 PEP 479: Change StopIteration handling inside generators.
Closes issue #22906.
2015-05-09 11:44:30 -04:00
Guido van Rossum
19dac071ef Issue 24088: Clarify semantics of yield expression (merge from 3.4). 2015-05-05 12:04:35 -07:00
Guido van Rossum
d0150ad59e Issue 24088: Clarify semantics of yield expression. 2015-05-05 12:02:01 -07:00
Benjamin Peterson
51f58059f6 merge 3.4 (#24049) 2015-04-24 12:02:53 -04:00