[Python-checkins] r85254 - in python/branches/release31-maint: Demo/tkinter/guido/ss1.py Doc/conf.py Doc/library/json.rst Doc/library/multiprocessing.rst Doc/library/string.rst Doc/library/subprocess.rst Doc/library/threading.rst Doc/reference/compound_stmts.rst Doc/reference/expressions.rst Doc/tools/sphinxext/indexcontent.html Doc/tutorial/datastructures.rst Doc/using/index.rst Makefile.pre.in Misc/developers.txt Modules/fcntlmodule.c

georg.brandl python-checkins at python.org
Wed Oct 6 10:54:17 CEST 2010


Author: georg.brandl
Date: Wed Oct  6 10:54:16 2010
New Revision: 85254

Log:
Merged revisions 84249,84264,84326-84327,84407,84476,84480-84482,84484,84530-84531,84553,84619,84684,84915-84916 via svnmerge from 
svn+ssh://svn.python.org/python/branches/py3k

........
  r84249 | georg.brandl | 2010-08-22 01:20:01 +0200 (So, 22 Aug 2010) | 1 line
  
  Remove usage of rexec in tkinter demo.
........
  r84264 | georg.brandl | 2010-08-22 22:23:38 +0200 (So, 22 Aug 2010) | 1 line
  
  #9649: fix default value description.
........
  r84326 | georg.brandl | 2010-08-26 16:30:15 +0200 (Do, 26 Aug 2010) | 1 line
  
  #9689: add links from overview to in-depth class API descriptions.
........
  r84327 | georg.brandl | 2010-08-26 16:30:56 +0200 (Do, 26 Aug 2010) | 1 line
  
  #9681: typo.
........
  r84407 | georg.brandl | 2010-09-01 23:02:50 +0200 (Mi, 01 Sep 2010) | 1 line
  
  #9677: fix link.
........
  r84476 | georg.brandl | 2010-09-04 00:14:52 +0200 (Sa, 04 Sep 2010) | 1 line
  
  Use tabs consistently.
........
  r84480 | georg.brandl | 2010-09-04 00:33:27 +0200 (Sa, 04 Sep 2010) | 1 line
  
  More inclusive title.
........
  r84481 | georg.brandl | 2010-09-04 00:36:22 +0200 (Sa, 04 Sep 2010) | 1 line
  
  #9767: doctest run over json docs.
........
  r84482 | georg.brandl | 2010-09-04 00:40:02 +0200 (Sa, 04 Sep 2010) | 1 line
  
  #9760: clarify what context expression is.
........
  r84484 | georg.brandl | 2010-09-04 00:49:27 +0200 (Sa, 04 Sep 2010) | 1 line
  
  Fix missing word.
........
  r84530 | georg.brandl | 2010-09-05 19:07:12 +0200 (So, 05 Sep 2010) | 1 line
  
  #9747: fix copy-paste error in getresgid() doc.
........
  r84531 | georg.brandl | 2010-09-05 19:09:18 +0200 (So, 05 Sep 2010) | 1 line
  
  #9776: fix some spacing.
........
  r84553 | georg.brandl | 2010-09-06 08:49:07 +0200 (Mo, 06 Sep 2010) | 1 line
  
  #9780: both { and } are not valid fill characters.
........
  r84619 | georg.brandl | 2010-09-08 12:43:45 +0200 (Mi, 08 Sep 2010) | 1 line
  
  Add Lukasz.
........
  r84684 | georg.brandl | 2010-09-10 22:43:53 +0200 (Fr, 10 Sep 2010) | 1 line
  
  release() is probably not the most important method
........
  r84915 | georg.brandl | 2010-09-20 08:27:02 +0200 (Mo, 20 Sep 2010) | 1 line
  
  Fix typo.
........
  r84916 | georg.brandl | 2010-09-20 08:29:01 +0200 (Mo, 20 Sep 2010) | 1 line
  
  Mention % as string formatting.
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Demo/tkinter/guido/ss1.py
   python/branches/release31-maint/Doc/conf.py
   python/branches/release31-maint/Doc/library/json.rst
   python/branches/release31-maint/Doc/library/multiprocessing.rst
   python/branches/release31-maint/Doc/library/string.rst
   python/branches/release31-maint/Doc/library/subprocess.rst
   python/branches/release31-maint/Doc/library/threading.rst
   python/branches/release31-maint/Doc/reference/compound_stmts.rst
   python/branches/release31-maint/Doc/reference/expressions.rst
   python/branches/release31-maint/Doc/tools/sphinxext/indexcontent.html
   python/branches/release31-maint/Doc/tutorial/datastructures.rst
   python/branches/release31-maint/Doc/using/index.rst
   python/branches/release31-maint/Makefile.pre.in
   python/branches/release31-maint/Misc/developers.txt
   python/branches/release31-maint/Modules/fcntlmodule.c

Modified: python/branches/release31-maint/Demo/tkinter/guido/ss1.py
==============================================================================
--- python/branches/release31-maint/Demo/tkinter/guido/ss1.py	(original)
+++ python/branches/release31-maint/Demo/tkinter/guido/ss1.py	Wed Oct  6 10:54:16 2010
@@ -4,7 +4,6 @@
 import re
 import sys
 import cgi
-import rexec
 from xml.parsers import expat
 
 LEFT, CENTER, RIGHT = "LEFT", "CENTER", "RIGHT"
@@ -33,16 +32,16 @@
 
     def __init__(self):
         self.cells = {} # {(x, y): cell, ...}
-        self.rexec = rexec.RExec()
-        m = self.rexec.add_module('__main__')
-        m.cell = self.cellvalue
-        m.cells = self.multicellvalue
-        m.sum = sum
+        self.ns = dict(
+            cell = self.cellvalue,
+            cells = self.multicellvalue,
+            sum = sum,
+        )
 
     def cellvalue(self, x, y):
         cell = self.getcell(x, y)
         if hasattr(cell, 'recalc'):
-            return cell.recalc(self.rexec)
+            return cell.recalc(self.ns)
         else:
             return cell
 
@@ -144,7 +143,7 @@
         self.reset()
         for cell in self.cells.values():
             if hasattr(cell, 'recalc'):
-                cell.recalc(self.rexec)
+                cell.recalc(self.ns)
 
     def display(self):
         maxx, maxy = self.getsize()
@@ -164,7 +163,7 @@
             if x <= 0 or y <= 0:
                 continue
             if hasattr(cell, 'recalc'):
-                cell.recalc(self.rexec)
+                cell.recalc(self.ns)
             if hasattr(cell, 'format'):
                 text, alignment = cell.format()
                 assert isinstance(text, str)
@@ -317,7 +316,7 @@
     Subclasses may but needn't provide the following APIs:
 
     cell.reset() -- prepare for recalculation
-    cell.recalc(rexec) -> value -- recalculate formula
+    cell.recalc(ns) -> value -- recalculate formula
     cell.format() -> (value, alignment) -- return formatted value
     cell.xml() -> string -- return XML
     """
@@ -331,7 +330,7 @@
         self.fmt = fmt
         self.alignment = alignment
 
-    def recalc(self, rexec):
+    def recalc(self, ns):
         return self.value
 
     def format(self):
@@ -372,7 +371,7 @@
         self.fmt = fmt
         self.alignment = alignment
 
-    def recalc(self, rexec):
+    def recalc(self, ns):
         return self.text
 
     def format(self):
@@ -398,13 +397,11 @@
     def reset(self):
         self.value = None
 
-    def recalc(self, rexec):
+    def recalc(self, ns):
         if self.value is None:
             try:
                 # A hack to evaluate expressions using true division
-                rexec.r_exec("from __future__ import division\n" +
-                             "__value__ = eval(%s)" % repr(self.translated))
-                self.value = rexec.r_eval("__value__")
+                self.value = eval(self.translated, ns)
             except:
                 exc = sys.exc_info()[0]
                 if hasattr(exc, "__name__"):

Modified: python/branches/release31-maint/Doc/conf.py
==============================================================================
--- python/branches/release31-maint/Doc/conf.py	(original)
+++ python/branches/release31-maint/Doc/conf.py	Wed Oct  6 10:54:16 2010
@@ -128,7 +128,7 @@
     ('tutorial/index', 'tutorial.tex',
      'Python Tutorial', _stdauthor, 'manual'),
     ('using/index', 'using.tex',
-     'Python Setup', _stdauthor, 'manual'),
+     'Python Setup and Usage', _stdauthor, 'manual'),
     ('whatsnew/' + version, 'whatsnew.tex',
      'What\'s New in Python', 'A. M. Kuchling', 'howto'),
 ]

Modified: python/branches/release31-maint/Doc/library/json.rst
==============================================================================
--- python/branches/release31-maint/Doc/library/json.rst	(original)
+++ python/branches/release31-maint/Doc/library/json.rst	Wed Oct  6 10:54:16 2010
@@ -82,12 +82,12 @@
     ...             return [obj.real, obj.imag]
     ...         return json.JSONEncoder.default(self, obj)
     ...
-    >>> dumps(2 + 1j, cls=ComplexEncoder)
+    >>> json.dumps(2 + 1j, cls=ComplexEncoder)
     '[2.0, 1.0]'
     >>> ComplexEncoder().encode(2 + 1j)
     '[2.0, 1.0]'
     >>> list(ComplexEncoder().iterencode(2 + 1j))
-    ['[', '2.0', ', ', '1.0', ']']
+    ['[2.0', ', 1.0', ']']
 
 
 .. highlight:: none
@@ -339,7 +339,7 @@
    encoders and decoders.  Otherwise, it will be a :exc:`ValueError` to encode
    such floats.
 
-   If *sort_keys* is ``True`` (the default), then the output of dictionaries
+   If *sort_keys* is ``True`` (default ``False``), then the output of dictionaries
    will be sorted by key; this is useful for regression tests to ensure that
    JSON serializations can be compared on a day-to-day basis.
 
@@ -373,7 +373,7 @@
                 pass
             else:
                 return list(iterable)
-            return JSONEncoder.default(self, o)
+            return json.JSONEncoder.default(self, o)
 
 
    .. method:: encode(o)
@@ -381,7 +381,7 @@
       Return a JSON string representation of a Python data structure, *o*.  For
       example::
 
-        >>> JSONEncoder().encode({"foo": ["bar", "baz"]})
+        >>> json.JSONEncoder().encode({"foo": ["bar", "baz"]})
         '{"foo": ["bar", "baz"]}'
 
 
@@ -390,5 +390,5 @@
       Encode the given object, *o*, and yield each string representation as
       available.  For example::
 
-            for chunk in JSONEncoder().iterencode(bigobject):
+            for chunk in json.JSONEncoder().iterencode(bigobject):
                 mysocket.write(chunk)

Modified: python/branches/release31-maint/Doc/library/multiprocessing.rst
==============================================================================
--- python/branches/release31-maint/Doc/library/multiprocessing.rst	(original)
+++ python/branches/release31-maint/Doc/library/multiprocessing.rst	Wed Oct  6 10:54:16 2010
@@ -2210,8 +2210,8 @@
 .. literalinclude:: ../includes/mp_synchronize.py
 
 
-An showing how to use queues to feed tasks to a collection of worker process and
-collect the results:
+An example showing how to use queues to feed tasks to a collection of worker
+process and collect the results:
 
 .. literalinclude:: ../includes/mp_workers.py
 

Modified: python/branches/release31-maint/Doc/library/string.rst
==============================================================================
--- python/branches/release31-maint/Doc/library/string.rst	(original)
+++ python/branches/release31-maint/Doc/library/string.rst	Wed Oct  6 10:54:16 2010
@@ -299,11 +299,11 @@
    precision: `integer`
    type: "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
 
-The *fill* character can be any character other than '}' (which signifies the
-end of the field).  The presence of a fill character is signaled by the *next*
-character, which must be one of the alignment options. If the second character
-of *format_spec* is not a valid alignment option, then it is assumed that both
-the fill character and the alignment option are absent.
+The *fill* character can be any character other than '{' or '}'.  The presence
+of a fill character is signaled by the character following it, which must be
+one of the alignment options.  If the second character of *format_spec* is not
+a valid alignment option, then it is assumed that both the fill character and
+the alignment option are absent.
 
 The meaning of the various alignment options is as follows:
 

Modified: python/branches/release31-maint/Doc/library/subprocess.rst
==============================================================================
--- python/branches/release31-maint/Doc/library/subprocess.rst	(original)
+++ python/branches/release31-maint/Doc/library/subprocess.rst	Wed Oct  6 10:54:16 2010
@@ -275,7 +275,7 @@
 Exceptions raised in the child process, before the new program has started to
 execute, will be re-raised in the parent.  Additionally, the exception object
 will have one extra attribute called :attr:`child_traceback`, which is a string
-containing traceback information from the childs point of view.
+containing traceback information from the child's point of view.
 
 The most common exception raised is :exc:`OSError`.  This occurs, for example,
 when trying to execute a non-existent file.  Applications should prepare for

Modified: python/branches/release31-maint/Doc/library/threading.rst
==============================================================================
--- python/branches/release31-maint/Doc/library/threading.rst	(original)
+++ python/branches/release31-maint/Doc/library/threading.rst	Wed Oct  6 10:54:16 2010
@@ -33,6 +33,8 @@
    variable allows one or more threads to wait until they are notified by another
    thread.
 
+   See :ref:`condition-objects`.
+
 
 .. function:: current_thread()
 
@@ -58,6 +60,8 @@
    with the :meth:`clear` method.  The :meth:`wait` method blocks until the flag
    is true.
 
+   See :ref:`event-objects`.
+
 
 .. class:: local
 
@@ -80,6 +84,8 @@
    acquired it, subsequent attempts to acquire it block, until it is released; any
    thread may release it.
 
+   See :ref:`lock-objects`.
+
 
 .. function:: RLock()
 
@@ -88,6 +94,8 @@
    reentrant lock, the same thread may acquire it again without blocking; the
    thread must release it once for each time it has acquired it.
 
+   See :ref:`rlock-objects`.
+
 
 .. function:: Semaphore(value=1)
    :noindex:
@@ -98,6 +106,8 @@
    if necessary until it can return without making the counter negative.  If not
    given, *value* defaults to 1.
 
+   See :ref:`semaphore-objects`.
+
 
 .. function:: BoundedSemaphore(value=1)
 
@@ -109,15 +119,21 @@
 
 
 .. class:: Thread
+   :noindex:
 
    A class that represents a thread of control.  This class can be safely
    subclassed in a limited fashion.
 
+   See :ref:`thread-objects`.
+
 
 .. class:: Timer
+   :noindex:
 
    A thread that executes a function after a specified interval has passed.
 
+   See :ref:`timer-objects`.
+
 
 .. function:: settrace(func)
 

Modified: python/branches/release31-maint/Doc/reference/compound_stmts.rst
==============================================================================
--- python/branches/release31-maint/Doc/reference/compound_stmts.rst	(original)
+++ python/branches/release31-maint/Doc/reference/compound_stmts.rst	Wed Oct  6 10:54:16 2010
@@ -350,7 +350,8 @@
 
 The execution of the :keyword:`with` statement with one "item" proceeds as follows:
 
-#. The context expression is evaluated to obtain a context manager.
+#. The context expression (the expression given in the :token:`with_item`) is
+   evaluated to obtain a context manager.
 
 #. The context manager's :meth:`__enter__` method is invoked.
 

Modified: python/branches/release31-maint/Doc/reference/expressions.rst
==============================================================================
--- python/branches/release31-maint/Doc/reference/expressions.rst	(original)
+++ python/branches/release31-maint/Doc/reference/expressions.rst	Wed Oct  6 10:54:16 2010
@@ -1297,6 +1297,7 @@
 | ``+``, ``-``                                  | Addition and subtraction            |
 +-----------------------------------------------+-------------------------------------+
 | ``*``, ``/``, ``//``, ``%``                   | Multiplication, division, remainder |
+|                                               | [#]_                                |
 +-----------------------------------------------+-------------------------------------+
 | ``+x``, ``-x``, ``~x``                        | Positive, negative, bitwise NOT     |
 +-----------------------------------------------+-------------------------------------+
@@ -1339,5 +1340,7 @@
    the :keyword:`is` operator, like those involving comparisons between instance
    methods, or constants.  Check their documentation for more info.
 
+.. [#] The ``%`` is also used for string formatting; the same precedence applies.
+
 .. [#] The power operator ``**`` binds less tightly than an arithmetic or
    bitwise unary operator on its right, that is, ``2**-1`` is ``0.5``.

Modified: python/branches/release31-maint/Doc/tools/sphinxext/indexcontent.html
==============================================================================
--- python/branches/release31-maint/Doc/tools/sphinxext/indexcontent.html	(original)
+++ python/branches/release31-maint/Doc/tools/sphinxext/indexcontent.html	Wed Oct  6 10:54:16 2010
@@ -11,7 +11,7 @@
          <span class="linkdescr">keep this under your pillow</span></p>
       <p class="biglink"><a class="biglink" href="{{ pathto("reference/index") }}">Language Reference</a><br/>
          <span class="linkdescr">describes syntax and language elements</span></p>
-      <p class="biglink"><a class="biglink" href="{{ pathto("using/index") }}">Python Setup</a><br/>
+      <p class="biglink"><a class="biglink" href="{{ pathto("using/index") }}">Python Setup and Usage</a><br/>
          <span class="linkdescr">how to use Python on different platforms</span></p>
       <p class="biglink"><a class="biglink" href="{{ pathto("howto/index") }}">Python HOWTOs</a><br/>
          <span class="linkdescr">in-depth documents on specific topics</span></p>

Modified: python/branches/release31-maint/Doc/tutorial/datastructures.rst
==============================================================================
--- python/branches/release31-maint/Doc/tutorial/datastructures.rst	(original)
+++ python/branches/release31-maint/Doc/tutorial/datastructures.rst	Wed Oct  6 10:54:16 2010
@@ -371,7 +371,7 @@
 eliminating duplicate entries.  Set objects also support mathematical operations
 like union, intersection, difference, and symmetric difference.
 
-Curly braces or the :func:`set` function can be use to create sets. Note: To
+Curly braces or the :func:`set` function can be used to create sets.  Note: To
 create an empty set you have to use ``set()``, not ``{}``; the latter creates an
 empty dictionary, a data structure that we discuss in the next section.
 

Modified: python/branches/release31-maint/Doc/using/index.rst
==============================================================================
--- python/branches/release31-maint/Doc/using/index.rst	(original)
+++ python/branches/release31-maint/Doc/using/index.rst	Wed Oct  6 10:54:16 2010
@@ -1,8 +1,8 @@
 .. _using-index:
 
-################
-  Python Setup
-################
+##########################
+  Python Setup and Usage
+##########################
 
 
 This part of the documentation is devoted to general information on the setup

Modified: python/branches/release31-maint/Makefile.pre.in
==============================================================================
--- python/branches/release31-maint/Makefile.pre.in	(original)
+++ python/branches/release31-maint/Makefile.pre.in	Wed Oct  6 10:54:16 2010
@@ -36,7 +36,7 @@
 RANLIB=		@RANLIB@
 SVNVERSION=	@SVNVERSION@
 
-GNULD=          @GNULD@
+GNULD=		@GNULD@
 
 # Shell used by make (some versions default to the login shell, which is bad)
 SHELL=		/bin/sh

Modified: python/branches/release31-maint/Misc/developers.txt
==============================================================================
--- python/branches/release31-maint/Misc/developers.txt	(original)
+++ python/branches/release31-maint/Misc/developers.txt	Wed Oct  6 10:54:16 2010
@@ -20,6 +20,25 @@
 Permissions History
 -------------------
 
+- Lukasz Langa was given commit access on Sep 08 2010 by GFB,
+  at suggestion of Antoine Pitrou, for general bug fixing.
+
+- Daniel Stutzbach was given commit access on Aug 22 2010 by MvL,
+  for general bug fixing.
+
+- Ask Solem was given commit access on Aug 17 2010 by MvL,
+  on recommendation by Jesse Noller, for work on the multiprocessing
+  library.
+
+- George Boutsioukis was given commit access on Aug 10 2010
+  by MvL, for work on 2to3.
+
+- Éric Araujo was given commit access on Aug 10 2010 by BAC,
+  at suggestion of Tarek Ziadé.
+
+- Terry Reedy was given commit access on Aug 04 2010 by MvL,
+  at suggestion of Nick Coghlan.
+
 - Brian Quinlan was given commit access on Jul 26 2010 by GFB,
   for work related to PEP 3148.
 

Modified: python/branches/release31-maint/Modules/fcntlmodule.c
==============================================================================
--- python/branches/release31-maint/Modules/fcntlmodule.c	(original)
+++ python/branches/release31-maint/Modules/fcntlmodule.c	Wed Oct  6 10:54:16 2010
@@ -82,10 +82,10 @@
 Perform the requested operation on file descriptor fd.  The operation\n\
 is defined by op and is operating system dependent.  These constants are\n\
 available from the fcntl module.  The argument arg is optional, and\n\
-defaults to 0; it may be an int or a string. If arg is given as a string,\n\
+defaults to 0; it may be an int or a string.  If arg is given as a string,\n\
 the return value of fcntl is a string of that length, containing the\n\
-resulting value put in the arg buffer by the operating system.The length\n\
-of the arg string is not allowed to exceed 1024 bytes. If the arg given\n\
+resulting value put in the arg buffer by the operating system.  The length\n\
+of the arg string is not allowed to exceed 1024 bytes.  If the arg given\n\
 is an integer or if none is specified, the result value is an integer\n\
 corresponding to the return value of the fcntl call in the C code.");
 


More information about the Python-checkins mailing list