Convert PEP 200 to reST. (#49)

This commit is contained in:
Matthias Bussonnier 2016-07-08 20:24:15 -07:00 committed by Berker Peksag
parent 8f12586fb2
commit 99722904ba
1 changed files with 158 additions and 144 deletions

View File

@ -5,103 +5,113 @@ Last-Modified: $Date$
Author: Jeremy Hylton <jeremy@alum.mit.edu> Author: Jeremy Hylton <jeremy@alum.mit.edu>
Status: Final Status: Final
Type: Informational Type: Informational
Content-Type: text/x-rst
Created: Created:
Python-Version: 2.0 Python-Version: 2.0
Post-History: Post-History:
Introduction Introduction
============
This PEP describes the Python 2.0 release schedule, tracking the This PEP describes the Python 2.0 release schedule, tracking the
status and ownership of the major new features, summarizes status and ownership of the major new features, summarizes discussions
discussions held in mailing list forums, and provides URLs for held in mailing list forums, and provides URLs for further
further information, patches, and other outstanding issues. The information, patches, and other outstanding issues. The CVS revision
CVS revision history of this file contains the definitive history of this file contains the definitive historical record.
historical record.
Release Schedule Release Schedule
================
[revised 5 Oct 2000] [revised 5 Oct 2000]
26-Sep-2000: 2.0 beta 2
9-Oct-2000: 2.0 release candidate 1 (2.0c1) * 26-Sep-2000: 2.0 beta 2
16-Oct-2000: 2.0 final * 9-Oct-2000: 2.0 release candidate 1 (2.0c1)
* 16-Oct-2000: 2.0 final
Previous milestones Previous milestones
14-Aug-2000: All 2.0 PEPs finished / feature freeze ===================
5-Sep-2000: 2.0 beta 1
* 14-Aug-2000: All 2.0 PEPs finished / feature freeze
* 5-Sep-2000: 2.0 beta 1
What is release candidate 1? What is release candidate 1?
============================
We believe that release candidate 1 will fix all known bugs that We believe that release candidate 1 will fix all known bugs that we
we intend to fix for the 2.0 final release. This release should intend to fix for the 2.0 final release. This release should be a bit
be a bit more stable than the previous betas. We would like to more stable than the previous betas. We would like to see even more
see even more widespread testing before the final release, so we widespread testing before the final release, so we are producing this
are producing this release candidate. The final release will be release candidate. The final release will be exactly the same unless
exactly the same unless any show-stopping (or brown bag) bugs are any show-stopping (or brown bag) bugs are found by testers of the
found by testers of the release candidate. release candidate.
Guidelines for submitting patches and making changes Guidelines for submitting patches and making changes
====================================================
Use good sense when committing changes. You should know what we Use good sense when committing changes. You should know what we mean
mean by good sense or we wouldn't have given you commit privileges by good sense or we wouldn't have given you commit privileges <0.5
<0.5 wink>. Some specific examples of good sense include: wink>. Some specific examples of good sense include:
- Do whatever the dictator tells you. * Do whatever the dictator tells you.
- Discuss any controversial changes on python-dev first. If you * Discuss any controversial changes on python-dev first. If you get
get a lot of +1 votes and no -1 votes, make the change. If you a lot of +1 votes and no -1 votes, make the change. If you get a
get a some -1 votes, think twice; consider asking Guido what he some -1 votes, think twice; consider asking Guido what he thinks.
thinks.
- If the change is to code you contributed, it probably makes * If the change is to code you contributed, it probably makes sense
sense for you to fix it. for you to fix it.
- If the change affects code someone else wrote, it probably makes * If the change affects code someone else wrote, it probably makes
sense to ask him or her first. sense to ask him or her first.
- You can use the SF Patch Manager to submit a patch and assign it * You can use the SF Patch Manager to submit a patch and assign it to
to someone for review. someone for review.
Any significant new feature must be described in a PEP and Any significant new feature must be described in a PEP and approved
approved before it is checked in. before it is checked in.
Any significant code addition, such as a new module or large Any significant code addition, such as a new module or large patch,
patch, must include test cases for the regression test and must include test cases for the regression test and documentation. A
documentation. A patch should not be checked in until the tests patch should not be checked in until the tests and documentation are
and documentation are ready. ready.
If you fix a bug, you should write a test case that would have If you fix a bug, you should write a test case that would have caught
caught the bug. the bug.
If you commit a patch from the SF Patch Manager or fix a bug from If you commit a patch from the SF Patch Manager or fix a bug from the
the Jitterbug database, be sure to reference the patch/bug number Jitterbug database, be sure to reference the patch/bug number in the
in the CVS log message. Also be sure to change the status in the CVS log message. Also be sure to change the status in the patch
patch manager or bug database (if you have access to the bug manager or bug database (if you have access to the bug database).
database).
It is not acceptable for any checked in code to cause the It is not acceptable for any checked in code to cause the regression
regression test to fail. If a checkin causes a failure, it must test to fail. If a checkin causes a failure, it must be fixed within
be fixed within 24 hours or it will be backed out. 24 hours or it will be backed out.
All contributed C code must be ANSI C. If possible check it with All contributed C code must be ANSI C. If possible check it with two
two different compilers, e.g. gcc and MSVC. different compilers, e.g. gcc and MSVC.
All contributed Python code must follow Guido's Python style All contributed Python code must follow Guido's Python style guide.
guide. http://www.python.org/doc/essays/styleguide.html http://www.python.org/doc/essays/styleguide.html
It is understood that any code contributed will be released under It is understood that any code contributed will be released under an
an Open Source license. Do not contribute code if it can't be Open Source license. Do not contribute code if it can't be released
released this way. this way.
Failing test cases need to get fixed Failing test cases need to get fixed
====================================
We need to resolve errors in the regression test suite quickly. We need to resolve errors in the regression test suite quickly.
Changes should not be committed to the CVS tree unless the Changes should not be committed to the CVS tree unless the regression
regression test runs cleanly with the changes applied. If it test runs cleanly with the changes applied. If it fails, there may be
fails, there may be bugs lurking in the code. (There may be bugs bugs lurking in the code. (There may be bugs anyway, but that's
anyway, but that's another matter.) If the test cases are known another matter.) If the test cases are known to fail, they serve no
to fail, they serve no useful purpose. useful purpose.
::
test case platform date reported test case platform date reported
--------- -------- ------------- --------- -------- -------------
@ -115,40 +125,46 @@ Failing test cases need to get fixed
] ]
Open items -- Need to be resolved before 2.0 final release Open items -- Need to be resolved before 2.0 final release
==========================================================
Decide whether cycle-gc should be enabled by default. Decide whether cycle-gc should be enabled by default.
Resolve compatibility issues between core xml package and the Resolve compatibility issues between core xml package and the XML-SIG
XML-SIG XML package. XML package.
Update Tools/compiler so that it is compatible with list Update Tools/compiler so that it is compatible with list
comprehensions, import as, and any other new language features. comprehensions, import as, and any other new language features.
Improve code coverage of test suite. Improve code coverage of test suite.
Finish writing the PEPs for the features that went out with Finish writing the PEPs for the features that went out with 2.0b1(!
2.0b1(! sad, but realistic -- we'll get better with practice). sad, but realistic -- we'll get better with practice).
Major effort to whittle the bug database down to size. I've (tim) Major effort to whittle the bug database down to size. I've (tim)
seen this before: if you can keep all the open bugs fitting on one seen this before: if you can keep all the open bugs fitting on one
screen, people will generally keep it that way. But let it screen, people will generally keep it that way. But let it slobber
slobber over a screen for a month, & it just goes to hell (no over a screen for a month, & it just goes to hell (no "visible
"visible progress" indeed!). progress" indeed!).
Accepted and in progress Accepted and in progress
========================
* Currently none left. [4-Sep-2000 guido] * Currently none left. [4-Sep-2000 guido]
Open: proposed but not accepted or rejected Open: proposed but not accepted or rejected
===========================================
* There are a number of open patches again. We need to clear * There are a number of open patches again. We need to clear these
these out soon. out soon.
Previously failing test cases Previously failing test cases
=============================
If you find a test bouncing between this section and the previous one, If you find a test bouncing between this section and the previous one,
the code it's testing is in trouble! the code it's testing is in trouble!
::
test case platform date reported test case platform date reported
--------- -------- ------------- --------- -------- -------------
test_fork1 Linux 26-Jul-2000 test_fork1 Linux 26-Jul-2000
@ -233,8 +249,10 @@ Previously failing test cases
expected: 'HKEY_PERFORMANCE_DATA\012' expected: 'HKEY_PERFORMANCE_DATA\012'
] ]
Open items -- completed/fixed Open items -- completed/fixed
=============================
::
[4-Sep-2000 guido: Fredrik finished this on 1-Sep] [4-Sep-2000 guido: Fredrik finished this on 1-Sep]
* PyErr_Format - Fredrik Lundh * PyErr_Format - Fredrik Lundh
@ -277,77 +295,72 @@ Open items -- completed/fixed
whole machine. Was caused by Norton Antivirus 2000 (6.10.20) on whole machine. Was caused by Norton Antivirus 2000 (6.10.20) on
Windows 9x. Resolution: disable virus protection. Windows 9x. Resolution: disable virus protection.
Accepted and completed Accepted and completed
======================
* Change meaning of \x escapes - PEP 223 - Fredrik Lundh * Change meaning of \x escapes - PEP 223 - Fredrik Lundh
* Add \U1234678 escapes in u"" strings - Fredrik Lundh * Add \U1234678 escapes in u"" strings - Fredrik Lundh
* Support for opcode arguments > 2**16 - Charles Waldman * Support for opcode arguments > ``2**16`` - Charles Waldman SF Patch
SF Patch 100893 100893
* "import as" - Thomas Wouters * "import as" - Thomas Wouters Extend the 'import' and 'from ...
Extend the 'import' and 'from ... import' mechanism to enable import' mechanism to enable importing a symbol as another name.
importing a symbol as another name. (Without adding a new keyword.) (Without adding a new keyword.)
* List comprehensions - Skip Montanaro * List comprehensions - Skip Montanaro Tim Peters still needs to do
Tim Peters still needs to do PEP. PEP.
* Restore old os.path.commonprefix behavior * Restore old os.path.commonprefix behavior Do we have test cases that
Do we have test cases that work on all platforms? work on all platforms?
* Tim O'Malley's cookie module with good license * Tim O'Malley's cookie module with good license
* Lockstep iteration ("zip" function) - Barry Warsaw * Lockstep iteration ("zip" function) - Barry Warsaw
* SRE - Fredrik Lundh * SRE - Fredrik Lundh [at least I **think** it's done, as of
[at least I *think* it's done, as of 15-Aug-2000 - tim] 15-Aug-2000 - tim]
* Fix xrange printing behavior - Fred Drake * Fix xrange printing behavior - Fred Drake Remove the tp_print
Remove the tp_print handler for the xrange type; it produced a handler for the xrange type; it produced a list display instead of
list display instead of 'xrange(...)'. The new code produces a 'xrange(...)'. The new code produces a minimal call to xrange(),
minimal call to xrange(), enclosed in (... * N) when N != 1. enclosed in (``... * N``) when N != 1. This makes the repr() more
This makes the repr() more human readable while making it do human readable while making it do what reprs are advertised as
what reprs are advertised as doing. It also makes the xrange doing. It also makes the xrange objects obvious when working in the
objects obvious when working in the interactive interpreter. interactive interpreter.
* Extended print statement - Barry Warsaw * Extended print statement - Barry Warsaw PEP 214
PEP 214 http://www.python.org/dev/peps/pep-0214/ SF Patch #100970
http://www.python.org/dev/peps/pep-0214/
SF Patch #100970
http://sourceforge.net/patch/?func=detailpatch&patch_id=100970&group_id=5470 http://sourceforge.net/patch/?func=detailpatch&patch_id=100970&group_id=5470
* interface to poll system call - Andrew Kuchling * interface to poll system call - Andrew Kuchling SF Patch 100852
SF Patch 100852
* Augmented assignment - Thomas Wouters * Augmented assignment - Thomas Wouters Add += and family, plus Python
Add += and family, plus Python and C hooks, and API functions. and C hooks, and API functions.
* gettext.py module - Barry Warsaw * gettext.py module - Barry Warsaw
Postponed Postponed
=========
* Extended slicing on lists - Michael Hudson * Extended slicing on lists - Michael Hudson Make lists (and other
Make lists (and other builtin types) handle extended slices. builtin types) handle extended slices.
* Compression of Unicode database - Fredrik Lundh * Compression of Unicode database - Fredrik Lundh SF Patch 100899 At
SF Patch 100899 least for 2.0b1. May be included in 2.0 as a bug fix.
At least for 2.0b1. May be included in 2.0 as a bug fix.
* Range literals - Thomas Wouters * Range literals - Thomas Wouters SF Patch 100902 We ended up having a
SF Patch 100902 lot of doubt about the proposal.
We ended up having a lot of doubt about the proposal.
* Eliminated SET_LINENO opcode - Vladimir Marangozov * Eliminated SET_LINENO opcode - Vladimir Marangozov Small
Small optimization achieved by using the code object's lnotab optimization achieved by using the code object's lnotab instead of
instead of the SET_LINENO instruction. Uses code rewriting the SET_LINENO instruction. Uses code rewriting technique (that
technique (that Guido's frowns on) to support debugger, which Guido's frowns on) to support debugger, which uses SET_LINENO.
uses SET_LINENO.
http://starship.python.net/~vlad/lineno/ http://starship.python.net/~vlad/lineno/ for (working at the time)
for (working at the time) patches patches
Discussions on python-dev: Discussions on python-dev:
@ -360,13 +373,14 @@ Postponed
Rejected Rejected
========
* 'indexing-for' - Thomas Wouters * 'indexing-for' - Thomas Wouters Special syntax to give Python code
Special syntax to give Python code access to the loop-counter in 'for' access to the loop-counter in 'for' loops. (Without adding a new
loops. (Without adding a new keyword.) keyword.)
..
Local Variables: Local Variables:
mode: indented-text mode: indented-text
indent-tabs-mode: nil indent-tabs-mode: nil