Merged revisions 74745 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r74745 | benjamin.peterson | 2009-09-11 17:24:02 -0500 (Fri, 11 Sep 2009) | 98 lines

  Merged revisions 74277,74321,74323,74326,74355,74465,74467,74488,74492,74513,74531,74549,74553,74625,74632,74643-74644,74647,74652,74666,74671,74727,74739 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74277 | sean.reifschneider | 2009-08-01 18:54:55 -0500 (Sat, 01 Aug 2009) | 3 lines

    - Issue #6624: yArg_ParseTuple with "s" format when parsing argument with
      NUL: Bogus TypeError detail string.
  ........
    r74321 | guilherme.polo | 2009-08-05 11:51:41 -0500 (Wed, 05 Aug 2009) | 1 line

    Easier reference to find (at least while svn continues being used).
  ........
    r74323 | guilherme.polo | 2009-08-05 18:48:26 -0500 (Wed, 05 Aug 2009) | 1 line

    Typo.
  ........
    r74326 | jesse.noller | 2009-08-05 21:05:56 -0500 (Wed, 05 Aug 2009) | 1 line

    Fix issue 4660: spurious task_done errors in multiprocessing, remove doc note for from_address
  ........
    r74355 | gregory.p.smith | 2009-08-12 12:02:37 -0500 (Wed, 12 Aug 2009) | 2 lines

    comment typo fix
  ........
    r74465 | vinay.sajip | 2009-08-15 18:23:12 -0500 (Sat, 15 Aug 2009) | 1 line

    Added section on logging to one file from multiple processes.
  ........
    r74467 | vinay.sajip | 2009-08-15 18:34:47 -0500 (Sat, 15 Aug 2009) | 1 line

    Refined section on logging to one file from multiple processes.
  ........
    r74488 | vinay.sajip | 2009-08-17 08:14:37 -0500 (Mon, 17 Aug 2009) | 1 line

    Further refined section on logging to one file from multiple processes.
  ........
    r74492 | r.david.murray | 2009-08-17 14:26:49 -0500 (Mon, 17 Aug 2009) | 2 lines

    Issue 6685: 'toupper' -> 'upper' in cgi doc example explanation.
  ........
    r74513 | skip.montanaro | 2009-08-18 09:37:52 -0500 (Tue, 18 Aug 2009) | 1 line

    missing module ref (issue6723)
  ........
    r74531 | vinay.sajip | 2009-08-20 17:04:32 -0500 (Thu, 20 Aug 2009) | 1 line

    Added section on exceptions raised during logging.
  ........
    r74549 | benjamin.peterson | 2009-08-24 12:42:36 -0500 (Mon, 24 Aug 2009) | 1 line

    fix pdf building by teaching latex the right encoding package
  ........
    r74553 | r.david.murray | 2009-08-26 20:04:59 -0500 (Wed, 26 Aug 2009) | 2 lines

    Remove leftover text from end of sentence.
  ........
    r74625 | benjamin.peterson | 2009-09-01 17:27:57 -0500 (Tue, 01 Sep 2009) | 1 line

    remove the check that classmethod's argument is a callable
  ........
    r74632 | georg.brandl | 2009-09-03 02:27:26 -0500 (Thu, 03 Sep 2009) | 1 line

    #6828: fix wrongly highlighted blocks.
  ........
    r74643 | georg.brandl | 2009-09-04 01:59:20 -0500 (Fri, 04 Sep 2009) | 2 lines

    Issue #2666: Handle BROWSER environment variable properly for unknown browser names in the webbrowser module.
  ........
    r74644 | georg.brandl | 2009-09-04 02:55:14 -0500 (Fri, 04 Sep 2009) | 1 line

    #5047: remove Monterey support from configure.
  ........
    r74647 | georg.brandl | 2009-09-04 03:17:04 -0500 (Fri, 04 Sep 2009) | 2 lines

    Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments as documented.
  ........
    r74652 | georg.brandl | 2009-09-04 06:25:37 -0500 (Fri, 04 Sep 2009) | 1 line

    #6756: add some info about the "acct" parameter.
  ........
    r74666 | georg.brandl | 2009-09-05 04:04:09 -0500 (Sat, 05 Sep 2009) | 1 line

    #6841: remove duplicated word.
  ........
    r74671 | georg.brandl | 2009-09-05 11:47:17 -0500 (Sat, 05 Sep 2009) | 1 line

    #6843: add link from filterwarnings to where the meaning of the arguments is covered.
  ........
    r74727 | benjamin.peterson | 2009-09-08 18:04:22 -0500 (Tue, 08 Sep 2009) | 1 line

    #6865 fix ref counting in initialization of pwd module
  ........
    r74739 | georg.brandl | 2009-09-11 02:55:20 -0500 (Fri, 11 Sep 2009) | 1 line

    Move function back to its section.
  ........
................
diff --git a/Lib/http/cookies.py b/Lib/http/cookies.py
index 695161a..9cb80b9 100644
--- a/Lib/http/cookies.py
+++ b/Lib/http/cookies.py
@@ -535,7 +535,9 @@
         if type(rawdata) == type(""):
             self.__ParseString(rawdata)
         else:
-            self.update(rawdata)
+            # self.update() wouldn't call our custom __setitem__
+            for k, v in rawdata.items():
+                self[k] = v
         return
     # end load()
 
diff --git a/Lib/idlelib/macosxSupport.py b/Lib/idlelib/macosxSupport.py
index b794a83..d270530 100644
--- a/Lib/idlelib/macosxSupport.py
+++ b/Lib/idlelib/macosxSupport.py
@@ -9,7 +9,7 @@
     """
     Returns True if Python is running from within an app on OSX.
     If so, assume that Python was built with Aqua Tcl/Tk rather than
-    X11 Tck/Tk.
+    X11 Tcl/Tk.
     """
     return (sys.platform == 'darwin' and '.app' in sys.executable)
 
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index d3fc3b0..0c56ccd 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -595,4 +595,4 @@
 
 
 # XXX KBK 09Sep03  We need a proper unit test for this module.  Previously
-#                  existing test code was removed at Rev 1.27.
+#                  existing test code was removed at Rev 1.27 (r34098).
diff --git a/Lib/multiprocessing/queues.py b/Lib/multiprocessing/queues.py
index bbaf6d5..e96659b 100644
--- a/Lib/multiprocessing/queues.py
+++ b/Lib/multiprocessing/queues.py
@@ -282,9 +282,22 @@
         Queue.__setstate__(self, state[:-2])
         self._cond, self._unfinished_tasks = state[-2:]
 
-    def put(self, item, block=True, timeout=None):
-        Queue.put(self, item, block, timeout)
-        self._unfinished_tasks.release()
+    def put(self, obj, block=True, timeout=None):
+        assert not self._closed
+        if not self._sem.acquire(block, timeout):
+            raise Full
+
+        self._notempty.acquire()
+        self._cond.acquire()
+        try:
+            if self._thread is None:
+                self._start_thread()
+            self._buffer.append(obj)
+            self._unfinished_tasks.release()
+            self._notempty.notify()
+        finally:
+            self._cond.release()
+            self._notempty.release()
 
     def task_done(self):
         self._cond.acquire()
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index b3ca89a..17d96b2 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1268,13 +1268,9 @@
         self.assertEqual(super(D,D).goo(), (D,))
         self.assertEqual(super(D,d).goo(), (D,))
 
-        # Verify that argument is checked for callability (SF bug 753451)
-        try:
-            classmethod(1).__get__(1)
-        except TypeError:
-            pass
-        else:
-            self.fail("classmethod should check for callability")
+        # Verify that a non-callable will raise
+        meth = classmethod(1).__get__(1)
+        self.assertRaises(TypeError, meth)
 
         # Verify that classmethod() doesn't allow keyword args
         try:
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 1d9ff43..aee797d 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -626,7 +626,9 @@
     # and prepend to _tryorder
     for cmdline in _userchoices:
         if cmdline != '':
-            _synthesize(cmdline, -1)
+            cmd = _synthesize(cmdline, -1)
+            if cmd[1] is None:
+                register(cmdline, None, GenericBrowser(cmdline), -1)
     cmdline = None # to make del work if _userchoices was empty
     del cmdline
     del _userchoices