Commit f6c8fd62 authored by Georg Brandl's avatar Georg Brandl

Merged revisions...

Merged revisions 86537,86867-86868,86881,86887,86913-86915,86931-86933,86960,86964,86974,86980,86996,87008,87050 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r86537 | georg.brandl | 2010-11-19 23:09:04 +0100 (Fr, 19 Nov 2010) | 1 line

  Do not put a raw REPLACEMENT CHARACTER in the document.
........
  r86867 | georg.brandl | 2010-11-29 15:50:54 +0100 (Mo, 29 Nov 2010) | 1 line

  Fix indentation bug.
........
  r86868 | georg.brandl | 2010-11-29 15:53:15 +0100 (Mo, 29 Nov 2010) | 1 line

  Fix heading style inconsistencies.
........
  r86881 | georg.brandl | 2010-11-30 08:43:28 +0100 (Di, 30 Nov 2010) | 1 line

  #10584: fix bad links.
........
  r86887 | georg.brandl | 2010-11-30 15:57:54 +0100 (Di, 30 Nov 2010) | 1 line

  Fix typo.
........
  r86913 | georg.brandl | 2010-12-01 16:32:43 +0100 (Mi, 01 Dez 2010) | 1 line

  Add missing word, and add a better reference to the actual function.
........
  r86914 | georg.brandl | 2010-12-01 16:36:33 +0100 (Mi, 01 Dez 2010) | 1 line

  #10594: fix parameter names in PyList API docs.
........
  r86915 | georg.brandl | 2010-12-01 16:44:25 +0100 (Mi, 01 Dez 2010) | 1 line

  Fix some markup and style in the unittest docs.
........
  r86931 | georg.brandl | 2010-12-02 10:06:12 +0100 (Do, 02 Dez 2010) | 1 line

  Fix-up documentation of makedirs().
........
  r86932 | david.malcolm | 2010-12-02 17:41:00 +0100 (Do, 02 Dez 2010) | 2 lines

  Fix spelling of Jamie Zawinski's surname in urllib.parse docstring (issue 10606)
........
  r86933 | georg.brandl | 2010-12-02 19:02:01 +0100 (Do, 02 Dez 2010) | 1 line

  #10597: fix Py_SetPythonHome docs by pointing to where the meaning of PYTHONHOME is already documented.
........
  r86960 | georg.brandl | 2010-12-03 08:55:44 +0100 (Fr, 03 Dez 2010) | 1 line

  #10360: catch TypeError in WeakSet.__contains__, just like WeakKeyDictionary does.
........
  r86964 | georg.brandl | 2010-12-03 10:58:38 +0100 (Fr, 03 Dez 2010) | 1 line

  #10549: fix interface of docclass() for text documenter.
........
  r86974 | georg.brandl | 2010-12-03 16:30:09 +0100 (Fr, 03 Dez 2010) | 1 line

  Markup consistency fixes.
........
  r86980 | georg.brandl | 2010-12-03 18:19:27 +0100 (Fr, 03 Dez 2010) | 1 line

  Fix punctuation.
........
  r86996 | georg.brandl | 2010-12-03 20:56:42 +0100 (Fr, 03 Dez 2010) | 1 line

  Fix indentation.
........
  r87008 | georg.brandl | 2010-12-04 10:04:04 +0100 (Sa, 04 Dez 2010) | 1 line

  Fix typo.
........
  r87050 | georg.brandl | 2010-12-04 18:09:30 +0100 (Sa, 04 Dez 2010) | 1 line

  Fix typo.
........
parent 622ce124
...@@ -318,8 +318,9 @@ Process-wide parameters ...@@ -318,8 +318,9 @@ Process-wide parameters
.. cfunction:: void Py_SetPythonHome(wchar_t *home) .. cfunction:: void Py_SetPythonHome(wchar_t *home)
Set the default "home" directory, that is, the location of the standard Set the default "home" directory, that is, the location of the standard
Python libraries. The libraries are searched in Python libraries. See :envvar:`PYTHONHOME` for the meaning of the
:file:`{home}/lib/python{version}` and :file:`{home}/lib/python{version}`. argument string.
The argument should point to a zero-terminated character string in static The argument should point to a zero-terminated character string in static
storage whose contents will not change for the duration of the program's storage whose contents will not change for the duration of the program's
execution. No code in the Python interpreter will change the contents of execution. No code in the Python interpreter will change the contents of
......
...@@ -37,7 +37,7 @@ List Objects ...@@ -37,7 +37,7 @@ List Objects
.. note:: .. note::
If *length* is greater than zero, the returned list object's items are If *len* is greater than zero, the returned list object's items are
set to ``NULL``. Thus you cannot use abstract API functions such as set to ``NULL``. Thus you cannot use abstract API functions such as
:cfunc:`PySequence_SetItem` or expose the object to Python code before :cfunc:`PySequence_SetItem` or expose the object to Python code before
setting all items to a real object with :cfunc:`PyList_SetItem`. setting all items to a real object with :cfunc:`PyList_SetItem`.
...@@ -58,9 +58,9 @@ List Objects ...@@ -58,9 +58,9 @@ List Objects
.. cfunction:: PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index) .. cfunction:: PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index)
Return the object at position *pos* in the list pointed to by *p*. The Return the object at position *index* in the list pointed to by *list*. The
position must be positive, indexing from the end of the list is not position must be positive, indexing from the end of the list is not
supported. If *pos* is out of bounds, return *NULL* and set an supported. If *index* is out of bounds, return *NULL* and set an
:exc:`IndexError` exception. :exc:`IndexError` exception.
......
...@@ -265,10 +265,13 @@ Unicode result). The following examples show the differences:: ...@@ -265,10 +265,13 @@ Unicode result). The following examples show the differences::
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0: UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0:
unexpected code byte unexpected code byte
>>> b'\x80abc'.decode("utf-8", "replace") >>> b'\x80abc'.decode("utf-8", "replace")
'\ufffdabc' '?abc'
>>> b'\x80abc'.decode("utf-8", "ignore") >>> b'\x80abc'.decode("utf-8", "ignore")
'abc' 'abc'
(In this code example, the Unicode replacement character has been replaced by
a question mark because it may not be displayed on some systems.)
Encodings are specified as strings containing the encoding's name. Python 3.2 Encodings are specified as strings containing the encoding's name. Python 3.2
comes with roughly 100 different encodings; see the Python Library Reference at comes with roughly 100 different encodings; see the Python Library Reference at
:ref:`standard-encodings` for a list. Some encodings have multiple names; for :ref:`standard-encodings` for a list. Some encodings have multiple names; for
......
...@@ -20,7 +20,7 @@ the Oracle Berkeley DB. ...@@ -20,7 +20,7 @@ the Oracle Berkeley DB.
.. function:: whichdb(filename) .. function:: whichdb(filename)
This functionattempts to guess which of the several simple database modules This function attempts to guess which of the several simple database modules
available --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` or :mod:`dbm.dumb` --- should available --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` or :mod:`dbm.dumb` --- should
be used to open a given file. be used to open a given file.
......
...@@ -347,7 +347,6 @@ The :class:`SequenceMatcher` class has this constructor: ...@@ -347,7 +347,6 @@ The :class:`SequenceMatcher` class has this constructor:
:class:`SequenceMatcher` objects have the following methods: :class:`SequenceMatcher` objects have the following methods:
.. method:: set_seqs(a, b) .. method:: set_seqs(a, b)
Set the two sequences to be compared. Set the two sequences to be compared.
......
...@@ -473,9 +473,7 @@ libraries, then the logger name specified can be "orgname.foo" rather than ...@@ -473,9 +473,7 @@ libraries, then the logger name specified can be "orgname.foo" rather than
just "foo". just "foo".
.. versionadded:: 3.1 .. versionadded:: 3.1
The :class:`NullHandler` class was not present in previous versions, but is The :class:`NullHandler` class.
now included, so that it need not be defined in library code.
Logging Levels Logging Levels
...@@ -593,8 +591,7 @@ provided: ...@@ -593,8 +591,7 @@ provided:
more information. more information.
.. versionadded:: 3.1 .. versionadded:: 3.1
The :class:`NullHandler` class.
The :class:`NullHandler` class was not present in previous versions.
The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler`
classes are defined in the core logging package. The other handlers are classes are defined in the core logging package. The other handlers are
...@@ -1816,6 +1813,7 @@ sends logging output to a disk file. It inherits the output functionality from ...@@ -1816,6 +1813,7 @@ sends logging output to a disk file. It inherits the output functionality from
Outputs the record to the file. Outputs the record to the file.
.. _null-handler: .. _null-handler:
NullHandler NullHandler
...@@ -1827,12 +1825,10 @@ The :class:`NullHandler` class, located in the core :mod:`logging` package, ...@@ -1827,12 +1825,10 @@ The :class:`NullHandler` class, located in the core :mod:`logging` package,
does not do any formatting or output. It is essentially a "no-op" handler does not do any formatting or output. It is essentially a "no-op" handler
for use by library developers. for use by library developers.
.. class:: NullHandler() .. class:: NullHandler()
Returns a new instance of the :class:`NullHandler` class. Returns a new instance of the :class:`NullHandler` class.
.. method:: emit(record) .. method:: emit(record)
This method does nothing. This method does nothing.
...@@ -2609,6 +2605,7 @@ wire). ...@@ -2609,6 +2605,7 @@ wire).
Returns the message for this :class:`LogRecord` instance after merging any Returns the message for this :class:`LogRecord` instance after merging any
user-supplied arguments with the message. user-supplied arguments with the message.
.. _logger-adapter: .. _logger-adapter:
LoggerAdapter Objects LoggerAdapter Objects
...@@ -2616,9 +2613,8 @@ LoggerAdapter Objects ...@@ -2616,9 +2613,8 @@ LoggerAdapter Objects
:class:`LoggerAdapter` instances are used to conveniently pass contextual :class:`LoggerAdapter` instances are used to conveniently pass contextual
information into logging calls. For a usage example , see the section on information into logging calls. For a usage example , see the section on
`adding contextual information to your logging output`__. :ref:`adding contextual information to your logging output <context-info>`.
__ context-info_
.. class:: LoggerAdapter(logger, extra) .. class:: LoggerAdapter(logger, extra)
......
...@@ -1015,7 +1015,7 @@ Files and Directories ...@@ -1015,7 +1015,7 @@ Files and Directories
Availability: Unix, Windows. Availability: Unix, Windows.
.. function:: makedirs(path[, mode]) .. function:: makedirs(path, mode=0o777)
.. index:: .. index::
single: directory; creating single: directory; creating
...@@ -1029,8 +1029,8 @@ Files and Directories ...@@ -1029,8 +1029,8 @@ Files and Directories
.. note:: .. note::
:func:`makedirs` will become confused if the path elements to create include :func:`makedirs` will become confused if the path elements to create
:data:`os.pardir`. include :data:`pardir`.
This function handles UNC paths correctly. This function handles UNC paths correctly.
......
...@@ -42,7 +42,7 @@ general :mod:`pickle` should always be the preferred way to serialize Python ...@@ -42,7 +42,7 @@ general :mod:`pickle` should always be the preferred way to serialize Python
objects. :mod:`marshal` exists primarily to support Python's :file:`.pyc` objects. :mod:`marshal` exists primarily to support Python's :file:`.pyc`
files. files.
The :mod:`pickle` module differs from :mod:`marshal` several significant ways: The :mod:`pickle` module differs from :mod:`marshal` in several significant ways:
* The :mod:`pickle` module keeps track of the objects it has already serialized, * The :mod:`pickle` module keeps track of the objects it has already serialized,
so that later references to the same object won't be serialized again. so that later references to the same object won't be serialized again.
......
:mod:`urllib.request` --- extensible library for opening URLs :mod:`urllib.request` --- Extensible library for opening URLs
============================================================= =============================================================
.. module:: urllib.request .. module:: urllib.request
...@@ -312,6 +312,7 @@ The following classes are provided: ...@@ -312,6 +312,7 @@ The following classes are provided:
should override this method to use an appropriate interaction model in the local should override this method to use an appropriate interaction model in the local
environment. environment.
.. class:: OpenerDirector() .. class:: OpenerDirector()
The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\ s chained The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\ s chained
...@@ -1249,8 +1250,8 @@ The following example uses no proxies at all, overriding environment settings:: ...@@ -1249,8 +1250,8 @@ The following example uses no proxies at all, overriding environment settings::
:mod:`urllib.response` --- Response classes used by urllib. :mod:`urllib.response` --- Response classes used by urllib
=========================================================== ==========================================================
.. module:: urllib.response .. module:: urllib.response
:synopsis: Response classes used by urllib. :synopsis: Response classes used by urllib.
......
...@@ -163,8 +163,8 @@ ZipFile Objects ...@@ -163,8 +163,8 @@ ZipFile Objects
.. note:: .. note::
The file-like object is read-only and provides the following methods: The file-like object is read-only and provides the following methods:
:meth:`read`, :meth:`readline`, :meth:`readlines`, :meth:`__iter__`, :meth:`!read`, :meth:`!readline`, :meth:`!readlines`, :meth:`!__iter__`,
:meth:`__next__`. :meth:`!__next__`.
.. note:: .. note::
......
...@@ -1318,8 +1318,8 @@ groups from right to left). ...@@ -1318,8 +1318,8 @@ groups from right to left).
true numerically due to roundoff. For example, and assuming a platform on which true numerically due to roundoff. For example, and assuming a platform on which
a Python float is an IEEE 754 double-precision number, in order that ``-1e-100 % a Python float is an IEEE 754 double-precision number, in order that ``-1e-100 %
1e100`` have the same sign as ``1e100``, the computed result is ``-1e-100 + 1e100`` have the same sign as ``1e100``, the computed result is ``-1e-100 +
1e100``, which is numerically exactly equal to ``1e100``. Function :func:`fmod` 1e100``, which is numerically exactly equal to ``1e100``. The function
in the :mod:`math` module returns a result whose sign matches the sign of the :func:`math.fmod` returns a result whose sign matches the sign of the
first argument instead, and so returns ``-1e-100`` in this case. Which approach first argument instead, and so returns ``-1e-100`` in this case. Which approach
is more appropriate depends on the application. is more appropriate depends on the application.
...@@ -1340,7 +1340,8 @@ groups from right to left). ...@@ -1340,7 +1340,8 @@ groups from right to left).
the :keyword:`is` operator, like those involving comparisons between instance the :keyword:`is` operator, like those involving comparisons between instance
methods, or constants. Check their documentation for more info. methods, or constants. Check their documentation for more info.
.. [#] The ``%`` is also used for string formatting; the same precedence applies. .. [#] The ``%`` operator is also used for string formatting; the same
precedence applies.
.. [#] The power operator ``**`` binds less tightly than an arithmetic or .. [#] The power operator ``**`` binds less tightly than an arithmetic or
bitwise unary operator on its right, that is, ``2**-1`` is ``0.5``. bitwise unary operator on its right, that is, ``2**-1`` is ``0.5``.
...@@ -66,7 +66,11 @@ class WeakSet: ...@@ -66,7 +66,11 @@ class WeakSet:
return sum(x() is not None for x in self.data) return sum(x() is not None for x in self.data)
def __contains__(self, item): def __contains__(self, item):
return ref(item) in self.data try:
wr = ref(item)
except TypeError:
return False
return wr in self.data
def __reduce__(self): def __reduce__(self):
return (self.__class__, (list(self),), return (self.__class__, (list(self),),
......
...@@ -1110,7 +1110,7 @@ doubt, consult the module reference at the location listed above. ...@@ -1110,7 +1110,7 @@ doubt, consult the module reference at the location listed above.
result = result + self.section('FILE', file) result = result + self.section('FILE', file)
return result return result
def docclass(self, object, name=None, mod=None): def docclass(self, object, name=None, mod=None, *ignored):
"""Produce text documentation for a given class object.""" """Produce text documentation for a given class object."""
realname = object.__name__ realname = object.__name__
name = name or realname name = name or realname
......
...@@ -50,7 +50,8 @@ class TestWeakSet(unittest.TestCase): ...@@ -50,7 +50,8 @@ class TestWeakSet(unittest.TestCase):
def test_contains(self): def test_contains(self):
for c in self.letters: for c in self.letters:
self.assertEqual(c in self.s, c in self.d) self.assertEqual(c in self.s, c in self.d)
self.assertRaises(TypeError, self.s.__contains__, [[]]) # 1 is not weakref'able, but that TypeError is caught by __contains__
self.assertNotIn(1, self.s)
self.assertTrue(self.obj in self.fs) self.assertTrue(self.obj in self.fs)
del self.obj del self.obj
self.assertTrue(ustr('F') not in self.fs) self.assertTrue(ustr('F') not in self.fs)
......
...@@ -8,7 +8,7 @@ and L. Masinter, January 2005. ...@@ -8,7 +8,7 @@ and L. Masinter, January 2005.
RFC 2396: "Uniform Resource Identifiers (URI)": Generic Syntax by T. RFC 2396: "Uniform Resource Identifiers (URI)": Generic Syntax by T.
Berners-Lee, R. Fielding, and L. Masinter, August 1998. Berners-Lee, R. Fielding, and L. Masinter, August 1998.
RFC 2368: "The mailto URL scheme", by P.Hoffman , L Masinter, J. Zwinski, July 1998. RFC 2368: "The mailto URL scheme", by P.Hoffman , L Masinter, J. Zawinski, July 1998.
RFC 1808: "Relative Uniform Resource Locators", by R. Fielding, UC Irvine, June RFC 1808: "Relative Uniform Resource Locators", by R. Fielding, UC Irvine, June
1995. 1995.
......
...@@ -42,6 +42,11 @@ Library ...@@ -42,6 +42,11 @@ Library
without folding whitespace. It now uses the continuation_ws, as it without folding whitespace. It now uses the continuation_ws, as it
does for continuation lines that it creates itself. does for continuation lines that it creates itself.
- Issue #10360: In WeakSet, do not raise TypeErrors when testing for
membership of non-weakrefable objects.
- Issue #10549: Fix pydoc traceback when text-documenting certain classes.
- Issue #11110: Fix _sqlite to not deref a NULL when module creation fails. - Issue #11110: Fix _sqlite to not deref a NULL when module creation fails.
- Issue #11089: Fix performance issue limiting the use of ConfigParser() - Issue #11089: Fix performance issue limiting the use of ConfigParser()
......
...@@ -595,7 +595,7 @@ bytearray_ass_subscript(PyByteArrayObject *self, PyObject *index, PyObject *valu ...@@ -595,7 +595,7 @@ bytearray_ass_subscript(PyByteArrayObject *self, PyObject *index, PyObject *valu
needed = 0; needed = 0;
} }
else if (values == (PyObject *)self || !PyByteArray_Check(values)) { else if (values == (PyObject *)self || !PyByteArray_Check(values)) {
/* Make a copy an call this function recursively */ /* Make a copy and call this function recursively */
int err; int err;
values = PyByteArray_FromObject(values); values = PyByteArray_FromObject(values);
if (values == NULL) if (values == NULL)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment