FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Merged revisions 57221-57391 via svnmerge from · python/cpython@04110fb · GitHub

Repository navigation

Commit 04110fb

Browse files
committed
Merged revisions 57221-57391 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r57227 | facundo.batista | 2007-08-20 17:16:21 -0700 (Mon, 20 Aug 2007) | 5 lines Catch ProtocolError exceptions and include the header information in test output (to make it easier to debug test failures caused by problems in the server). [GSoC - Alan McIntyre] ........ r57229 | mark.hammond | 2007-08-20 18:04:47 -0700 (Mon, 20 Aug 2007) | 5 lines [ 1761786 ] distutils.util.get_platform() return value on 64bit Windows As discussed on distutils-sig: Allows the generated installer name on 64bit Windows platforms to be different than the name generated for 32bit Windows platforms. ........ r57230 | mark.hammond | 2007-08-20 18:05:16 -0700 (Mon, 20 Aug 2007) | 5 lines [ 1761786 ] distutils.util.get_platform() return value on 64bit Windows As discussed on distutils-sig: Allows the generated installer name on 64bit Windows platforms to be different than the name generated for 32bit Windows platforms. ........ r57253 | georg.brandl | 2007-08-20 23:01:18 -0700 (Mon, 20 Aug 2007) | 2 lines Demand version 2.5.1 since 2.5 has a bug with codecs.open context managers. ........ r57254 | georg.brandl | 2007-08-20 23:03:43 -0700 (Mon, 20 Aug 2007) | 2 lines Revert accidental checkins from last commit. ........ r57255 | georg.brandl | 2007-08-20 23:07:08 -0700 (Mon, 20 Aug 2007) | 2 lines Bug #1777160: mention explicitly that e.g. -1**2 is -1. ........ r57256 | georg.brandl | 2007-08-20 23:12:19 -0700 (Mon, 20 Aug 2007) | 3 lines Bug #1777168: replace operator names "opa"... with "op1"... and mark everything up as literal, to enhance readability. ........ r57259 | facundo.batista | 2007-08-21 09:57:18 -0700 (Tue, 21 Aug 2007) | 8 lines Added test for behavior of operations on an unconnected SMTP object, and tests for NOOP, RSET, and VRFY. Corrected typo in a comment for testNonnumericPort. Added a check for constructing SMTP objects when non-numeric ports are included in the host name. Derived a server from SMTPServer to test various ESMTP/SMTP capabilities. Check that a second HELO to DebuggingServer returns an error. [GSoC - Alan McIntyre] ........ r57279 | skip.montanaro | 2007-08-22 12:02:16 -0700 (Wed, 22 Aug 2007) | 2 lines Note that BeOS is unsupported as of Python 2.6. ........ r57280 | skip.montanaro | 2007-08-22 12:05:21 -0700 (Wed, 22 Aug 2007) | 1 line whoops - need to check in configure as well ........ r57284 | alex.martelli | 2007-08-22 14:14:17 -0700 (Wed, 22 Aug 2007) | 5 lines Fix compile.c so that it records 0.0 and -0.0 as separate constants in a code object's co_consts tuple; add a test to show that the previous behavior (where these two constants were "collapsed" into one) causes serious malfunctioning. ........ r57286 | gregory.p.smith | 2007-08-22 14:32:34 -0700 (Wed, 22 Aug 2007) | 3 lines stop leaving log.0000001 __db.00* and xxx.db turds in developer sandboxes when bsddb3 tests are run. ........ r57301 | jeffrey.yasskin | 2007-08-22 16:14:27 -0700 (Wed, 22 Aug 2007) | 3 lines When setup.py fails to find the necessary bits to build some modules, have it print a slightly more informative message. ........ r57320 | brett.cannon | 2007-08-23 07:53:17 -0700 (Thu, 23 Aug 2007) | 2 lines Make test_runpy re-entrant. ........ r57324 | georg.brandl | 2007-08-23 10:54:11 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1768121: fix wrong/missing opcode docs. ........ r57326 | georg.brandl | 2007-08-23 10:57:05 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1766421: "return code" vs. "status code". ........ r57328 | georg.brandl | 2007-08-23 11:08:06 -0700 (Thu, 23 Aug 2007) | 2 lines Second half of #1752175: #ifdef out references to PyImport_DynLoadFiletab if HAVE_DYNAMIC_LOADING is not defined. ........ r57331 | georg.brandl | 2007-08-23 11:11:33 -0700 (Thu, 23 Aug 2007) | 2 lines Use try-except-finally in contextlib. ........ r57343 | georg.brandl | 2007-08-23 13:35:00 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1697820: document that the old slice protocol is still used by builtin types. ........ r57345 | georg.brandl | 2007-08-23 13:40:01 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1573854: fix docs for sqlite3 cursor rowcount attr. ........ r57347 | georg.brandl | 2007-08-23 13:50:23 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1694833: fix imp.find_module() docs wrt. packages. ........ r57348 | georg.brandl | 2007-08-23 13:53:28 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1594966: fix misleading usage example ........ r57349 | georg.brandl | 2007-08-23 13:55:44 -0700 (Thu, 23 Aug 2007) | 2 lines Clarify wording a bit. ........ r57351 | georg.brandl | 2007-08-23 14:18:44 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1752332: httplib no longer uses socket.getaddrinfo(). ........ r57352 | georg.brandl | 2007-08-23 14:21:36 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1734111: document struct.Struct.size. ........ r57353 | georg.brandl | 2007-08-23 14:27:57 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1688564: document os.path.join's absolute path behavior in the docstring. ........ r57354 | georg.brandl | 2007-08-23 14:36:05 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1625381: clarify match vs search introduction. ........ r57355 | georg.brandl | 2007-08-23 14:42:54 -0700 (Thu, 23 Aug 2007) | 2 lines Bug #1758696: more info about descriptors. ........ r57357 | georg.brandl | 2007-08-23 14:55:57 -0700 (Thu, 23 Aug 2007) | 2 lines Patch #1779550: remove redundant code in logging. ........ r57378 | gregory.p.smith | 2007-08-23 22:11:38 -0700 (Thu, 23 Aug 2007) | 2 lines Fix bug 1725856. ........ r57382 | georg.brandl | 2007-08-23 23:10:01 -0700 (Thu, 23 Aug 2007) | 2 lines uuid creation is now threadsafe, backport from py3k rev. 57375. ........ r57389 | georg.brandl | 2007-08-24 04:47:37 -0700 (Fri, 24 Aug 2007) | 2 lines Bug #1765375: fix stripping of unwanted LDFLAGS. ........ r57391 | guido.van.rossum | 2007-08-24 07:53:14 -0700 (Fri, 24 Aug 2007) | 2 lines Fix silly typo in test name. ........
1 parent 07aec08 commit 04110fb

25 files changed

Lines changed: 447 additions & 157 deletions

‎Doc/library/dis.rst‎

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -474,10 +474,29 @@ Miscellaneous opcodes.
474474
Creates a new class object. TOS is the methods dictionary, TOS1 the tuple of
475475
the names of the base classes, and TOS2 the class name.
476476

477+
478+
.. opcode:: WITH_CLEANUP ()
479+
480+
Cleans up the stack when a :keyword:`with` statement block exits. TOS is the
481+
context manager's :meth:`__exit__` bound method. Below that are 1--3 values
482+
indicating how/why the finally clause was entered:
483+
484+
* SECOND = None
485+
* (SECOND, THIRD) = (WHY_{RETURN,CONTINUE}), retval
486+
* SECOND = WHY_\*; no retval below it
487+
* (SECOND, THIRD, FOURTH) = exc_info()
488+
489+
In the last case, ``TOS(SECOND, THIRD, FOURTH)`` is called, otherwise
490+
``TOS(None, None, None)``.
491+
492+
In addition, if the stack represents an exception, *and* the function call
493+
returns a 'true' value, this information is "zapped", to prevent ``END_FINALLY``
494+
from re-raising the exception. (But non-local gotos should still be resumed.)
495+
496+
477497
All of the following opcodes expect arguments. An argument is two bytes, with
478498
the more significant byte last.
479499

480-
481500
.. opcode:: STORE_NAME (namei)
482501

483502
Implements ``name = TOS``. *namei* is the index of *name* in the attribute
@@ -722,11 +741,10 @@ the more significant byte last.
722741

723742
.. opcode:: MAKE_CLOSURE (argc)
724743

725-
Creates a new function object, sets its *__closure__* slot, and pushes it on the
726-
stack. TOS is the code associated with the function. If the code object has N
727-
free variables, the next N items on the stack are the cells for these variables.
728-
The function also has *argc* default parameters, where are found before the
729-
cells.
744+
Creates a new function object, sets its *__closure__* slot, and pushes it on
745+
the stack. TOS is the code associated with the function, TOS1 the tuple
746+
containing cells for the closure's free variables. The function also has
747+
*argc* default parameters, which are found below the cells.
730748

731749

732750
.. opcode:: BUILD_SLICE (argc)

‎Doc/library/doctest.rst‎

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,6 @@ Here's a complete but small example module::
6969
OverflowError: n too large
7070
"""
7171

72-
73-
.. % allow LaTeX to break here.
74-
75-
::
76-
7772
import math
7873
if not n >= 0:
7974
raise ValueError("n must be >= 0")
@@ -88,12 +83,10 @@ Here's a complete but small example module::
8883
factor += 1
8984
return result
9085

91-
def _test():
92-
import doctest
93-
doctest.testmod()
9486

9587
if __name__ == "__main__":
96-
_test()
88+
import doctest
89+
doctest.testmod()
9790

9891
If you run :file:`example.py` directly from the command line, :mod:`doctest`
9992
works its magic::
@@ -131,12 +124,10 @@ And so on, eventually ending with::
131124
...
132125
OverflowError: n too large
133126
ok
134-
1 items had no tests:
135-
__main__._test
136127
2 items passed all tests:
137128
1 tests in __main__
138129
8 tests in __main__.factorial
139-
9 tests in 3 items.
130+
9 tests in 2 items.
140131
9 passed and 0 failed.
141132
Test passed.
142133
$
@@ -156,13 +147,10 @@ Simple Usage: Checking Examples in Docstrings
156147
The simplest way to start using doctest (but not necessarily the way you'll
157148
continue to do it) is to end each module :mod:`M` with::
158149

159-
def _test():
150+
if __name__ == "__main__":
160151
import doctest
161152
doctest.testmod()
162153

163-
if __name__ == "__main__":
164-
_test()
165-
166154
:mod:`doctest` then examines docstrings in module :mod:`M`.
167155

168156
Running the module as a script causes the examples in the docstrings to get

‎Doc/library/imp.rst‎

Lines changed: 53 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -22,63 +22,73 @@ This module provides an interface to the mechanisms used to implement the
2222

2323
.. function:: get_suffixes()
2424

25-
Return a list of triples, each describing a particular type of module. Each
26-
triple has the form ``(suffix, mode, type)``, where *suffix* is a string to be
27-
appended to the module name to form the filename to search for, *mode* is the
28-
mode string to pass to the built-in :func:`open` function to open the file (this
29-
can be ``'r'`` for text files or ``'rb'`` for binary files), and *type* is the
30-
file type, which has one of the values :const:`PY_SOURCE`, :const:`PY_COMPILED`,
31-
or :const:`C_EXTENSION`, described below.
25+
Return a list of 3-element tuples, each describing a particular type of
26+
module. Each triple has the form ``(suffix, mode, type)``, where *suffix* is
27+
a string to be appended to the module name to form the filename to search
28+
for, *mode* is the mode string to pass to the built-in :func:`open` function
29+
to open the file (this can be ``'r'`` for text files or ``'rb'`` for binary
30+
files), and *type* is the file type, which has one of the values
31+
:const:`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, described
32+
below.
3233

3334

3435
.. function:: find_module(name[, path])
3536

36-
Try to find the module *name* on the search path *path*. If *path* is a list of
37-
directory names, each directory is searched for files with any of the suffixes
38-
returned by :func:`get_suffixes` above. Invalid names in the list are silently
39-
ignored (but all list items must be strings). If *path* is omitted or ``None``,
40-
the list of directory names given by ``sys.path`` is searched, but first it
41-
searches a few special places: it tries to find a built-in module with the given
42-
name (:const:`C_BUILTIN`), then a frozen module (:const:`PY_FROZEN`), and on
43-
some systems some other places are looked in as well (on the Mac, it looks for a
44-
resource (:const:`PY_RESOURCE`); on Windows, it looks in the registry which may
45-
point to a specific file).
46-
47-
If search is successful, the return value is a triple ``(file, pathname,
48-
description)`` where *file* is an open file object positioned at the beginning,
49-
*pathname* is the pathname of the file found, and *description* is a triple as
37+
Try to find the module *name* on the search path *path*. If *path* is a list
38+
of directory names, each directory is searched for files with any of the
39+
suffixes returned by :func:`get_suffixes` above. Invalid names in the list
40+
are silently ignored (but all list items must be strings). If *path* is
41+
omitted or ``None``, the list of directory names given by ``sys.path`` is
42+
searched, but first it searches a few special places: it tries to find a
43+
built-in module with the given name (:const:`C_BUILTIN`), then a frozen
44+
module (:const:`PY_FROZEN`), and on some systems some other places are looked
45+
in as well (on the Mac, it looks for a resource (:const:`PY_RESOURCE`); on
46+
Windows, it looks in the registry which may point to a specific file).
47+
48+
If search is successful, the return value is a 3-element tuple ``(file,
49+
pathname, description)``:
50+
51+
*file* is an open file object positioned at the beginning, *pathname* is the
52+
pathname of the file found, and *description* is a 3-element tuple as
5053
contained in the list returned by :func:`get_suffixes` describing the kind of
51-
module found. If the module does not live in a file, the returned *file* is
52-
``None``, *filename* is the empty string, and the *description* tuple contains
53-
empty strings for its suffix and mode; the module type is as indicate in
54-
parentheses above. If the search is unsuccessful, :exc:`ImportError` is raised.
55-
Other exceptions indicate problems with the arguments or environment.
56-
57-
This function does not handle hierarchical module names (names containing dots).
58-
In order to find *P*.*M*, that is, submodule *M* of package *P*, use
54+
module found.
55+
56+
If the module does not live in a file, the returned *file* is ``None``,
57+
*pathname* is the empty string, and the *description* tuple contains empty
58+
strings for its suffix and mode; the module type is indicated as given in
59+
parentheses above. If the search is unsuccessful, :exc:`ImportError` is
60+
raised. Other exceptions indicate problems with the arguments or
61+
environment.
62+
63+
If the module is a package, *file* is ``None``, *pathname* is the package
64+
path and the last item in the *description* tuple is :const:`PKG_DIRECTORY`.
65+
66+
This function does not handle hierarchical module names (names containing
67+
dots). In order to find *P*.*M*, that is, submodule *M* of package *P*, use
5968
:func:`find_module` and :func:`load_module` to find and load package *P*, and
6069
then use :func:`find_module` with the *path* argument set to ``P.__path__``.
6170
When *P* itself has a dotted name, apply this recipe recursively.
6271

6372

64-
.. function:: load_module(name, file, filename, description)
73+
.. function:: load_module(name, file, pathname, description)
6574

6675
Load a module that was previously found by :func:`find_module` (or by an
6776
otherwise conducted search yielding compatible results). This function does
6877
more than importing the module: if the module was already imported, it will
69-
reload the module! The *name* argument indicates the full module name (including
70-
the package name, if this is a submodule of a package). The *file* argument is
71-
an open file, and *filename* is the corresponding file name; these can be
72-
``None`` and ``''``, respectively, when the module is not being loaded from a
73-
file. The *description* argument is a tuple, as would be returned by
74-
:func:`get_suffixes`, describing what kind of module must be loaded.
75-
76-
If the load is successful, the return value is the module object; otherwise, an
77-
exception (usually :exc:`ImportError`) is raised.
78-
79-
**Important:** the caller is responsible for closing the *file* argument, if it
80-
was not ``None``, even when an exception is raised. This is best done using a
81-
:keyword:`try` ... :keyword:`finally` statement.
78+
reload the module! The *name* argument indicates the full
79+
module name (including the package name, if this is a submodule of a
80+
package). The *file* argument is an open file, and *pathname* is the
81+
corresponding file name; these can be ``None`` and ``''``, respectively, when
82+
the module is a package or not being loaded from a file. The *description*
83+
argument is a tuple, as would be returned by :func:`get_suffixes`, describing
84+
what kind of module must be loaded.
85+
86+
If the load is successful, the return value is the module object; otherwise,
87+
an exception (usually :exc:`ImportError`) is raised.
88+
89+
**Important:** the caller is responsible for closing the *file* argument, if
90+
it was not ``None``, even when an exception is raised. This is best done
91+
using a :keyword:`try` ... :keyword:`finally` statement.
8292

8393

8494
.. function:: new_module(name)

‎Doc/library/re.rst‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -393,12 +393,12 @@ Matching vs Searching
393393

394394

395395
Python offers two different primitive operations based on regular expressions:
396-
match and search. If you are accustomed to Perl's semantics, the search
397-
operation is what you're looking for. See the :func:`search` function and
398-
corresponding method of compiled regular expression objects.
396+
**match** checks for a match only at the beginning of the string, while
397+
**search** checks for a match anywhere in the string (this is what Perl does
398+
by default).
399399

400-
Note that match may differ from search using a regular expression beginning with
401-
``'^'``: ``'^'`` matches only at the start of the string, or in
400+
Note that match may differ from search even when using a regular expression
401+
beginning with ``'^'``: ``'^'`` matches only at the start of the string, or in
402402
:const:`MULTILINE` mode also immediately following a newline. The "match"
403403
operation succeeds only if the pattern matches at the start of the string
404404
regardless of mode, or at the starting position given by the optional *pos*

‎Doc/library/socket.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ The module :mod:`socket` exports the following constants and functions:
197197
:func:`socket` function. *canonname* is a string representing the canonical name
198198
of the *host*. It can be a numeric IPv4/v6 address when :const:`AI_CANONNAME` is
199199
specified for a numeric *host*. *sockaddr* is a tuple describing a socket
200-
address, as described above. See the source for the :mod:`httplib` and other
200+
address, as described above. See the source for :mod:`socket` and other
201201
library modules for a typical usage of the function.
202202

203203
.. versionadded:: 2.2

‎Doc/library/sqlite3.rst‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,6 @@ A :class:`Cursor` instance has the following attributes and methods:
440440
attribute, the database engine's own support for the determination of "rows
441441
affected"/"rows selected" is quirky.
442442

443-
For ``SELECT`` statements, :attr:`rowcount` is always None because we cannot
444-
determine the number of rows a query produced until all rows were fetched.
445-
446443
For ``DELETE`` statements, SQLite reports :attr:`rowcount` as 0 if you make a
447444
``DELETE FROM table`` without any condition.
448445

@@ -453,6 +450,9 @@ A :class:`Cursor` instance has the following attributes and methods:
453450
case no executeXX() has been performed on the cursor or the rowcount of the last
454451
operation is not determinable by the interface".
455452

453+
This includes ``SELECT`` statements because we cannot determine the number of
454+
rows a query produced until all rows were fetched.
455+
456456

457457
.. _sqlite3-types:
458458

‎Doc/library/struct.rst‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,3 +290,8 @@ Compiled Struct objects support the following methods and attributes:
290290

291291
The format string used to construct this Struct object.
292292

293+
.. attribute:: Struct.size
294+
295+
The calculated size of the struct (and hence of the string) corresponding
296+
to :attr:`format`.
297+

‎Doc/reference/datamodel.rst‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1544,11 +1544,11 @@ Super Binding
15441544
``A.__dict__['m'].__get__(obj, A)``.
15451545

15461546
For instance bindings, the precedence of descriptor invocation depends on the
1547-
which descriptor methods are defined. Data descriptors define both
1548-
:meth:`__get__` and :meth:`__set__`. Non-data descriptors have just the
1547+
which descriptor methods are defined. Normally, data descriptors define both
1548+
:meth:`__get__` and :meth:`__set__`, while non-data descriptors have just the
15491549
:meth:`__get__` method. Data descriptors always override a redefinition in an
15501550
instance dictionary. In contrast, non-data descriptors can be overridden by
1551-
instances.
1551+
instances. [#]_
15521552

15531553
Python methods (including :func:`staticmethod` and :func:`classmethod`) are
15541554
implemented as non-data descriptors. Accordingly, instances can redefine and
@@ -1817,6 +1817,9 @@ objects. Immutable sequences methods should at most only define
18171817

18181818
.. deprecated:: 2.0
18191819
Support slice objects as parameters to the :meth:`__getitem__` method.
1820+
(However, built-in types in CPython currently still implement
1821+
:meth:`__getslice__`. Therefore, you have to override it in derived
1822+
classes when implementing slicing.)
18201823

18211824
Called to implement evaluation of ``self[i:j]``. The returned object should be
18221825
of the same type as *self*. Note that missing *i* or *j* in the slice
@@ -2112,6 +2115,13 @@ For more information on context managers, see :ref:`typecontextmanager`.
21122115
.. [#] This, and other statements, are only roughly true for instances of new-style
21132116
classes.
21142117
2118+
.. [#] A descriptor can define any combination of :meth:`__get__`,
2119+
:meth:`__set__` and :meth:`__delete__`. If it does not define :meth:`__get__`,
2120+
then accessing the attribute even on an instance will return the descriptor
2121+
object itself. If the descriptor defines :meth:`__set__` and/or
2122+
:meth:`__delete__`, it is a data descriptor; if it defines neither, it is a
2123+
non-data descriptor.
2124+
21152125
.. [#] For operands of the same type, it is assumed that if the non-reflected method
21162126
(such as :meth:`__add__`) fails the operation is not supported, which is why the
21172127
reflected method is not called.

‎Doc/reference/expressions.rst‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ less tightly than unary operators on its right. The syntax is:
741741

742742
Thus, in an unparenthesized sequence of power and unary operators, the operators
743743
are evaluated from right to left (this does not constrain the evaluation order
744-
for the operands).
744+
for the operands): ``-1**2`` results in ``-1``.
745745

746746
The power operator has the same semantics as the built-in :func:`pow` function,
747747
when called with two arguments: it yields its left argument raised to the power
@@ -959,12 +959,12 @@ Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent to
959959
``x < y and y <= z``, except that ``y`` is evaluated only once (but in both
960960
cases ``z`` is not evaluated at all when ``x < y`` is found to be false).
961961

962-
Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *opa*, *opb*, ...,
963-
*opy* are comparison operators, then *a opa b opb c* ...*y opy z* is equivalent
964-
to *a opa b* :keyword:`and` *b opb c* :keyword:`and` ... *y opy z*, except that
965-
each expression is evaluated at most once.
962+
Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, *op2*, ...,
963+
*opN* are comparison operators, then ``a op1 b op2 c ... y opN z`` is equivalent
964+
to ``a op1 b and b op2 c and ... y opN z``, except that each expression is
965+
evaluated at most once.
966966

967-
Note that *a opa b opb c* doesn't imply any kind of comparison between *a* and
967+
Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* and
968968
*c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not
969969
pretty).
970970

‎Doc/tools/sphinx-build.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
if __name__ == '__main__':
1313

14-
if sys.version_info[:3] < (2, 5, 0):
14+
if sys.version_info[:3] < (2, 5, 1):
1515
print >>sys.stderr, """\
16-
Error: Sphinx needs to be executed with Python 2.5 or newer
16+
Error: Sphinx needs to be executed with Python 2.5.1 or newer
1717
(If you run this from the Makefile, you can set the PYTHON variable
1818
to the path of an alternative interpreter executable, e.g.,
1919
``make html PYTHON=python2.5``).

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL