From cbf79d2711208d2775f110cb9fd2ea2d5249493b Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 16 Mar 2016 16:22:19 -0700 Subject: [PATCH 1/4] Undefined didn't make it into the standard. --- pep-0483.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pep-0483.txt b/pep-0483.txt index 027a32c29..cc17fcab2 100644 --- a/pep-0483.txt +++ b/pep-0483.txt @@ -224,10 +224,6 @@ are still controversial or not fully specified.) * x = [] # type: Sequence[int] -- Type declarations using Undefined, e.g. - - * x = Undefined(str) - - Casts using cast(T, x), e.g. * x = cast(Any, frobozz()) From e8c05569ecfb698375125374fc898753ba9332b0 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 16 Mar 2016 17:19:40 -0700 Subject: [PATCH 2/4] Clarify things around the coding cookie. Serhiy Storchaka: "Coding cookie must be in comment, only the first occurrence in the line must be taken to account (here is a bug in CPython), encoding name must be ASCII, and there must not be any Python statement on the line that contains the encoding declaration." --- pep-0263.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pep-0263.txt b/pep-0263.txt index 59cb20506..8190cf3a7 100644 --- a/pep-0263.txt +++ b/pep-0263.txt @@ -61,11 +61,13 @@ Defining the Encoding # vim: set fileencoding= : More precisely, the first or second line must match the regular - expression "coding[:=]\s*([-\w.]+)". The first group of this + expression "^[ \t\v]*#.*?coding[:=][ \t]*([-.a-zA-Z0-9]+)". + The first group of this expression is then interpreted as encoding name. If the encoding is unknown to Python, an error is raised during compilation. There must not be any Python statement on the line that contains the - encoding declaration. + encoding declaration. If the first line matches the second line + is ignored. To aid with platforms such as Windows, which add Unicode BOM marks to the beginning of Unicode files, the UTF-8 signature From 40d4760aea81a4f7fdf9f417f23c7bb5d7ed5725 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 17 Mar 2016 15:47:38 +0200 Subject: [PATCH 3/4] Encoding name can contain underscores. --- pep-0263.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pep-0263.txt b/pep-0263.txt index 8190cf3a7..68fc854cd 100644 --- a/pep-0263.txt +++ b/pep-0263.txt @@ -61,7 +61,7 @@ Defining the Encoding # vim: set fileencoding= : More precisely, the first or second line must match the regular - expression "^[ \t\v]*#.*?coding[:=][ \t]*([-.a-zA-Z0-9]+)". + expression "^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)". The first group of this expression is then interpreted as encoding name. If the encoding is unknown to Python, an error is raised during compilation. There From d530ee1bf307cef229174503448e3d145af08348 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 17 Mar 2016 16:28:56 -0700 Subject: [PATCH 4/4] PEP 514: Updates wording and post date --- pep-0514.txt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pep-0514.txt b/pep-0514.txt index 4ff7cd081..af36d7024 100644 --- a/pep-0514.txt +++ b/pep-0514.txt @@ -7,7 +7,7 @@ Status: Draft Type: Informational Content-Type: text/x-rst Created: 02-Feb-2016 -Post-History: 02-Feb-2016 +Post-History: 02-Feb-2016, 01-Mar-2016 Abstract ======== @@ -82,9 +82,9 @@ Tools that include every installed environment, even where the Company-Tag pairs match, should ensure users can easily identify whether the registration was per-user or per-machine. -Tools that give priority to user preferences must ignore values from -``HKEY_LOCAL_MACHINE`` when a matching Company-Tag pair exists is in -``HKEY_CURRENT_USER``. +When tools are selecting a single installed environment from all registered +environments, the intent is that user preferences from ``HKEY_CURRENT_USER`` +will override matching Company-Tag pairs in ``HKEY_LOCAL_MACHINE``. Official Python releases use ``PythonCore`` for Company, and the value of ``sys.winver`` for Tag. Other registered environments may use any values for @@ -118,8 +118,8 @@ current user. Python 3.5 and later always uses different Tags for 64-bit and 32-bit versions. Environments registered under other Company names must use distinct Tags to -support side-by-side installations. There is no backwards compatibility -allowance. +support side-by-side installations. Tools consuming these registrations are +not required to disambiguate tags other than by preferring the user's setting. Company ------- @@ -242,7 +242,10 @@ Other Keys Some other registry keys are used for defining or inferring search paths under certain conditions. A third-party installation is permitted to define these keys under their Company-Tag key, however, the interpreter must be modified and -rebuilt in order to read these values. +rebuilt in order to read these values. Alternatively, the interpreter may be +modified to not use any registry keys for determining search paths. Making such +changes is a decision for the third party; this PEP makes no recommendation +either way. Copyright =========