1111
1212\section {Introduction }
1313
14+ {\large This document is a draft, and is subject to change until
15+ Python 2.1 is released. Please send any comments, bug reports, or questions,
16+ no matter how minor, to
\email {
[email protected] }.
17+ }
18+
1419It's that time again... time for a new Python release, version 2.1.
1520One recent goal of the Python development team has been to accelerate
1621the pace of new releases, with a new release coming every 6 to 9
@@ -44,7 +49,8 @@ \section{PEP 232: Function Attributes}
4449as safe for public access by having a docstring, and in John Aycock's
4550SPARK parsing framework, docstrings hold parts of the BNF grammar to
4651be parsed. This overloading is unfortunate, since docstrings are
47- really intended to hold a function's documentation, and means you
52+ really intended to hold a function's documentation, and it
53+ means you
4854can't properly document functions intended for private use in Zope.
4955
5056Attributes can now be set and retrieved on functions, using the
@@ -147,7 +153,7 @@ \section{PEP 230: Warning Framework}
147153Over its 10 years of existence, Python has accumulated a certain
148154number of obsolete modules and features along the way. It's difficult
149155to know when a feature is safe to remove, since there's no way of
150- knowing how much code uses it -- perhaps no programs depend on the
156+ knowing how much code uses it --- perhaps no programs depend on the
151157feature, or perhaps many do. To enable removing old features in a
152158more structured way, a warning framework was added. When the Python
153159developers want to get rid of a feature, it will first trigger a
@@ -223,8 +229,26 @@ \section{PEP 229: New Build System}
223229Python 2.0 added the Distutils, a set of modules for distributing and
224230installing extensions. In Python 2.1, the Distutils are used to
225231compile much of the standard library of extension modules,
226- autodetecting which ones are supported on the current machine.
227- It's hoped that this will make Python installations easier and more featureful.
232+ autodetecting which ones are supported on the current machine. It's
233+ hoped that this will make Python installations easier and more
234+ featureful.
235+
236+ Instead of having to edit the \file {Modules/Setup} file in order to
237+ enable modules, a \file {setup.py} script in the top directory of the
238+ Python source distribution is run at build time, and attempts to
239+ discover which modules can be enabled by examining the modules and
240+ header files on the system. In 2.1alpha1, there's very little you can
241+ do to change \file {setup.py}'s behaviour, or to discover why a given
242+ module isn't compiled. If you run into problems in 2.1alpha1, please
243+ report them, and be prepared to dive into \file {setup.py} in order to
244+ fix autodetection of a given library on your system. In the alpha2
245+ release I plan to add ways to have more control over what the script
246+ does (probably command-line arguments to \file {configure} or to
247+ \file {setup.py}).
248+
249+ If it turns out to be impossible to make autodetection work reliably,
250+ it's possible that this change may become an optional build method
251+ instead of the default, or it may even be backed out completely.
228252
229253\begin {seealso }
230254\seepep {229}{Using Distutils to Build Python}{Written and implemented by A.M. Kuchling.}
@@ -319,8 +343,8 @@ \section{Minor Changes and Fixes}
319343the existing \function {xrange()} built-in. \function {xreadlines()}
320344returns an opaque sequence object that only supports being iterated
321345over, reading a line on every iteration but not reading the entire
322- file into memory as the existing \method {readline ()} method. You'd
323- use it like this:
346+ file into memory as the existing \method {readlines ()} method does.
347+ You'd use it like this:
324348
325349\begin {verbatim }
326350for line in sys.stdin.xreadlines():
@@ -346,7 +370,7 @@ \section{Minor Changes and Fixes}
346370visible.
347371
348372\item Modules can now control which names are imported when \code {from
349- \var {module} import *} is used, by defining a \code {__all__} attribute
373+ \var {module} import *} is used, by defining an \code {__all__} attribute
350374containing a list of names that will be imported. One common
351375complaint is that if the module imports other modules such as
352376\module {sys} or \module {string}, \code {from \var {module} import *}
@@ -402,21 +426,39 @@ \section{Minor Changes and Fixes}
402426
403427
404428% ======================================================================
405- \section {XXX Nested Scopes ? }
429+ \section {Nested Scopes }
430+
431+ % XXX
432+ The PEP for this new feature hasn't been completed yet, and the
433+ requisite changes haven't been checked into CVS yet.
434+
435+ \begin {seealso }
436+
437+ \seepep {227}{Statically Nested Scopes}{Written and implemented by Jeremy Hylton.}
438+
439+ \end {seealso }
406440
407- xxx
408441
409442% ======================================================================
410- \section {XXX Weak References ? }
443+ \section {Weak References }
444+
445+ % XXX
446+ The PEP for this new feature hasn't been completed yet, and the
447+ requisite changes haven't been checked into CVS yet.
448+
449+
450+ \begin {seealso }
451+
452+ \seepep {205}{Statically Nested Scopes}{Written and implemented by Jeremy Hylton.}
453+
454+ \end {seealso }
411455
412- xxx
413456
414457% ======================================================================
415458\section {Acknowledgements }
416459
417460The author would like to thank the following people for offering
418- suggestions on various drafts of this article: Michael Hudson,
419- Marc-Andr\' e Lemburg,
420- Neil Schemenauer, Thomas Wouters.
461+ suggestions on various drafts of this article: David Goodger, Michael
462+ Hudson, Marc-Andr\' e Lemburg, Neil Schemenauer, Thomas Wouters.
421463
422464\end {document }
0 commit comments