[Python-checkins] r63401 - in python/branches/tlee-ast-optimize: Demo/pdist/cmptree.py Demo/pdist/server.py Doc/glossary.rst Doc/library/al.rst Doc/library/calendar.rst Doc/library/cd.rst Doc/library/configparser.rst Doc/library/datatypes.rst Doc/library/fl.rst Doc/library/fm.rst Doc/library/gl.rst Doc/library/idle.rst Doc/library/imgfile.rst Doc/library/jpeg.rst Doc/library/logging.rst Doc/library/modulefinder.rst Doc/library/os.rst Doc/library/othergui.rst Doc/library/repr.rst Doc/library/reprlib.rst Doc/library/scrolledtext.rst Doc/library/shlex.rst Doc/library/shutil.rst Doc/library/statvfs.rst Doc/library/sunaudio.rst Doc/library/tix.rst Doc/library/tk.rst Doc/library/tkinter.rst Doc/library/tkinter.scrolledtext.rst Doc/library/tkinter.tix.rst Doc/library/tkinter.turtle.rst Doc/library/turtle.rst Doc/tutorial/stdlib2.rst Doc/whatsnew/2.6.rst Lib/bdb.py Lib/bsddb/test/test_lock.py Lib/copy.py Lib/copyreg.py Lib/ctypes/test/test_loading.py Lib/ctypes/util.py Lib/distutils/command/upload.py Lib/distutils/config.py Lib/distutils/dist.py Lib/idlelib/AutoCompleteWindow.py Lib/idlelib/CallTipWindow.py Lib/idlelib/CodeContext.py Lib/idlelib/ColorDelegator.py Lib/idlelib/Debugger.py Lib/idlelib/EditorWindow.py Lib/idlelib/FileList.py Lib/idlelib/GrepDialog.py Lib/idlelib/IOBinding.py Lib/idlelib/MultiCall.py Lib/idlelib/MultiStatusBar.py Lib/idlelib/ObjectBrowser.py Lib/idlelib/OutputWindow.py Lib/idlelib/Percolator.py Lib/idlelib/PyShell.py Lib/idlelib/ReplaceDialog.py Lib/idlelib/ScriptBinding.py Lib/idlelib/ScrolledList.py Lib/idlelib/SearchDialog.py Lib/idlelib/SearchDialogBase.py Lib/idlelib/SearchEngine.py Lib/idlelib/StackViewer.py Lib/idlelib/ToolTip.py Lib/idlelib/TreeWidget.py Lib/idlelib/UndoDelegator.py Lib/idlelib/WidgetRedirector.py Lib/idlelib/WindowList.py Lib/idlelib/aboutDialog.py Lib/idlelib/configDialog.py Lib/idlelib/configHandler.py Lib/idlelib/configHelpSourceEdit.py Lib/idlelib/configSectionNameDialog.py Lib/idlelib/dynOptionMenuWidget.py Lib/idlelib/keybindingDialog.py Lib/idlelib/macosxSupport.py Lib/idlelib/run.py Lib/idlelib/tabbedpages.py Lib/idlelib/textView.py Lib/lib-old/repr.py Lib/lib-tk/Canvas.py Lib/lib-tk/Dialog.py Lib/lib-tk/FileDialog.py Lib/lib-tk/FixTk.py Lib/lib-tk/ScrolledText.py Lib/lib-tk/SimpleDialog.py Lib/lib-tk/Tix.py Lib/lib-tk/Tkconstants.py Lib/lib-tk/Tkdnd.py Lib/lib-tk/Tkinter.py Lib/lib-tk/tkColorChooser.py Lib/lib-tk/tkCommonDialog.py Lib/lib-tk/tkFont.py Lib/lib-tk/tkMessageBox.py Lib/lib-tk/turtle.py Lib/logging/config.py Lib/pdb.py Lib/pickle.py Lib/pickletools.py Lib/plat-irix5/DEVICE.py Lib/plat-irix5/ERRNO.py Lib/plat-irix5/FILE.py Lib/plat-irix5/FL.py Lib/plat-irix5/GET.py Lib/plat-irix5/GL.py Lib/plat-irix5/GLWS.py Lib/plat-irix5/IN.py Lib/plat-irix5/IOCTL.py Lib/plat-irix5/SV.py Lib/plat-irix5/WAIT.py Lib/plat-irix5/flp.py Lib/plat-irix5/jpeg.py Lib/plat-irix5/panel.py Lib/plat-irix5/panelparser.py Lib/plat-irix5/readcd.py Lib/plat-irix5/torgb.py Lib/plat-irix6/DEVICE.py Lib/plat-irix6/ERRNO.py Lib/plat-irix6/FILE.py Lib/plat-irix6/FL.py Lib/plat-irix6/GET.py Lib/plat-irix6/GL.py Lib/plat-irix6/GLWS.py Lib/plat-irix6/IN.py Lib/plat-irix6/IOCTL.py Lib/plat-irix6/SV.py Lib/plat-irix6/WAIT.py Lib/plat-irix6/flp.py Lib/plat-irix6/jpeg.py Lib/plat-irix6/panel.py Lib/plat-irix6/panelparser.py Lib/plat-irix6/readcd.py Lib/plat-irix6/torgb.py Lib/plat-sunos5/SUNAUDIODEV.py Lib/pydoc.py Lib/repr.py Lib/reprlib.py Lib/statvfs.py Lib/test/test___all__.py Lib/test/test_cfgparser.py Lib/test/test_enumerate.py Lib/test/test_generators.py Lib/test/test_genexps.py Lib/test/test_imgfile.py Lib/test/test_os.py Lib/test/test_platform.py Lib/test/test_py3kwarn.py Lib/test/test_repr.py Lib/test/test_reprlib.py Lib/test/test_sunaudiodev.py Lib/tkinter Misc/NEWS Misc/TextMate/Python-Dev.tmbundle/Snippets Misc/TextMate/Python-Dev.tmbundle/info.plist Misc/cheatsheet Modules/cPickle.c Modules/cgen.py Modules/cmathmodule.c Modules/fcntlmodule.c Modules/flmodule.c Modules/fmmodule.c Modules/glmodule.c Modules/imgfile.c Modules/posixmodule.c Modules/sunaudiodev.c Objects/enumobject.c Objects/genobject.c Objects/typeobject.c

thomas.lee python-checkins at python.org
Sat May 17 04:35:13 CEST 2008


Author: thomas.lee
Date: Sat May 17 04:35:08 2008
New Revision: 63401

Log:
Merged revisions 63245-63400 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r63247 | georg.brandl | 2008-05-15 08:30:31 +1000 (Thu, 15 May 2008) | 2 lines
  
  Update configparser docs for lowercasing rename.
........
  r63248 | alexandre.vassalotti | 2008-05-15 08:44:22 +1000 (Thu, 15 May 2008) | 8 lines
  
  Updated import statements to use the new `configparser` module name.
  Updated the documentation to use the new name.
  Revert addition of the stub entry for the old name.
  
  Georg, I am reverting your changes since this commit should propagate
  to py3k.
........
  r63249 | alexandre.vassalotti | 2008-05-15 08:51:10 +1000 (Thu, 15 May 2008) | 2 lines
  
  Added documentation stub for ConfigParser.
........
  r63255 | alexandre.vassalotti | 2008-05-15 10:33:57 +1000 (Thu, 15 May 2008) | 6 lines
  
  Revert distutils changes done in r63248.
  
  As explained by Marc-Andre Lemburg, distutils needs to stay
  backward-compatible. Therefore, it should use the old ConfigParser
  module name.
........
  r63256 | andrew.kuchling | 2008-05-15 11:10:24 +1000 (Thu, 15 May 2008) | 1 line
  
  Note some removals and a rename
........
  r63260 | brett.cannon | 2008-05-15 12:33:55 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate DEVICE, GL, gl, and the related modules cgen and cgensupport for removal in 3.0.
........
  r63262 | brett.cannon | 2008-05-15 13:14:57 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate ERRNO for removal in 3.0.
........
  r63265 | brett.cannon | 2008-05-15 13:17:24 +1000 (Thu, 15 May 2008) | 1 line
  
  FILE from IRIX has been deprecated for removal in 3.0.
........
  r63268 | brett.cannon | 2008-05-15 13:20:36 +1000 (Thu, 15 May 2008) | 1 line
  
  FL, flp, and fl from IRIX have been deprecated for removal in 3.0.
........
  r63271 | brett.cannon | 2008-05-15 13:23:17 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecated 'fm' for removal in 3.0.
........
  r63274 | brett.cannon | 2008-05-15 13:27:12 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate GET from IRIX for removal in 3.0.
........
  r63277 | brett.cannon | 2008-05-15 13:29:18 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate GLWS from IRIX for removal in 3.0.
........
  r63279 | brett.cannon | 2008-05-15 13:32:11 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate imgfile for removal in 3.0.
........
  r63282 | brett.cannon | 2008-05-15 13:36:13 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate IN from IRIX for removal in 3.0.
........
  r63285 | brett.cannon | 2008-05-15 13:41:55 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate IOCTL from IRIX for removal in 3.0.
........
  r63288 | brett.cannon | 2008-05-15 13:44:00 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate jpeg for IRIX for removal in 3.0.
........
  r63291 | brett.cannon | 2008-05-15 13:46:27 +1000 (Thu, 15 May 2008) | 1 line
  
  The panel module for IRIX has been deprecated for removal in 3.0.
........
  r63294 | brett.cannon | 2008-05-15 13:49:00 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecated panelparser for removal in 3.0.
........
  r63297 | brett.cannon | 2008-05-15 13:51:21 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate readcd for removal in 3.0.
........
  r63300 | brett.cannon | 2008-05-15 14:13:19 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate SV for removal in 3.0.
........
  r63303 | brett.cannon | 2008-05-15 14:15:25 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecated torgb for removal in 3.0.
........
  r63306 | brett.cannon | 2008-05-15 14:17:35 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate WAIT for removal in 3.0.
........
  r63308 | brett.cannon | 2008-05-15 14:34:17 +1000 (Thu, 15 May 2008) | 1 line
  
  Update docs for deprecation of IRIX modules.
........
  r63311 | brett.cannon | 2008-05-15 14:36:53 +1000 (Thu, 15 May 2008) | 2 lines
  
  Add a snippet for the deprecation directive for docs.
........
  r63313 | gregory.p.smith | 2008-05-15 14:56:18 +1000 (Thu, 15 May 2008) | 5 lines
  
  disable the crashing test.  I will also file a bug.  This crash does
  not appear to be a new bug, its just that the test coverage went up
  recently exposing it.  (I verified that by testing this test code on
  an older Modules/_bsddb.c)
........
  r63315 | brett.cannon | 2008-05-15 17:11:41 +1000 (Thu, 15 May 2008) | 1 line
  
  Deprecate sunaudiodev/SUNAUDIODEV for removal in 3.0.
........
  r63320 | georg.brandl | 2008-05-16 01:08:32 +1000 (Fri, 16 May 2008) | 2 lines
  
  #2863: add gen.__name__ and add this name to generator repr().
........
  r63323 | andrew.kuchling | 2008-05-16 06:06:51 +1000 (Fri, 16 May 2008) | 1 line
  
  Use lowercase version of module name
........
  r63324 | andrew.kuchling | 2008-05-16 06:07:39 +1000 (Fri, 16 May 2008) | 1 line
  
  Import class from distutils.cmd, not .core, to avoid circular import
........
  r63326 | alexandre.vassalotti | 2008-05-16 06:30:56 +1000 (Fri, 16 May 2008) | 5 lines
  
  Revert r63323: Use lowercase version of module name.
  
  The distutils module should continue to use the old ConfigParser name,
  for backward-compatibility.
........
  r63327 | alexandre.vassalotti | 2008-05-16 06:31:42 +1000 (Fri, 16 May 2008) | 2 lines
  
  Fixed typo in a doctest of test_genexps.
........
  r63332 | benjamin.peterson | 2008-05-16 08:34:33 +1000 (Fri, 16 May 2008) | 2 lines
  
  add Mac modules to the list of deprecated ones
........
  r63333 | benjamin.peterson | 2008-05-16 08:41:16 +1000 (Fri, 16 May 2008) | 2 lines
  
  fix typos in whatsnew
........
  r63336 | brett.cannon | 2008-05-16 10:10:24 +1000 (Fri, 16 May 2008) | 1 line
  
  Deprecate sunaudiodev/SUNAUDIODEV for removal in 3.0.
........
  r63339 | brett.cannon | 2008-05-16 10:37:42 +1000 (Fri, 16 May 2008) | 2 lines
  
  Remove the last usage of statvfs in the stdlib.
........
  r63343 | brett.cannon | 2008-05-16 10:50:02 +1000 (Fri, 16 May 2008) | 1 line
  
  Deprecated statvfs for removal in 3.0.
........
  r63347 | alexandre.vassalotti | 2008-05-16 12:06:59 +1000 (Fri, 16 May 2008) | 6 lines
  
  Fixed import of configparser in the distutils module.
  
  If configparser is unavailable, try to import configparser using its
  old name. This is required for backward-compatibility with older
  Python versions.
........
  r63348 | benjamin.peterson | 2008-05-16 12:24:49 +1000 (Fri, 16 May 2008) | 2 lines
  
  make test_platform a bit more assertive (We'll see what the buildbots say.)
........
  r63354 | alexandre.vassalotti | 2008-05-16 16:37:57 +1000 (Fri, 16 May 2008) | 3 lines
  
  Renamed the repr module to reprlib.
  Added stub module for repr.
........
  r63357 | alexandre.vassalotti | 2008-05-16 16:58:49 +1000 (Fri, 16 May 2008) | 2 lines
  
  Changed references to the reprlib module to use its new name.
........
  r63358 | alexandre.vassalotti | 2008-05-16 17:00:58 +1000 (Fri, 16 May 2008) | 2 lines
  
  Updated reprlib's documentation to mention the renaming.
........
  r63361 | alexandre.vassalotti | 2008-05-16 17:14:08 +1000 (Fri, 16 May 2008) | 2 lines
  
  Rename the test file of reprlib.
........
  r63364 | georg.brandl | 2008-05-16 19:34:48 +1000 (Fri, 16 May 2008) | 2 lines
  
  Make generator repr consistent with function and code object repr.
........
  r63365 | georg.brandl | 2008-05-16 19:47:29 +1000 (Fri, 16 May 2008) | 2 lines
  
  #2869: remove parameter from signature.
........
  r63366 | christian.heimes | 2008-05-16 20:23:31 +1000 (Fri, 16 May 2008) | 1 line
  
  Fixed #2870: cmathmodule.c compile error
........
  r63367 | christian.heimes | 2008-05-16 21:28:56 +1000 (Fri, 16 May 2008) | 1 line
  
  Following Amaury's advice
........
  r63368 | georg.brandl | 2008-05-16 23:10:15 +1000 (Fri, 16 May 2008) | 2 lines
  
  #2890: support os.O_ASYNC and fcntl.FASYNC.
........
  r63369 | georg.brandl | 2008-05-16 23:18:50 +1000 (Fri, 16 May 2008) | 2 lines
  
  #2845: fix copy2's docs.
........
  r63370 | georg.brandl | 2008-05-16 23:24:29 +1000 (Fri, 16 May 2008) | 2 lines
  
  Don't allow keyword arguments to reversed().
........
  r63373 | georg.brandl | 2008-05-16 23:41:26 +1000 (Fri, 16 May 2008) | 2 lines
  
  Document O_ASYNC addition.
........
  r63374 | georg.brandl | 2008-05-17 00:24:45 +1000 (Sat, 17 May 2008) | 2 lines
  
  Step 1 of Tkinter renaming: move lib-tk modules into a new "tkinter" package.
........
  r63376 | georg.brandl | 2008-05-17 01:48:15 +1000 (Sat, 17 May 2008) | 2 lines
  
  Tkinter rename, step 2: fix imports and add stub modules.
........
  r63380 | georg.brandl | 2008-05-17 03:33:13 +1000 (Sat, 17 May 2008) | 2 lines
  
  Fix reprlib docs.
........
  r63381 | georg.brandl | 2008-05-17 03:37:53 +1000 (Sat, 17 May 2008) | 2 lines
  
  Doc changes for the big Tkinter rename.
........
  r63382 | georg.brandl | 2008-05-17 03:40:23 +1000 (Sat, 17 May 2008) | 2 lines
  
  NEWS entry for Tkinter rename.
........
  r63384 | alexandre.vassalotti | 2008-05-17 04:03:52 +1000 (Sat, 17 May 2008) | 5 lines
  
  Patch by Quentin Gallet-Gilles: Renaming leftovers for 2.6.
  
  This fixes the omissions of configparser, copyreg, queue and
  socketserver renaming.
........
  r63392 | alexandre.vassalotti | 2008-05-17 05:14:31 +1000 (Sat, 17 May 2008) | 2 lines
  
  Added Python 3.0 warning to cPickle.
........
  r63395 | thomas.heller | 2008-05-17 06:06:31 +1000 (Sat, 17 May 2008) | 4 lines
  
  Issue 1793: Add ctypes.util.find_msvcrt() function (on Windows).
........
  r63396 | thomas.heller | 2008-05-17 06:19:07 +1000 (Sat, 17 May 2008) | 4 lines
  
  Very simple test for ctypes.util.find_library on Windows.
........
  r63397 | benjamin.peterson | 2008-05-17 08:59:28 +1000 (Sat, 17 May 2008) | 2 lines
  
  mention Py3k in glossary
........


Added:
   python/branches/tlee-ast-optimize/Doc/library/reprlib.rst
      - copied unchanged from r63397, /python/trunk/Doc/library/reprlib.rst
   python/branches/tlee-ast-optimize/Doc/library/tkinter.scrolledtext.rst
      - copied unchanged from r63397, /python/trunk/Doc/library/tkinter.scrolledtext.rst
   python/branches/tlee-ast-optimize/Doc/library/tkinter.tix.rst
      - copied unchanged from r63397, /python/trunk/Doc/library/tkinter.tix.rst
   python/branches/tlee-ast-optimize/Doc/library/tkinter.turtle.rst
      - copied unchanged from r63397, /python/trunk/Doc/library/tkinter.turtle.rst
   python/branches/tlee-ast-optimize/Lib/lib-old/repr.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-old/repr.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/FileDialog.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/FileDialog.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/FixTk.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/FixTk.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/ScrolledText.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/ScrolledText.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/SimpleDialog.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/SimpleDialog.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/Tix.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/Tix.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/Tkconstants.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/Tkconstants.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/Tkdnd.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/Tkdnd.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/Tkinter.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/Tkinter.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/tkColorChooser.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/tkColorChooser.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/tkCommonDialog.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/tkCommonDialog.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/tkFont.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/tkFont.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/tkMessageBox.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/tkMessageBox.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/turtle.py
      - copied unchanged from r63397, /python/trunk/Lib/lib-tk/turtle.py
   python/branches/tlee-ast-optimize/Lib/reprlib.py
      - copied unchanged from r63397, /python/trunk/Lib/reprlib.py
   python/branches/tlee-ast-optimize/Lib/test/test_reprlib.py
      - copied unchanged from r63397, /python/trunk/Lib/test/test_reprlib.py
   python/branches/tlee-ast-optimize/Lib/tkinter/
      - copied from r63397, /python/trunk/Lib/tkinter/
   python/branches/tlee-ast-optimize/Misc/TextMate/Python-Dev.tmbundle/Snippets/
      - copied from r63397, /python/trunk/Misc/TextMate/Python-Dev.tmbundle/Snippets/
Removed:
   python/branches/tlee-ast-optimize/Doc/library/repr.rst
   python/branches/tlee-ast-optimize/Doc/library/scrolledtext.rst
   python/branches/tlee-ast-optimize/Doc/library/tix.rst
   python/branches/tlee-ast-optimize/Doc/library/turtle.rst
   python/branches/tlee-ast-optimize/Lib/lib-tk/Dialog.py
   python/branches/tlee-ast-optimize/Lib/repr.py
   python/branches/tlee-ast-optimize/Lib/test/test_repr.py
Modified:
   python/branches/tlee-ast-optimize/   (props changed)
   python/branches/tlee-ast-optimize/Demo/pdist/cmptree.py
   python/branches/tlee-ast-optimize/Demo/pdist/server.py
   python/branches/tlee-ast-optimize/Doc/glossary.rst
   python/branches/tlee-ast-optimize/Doc/library/al.rst
   python/branches/tlee-ast-optimize/Doc/library/calendar.rst
   python/branches/tlee-ast-optimize/Doc/library/cd.rst
   python/branches/tlee-ast-optimize/Doc/library/configparser.rst
   python/branches/tlee-ast-optimize/Doc/library/datatypes.rst
   python/branches/tlee-ast-optimize/Doc/library/fl.rst
   python/branches/tlee-ast-optimize/Doc/library/fm.rst
   python/branches/tlee-ast-optimize/Doc/library/gl.rst
   python/branches/tlee-ast-optimize/Doc/library/idle.rst
   python/branches/tlee-ast-optimize/Doc/library/imgfile.rst
   python/branches/tlee-ast-optimize/Doc/library/jpeg.rst
   python/branches/tlee-ast-optimize/Doc/library/logging.rst
   python/branches/tlee-ast-optimize/Doc/library/modulefinder.rst
   python/branches/tlee-ast-optimize/Doc/library/os.rst
   python/branches/tlee-ast-optimize/Doc/library/othergui.rst
   python/branches/tlee-ast-optimize/Doc/library/shlex.rst
   python/branches/tlee-ast-optimize/Doc/library/shutil.rst
   python/branches/tlee-ast-optimize/Doc/library/statvfs.rst
   python/branches/tlee-ast-optimize/Doc/library/sunaudio.rst
   python/branches/tlee-ast-optimize/Doc/library/tk.rst
   python/branches/tlee-ast-optimize/Doc/library/tkinter.rst
   python/branches/tlee-ast-optimize/Doc/tutorial/stdlib2.rst
   python/branches/tlee-ast-optimize/Doc/whatsnew/2.6.rst
   python/branches/tlee-ast-optimize/Lib/bdb.py
   python/branches/tlee-ast-optimize/Lib/bsddb/test/test_lock.py
   python/branches/tlee-ast-optimize/Lib/copy.py
   python/branches/tlee-ast-optimize/Lib/copyreg.py
   python/branches/tlee-ast-optimize/Lib/ctypes/test/test_loading.py
   python/branches/tlee-ast-optimize/Lib/ctypes/util.py
   python/branches/tlee-ast-optimize/Lib/distutils/command/upload.py
   python/branches/tlee-ast-optimize/Lib/distutils/config.py
   python/branches/tlee-ast-optimize/Lib/distutils/dist.py
   python/branches/tlee-ast-optimize/Lib/idlelib/AutoCompleteWindow.py
   python/branches/tlee-ast-optimize/Lib/idlelib/CallTipWindow.py
   python/branches/tlee-ast-optimize/Lib/idlelib/CodeContext.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ColorDelegator.py
   python/branches/tlee-ast-optimize/Lib/idlelib/Debugger.py
   python/branches/tlee-ast-optimize/Lib/idlelib/EditorWindow.py
   python/branches/tlee-ast-optimize/Lib/idlelib/FileList.py
   python/branches/tlee-ast-optimize/Lib/idlelib/GrepDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/IOBinding.py
   python/branches/tlee-ast-optimize/Lib/idlelib/MultiCall.py
   python/branches/tlee-ast-optimize/Lib/idlelib/MultiStatusBar.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ObjectBrowser.py
   python/branches/tlee-ast-optimize/Lib/idlelib/OutputWindow.py
   python/branches/tlee-ast-optimize/Lib/idlelib/Percolator.py
   python/branches/tlee-ast-optimize/Lib/idlelib/PyShell.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ReplaceDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ScriptBinding.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ScrolledList.py
   python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialogBase.py
   python/branches/tlee-ast-optimize/Lib/idlelib/SearchEngine.py
   python/branches/tlee-ast-optimize/Lib/idlelib/StackViewer.py
   python/branches/tlee-ast-optimize/Lib/idlelib/ToolTip.py
   python/branches/tlee-ast-optimize/Lib/idlelib/TreeWidget.py
   python/branches/tlee-ast-optimize/Lib/idlelib/UndoDelegator.py
   python/branches/tlee-ast-optimize/Lib/idlelib/WidgetRedirector.py
   python/branches/tlee-ast-optimize/Lib/idlelib/WindowList.py
   python/branches/tlee-ast-optimize/Lib/idlelib/aboutDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/configDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/configHandler.py
   python/branches/tlee-ast-optimize/Lib/idlelib/configHelpSourceEdit.py
   python/branches/tlee-ast-optimize/Lib/idlelib/configSectionNameDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/dynOptionMenuWidget.py
   python/branches/tlee-ast-optimize/Lib/idlelib/keybindingDialog.py
   python/branches/tlee-ast-optimize/Lib/idlelib/macosxSupport.py
   python/branches/tlee-ast-optimize/Lib/idlelib/run.py
   python/branches/tlee-ast-optimize/Lib/idlelib/tabbedpages.py
   python/branches/tlee-ast-optimize/Lib/idlelib/textView.py
   python/branches/tlee-ast-optimize/Lib/lib-tk/Canvas.py
   python/branches/tlee-ast-optimize/Lib/logging/config.py
   python/branches/tlee-ast-optimize/Lib/pdb.py
   python/branches/tlee-ast-optimize/Lib/pickle.py
   python/branches/tlee-ast-optimize/Lib/pickletools.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/DEVICE.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/ERRNO.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/FILE.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/FL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/GET.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/GL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/GLWS.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/IN.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/IOCTL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/SV.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/WAIT.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/flp.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/jpeg.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/panel.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/panelparser.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/readcd.py
   python/branches/tlee-ast-optimize/Lib/plat-irix5/torgb.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/DEVICE.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/ERRNO.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/FILE.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/FL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/GET.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/GL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/GLWS.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/IN.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/IOCTL.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/SV.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/WAIT.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/flp.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/jpeg.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/panel.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/panelparser.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/readcd.py
   python/branches/tlee-ast-optimize/Lib/plat-irix6/torgb.py
   python/branches/tlee-ast-optimize/Lib/plat-sunos5/SUNAUDIODEV.py
   python/branches/tlee-ast-optimize/Lib/pydoc.py
   python/branches/tlee-ast-optimize/Lib/statvfs.py
   python/branches/tlee-ast-optimize/Lib/test/test___all__.py
   python/branches/tlee-ast-optimize/Lib/test/test_cfgparser.py
   python/branches/tlee-ast-optimize/Lib/test/test_enumerate.py
   python/branches/tlee-ast-optimize/Lib/test/test_generators.py
   python/branches/tlee-ast-optimize/Lib/test/test_genexps.py
   python/branches/tlee-ast-optimize/Lib/test/test_imgfile.py
   python/branches/tlee-ast-optimize/Lib/test/test_os.py
   python/branches/tlee-ast-optimize/Lib/test/test_platform.py
   python/branches/tlee-ast-optimize/Lib/test/test_py3kwarn.py
   python/branches/tlee-ast-optimize/Lib/test/test_sunaudiodev.py
   python/branches/tlee-ast-optimize/Misc/NEWS
   python/branches/tlee-ast-optimize/Misc/TextMate/Python-Dev.tmbundle/info.plist
   python/branches/tlee-ast-optimize/Misc/cheatsheet
   python/branches/tlee-ast-optimize/Modules/cPickle.c
   python/branches/tlee-ast-optimize/Modules/cgen.py
   python/branches/tlee-ast-optimize/Modules/cmathmodule.c
   python/branches/tlee-ast-optimize/Modules/fcntlmodule.c
   python/branches/tlee-ast-optimize/Modules/flmodule.c
   python/branches/tlee-ast-optimize/Modules/fmmodule.c
   python/branches/tlee-ast-optimize/Modules/glmodule.c
   python/branches/tlee-ast-optimize/Modules/imgfile.c
   python/branches/tlee-ast-optimize/Modules/posixmodule.c
   python/branches/tlee-ast-optimize/Modules/sunaudiodev.c
   python/branches/tlee-ast-optimize/Objects/enumobject.c
   python/branches/tlee-ast-optimize/Objects/genobject.c
   python/branches/tlee-ast-optimize/Objects/typeobject.c

Modified: python/branches/tlee-ast-optimize/Demo/pdist/cmptree.py
==============================================================================
--- python/branches/tlee-ast-optimize/Demo/pdist/cmptree.py	(original)
+++ python/branches/tlee-ast-optimize/Demo/pdist/cmptree.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
 """Compare local and remote dictionaries and transfer differing files -- like rdist."""
 
 import sys
-from repr import repr
+from reprlib import repr
 import FSProxy
 import time
 import os

Modified: python/branches/tlee-ast-optimize/Demo/pdist/server.py
==============================================================================
--- python/branches/tlee-ast-optimize/Demo/pdist/server.py	(original)
+++ python/branches/tlee-ast-optimize/Demo/pdist/server.py	Sat May 17 04:35:08 2008
@@ -4,7 +4,7 @@
 import socket
 import pickle
 from fnmatch import fnmatch
-from repr import repr
+from reprlib import repr
 
 
 # Default verbosity (0 = silent, 1 = print connections, 2 = print requests too)

Modified: python/branches/tlee-ast-optimize/Doc/glossary.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/glossary.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/glossary.rst	Sat May 17 04:35:08 2008
@@ -388,9 +388,10 @@
       definition), or pass several arguments as a list to a function.  See
       :term:`argument`.
 
-   Python 3000
-      Nickname for the next major Python version, 3.0 (coined long ago when the
-      release of version 3 was something in the distant future.)
+   Python 3000 
+      Nickname for the next major Python version, 3.0 (coined long ago
+      when the release of version 3 was something in the distant future.)  This
+      is also abbreviated "Py3k".
 
    Pythonic
       An idea or piece of code which closely follows the most common idioms of

Modified: python/branches/tlee-ast-optimize/Doc/library/al.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/al.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/al.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,10 @@
 .. module:: al
    :platform: IRIX
    :synopsis: Audio functions on the SGI.
+   :deprecated:
+   
+.. deprecated:: 2.6
+    The :mod:`al` module has been deprecated for removal in Python 3.0.
 
 
 This module provides access to the audio facilities of the SGI Indy and Indigo
@@ -194,6 +198,10 @@
 .. module:: AL
    :platform: IRIX
    :synopsis: Constants used with the al module.
+   :deprecated:
+
+.. deprecated:: 2.6
+   The :mod:`AL` module has been deprecated for removal in Python 3.0.
 
 
 This module defines symbolic constants needed to use the built-in module

Modified: python/branches/tlee-ast-optimize/Doc/library/calendar.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/calendar.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/calendar.rst	Sat May 17 04:35:08 2008
@@ -37,7 +37,7 @@
    :class:`Calendar` instances have the following methods:
 
 
-   .. method:: iterweekdays(weekday)
+   .. method:: iterweekdays()
 
       Return an iterator for the week day numbers that will be used for one
       week.  The first value from the iterator will be the same as the value of

Modified: python/branches/tlee-ast-optimize/Doc/library/cd.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/cd.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/cd.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: cd
    :platform: IRIX
    :synopsis: Interface to the CD-ROM on Silicon Graphics systems.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`cd` module has been deprecated for removal in Python 3.0.
 
 
 This module provides an interface to the Silicon Graphics CD library. It is

Modified: python/branches/tlee-ast-optimize/Doc/library/configparser.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/configparser.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/configparser.rst	Sat May 17 04:35:08 2008
@@ -1,14 +1,21 @@
-
-:mod:`ConfigParser` --- Configuration file parser
+:mod:`configparser` --- Configuration file parser
 =================================================
 
 .. module:: ConfigParser
+   :synopsis: Old name for the configparser module.
+
+.. module:: configparser
    :synopsis: Configuration file parser.
+
 .. moduleauthor:: Ken Manheimer <klm at zope.com>
 .. moduleauthor:: Barry Warsaw <bwarsaw at python.org>
 .. moduleauthor:: Eric S. Raymond <esr at thyrsus.com>
 .. sectionauthor:: Christopher G. Petrilli <petrilli at amber.org>
 
+.. note::
+   The :mod:`ConfigParser` module has been renamed to :mod:`configparser` in
+   Python 3.0.  It is importable under both names in Python 2.6 and the rest of
+   the 2.x series.
 
 .. index::
    pair: .ini; file
@@ -226,9 +233,9 @@
    load the required file or files using :meth:`readfp` before calling :meth:`read`
    for any optional files::
 
-      import ConfigParser, os
+      import configparser, os
 
-      config = ConfigParser.ConfigParser()
+      config = configparser.ConfigParser()
       config.readfp(open('defaults.cfg'))
       config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')])
 
@@ -368,9 +375,9 @@
 
 An example of writing to a configuration file::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.RawConfigParser()
+   config = configparser.RawConfigParser()
    
    # When adding sections or items, add them in the reverse order of
    # how you want them to be displayed in the actual file.
@@ -393,9 +400,9 @@
 
 An example of reading the configuration file again::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.RawConfigParser()
+   config = configparser.RawConfigParser()
    config.read('example.cfg')
 
    # getfloat() raises an exception if the value is not a float
@@ -412,9 +419,9 @@
 To get interpolation, you will need to use a :class:`ConfigParser` or
 :class:`SafeConfigParser`::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.ConfigParser()
+   config = configparser.ConfigParser()
    config.read('example.cfg')
 
    # Set the third, optional argument of get to 1 if you wish to use raw mode.
@@ -429,10 +436,10 @@
 Defaults are available in all three types of ConfigParsers. They are used in 
 interpolation if an option used is not defined elsewhere. ::
 
-   import ConfigParser
+   import configparser
 
    # New instance with 'bar' and 'baz' defaulting to 'Life' and 'hard' each
-   config = ConfigParser.SafeConfigParser({'bar': 'Life', 'baz': 'hard'})
+   config = configparser.SafeConfigParser({'bar': 'Life', 'baz': 'hard'})
    config.read('example.cfg')
    
    print config.get('Section1', 'foo') # -> "Python is fun!"
@@ -445,7 +452,7 @@
    def opt_move(config, section1, section2, option):
        try:
            config.set(section2, option, config.get(section1, option, 1))
-       except ConfigParser.NoSectionError:
+       except configparser.NoSectionError:
            # Create non-existent section
            config.add_section(section2)
            opt_move(config, section1, section2, option)

Modified: python/branches/tlee-ast-optimize/Doc/library/datatypes.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/datatypes.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/datatypes.rst	Sat May 17 04:35:08 2008
@@ -36,4 +36,4 @@
    new.rst
    copy.rst
    pprint.rst
-   repr.rst
+   reprlib.rst

Modified: python/branches/tlee-ast-optimize/Doc/library/fl.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/fl.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/fl.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: fl
    :platform: IRIX
    :synopsis: FORMS library for applications with graphical user interfaces.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`fl` module has been deprecated for removal in Python 3.0.
 
 
 .. index::
@@ -478,6 +483,11 @@
 .. module:: FL
    :platform: IRIX
    :synopsis: Constants used with the fl module.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`FL` module has been deprecated for removal in Python 3.0.
 
 
 This module defines symbolic constants needed to use the built-in module
@@ -495,6 +505,11 @@
 .. module:: flp
    :platform: IRIX
    :synopsis: Functions for loading stored FORMS designs.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`flp` module has been deprecated for removal in Python 3.0.
 
 
 This module defines functions that can read form definitions created by the

Modified: python/branches/tlee-ast-optimize/Doc/library/fm.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/fm.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/fm.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: fm
    :platform: IRIX
    :synopsis: Font Manager interface for SGI workstations.
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`fm` module has been deprecated for removal in Python 3.0.
+
 
 
 .. index::

Modified: python/branches/tlee-ast-optimize/Doc/library/gl.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/gl.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/gl.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: gl
    :platform: IRIX
    :synopsis: Functions from the Silicon Graphics Graphics Library.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`gl` module has been deprecated for removal in Python 3.0.
 
 
 This module provides access to the Silicon Graphics *Graphics Library*. It is
@@ -160,6 +165,11 @@
 .. module:: DEVICE
    :platform: IRIX
    :synopsis: Constants used with the gl module.
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`DEVICE` module has been deprecated for removal in Python 3.0.
 
 
 This modules defines the constants used by the Silicon Graphics *Graphics
@@ -173,7 +183,11 @@
 .. module:: GL
    :platform: IRIX
    :synopsis: Constants used with the gl module.
-
+   :deprecated:
+   
+   
+.. deprecated:: 2.6
+    The :mod:`GL` module has been deprecated for removal in Python 3.0.
 
 This module contains constants used by the Silicon Graphics *Graphics Library*
 from the C header file ``<gl/gl.h>``. Read the module source file for details.

Modified: python/branches/tlee-ast-optimize/Doc/library/idle.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/idle.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/idle.rst	Sat May 17 04:35:08 2008
@@ -10,11 +10,11 @@
    single: Python Editor
    single: Integrated Development Environment
 
-IDLE is the Python IDE built with the :mod:`Tkinter` GUI toolkit.
+IDLE is the Python IDE built with the :mod:`tkinter` GUI toolkit.
 
 IDLE has the following features:
 
-* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit
+* coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit
 
 * cross-platform: works on Windows and Unix (on Mac OS, there are currently
   problems with Tcl/Tk)

Modified: python/branches/tlee-ast-optimize/Doc/library/imgfile.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/imgfile.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/imgfile.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: imgfile
    :platform: IRIX
    :synopsis: Support for SGI imglib files.
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`imgfile` module has been deprecated for removal in Python 3.0.
+
 
 
 The :mod:`imgfile` module allows Python programs to access SGI imglib image

Modified: python/branches/tlee-ast-optimize/Doc/library/jpeg.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/jpeg.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/jpeg.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: jpeg
    :platform: IRIX
    :synopsis: Read and write image files in compressed JPEG format.
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`jpeg` module has been deprecated for removal in Python 3.0.
+
 
 
 .. index:: single: Independent JPEG Group

Modified: python/branches/tlee-ast-optimize/Doc/library/logging.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/logging.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/logging.rst	Sat May 17 04:35:08 2008
@@ -2240,12 +2240,12 @@
 
 .. function:: fileConfig(fname[, defaults])
 
-   Reads the logging configuration from a ConfigParser-format file named *fname*.
-   This function can be called several times from an application, allowing an end
-   user the ability to select from various pre-canned configurations (if the
-   developer provides a mechanism to present the choices and load the chosen
-   configuration). Defaults to be passed to ConfigParser can be specified in the
-   *defaults* argument.
+   Reads the logging configuration from a :mod:`configparser`\-format file named
+   *fname*.  This function can be called several times from an application,
+   allowing an end user the ability to select from various pre-canned
+   configurations (if the developer provides a mechanism to present the choices
+   and load the chosen configuration). Defaults to be passed to the ConfigParser
+   can be specified in the *defaults* argument.
 
 
 .. function:: listen([port])
@@ -2275,18 +2275,20 @@
 Configuration file format
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The configuration file format understood by :func:`fileConfig` is based on
-ConfigParser functionality. The file must contain sections called ``[loggers]``,
-``[handlers]`` and ``[formatters]`` which identify by name the entities of each
-type which are defined in the file. For each such entity, there is a separate
-section which identified how that entity is configured. Thus, for a logger named
-``log01`` in the ``[loggers]`` section, the relevant configuration details are
-held in a section ``[logger_log01]``. Similarly, a handler called ``hand01`` in
-the ``[handlers]`` section will have its configuration held in a section called
-``[handler_hand01]``, while a formatter called ``form01`` in the
-``[formatters]`` section will have its configuration specified in a section
-called ``[formatter_form01]``. The root logger configuration must be specified
-in a section called ``[logger_root]``.
+The configuration file format understood by :func:`fileConfig` is
+based on :mod:`configparser` functionality. The file must contain
+sections called ``[loggers]``, ``[handlers]`` and ``[formatters]``
+which identify by name the entities of each type which are defined in
+the file. For each such entity, there is a separate section which
+identified how that entity is configured. Thus, for a logger named
+``log01`` in the ``[loggers]`` section, the relevant configuration
+details are held in a section ``[logger_log01]``. Similarly, a handler
+called ``hand01`` in the ``[handlers]`` section will have its
+configuration held in a section called ``[handler_hand01]``, while a
+formatter called ``form01`` in the ``[formatters]`` section will have
+its configuration specified in a section called
+``[formatter_form01]``. The root logger configuration must be
+specified in a section called ``[logger_root]``.
 
 Examples of these sections in the file are given below. ::
 

Modified: python/branches/tlee-ast-optimize/Doc/library/modulefinder.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/modulefinder.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/modulefinder.rst	Sat May 17 04:35:08 2008
@@ -97,7 +97,7 @@
 
     Loaded modules:
     _types:
-    copy_reg:  _inverted_registry,_slotnames,__all__
+    copyreg:  _inverted_registry,_slotnames,__all__
     sre_compile:  isstring,_sre,_optimize_unicode
     _sre:
     sre_constants:  REPEAT_ONE,makedict,AT_END_LINE

Modified: python/branches/tlee-ast-optimize/Doc/library/os.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/os.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/os.rst	Sat May 17 04:35:08 2008
@@ -717,7 +717,8 @@
    combined using the bitwise OR operator ``|``. Availability: Windows.
 
 
-.. data:: O_DIRECT
+.. data:: O_ASYNC
+          O_DIRECT
           O_DIRECTORY
           O_NOFOLLOW
           O_NOATIME

Modified: python/branches/tlee-ast-optimize/Doc/library/othergui.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/othergui.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/othergui.rst	Sat May 17 04:35:08 2008
@@ -3,13 +3,13 @@
 Other Graphical User Interface Packages
 =======================================
 
-There are an number of extension widget sets to :mod:`Tkinter`.
+There are an number of extension widget sets to :mod:`tkinter`.
 
 .. seealso::
 
    `Python megawidgets <http://pmw.sourceforge.net/>`_
       is a toolkit for building high-level compound widgets in Python using the
-      :mod:`Tkinter` module.  It consists of a set of base classes and a library of
+      :mod:`tkinter` package.  It consists of a set of base classes and a library of
       flexible and extensible megawidgets built on this foundation. These megawidgets
       include notebooks, comboboxes, selection widgets, paned widgets, scrolled
       widgets, dialog windows, etc.  Also, with the Pmw.Blt interface to BLT, the

Deleted: python/branches/tlee-ast-optimize/Doc/library/repr.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/repr.rst	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,136 +0,0 @@
-
-:mod:`repr` --- Alternate :func:`repr` implementation
-=====================================================
-
-.. module:: repr
-   :synopsis: Alternate repr() implementation with size limits.
-.. sectionauthor:: Fred L. Drake, Jr. <fdrake at acm.org>
-
-
-The :mod:`repr` module provides a means for producing object representations
-with limits on the size of the resulting strings. This is used in the Python
-debugger and may be useful in other contexts as well.
-
-This module provides a class, an instance, and a function:
-
-
-.. class:: Repr()
-
-   Class which provides formatting services useful in implementing functions
-   similar to the built-in :func:`repr`; size limits for  different object types
-   are added to avoid the generation of representations which are excessively long.
-
-
-.. data:: aRepr
-
-   This is an instance of :class:`Repr` which is used to provide the :func:`repr`
-   function described below.  Changing the attributes of this object will affect
-   the size limits used by :func:`repr` and the Python debugger.
-
-
-.. function:: repr(obj)
-
-   This is the :meth:`repr` method of ``aRepr``.  It returns a string similar to
-   that returned by the built-in function of the same  name, but with limits on
-   most sizes.
-
-
-.. _repr-objects:
-
-Repr Objects
-------------
-
-:class:`Repr` instances provide several members which can be used to provide
-size limits for the representations of different object types,  and methods
-which format specific object types.
-
-
-.. attribute:: Repr.maxlevel
-
-   Depth limit on the creation of recursive representations.  The default is ``6``.
-
-
-.. attribute:: Repr.maxdict
-               Repr.maxlist
-               Repr.maxtuple
-               Repr.maxset
-               Repr.maxfrozenset
-               Repr.maxdeque
-               Repr.maxarray
-
-   Limits on the number of entries represented for the named object type.  The
-   default is ``4`` for :attr:`maxdict`, ``5`` for :attr:`maxarray`, and  ``6`` for
-   the others.
-
-   .. versionadded:: 2.4
-      :attr:`maxset`, :attr:`maxfrozenset`, and :attr:`set`.
-
-
-.. attribute:: Repr.maxlong
-
-   Maximum number of characters in the representation for a long integer.  Digits
-   are dropped from the middle.  The default is ``40``.
-
-
-.. attribute:: Repr.maxstring
-
-   Limit on the number of characters in the representation of the string.  Note
-   that the "normal" representation of the string is used as the character source:
-   if escape sequences are needed in the representation, these may be mangled when
-   the representation is shortened.  The default is ``30``.
-
-
-.. attribute:: Repr.maxother
-
-   This limit is used to control the size of object types for which no specific
-   formatting method is available on the :class:`Repr` object. It is applied in a
-   similar manner as :attr:`maxstring`.  The default is ``20``.
-
-
-.. method:: Repr.repr(obj)
-
-   The equivalent to the built-in :func:`repr` that uses the formatting imposed by
-   the instance.
-
-
-.. method:: Repr.repr1(obj, level)
-
-   Recursive implementation used by :meth:`repr`.  This uses the type of *obj* to
-   determine which formatting method to call, passing it *obj* and *level*.  The
-   type-specific methods should call :meth:`repr1` to perform recursive formatting,
-   with ``level - 1`` for the value of *level* in the recursive  call.
-
-
-.. method:: Repr.repr_TYPE(obj, level)
-   :noindex:
-
-   Formatting methods for specific types are implemented as methods with a name
-   based on the type name.  In the method name, **TYPE** is replaced by
-   ``string.join(string.split(type(obj).__name__, '_'))``. Dispatch to these
-   methods is handled by :meth:`repr1`. Type-specific methods which need to
-   recursively format a value should call ``self.repr1(subobj, level - 1)``.
-
-
-.. _subclassing-reprs:
-
-Subclassing Repr Objects
-------------------------
-
-The use of dynamic dispatching by :meth:`Repr.repr1` allows subclasses of
-:class:`Repr` to add support for additional built-in object types or to modify
-the handling of types already supported. This example shows how special support
-for file objects could be added::
-
-   import repr
-   import sys
-
-   class MyRepr(repr.Repr):
-       def repr_file(self, obj, level):
-           if obj.name in ['<stdin>', '<stdout>', '<stderr>']:
-               return obj.name
-           else:
-               return `obj`
-
-   aRepr = MyRepr()
-   print aRepr.repr(sys.stdin)          # prints '<stdin>'
-

Deleted: python/branches/tlee-ast-optimize/Doc/library/scrolledtext.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/scrolledtext.rst	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,32 +0,0 @@
-:mod:`ScrolledText` --- Scrolled Text Widget
-============================================
-
-.. module:: ScrolledText
-   :platform: Tk
-   :synopsis: Text widget with a vertical scroll bar.
-.. sectionauthor:: Fred L. Drake, Jr. <fdrake at acm.org>
-
-
-The :mod:`ScrolledText` module provides a class of the same name which
-implements a basic text widget which has a vertical scroll bar configured to do
-the "right thing."  Using the :class:`ScrolledText` class is a lot easier than
-setting up a text widget and scroll bar directly.  The constructor is the same
-as that of the :class:`Tkinter.Text` class.
-
-The text widget and scrollbar are packed together in a :class:`Frame`, and the
-methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired
-from the :class:`Frame` object.  This allows the :class:`ScrolledText` widget to
-be used directly to achieve most normal geometry management behavior.
-
-Should more specific control be necessary, the following attributes are
-available:
-
-
-.. attribute:: ScrolledText.frame
-
-   The frame which surrounds the text and scroll bar widgets.
-
-
-.. attribute:: ScrolledText.vbar
-
-   The scroll bar widget.

Modified: python/branches/tlee-ast-optimize/Doc/library/shlex.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/shlex.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/shlex.rst	Sat May 17 04:35:08 2008
@@ -63,7 +63,7 @@
 
 .. seealso::
 
-   Module :mod:`ConfigParser`
+   Module :mod:`configparser`
       Parser for configuration files similar to the Windows :file:`.ini` files.
 
 

Modified: python/branches/tlee-ast-optimize/Doc/library/shutil.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/shutil.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/shutil.rst	Sat May 17 04:35:08 2008
@@ -73,8 +73,9 @@
 
 .. function:: copy2(src, dst)
 
-   Similar to :func:`copy`, but last access time and last modification time are
-   copied as well.  This is similar to the Unix command :program:`cp -p`.
+   Similar to :func:`copy`, but metadata is copied as well -- in fact, this is just
+   :func:`copy` followed by :func:`copystat`.  This is similar to the
+   Unix command :program:`cp -p`.
 
 
 .. function:: copytree(src, dst[, symlinks])

Modified: python/branches/tlee-ast-optimize/Doc/library/statvfs.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/statvfs.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/statvfs.rst	Sat May 17 04:35:08 2008
@@ -3,6 +3,12 @@
 
 .. module:: statvfs
    :synopsis: Constants for interpreting the result of os.statvfs().
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`statvfs` module has been deprecated for removal in Python 3.0.
+
+
 .. sectionauthor:: Moshe Zadka <moshez at zadka.site.co.il>
 
 

Modified: python/branches/tlee-ast-optimize/Doc/library/sunaudio.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/sunaudio.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/sunaudio.rst	Sat May 17 04:35:08 2008
@@ -5,6 +5,11 @@
 .. module:: sunaudiodev
    :platform: SunOS
    :synopsis: Access to Sun audio hardware.
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`sunaudiodev` module has been deprecated for removal in Python 3.0.
+
 
 
 .. index:: single: u-LAW
@@ -145,6 +150,11 @@
 .. module:: SUNAUDIODEV
    :platform: SunOS
    :synopsis: Constants for use with sunaudiodev.
+   :deprecated:
+   
+.. deprecated:: 2.6
+   The :mod:`SUNAUDIODEV` module has been deprecated for removal in Python 3.0.
+
 
 
 .. index:: module: sunaudiodev

Deleted: python/branches/tlee-ast-optimize/Doc/library/tix.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/tix.rst	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,591 +0,0 @@
-:mod:`Tix` --- Extension widgets for Tk
-=======================================
-
-.. module:: Tix
-   :synopsis: Tk Extension Widgets for Tkinter
-.. sectionauthor:: Mike Clarkson <mikeclarkson at users.sourceforge.net>
-
-
-.. index:: single: Tix
-
-The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set
-of widgets. Although the standard Tk library has many useful widgets, they are
-far from complete. The :mod:`Tix` library provides most of the commonly needed
-widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`,
-:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets.
-:mod:`Tix` also includes many more widgets that are generally useful in a wide
-range of applications: :class:`NoteBook`, :class:`FileEntry`,
-:class:`PanedWindow`, etc; there are more than 40 of them.
-
-With all these new widgets, you can introduce new interaction techniques into
-applications, creating more useful and more intuitive user interfaces. You can
-design your application by choosing the most appropriate widgets to match the
-special needs of your application and users.
-
-
-.. seealso::
-
-   `Tix Homepage <http://tix.sourceforge.net/>`_
-      The home page for :mod:`Tix`.  This includes links to additional documentation
-      and downloads.
-
-   `Tix Man Pages <http://tix.sourceforge.net/dist/current/man/>`_
-      On-line version of the man pages and reference material.
-
-   `Tix Programming Guide <http://tix.sourceforge.net/dist/current/docs/tix-book/tix.book.html>`_
-      On-line version of the programmer's reference material.
-
-   `Tix Development Applications <http://tix.sourceforge.net/Tixapps/src/Tide.html>`_
-      Tix applications for development of Tix and Tkinter programs. Tide applications
-      work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to
-      remotely modify and debug Tix/Tk/Tkinter applications.
-
-
-Using Tix
----------
-
-
-.. class:: Tix(screenName[, baseName[, className]])
-
-   Toplevel widget of Tix which represents mostly the main window of an
-   application. It has an associated Tcl interpreter.
-
-   Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter`
-   module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all
-   you need to do is to import one module. In general, you can just import
-   :mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with
-   :class:`Tix.Tk`::
-
-      import Tix
-      from Tkconstants import *
-      root = Tix.Tk()
-
-To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually
-alongside your installation of the Tk widgets. To test your installation, try
-the following::
-
-   import Tix
-   root = Tix.Tk()
-   root.tk.eval('package require Tix')
-
-If this fails, you have a Tk installation problem which must be resolved before
-proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the
-installed :mod:`Tix` library directory, and make sure you have the dynamic
-object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in  the same
-directory that contains your Tk dynamic object library (:file:`tk8183.dll` or
-:file:`libtk8183.so`). The directory with the dynamic object library should also
-have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the
-line::
-
-   package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
-
-
-Tix Widgets
------------
-
-`Tix <http://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm>`_
-introduces over 40 widget classes to the :mod:`Tkinter`  repertoire.  There is a
-demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the
-standard distribution.
-
-.. The Python sample code is still being added to Python, hence commented out
-
-
-Basic Widgets
-^^^^^^^^^^^^^
-
-
-.. class:: Balloon()
-
-   A `Balloon
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm>`_ that
-   pops up over a widget to provide help.  When the user moves the cursor inside a
-   widget to which a Balloon widget has been bound, a small pop-up window with a
-   descriptive message will be shown on the screen.
-
-.. Python Demo of:
-.. \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
-
-
-.. class:: ButtonBox()
-
-   The `ButtonBox
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm>`_
-   widget creates a box of buttons, such as is commonly used for ``Ok Cancel``.
-
-.. Python Demo of:
-.. \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
-
-
-.. class:: ComboBox()
-
-   The `ComboBox
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm>`_
-   widget is similar to the combo box control in MS Windows. The user can select a
-   choice by either typing in the entry subwdget or selecting from the listbox
-   subwidget.
-
-.. Python Demo of:
-.. \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
-
-
-.. class:: Control()
-
-   The `Control
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm>`_
-   widget is also known as the :class:`SpinBox` widget. The user can adjust the
-   value by pressing the two arrow buttons or by entering the value directly into
-   the entry. The new value will be checked against the user-defined upper and
-   lower limits.
-
-.. Python Demo of:
-.. \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
-
-
-.. class:: LabelEntry()
-
-   The `LabelEntry
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm>`_
-   widget packages an entry widget and a label into one mega widget. It can be used
-   be used to simplify the creation of "entry-form" type of interface.
-
-.. Python Demo of:
-.. \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
-
-
-.. class:: LabelFrame()
-
-   The `LabelFrame
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm>`_
-   widget packages a frame widget and a label into one mega widget.  To create
-   widgets inside a LabelFrame widget, one creates the new widgets relative to the
-   :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget.
-
-.. Python Demo of:
-.. \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
-
-
-.. class:: Meter()
-
-   The `Meter
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm>`_ widget
-   can be used to show the progress of a background job which may take a long time
-   to execute.
-
-.. Python Demo of:
-.. \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
-
-
-.. class:: OptionMenu()
-
-   The `OptionMenu
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm>`_
-   creates a menu button of options.
-
-.. Python Demo of:
-.. \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
-
-
-.. class:: PopupMenu()
-
-   The `PopupMenu
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm>`_
-   widget can be used as a replacement of the ``tk_popup`` command. The advantage
-   of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code
-   to manipulate.
-
-.. Python Demo of:
-.. \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
-
-
-.. class:: Select()
-
-   The `Select
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm>`_ widget
-   is a container of button subwidgets. It can be used to provide radio-box or
-   check-box style of selection options for the user.
-
-.. Python Demo of:
-.. \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
-
-
-.. class:: StdButtonBox()
-
-   The `StdButtonBox
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm>`_
-   widget is a group of standard buttons for Motif-like dialog boxes.
-
-.. Python Demo of:
-.. \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
-
-
-File Selectors
-^^^^^^^^^^^^^^
-
-
-.. class:: DirList()
-
-   The `DirList
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm>`_
-   widget displays a list view of a directory, its previous directories and its
-   sub-directories. The user can choose one of the directories displayed in the
-   list or change to another directory.
-
-.. Python Demo of:
-.. \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
-
-
-.. class:: DirTree()
-
-   The `DirTree
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm>`_
-   widget displays a tree view of a directory, its previous directories and its
-   sub-directories. The user can choose one of the directories displayed in the
-   list or change to another directory.
-
-.. Python Demo of:
-.. \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
-
-
-.. class:: DirSelectDialog()
-
-   The `DirSelectDialog
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm>`_
-   widget presents the directories in the file system in a dialog window.  The user
-   can use this dialog window to navigate through the file system to select the
-   desired directory.
-
-.. Python Demo of:
-.. \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
-
-
-.. class:: DirSelectBox()
-
-   The :class:`DirSelectBox` is similar to the standard Motif(TM)
-   directory-selection box. It is generally used for the user to choose a
-   directory.  DirSelectBox stores the directories mostly recently selected into
-   a ComboBox widget so that they can be quickly selected again.
-
-
-.. class:: ExFileSelectBox()
-
-   The `ExFileSelectBox
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm>`_
-   widget is usually embedded in a tixExFileSelectDialog widget. It provides an
-   convenient method for the user to select files. The style of the
-   :class:`ExFileSelectBox` widget is very similar to the standard file dialog on
-   MS Windows 3.1.
-
-.. Python Demo of:
-.. \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
-
-
-.. class:: FileSelectBox()
-
-   The `FileSelectBox
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm>`_
-   is similar to the standard Motif(TM) file-selection box. It is generally used
-   for the user to choose a file. FileSelectBox stores the files mostly recently
-   selected into a :class:`ComboBox` widget so that they can be quickly selected
-   again.
-
-.. Python Demo of:
-.. \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
-
-
-.. class:: FileEntry()
-
-   The `FileEntry
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm>`_
-   widget can be used to input a filename. The user can type in the filename
-   manually. Alternatively, the user can press the button widget that sits next to
-   the entry, which will bring up a file selection dialog.
-
-.. Python Demo of:
-.. \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
-
-
-Hierachical ListBox
-^^^^^^^^^^^^^^^^^^^
-
-
-.. class:: HList()
-
-   The `HList
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm>`_ widget
-   can be used to display any data that have a hierarchical structure, for example,
-   file system directory trees. The list entries are indented and connected by
-   branch lines according to their places in the hierarchy.
-
-.. Python Demo of:
-.. \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
-
-
-.. class:: CheckList()
-
-   The `CheckList
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm>`_
-   widget displays a list of items to be selected by the user. CheckList acts
-   similarly to the Tk checkbutton or radiobutton widgets, except it is capable of
-   handling many more items than checkbuttons or radiobuttons.
-
-.. Python Demo of:
-.. \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl}
-
-
-.. class:: Tree()
-
-   The `Tree
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm>`_ widget
-   can be used to display hierarchical data in a tree form. The user can adjust the
-   view of the tree by opening or closing parts of the tree.
-
-.. Python Demo of:
-.. \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
-.. Python Demo of:
-.. \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
-
-
-Tabular ListBox
-^^^^^^^^^^^^^^^
-
-
-.. class:: TList()
-
-   The `TList
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm>`_ widget
-   can be used to display data in a tabular format. The list entries of a
-   :class:`TList` widget are similar to the entries in the Tk listbox widget.  The
-   main differences are (1) the :class:`TList` widget can display the list entries
-   in a two dimensional format and (2) you can use graphical images as well as
-   multiple colors and fonts for the list entries.
-
-.. Python Demo of:
-.. \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl}
-.. Grid has yet to be added to Python
-.. \subsubsection{Grid Widget}
-.. Python Demo of:
-.. \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl}
-.. Python Demo of:
-.. \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl}
-
-
-Manager Widgets
-^^^^^^^^^^^^^^^
-
-
-.. class:: PanedWindow()
-
-   The `PanedWindow
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm>`_
-   widget allows the user to interactively manipulate the sizes of several panes.
-   The panes can be arranged either vertically or horizontally.  The user changes
-   the sizes of the panes by dragging the resize handle between two panes.
-
-.. Python Demo of:
-.. \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
-
-
-.. class:: ListNoteBook()
-
-   The `ListNoteBook
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm>`_
-   widget is very similar to the :class:`TixNoteBook` widget: it can be used to
-   display many windows in a limited space using a notebook metaphor. The notebook
-   is divided into a stack of pages (windows). At one time only one of these pages
-   can be shown. The user can navigate through these pages by choosing the name of
-   the desired page in the :attr:`hlist` subwidget.
-
-.. Python Demo of:
-.. \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
-
-
-.. class:: NoteBook()
-
-   The `NoteBook
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm>`_
-   widget can be used to display many windows in a limited space using a notebook
-   metaphor. The notebook is divided into a stack of pages. At one time only one of
-   these pages can be shown. The user can navigate through these pages by choosing
-   the visual "tabs" at the top of the NoteBook widget.
-
-.. Python Demo of:
-.. \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
-
-.. \subsubsection{Scrolled Widgets}
-.. Python Demo of:
-.. \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl}
-.. Python Demo of:
-.. \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl}
-.. Python Demo of:
-.. \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl}
-
-
-Image Types
-^^^^^^^^^^^
-
-The :mod:`Tix` module adds:
-
-* `pixmap <http://tix.sourceforge.net/dist/current/man/html/TixCmd/pixmap.htm>`_
-  capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images
-  from XPM files.
-
-  .. Python Demo of:
-  .. \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl}
-  .. Python Demo of:
-  .. \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl}
-
-* `Compound
-  <http://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm>`_ image
-  types can be used to create images that consists of multiple horizontal lines;
-  each line is composed of a series of items (texts, bitmaps, images or spaces)
-  arranged from left to right. For example, a compound image can be used to
-  display a bitmap and a text string simultaneously in a Tk :class:`Button`
-  widget.
-
-  .. Python Demo of:
-  .. \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
-  .. Python Demo of:
-  .. \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl}
-  .. Python Demo of:
-  .. \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl}
-  .. Python Demo of:
-  .. \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl}
-
-
-Miscellaneous Widgets
-^^^^^^^^^^^^^^^^^^^^^
-
-
-.. class:: InputOnly()
-
-   The `InputOnly
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixInputOnly.htm>`_
-   widgets are to accept inputs from the user, which can be done with the ``bind``
-   command (Unix only).
-
-
-Form Geometry Manager
-^^^^^^^^^^^^^^^^^^^^^
-
-In addition, :mod:`Tix` augments :mod:`Tkinter` by providing:
-
-
-.. class:: Form()
-
-   The `Form
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixForm.htm>`_ geometry
-   manager based on attachment rules for all Tk widgets.
-
-
-
-Tix Commands
-------------
-
-
-.. class:: tixCommand()
-
-   The `tix commands
-   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tix.htm>`_ provide
-   access to miscellaneous elements of :mod:`Tix`'s internal state and the
-   :mod:`Tix` application context.  Most of the information manipulated by these
-   methods pertains to the application as a whole, or to a screen or display,
-   rather than to a particular window.
-
-   To view the current settings, the common usage is::
-
-      import Tix
-      root = Tix.Tk()
-      print root.tix_configure()
-
-
-.. method:: tixCommand.tix_configure([cnf,] **kw)
-
-   Query or modify the configuration options of the Tix application context. If no
-   option is specified, returns a dictionary all of the available options.  If
-   option is specified with no value, then the method returns a list describing the
-   one named option (this list will be identical to the corresponding sublist of
-   the value returned if no option is specified).  If one or more option-value
-   pairs are specified, then the method modifies the given option(s) to have the
-   given value(s); in this case the method returns an empty string. Option may be
-   any of the configuration options.
-
-
-.. method:: tixCommand.tix_cget(option)
-
-   Returns the current value of the configuration option given by *option*. Option
-   may be any of the configuration options.
-
-
-.. method:: tixCommand.tix_getbitmap(name)
-
-   Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap
-   directories (see the :meth:`tix_addbitmapdir` method).  By using
-   :meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap
-   files in your application. When successful, it returns the complete pathname of
-   the bitmap file, prefixed with the character ``@``.  The returned value can be
-   used to configure the ``bitmap`` option of the Tk and Tix widgets.
-
-
-.. method:: tixCommand.tix_addbitmapdir(directory)
-
-   Tix maintains a list of directories under which the :meth:`tix_getimage` and
-   :meth:`tix_getbitmap` methods will search for image files.  The standard bitmap
-   directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method
-   adds *directory* into this list. By using this method, the image files of an
-   applications can also be located using the :meth:`tix_getimage` or
-   :meth:`tix_getbitmap` method.
-
-
-.. method:: tixCommand.tix_filedialog([dlgclass])
-
-   Returns the file selection dialog that may be shared among different calls from
-   this application.  This method will create a file selection dialog widget when
-   it is called the first time. This dialog will be returned by all subsequent
-   calls to :meth:`tix_filedialog`.  An optional dlgclass parameter can be passed
-   as a string to specified what type of file selection dialog widget is desired.
-   Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``.
-
-
-.. method:: tixCommand.tix_getimage(self, name)
-
-   Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or
-   :file:`name.ppm` in one of the bitmap directories (see the
-   :meth:`tix_addbitmapdir` method above). If more than one file with the same name
-   (but different extensions) exist, then the image type is chosen according to the
-   depth of the X display: xbm images are chosen on monochrome displays and color
-   images are chosen on color displays. By using :meth:`tix_getimage`, you can
-   avoid hard coding the pathnames of the image files in your application. When
-   successful, this method returns the name of the newly created image, which can
-   be used to configure the ``image`` option of the Tk and Tix widgets.
-
-
-.. method:: tixCommand.tix_option_get(name)
-
-   Gets the options maintained by the Tix scheme mechanism.
-
-
-.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])
-
-   Resets the scheme and fontset of the Tix application to *newScheme* and
-   *newFontSet*, respectively.  This affects only those widgets created after this
-   call.  Therefore, it is best to call the resetoptions method before the creation
-   of any widgets in a Tix application.
-
-   The optional parameter *newScmPrio* can be given to reset the priority level of
-   the Tk options set by the Tix schemes.
-
-   Because of the way Tk handles the X option database, after Tix has been has
-   imported and inited, it is not possible to reset the color schemes and font sets
-   using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions`
-   method must be used.

Modified: python/branches/tlee-ast-optimize/Doc/library/tk.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/tk.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/tk.rst	Sat May 17 04:35:08 2008
@@ -12,19 +12,20 @@
 
 Tk/Tcl has long been an integral part of Python.  It provides a robust and
 platform independent windowing toolkit, that is available to Python programmers
-using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module.
+using the :mod:`tkinter` package, and its extension, the :mod:`tkinter.tix` 
+module.
 
-The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To
-use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to
+The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk. To
+use :mod:`tkinter`, you don't need to write Tcl code, but you will need to
 consult the Tk documentation, and occasionally the Tcl documentation.
-:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python
+:mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python
 classes.  In addition, the internal module :mod:`_tkinter` provides a threadsafe
 mechanism which allows Python and Tcl to interact.
 
-:mod:`Tkinter`'s chief virtues are that it is fast, and that it usually comes
+:mod:`tkinter`'s chief virtues are that it is fast, and that it usually comes
 bundled with Python. Although its standard documentation is weak, good 
 material is available, which includes: references, tutorials, a book and 
-others. :mod:`Tkinter` is also famous for having an outdated look and feel, 
+others. :mod:`tkinter` is also famous for having an outdated look and feel, 
 which has been vastly improved in Tk 8.5. Nevertheless, there are many other 
 GUI libraries that you could be interested in. For more information about 
 alternatives, see the :ref:`other-gui-packages` section.
@@ -32,9 +33,9 @@
 .. toctree::
    
    tkinter.rst
-   tix.rst
-   scrolledtext.rst
-   turtle.rst
+   tkinter.tix.rst
+   tkinter.scrolledtext.rst
+   tkinter.turtle.rst
    idle.rst
    othergui.rst
 

Modified: python/branches/tlee-ast-optimize/Doc/library/tkinter.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/tkinter.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/library/tkinter.rst	Sat May 17 04:35:08 2008
@@ -1,16 +1,26 @@
-:mod:`Tkinter` --- Python interface to Tcl/Tk
+:mod:`tkinter` --- Python interface to Tcl/Tk
 =============================================
 
 .. module:: Tkinter
+   :synopsis: Old name for the tkinter module.
+
+.. module:: tkinter
    :synopsis: Interface to Tcl/Tk for graphical user interfaces
 .. moduleauthor:: Guido van Rossum <guido at Python.org>
 
 
-The :mod:`Tkinter` module ("Tk interface") is the standard Python interface to
-the Tk GUI toolkit.  Both Tk and :mod:`Tkinter` are available on most Unix
+The :mod:`tkinter` package ("Tk interface") is the standard Python interface to
+the Tk GUI toolkit.  Both Tk and :mod:`tkinter` are available on most Unix
 platforms, as well as on Windows and Macintosh systems.  (Tk itself is not part
 of Python; it is maintained at ActiveState.)
 
+.. note::
+   The :mod:`Tkinter` module has been renamed to a :mod:`tkinter` package in
+   Python 3.0.  All other Tkinter-related modules have been moved to submodules
+   within that package (see their individual descriptions).
+
+   All modules are importable under both names in Python 2.6 and the rest of the
+   2.x series.
 
 .. seealso::
 
@@ -34,23 +44,23 @@
 Tkinter Modules
 ---------------
 
-Most of the time, the :mod:`Tkinter` module is all you really need, but a number
+Most of the time, the :mod:`tkinter` is all you really need, but a number
 of additional modules are available as well.  The Tk interface is located in a
 binary module named :mod:`_tkinter`. This module contains the low-level
 interface to Tk, and should never be used directly by application programmers.
 It is usually a shared library (or DLL), but might in some cases be statically
 linked with the Python interpreter.
 
-In addition to the Tk interface module, :mod:`Tkinter` includes a number of
-Python modules. The two most important modules are the :mod:`Tkinter` module
-itself, and a module called :mod:`Tkconstants`. The former automatically imports
-the latter, so to use Tkinter, all you need to do is to import one module::
+In addition to the Tk interface module, :mod:`tkinter` includes a number of
+Python modules, :mod:`tkinter.constants` being one of the most important. 
+Importing :mod:`tkinter` will automatically import :mod:`tkinter.constants`,
+so, usually, to use Tkinter all you need is a simple import statement::
 
-   import Tkinter
+   import tkinter
 
 Or, more often::
 
-   from Tkinter import *
+   from tkinter import *
 
 
 .. class:: Tk(screenName=None, baseName=None, className='Tk', useTk=1)
@@ -79,41 +89,67 @@
 
 Other modules that provide Tk support include:
 
-:mod:`ScrolledText`
+:mod:`tkinter.scrolledtext`
    Text widget with a vertical scroll bar built in.
 
-:mod:`tkColorChooser`
+   .. versionchanged:: 2.6
+      Renamed from ``ScrolledText``.
+
+:mod:`tkinter.colorchooser`
    Dialog to let the user choose a color.
 
-:mod:`tkCommonDialog`
+   .. versionchanged:: 2.6
+      Renamed from ``tkColorChooser``.
+
+:mod:`commondialog`
    Base class for the dialogs defined in the other modules listed here.
 
-:mod:`tkFileDialog`
+   .. versionchanged:: 2.6
+      Renamed from ``tkCommonDialog``.
+
+:mod:`filedialog`
    Common dialogs to allow the user to specify a file to open or save.
 
-:mod:`tkFont`
+   .. versionchanged:: 2.6
+      Renamed from ``tkFileDialog``.
+
+:mod:`tkinter.font`
    Utilities to help work with fonts.
 
-:mod:`tkMessageBox`
+   .. versionchanged:: 2.6
+      Renamed from ``tkFont``.
+
+:mod:`tkinter.messagebox`
    Access to standard Tk dialog boxes.
 
-:mod:`tkSimpleDialog`
+   .. versionchanged:: 2.6
+      Renamed from ``tkMessageBox``.
+
+:mod:`tkinter.simpledialog`
    Basic dialogs and convenience functions.
 
-:mod:`Tkdnd`
-   Drag-and-drop support for :mod:`Tkinter`. This is experimental and should become
-   deprecated when it is replaced  with the Tk DND.
+   .. versionchanged:: 2.6
+      Renamed from ``tkSimpleDialog``.
+
+:mod:`tkinter.dnd`
+   Drag-and-drop support for :mod:`tkinter`. This is experimental and should 
+   become deprecated when it is replaced  with the Tk DND.
 
-:mod:`turtle`
+   .. versionchanged:: 2.6
+      Renamed from ``Tkdnd``.
+
+:mod:`tkinter.turtle`
    Turtle graphics in a Tk window.
 
+   .. versionchanged:: 2.6
+      Renamed from ``turtle``.
+
 
 Tkinter Life Preserver
 ----------------------
 
 .. sectionauthor:: Matt Conway
 
-
 This section is not designed to be an exhaustive tutorial on either Tk or
 Tkinter.  Rather, it is intended as a stop gap, providing some introductory
 orientation on the system.
@@ -145,7 +181,7 @@
 
 When trying to answer questions of the form "how do I do blah", it is often best
 to find out how to do"blah" in straight Tk, and then convert this back into the
-corresponding :mod:`Tkinter` call. Python programmers can often guess at the
+corresponding :mod:`tkinter` call. Python programmers can often guess at the
 correct Python command by looking at the Tk documentation. This means that in
 order to use Tkinter, you will have to know a little bit about Tk. This document
 can't fulfill that role, so the best we can do is point you to the best
@@ -161,8 +197,8 @@
   the novice.  The book is not exhaustive, and for many details it defers to the
   man pages.
 
-* :file:`Tkinter.py` is a last resort for most, but can be a good place to go
-  when nothing else makes sense.
+* :file:`tkinter/__init__.py` is a last resort for most, but can be a good 
+  place to go when nothing else makes sense.
 
 
 .. seealso::
@@ -182,7 +218,7 @@
 
 ::
 
-   from Tkinter import *
+   from tkinter import *
 
    class Application(Frame):
        def say_hi(self):
@@ -236,7 +272,7 @@
 To make use of this reference material, there will be times when you will need
 to know how to read short passages of Tk and how to identify the various parts
 of a Tk command.   (See section :ref:`tkinter-basic-mapping` for the
-:mod:`Tkinter` equivalents of what's below.)
+:mod:`tkinter` equivalents of what's below.)
 
 Tk scripts are Tcl programs.  Like all Tcl programs, Tk scripts are just lists
 of tokens separated by spaces.  A Tk widget is just its *class*, the *options*
@@ -324,9 +360,9 @@
 To give a widget to the packer (geometry manager), you call pack with optional
 arguments.  In Tkinter, the Pack class holds all this functionality, and the
 various forms of the pack command are implemented as methods.  All widgets in
-:mod:`Tkinter` are subclassed from the Packer, and so inherit all the packing
-methods. See the :mod:`Tix` module documentation for additional information on
-the Form geometry manager. ::
+:mod:`tkinter` are subclassed from the Packer, and so inherit all the packing
+methods. See the :mod:`tkinter.tix` module documentation for additional 
+information on the Form geometry manager. ::
 
    pack .fred -side left       =====>  fred.pack(side = "left")
 
@@ -337,11 +373,11 @@
 From the top down:
 
 Your App Here (Python)
-   A Python application makes a :mod:`Tkinter` call.
+   A Python application makes a :mod:`tkinter` call.
 
-Tkinter (Python Module)
+tkinter (Python Package)
    This call (say, for example, creating a button widget), is implemented in the
-   *Tkinter* module, which is written in Python.  This Python function will parse
+   *tkinter* package, which is written in Python.  This Python function will parse
    the commands and the arguments and convert them into a form that makes them look
    as if they had come from a Tk script instead of a Python script.
 
@@ -353,8 +389,8 @@
    This C function is able to make calls into other C modules, including the C
    functions that make up the Tk library.  Tk is implemented in C and some Tcl.
    The Tcl part of the Tk widgets is used to bind certain default behaviors to
-   widgets, and is executed once at the point where the Python :mod:`Tkinter`
-   module is imported. (The user never sees this stage).
+   widgets, and is executed once at the point where the Python :mod:`tkinter`
+   package is imported. (The user never sees this stage).
 
 Tk (C)
    The Tk part of the Tk Widgets implement the final mapping to ...
@@ -510,11 +546,11 @@
 ``value``.  This connection works both ways: if the variable changes for any
 reason, the widget it's connected to will be updated to reflect the new value.
 
-Unfortunately, in the current implementation of :mod:`Tkinter` it is not
+Unfortunately, in the current implementation of :mod:`tkinter` it is not
 possible to hand over an arbitrary Python variable to a widget through a
 ``variable`` or ``textvariable`` option.  The only kinds of variables for which
 this works are variables that are subclassed from a class called Variable,
-defined in the :mod:`Tkinter` module.
+defined in the :mod:`tkinter`.
 
 There are many useful subclasses of Variable already defined:
 :class:`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and
@@ -558,7 +594,7 @@
 
 In Tk, there is a utility command, ``wm``, for interacting with the window
 manager.  Options to the ``wm`` command allow you to control things like titles,
-placement, icon bitmaps, and the like.  In :mod:`Tkinter`, these commands have
+placement, icon bitmaps, and the like.  In :mod:`tkinter`, these commands have
 been implemented as methods on the :class:`Wm` class.  Toplevel widgets are
 subclassed from the :class:`Wm` class, and so can call the :class:`Wm` methods
 directly.
@@ -572,7 +608,7 @@
 
 Here are some examples of typical usage::
 
-   from Tkinter import *
+   from tkinter import *
    class App(Frame):
        def __init__(self, master=None):
            Frame.__init__(self, master)
@@ -733,7 +769,7 @@
 
 Entry widget indexes (index, view index, etc.)
    Entry widgets have options that refer to character positions in the text being
-   displayed.  You can use these :mod:`Tkinter` functions to access these special
+   displayed.  You can use these :mod:`tkinter` functions to access these special
    points in text widgets:
 
    AtEnd()
@@ -785,7 +821,7 @@
 ^^^^^^
 
 Bitmap/Pixelmap images can be created through the subclasses of
-:class:`Tkinter.Image`:
+:class:`tkinter.Image`:
 
 * :class:`BitmapImage` can be used for X11 bitmap data.
 

Deleted: python/branches/tlee-ast-optimize/Doc/library/turtle.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/library/turtle.rst	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,312 +0,0 @@
-
-:mod:`turtle` --- Turtle graphics for Tk
-========================================
-
-.. module:: turtle
-   :platform: Tk
-   :synopsis: An environment for turtle graphics.
-.. moduleauthor:: Guido van Rossum <guido at python.org>
-
-
-.. sectionauthor:: Moshe Zadka <moshez at zadka.site.co.il>
-
-
-The :mod:`turtle` module provides turtle graphics primitives, in both an
-object-oriented and procedure-oriented ways. Because it uses :mod:`Tkinter` for
-the underlying graphics, it needs a version of python installed with Tk support.
-
-The procedural interface uses a pen and a canvas which are automagically created
-when any of the functions are called.
-
-The :mod:`turtle` module defines the following functions:
-
-
-.. function:: degrees()
-
-   Set angle measurement units to degrees.
-
-
-.. function:: radians()
-
-   Set angle measurement units to radians.
-
-
-.. function:: setup(**kwargs)
-
-   Sets the size and position of the main window.  Keywords are:
-
-   * ``width``: either a size in pixels or a fraction of the screen. The default is
-     50% of the screen.
-
-   * ``height``: either a size in pixels or a fraction of the screen. The default
-     is 50% of the screen.
-
-   * ``startx``: starting position in pixels from the left edge of the screen.
-     ``None`` is the default value and  centers the window horizontally on screen.
-
-   * ``starty``: starting position in pixels from the top edge of the screen.
-     ``None`` is the default value and  centers the window vertically on screen.
-
-   Examples::
-
-      # Uses default geometry: 50% x 50% of screen, centered.
-      setup()  
-
-      # Sets window to 200x200 pixels, in upper left of screen
-      setup (width=200, height=200, startx=0, starty=0)
-
-      # Sets window to 75% of screen by 50% of screen, and centers it.
-      setup(width=.75, height=0.5, startx=None, starty=None)
-
-
-.. function:: title(title_str)
-
-   Set the window's title to *title*.
-
-
-.. function:: done()
-
-   Enters the Tk main loop.  The window will continue to  be displayed until the
-   user closes it or the process is killed.
-
-
-.. function:: reset()
-
-   Clear the screen, re-center the pen, and set variables to the default values.
-
-
-.. function:: clear()
-
-   Clear the screen.
-
-
-.. function:: tracer(flag)
-
-   Set tracing on/off (according to whether flag is true or not). Tracing means
-   line are drawn more slowly, with an animation of an arrow along the  line.
-
-
-.. function:: speed(speed)
-
-   Set the speed of the turtle. Valid values for the parameter *speed* are
-   ``'fastest'`` (no delay), ``'fast'``, (delay 5ms), ``'normal'`` (delay 10ms),
-   ``'slow'`` (delay 15ms), and ``'slowest'`` (delay 20ms).
-
-   .. versionadded:: 2.5
-
-
-.. function:: delay(delay)
-
-   Set the speed of the turtle to *delay*, which is given in ms.
-
-   .. versionadded:: 2.5
-
-
-.. function:: forward(distance)
-
-   Go forward *distance* steps.
-
-
-.. function:: backward(distance)
-
-   Go backward *distance* steps.
-
-
-.. function:: left(angle)
-
-   Turn left *angle* units. Units are by default degrees, but can be set via the
-   :func:`degrees` and :func:`radians` functions.
-
-
-.. function:: right(angle)
-
-   Turn right *angle* units. Units are by default degrees, but can be set via the
-   :func:`degrees` and :func:`radians` functions.
-
-
-.. function:: up()
-
-   Move the pen up --- stop drawing.
-
-
-.. function:: down()
-
-   Move the pen down --- draw when moving.
-
-
-.. function:: width(width)
-
-   Set the line width to *width*.
-
-
-.. function:: color(s)
-              color((r, g, b))
-              color(r, g, b)
-
-   Set the pen color.  In the first form, the color is specified as a Tk color
-   specification as a string.  The second form specifies the color as a tuple of
-   the RGB values, each in the range [0..1].  For the third form, the color is
-   specified giving the RGB values as three separate parameters (each in the range
-   [0..1]).
-
-
-.. function:: write(text[, move])
-
-   Write *text* at the current pen position. If *move* is true, the pen is moved to
-   the bottom-right corner of the text. By default, *move* is false.
-
-
-.. function:: fill(flag)
-
-   The complete specifications are rather complex, but the recommended  usage is:
-   call ``fill(1)`` before drawing a path you want to fill, and call ``fill(0)``
-   when you finish to draw the path.
-
-
-.. function:: begin_fill()
-
-   Switch turtle into filling mode;  Must eventually be followed by a corresponding
-   end_fill() call. Otherwise it will be ignored.
-
-   .. versionadded:: 2.5
-
-
-.. function:: end_fill()
-
-   End filling mode, and fill the shape; equivalent to ``fill(0)``.
-
-   .. versionadded:: 2.5
-
-
-.. function:: circle(radius[, extent])
-
-   Draw a circle with radius *radius* whose center-point is *radius* units left of
-   the turtle. *extent* determines which part of a circle is drawn: if not given it
-   defaults to a full circle.
-
-   If *extent* is not a full circle, one endpoint of the arc is the current pen
-   position. The arc is drawn in a counter clockwise direction if *radius* is
-   positive, otherwise in a clockwise direction.  In the process, the direction of
-   the turtle is changed by the amount of the *extent*.
-
-
-.. function:: goto(x, y)
-              goto((x, y))
-
-   Go to co-ordinates *x*, *y*.  The co-ordinates may be specified either as two
-   separate arguments or as a 2-tuple.
-
-
-.. function:: towards(x, y)
-
-   Return the angle of the line from the turtle's position to the point *x*, *y*.
-   The co-ordinates may be specified either as two separate arguments, as a
-   2-tuple, or as another pen object.
-
-   .. versionadded:: 2.5
-
-
-.. function:: heading()
-
-   Return the current orientation of the turtle.
-
-   .. versionadded:: 2.3
-
-
-.. function:: setheading(angle)
-
-   Set the orientation of the turtle to *angle*.
-
-   .. versionadded:: 2.3
-
-
-.. function:: position()
-
-   Return the current location of the turtle as an ``(x,y)`` pair.
-
-   .. versionadded:: 2.3
-
-
-.. function:: setx(x)
-
-   Set the x coordinate of the turtle to *x*.
-
-   .. versionadded:: 2.3
-
-
-.. function:: sety(y)
-
-   Set the y coordinate of the turtle to *y*.
-
-   .. versionadded:: 2.3
-
-
-.. function:: window_width()
-
-   Return the width of the canvas window.
-
-   .. versionadded:: 2.3
-
-
-.. function:: window_height()
-
-   Return the height of the canvas window.
-
-   .. versionadded:: 2.3
-
-This module also does ``from math import *``, so see the documentation for the
-:mod:`math` module for additional constants and functions useful for turtle
-graphics.
-
-
-.. function:: demo()
-
-   Exercise the module a bit.
-
-
-.. exception:: Error
-
-   Exception raised on any error caught by this module.
-
-For examples, see the code of the :func:`demo` function.
-
-This module defines the following classes:
-
-
-.. class:: Pen()
-
-   Define a pen. All above functions can be called as a methods on the given pen.
-   The constructor automatically creates a canvas do be drawn on.
-
-
-.. class:: Turtle()
-
-   Define a pen. This is essentially a synonym for ``Pen()``; :class:`Turtle` is an
-   empty subclass of :class:`Pen`.
-
-
-.. class:: RawPen(canvas)
-
-   Define a pen which draws on a canvas *canvas*. This is useful if  you want to
-   use the module to create graphics in a "real" program.
-
-
-.. _pen-rawpen-objects:
-
-Turtle, Pen and RawPen Objects
-------------------------------
-
-Most of the global functions available in the module are also available as
-methods of the :class:`Turtle`, :class:`Pen` and :class:`RawPen` classes,
-affecting only the state of the given pen.
-
-The only method which is more powerful as a method is :func:`degrees`, which
-takes an optional argument letting  you specify the number of units
-corresponding to a full circle:
-
-
-.. method:: Turtle.degrees([fullcircle])
-
-   *fullcircle* is by default 360. This can cause the pen to have any angular units
-   whatever: give *fullcircle* ``2*pi`` for radians, or 400 for gradians.
-

Modified: python/branches/tlee-ast-optimize/Doc/tutorial/stdlib2.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/tutorial/stdlib2.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/tutorial/stdlib2.rst	Sat May 17 04:35:08 2008
@@ -13,11 +13,11 @@
 Output Formatting
 =================
 
-The :mod:`repr` module provides a version of :func:`repr` customized for
+The :mod:`reprlib` module provides a version of :func:`repr` customized for
 abbreviated displays of large or deeply nested containers::
 
-   >>> import repr   
-   >>> repr.repr(set('supercalifragilisticexpialidocious'))
+   >>> import reprlib
+   >>> reprlib.repr(set('supercalifragilisticexpialidocious'))
    "set(['a', 'c', 'd', 'e', 'f', 'g', ...])"
 
 The :mod:`pprint` module offers more sophisticated control over printing both

Modified: python/branches/tlee-ast-optimize/Doc/whatsnew/2.6.rst
==============================================================================
--- python/branches/tlee-ast-optimize/Doc/whatsnew/2.6.rst	(original)
+++ python/branches/tlee-ast-optimize/Doc/whatsnew/2.6.rst	Sat May 17 04:35:08 2008
@@ -1465,35 +1465,83 @@
 As usual, Python's standard library received a number of enhancements and bug
 fixes.  Here's a partial list of the most notable changes, sorted alphabetically
 by module name. Consult the :file:`Misc/NEWS` file in the source tree for a more
-complete list of changes, or look through the CVS logs for all the details.
+complete list of changes, or look through the Subversion logs for all the
+details.
 
 * (3.0-warning mode) Python 3.0 will feature a reorganized standard 
-  library; many outdated modules are  being dropped,
+  library; many outdated modules are being dropped,
   and some modules are being renamed or moved into packages. 
   Python 2.6 running in 3.0-warning mode will warn about these modules 
-  when they are improved.
-
-  The list of deprecated modules that are removed in Python 3.0 is:
-  :mod:`audiodev`, 
+  when they are imported.
+  The list of deprecated modules is:
+  :mod:`_builtinSuites`,
+  :mod:`aepack`,
+  :mod:`aetools`,
+  :mod:`aetypes`,
+  :mod:`applesingle`,
+  :mod:`appletrawmain`,
+  :mod:`appletrunner`,
+  :mod:`argvemulator`,
+  :mod:`Audio_mac`,
+  :mod:`audiodev`,
+  :mod:`autoGIL`,
+  :mod:`bgenlocations`,
+  :mod:`buildtools`,
+  :mod:`bundlebuilder`,
   :mod:`Canvas`,
+  :mod:`Carbon`,
+  :mod:`cfmfile`,
+  :mod:`CodeWarrior`,
+  :mod:`ColorPicker`,
   :mod:`compiler`,
+  :mod:`cd`,
+  :mod:`cddb`,
+  :mod:`cdplayer`,
+  :mod:`CL` and :mod:`cl`,
+  :mod:`cd`,
+  :mod:`cd`,
   :mod:`dircache`,
   :mod:`dl`,
+  :mod:`EasyDialogs`,
+  :mod:`Explorer`,
+  :mod:`Finder`,
+  :mod:`FrameWork`,
+  :mod:`findertools`,
   :mod:`fpformat`,
+  :mod:`gensuitemodule`,
+  :mod:`ic`,
+  :mod:`icglue`,
+  :mod:`icopen`,
   :mod:`ihooks`,
   :mod:`imageop`,
   :mod:`linuxaudiodev`,
+  :mod:`macerrors`,
+  :mod:`MacOS`,
+  :mod:`macostools`,
+  :mod:`macresource`,
   :mod:`mhlib`,
+  :mod:`MiniAEFrame`,
   :mod:`multifile`,
-  :mod:`new`
+  :mod:`Nav`,
+  :mod:`Netscape`,
+  :mod:`new`,
+  :mod:`OSATerminology`,
+  :mod:`pimp`,
+  :mod:`PixMapWrapper`,
   :mod:`popen2`,
   :mod:`pure`,
+  :mod:`StdSuites`,
   :mod:`sv`,
+  :mod:`SystemEvents`,
+  :mod:`Terminal`,
+  :mod:`terminalcommand`,
   :mod:`test.testall`,
-  :mod:`toaiff`.
+  :mod:`toaiff`,
+  :mod:`videoreader`.
 
   The modules that have been renamed are:
 
+  * :mod:`ConfigParser` has become :mod:`configparser`.
   * :mod:`copy_reg` has become :mod:`copyreg`.
   * :mod:`SocketServer` has become :mod:`socketserver`.
   * :mod:`Queue` has become :mod:`queue`.
@@ -1889,7 +1937,7 @@
   used to hold character data.
   (Contributed by Achim Gaedke; :issue:`1137`.)
 
-* The :mod:`Queue` module now provides queue classes that retrieve entries
+* The :mod:`queue` module now provides queue classes that retrieve entries
   in different orders.  The :class:`PriorityQueue` class stores 
   queued items in a heap and retrieves them in priority order, 
   and :class:`LifoQueue` retrieves the most recently added entries first,
@@ -1993,7 +2041,7 @@
   and connects to it using an optional timeout value, returning 
   the connected socket object.
 
-* The base classes in the :mod:`SocketServer` module now support
+* The base classes in the :mod:`socketserver` module now support
   calling a :meth:`handle_timeout` method after a span of inactivity 
   specified by the server's :attr:`timeout` attribute.  (Contributed 
   by Michael Pomraning.)  The :meth:`serve_forever` method 

Modified: python/branches/tlee-ast-optimize/Lib/bdb.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/bdb.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/bdb.py	Sat May 17 04:35:08 2008
@@ -325,7 +325,7 @@
     #
 
     def format_stack_entry(self, frame_lineno, lprefix=': '):
-        import linecache, repr
+        import linecache, reprlib
         frame, lineno = frame_lineno
         filename = self.canonic(frame.f_code.co_filename)
         s = '%s(%r)' % (filename, lineno)
@@ -338,13 +338,13 @@
         else:
             args = None
         if args:
-            s = s + repr.repr(args)
+            s = s + reprlib.repr(args)
         else:
             s = s + '()'
         if '__return__' in frame.f_locals:
             rv = frame.f_locals['__return__']
             s = s + '->'
-            s = s + repr.repr(rv)
+            s = s + reprlib.repr(rv)
         line = linecache.getline(filename, lineno)
         if line: s = s + lprefix + line.strip()
         return s

Modified: python/branches/tlee-ast-optimize/Lib/bsddb/test/test_lock.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/bsddb/test/test_lock.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/bsddb/test/test_lock.py	Sat May 17 04:35:08 2008
@@ -97,7 +97,11 @@
         for t in threads:
             t.join()
 
-    def test03_lock_timeout(self):
+    def _DISABLED_test03_lock_timeout(self):
+        # Disabled as this test crashes the python interpreter built in
+        # debug mode with:
+        #  Fatal Python error: UNREF invalid object
+        # the error occurs as marked below.
         self.env.set_timeout(0, db.DB_SET_LOCK_TIMEOUT)
         self.env.set_timeout(0, db.DB_SET_TXN_TIMEOUT)
         self.env.set_timeout(123456, db.DB_SET_LOCK_TIMEOUT)
@@ -124,6 +128,8 @@
         self.assertNotEqual(anID, anID2)
         lock = self.env.lock_get(anID, "shared lock", db.DB_LOCK_WRITE)
         start_time=time.time()
+        # FIXME: I see the UNREF crash as the interpreter trys to exit
+        # from this call to lock_get.
         self.assertRaises(db.DBLockNotGrantedError,
                 self.env.lock_get,anID2, "shared lock", db.DB_LOCK_READ)
         end_time=time.time()

Modified: python/branches/tlee-ast-optimize/Lib/copy.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/copy.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/copy.py	Sat May 17 04:35:08 2008
@@ -399,17 +399,16 @@
     print l2
     l.append({l[1]: l, 'xyz': l[2]})
     l3 = copy(l)
-    import repr
-    print map(repr.repr, l)
-    print map(repr.repr, l1)
-    print map(repr.repr, l2)
-    print map(repr.repr, l3)
+    import reprlib
+    print map(reprlib.repr, l)
+    print map(reprlib.repr, l1)
+    print map(reprlib.repr, l2)
+    print map(reprlib.repr, l3)
     l3 = deepcopy(l)
-    import repr
-    print map(repr.repr, l)
-    print map(repr.repr, l1)
-    print map(repr.repr, l2)
-    print map(repr.repr, l3)
+    print map(reprlib.repr, l)
+    print map(reprlib.repr, l1)
+    print map(reprlib.repr, l2)
+    print map(reprlib.repr, l3)
 
 if __name__ == '__main__':
     _test()

Modified: python/branches/tlee-ast-optimize/Lib/copyreg.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/copyreg.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/copyreg.py	Sat May 17 04:35:08 2008
@@ -13,7 +13,7 @@
 
 def pickle(ob_type, pickle_function, constructor_ob=None):
     if type(ob_type) is _ClassType:
-        raise TypeError("copy_reg is not intended for use with classes")
+        raise TypeError("copyreg is not intended for use with classes")
 
     if not hasattr(pickle_function, '__call__'):
         raise TypeError("reduction functions must be callable")

Modified: python/branches/tlee-ast-optimize/Lib/ctypes/test/test_loading.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/ctypes/test/test_loading.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/ctypes/test/test_loading.py	Sat May 17 04:35:08 2008
@@ -6,7 +6,7 @@
 
 libc_name = None
 if os.name == "nt":
-    libc_name = "msvcrt"
+    libc_name = find_library("c")
 elif os.name == "ce":
     libc_name = "coredll"
 elif sys.platform == "cygwin":
@@ -43,6 +43,7 @@
 
     if os.name in ("nt", "ce"):
         def test_load_library(self):
+            self.failIf(libc_name is None)
             if is_resource_enabled("printing"):
                 print find_library("kernel32")
                 print find_library("user32")

Modified: python/branches/tlee-ast-optimize/Lib/ctypes/util.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/ctypes/util.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/ctypes/util.py	Sat May 17 04:35:08 2008
@@ -5,7 +5,50 @@
 
 # find_library(name) returns the pathname of a library, or None.
 if os.name == "nt":
+
+    def _get_build_version():
+        """Return the version of MSVC that was used to build Python.
+
+        For Python 2.3 and up, the version number is included in
+        sys.version.  For earlier versions, assume the compiler is MSVC 6.
+        """
+        # This function was copied from Lib/distutils/msvccompiler.py
+        prefix = "MSC v."
+        i = sys.version.find(prefix)
+        if i == -1:
+            return 6
+        i = i + len(prefix)
+        s, rest = sys.version[i:].split(" ", 1)
+        majorVersion = int(s[:-2]) - 6
+        minorVersion = int(s[2:3]) / 10.0
+        # I don't think paths are affected by minor version in version 6
+        if majorVersion == 6:
+            minorVersion = 0
+        if majorVersion >= 6:
+            return majorVersion + minorVersion
+        # else we don't know what version of the compiler this is
+        return None
+
+    def find_msvcrt():
+        """Return the name of the VC runtime dll"""
+        version = _get_build_version()
+        if version is None:
+            # better be safe than sorry
+            return None
+        if version <= 6:
+            clibname = 'msvcrt'
+        else:
+            clibname = 'msvcr%d' % (version * 10)
+
+        # If python was built with in debug mode
+        import imp
+        if imp.get_suffixes()[0][0] == '_d.pyd':
+            clibname += 'd'
+        return clibname+'.dll'
+
     def find_library(name):
+        if name in ('c', 'm'):
+            return find_msvcrt()
         # See MSDN for the REAL search order.
         for directory in os.environ['PATH'].split(os.pathsep):
             fname = os.path.join(directory, name)

Modified: python/branches/tlee-ast-optimize/Lib/distutils/command/upload.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/distutils/command/upload.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/distutils/command/upload.py	Sat May 17 04:35:08 2008
@@ -10,11 +10,16 @@
 import os
 import socket
 import platform
-import ConfigParser
 import httplib
 import base64
 import urlparse
 import cStringIO as StringIO
+try:
+    from configparser import ConfigParser
+except ImportError:
+    # For backward-compatibility with Python versions < 2.6.
+    from ConfigParser import ConfigParser
+
 
 class upload(PyPIRCCommand):
 

Modified: python/branches/tlee-ast-optimize/Lib/distutils/config.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/distutils/config.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/distutils/config.py	Sat May 17 04:35:08 2008
@@ -5,9 +5,13 @@
 """
 import os
 import sys
-from ConfigParser import ConfigParser
+try:
+    from configparser import ConfigParser
+except ImportError:
+    # For backward-compatibility with Python versions < 2.6.
+    from ConfigParser import ConfigParser
 
-from distutils.core import Command
+from distutils.cmd import Command
 
 DEFAULT_PYPIRC = """\
 [pypirc]

Modified: python/branches/tlee-ast-optimize/Lib/distutils/dist.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/distutils/dist.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/distutils/dist.py	Sat May 17 04:35:08 2008
@@ -358,8 +358,11 @@
 
 
     def parse_config_files (self, filenames=None):
-
-        from ConfigParser import ConfigParser
+        try:
+            from configparser import ConfigParser
+        except ImportError:
+            # For backward-compatibility with Python versions < 2.6.
+            from ConfigParser import ConfigParser
 
         if filenames is None:
             filenames = self.find_config_files()

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/AutoCompleteWindow.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/AutoCompleteWindow.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/AutoCompleteWindow.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
 """
 An auto-completion window for IDLE, used by the AutoComplete extension
 """
-from Tkinter import *
+from tkinter import *
 from MultiCall import MC_SHIFT
 import AutoComplete
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/CallTipWindow.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/CallTipWindow.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/CallTipWindow.py	Sat May 17 04:35:08 2008
@@ -4,7 +4,7 @@
 Used by the CallTips IDLE extension.
 
 """
-from Tkinter import *
+from tkinter import *
 
 HIDE_VIRTUAL_EVENT_NAME = "<<calltipwindow-hide>>"
 HIDE_SEQUENCES = ("<Key-Escape>", "<FocusOut>")

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/CodeContext.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/CodeContext.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/CodeContext.py	Sat May 17 04:35:08 2008
@@ -9,8 +9,8 @@
 not open blocks are not shown in the context hints pane.
 
 """
-import Tkinter
-from Tkconstants import TOP, LEFT, X, W, SUNKEN
+import tkinter
+from tkinter.constants import TOP, LEFT, X, W, SUNKEN
 from configHandler import idleConf
 import re
 from sys import maxint as INFINITY
@@ -69,7 +69,7 @@
             border = 0
             for widget in widgets:
                 border += int(str( widget.cget('border') ))
-            self.label = Tkinter.Label(self.editwin.top,
+            self.label = tkinter.Label(self.editwin.top,
                                        text="\n" * (self.context_depth - 1),
                                        anchor=W, justify=LEFT,
                                        font=self.textfont,

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ColorDelegator.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ColorDelegator.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ColorDelegator.py	Sat May 17 04:35:08 2008
@@ -2,7 +2,7 @@
 import re
 import keyword
 import __builtin__
-from Tkinter import *
+from tkinter import *
 from Delegator import Delegator
 from configHandler import idleConf
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/Debugger.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/Debugger.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/Debugger.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
 import os
 import bdb
 import types
-from Tkinter import *
+from tkinter import *
 from WindowList import ListedToplevel
 from ScrolledList import ScrolledList
 import macosxSupport
@@ -413,8 +413,8 @@
             height = 20*len(dict) # XXX 20 == observed height of Entry widget
         self.master = master
         self.title = title
-        import repr
-        self.repr = repr.Repr()
+        import reprlib
+        self.repr = reprlib.Repr()
         self.repr.maxstring = 60
         self.repr.maxother = 60
         self.frame = frame = Frame(master)

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/EditorWindow.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/EditorWindow.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/EditorWindow.py	Sat May 17 04:35:08 2008
@@ -3,9 +3,9 @@
 import re
 import imp
 from itertools import count
-from Tkinter import *
-import tkSimpleDialog
-import tkMessageBox
+from tkinter import *
+import tkinter.simpledialog as tkSimpleDialog
+import tkinter.messagebox as tkMessageBox
 from MultiCall import MultiCallCreator
 
 import webbrowser
@@ -45,7 +45,7 @@
     from UndoDelegator import UndoDelegator
     from IOBinding import IOBinding, filesystemencoding, encoding
     import Bindings
-    from Tkinter import Toplevel
+    from tkinter import Toplevel
     from MultiStatusBar import MultiStatusBar
 
     help_url = None

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/FileList.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/FileList.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/FileList.py	Sat May 17 04:35:08 2008
@@ -1,6 +1,6 @@
 import os
-from Tkinter import *
-import tkMessageBox
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
 
 
 class FileList:

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/GrepDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/GrepDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/GrepDialog.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
 import os
 import fnmatch
 import sys
-from Tkinter import *
+from tkinter import *
 import SearchEngine
 from SearchDialogBase import SearchDialogBase
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/IOBinding.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/IOBinding.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/IOBinding.py	Sat May 17 04:35:08 2008
@@ -10,11 +10,11 @@
 import sys
 import codecs
 import tempfile
-import tkFileDialog
-import tkMessageBox
+import tkinter.filedialog as tkFileDialog
+import tkinter.messagebox as tkMessageBox
 import re
-from Tkinter import *
-from SimpleDialog import SimpleDialog
+from tkinter import *
+from tkinter.simpledialog import SimpleDialog
 
 from configHandler import idleConf
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/MultiCall.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/MultiCall.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/MultiCall.py	Sat May 17 04:35:08 2008
@@ -32,7 +32,7 @@
 import sys
 import string
 import re
-import Tkinter
+import tkinter
 
 # the event type constants, which define the meaning of mc_type
 MC_KEYPRESS=0; MC_KEYRELEASE=1; MC_BUTTONPRESS=2; MC_BUTTONRELEASE=3;
@@ -292,7 +292,7 @@
         return _multicall_dict[widget]
 
     class MultiCall (widget):
-        assert issubclass(widget, Tkinter.Misc)
+        assert issubclass(widget, tkinter.Misc)
 
         def __init__(self, *args, **kwargs):
             apply(widget.__init__, (self,)+args, kwargs)
@@ -382,8 +382,8 @@
 
 if __name__ == "__main__":
     # Test
-    root = Tkinter.Tk()
-    text = MultiCallCreator(Tkinter.Text)(root)
+    root = tkinter.Tk()
+    text = MultiCallCreator(tkinter.Text)(root)
     text.pack()
     def bindseq(seq, n=[0]):
         def handler(event):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/MultiStatusBar.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/MultiStatusBar.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/MultiStatusBar.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 
 class MultiStatusBar(Frame):
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ObjectBrowser.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ObjectBrowser.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ObjectBrowser.py	Sat May 17 04:35:08 2008
@@ -11,7 +11,7 @@
 
 from TreeWidget import TreeItem, TreeNode, ScrolledCanvas
 
-from repr import Repr
+from reprlib import Repr
 
 myrepr = Repr()
 myrepr.maxstring = 100
@@ -136,7 +136,7 @@
 
 def _test():
     import sys
-    from Tkinter import Tk
+    from tkinter import Tk
     root = Tk()
     root.configure(bd=0, bg="yellow")
     root.focus_set()

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/OutputWindow.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/OutputWindow.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/OutputWindow.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
-from Tkinter import *
+from tkinter import *
 from EditorWindow import EditorWindow
 import re
-import tkMessageBox
+import tkinter.messagebox as tkMessageBox
 import IOBinding
 
 class OutputWindow(EditorWindow):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/Percolator.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/Percolator.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/Percolator.py	Sat May 17 04:35:08 2008
@@ -81,5 +81,5 @@
     root.mainloop()
 
 if __name__ == "__main__":
-    from Tkinter import *
+    from tkinter import *
     main()

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/PyShell.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/PyShell.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/PyShell.py	Sat May 17 04:35:08 2008
@@ -17,12 +17,12 @@
 from code import InteractiveInterpreter
 
 try:
-    from Tkinter import *
+    from tkinter import *
 except ImportError:
-    print>>sys.__stderr__, "** IDLE can't import Tkinter.  " \
+    print>>sys.__stderr__, "** IDLE can't import tkinter.  " \
                            "Your Python may not be configured for Tk. **"
     sys.exit(1)
-import tkMessageBox
+import tkinter.messagebox as tkMessageBox
 
 from EditorWindow import EditorWindow, fixwordbreaks
 from FileList import FileList
@@ -992,8 +992,8 @@
                    (sys.version, sys.platform, self.COPYRIGHT,
                     self.firewallmessage, idlever.IDLE_VERSION, nosub))
         self.showprompt()
-        import Tkinter
-        Tkinter._default_root = None # 03Jan04 KBK What's this?
+        import tkinter
+        tkinter._default_root = None # 03Jan04 KBK What's this?
         return True
 
     def readline(self):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ReplaceDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ReplaceDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ReplaceDialog.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 import SearchEngine
 from SearchDialogBase import SearchDialogBase
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ScriptBinding.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ScriptBinding.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ScriptBinding.py	Sat May 17 04:35:08 2008
@@ -22,7 +22,7 @@
 import string
 import tabnanny
 import tokenize
-import tkMessageBox
+import tkinter.messagebox as tkMessageBox
 import PyShell
 
 from configHandler import idleConf

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ScrolledList.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ScrolledList.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ScrolledList.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 
 class ScrolledList:
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialog.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 import SearchEngine
 from SearchDialogBase import SearchDialogBase
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialogBase.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialogBase.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/SearchDialogBase.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 
 class SearchDialogBase:
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/SearchEngine.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/SearchEngine.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/SearchEngine.py	Sat May 17 04:35:08 2008
@@ -1,6 +1,6 @@
 import re
-from Tkinter import *
-import tkMessageBox
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
 
 def get(root):
     if not hasattr(root, "_searchengine"):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/StackViewer.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/StackViewer.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/StackViewer.py	Sat May 17 04:35:08 2008
@@ -7,7 +7,7 @@
 
 def StackBrowser(root, flist=None, tb=None, top=None):
     if top is None:
-        from Tkinter import Toplevel
+        from tkinter import Toplevel
         top = Toplevel(root)
     sc = ScrolledCanvas(top, bg="white", highlightthickness=0)
     sc.frame.pack(expand=1, fill="both")
@@ -128,7 +128,7 @@
         reload(testcode)
     except:
         sys.last_type, sys.last_value, sys.last_traceback = sys.exc_info()
-    from Tkinter import Tk
+    from tkinter import Tk
     root = Tk()
     StackBrowser(None, top=root)
     root.mainloop()

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/ToolTip.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/ToolTip.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/ToolTip.py	Sat May 17 04:35:08 2008
@@ -3,7 +3,7 @@
 # may be useful for some purposes in (or almost in ;) the current project scope
 # Ideas gleaned from PySol
 
-from Tkinter import *
+from tkinter import *
 
 class ToolTipBase:
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/TreeWidget.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/TreeWidget.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/TreeWidget.py	Sat May 17 04:35:08 2008
@@ -15,7 +15,7 @@
 # - optimize tree redraw after expand of subnode
 
 import os
-from Tkinter import *
+from tkinter import *
 import imp
 
 import ZoomHeight

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/UndoDelegator.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/UndoDelegator.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/UndoDelegator.py	Sat May 17 04:35:08 2008
@@ -1,5 +1,5 @@
 import string
-from Tkinter import *
+from tkinter import *
 from Delegator import Delegator
 
 #$ event <<redo>>

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/WidgetRedirector.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/WidgetRedirector.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/WidgetRedirector.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 
 class WidgetRedirector:
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/WindowList.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/WindowList.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/WindowList.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-from Tkinter import *
+from tkinter import *
 
 class WindowList:
 

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/aboutDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/aboutDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/aboutDialog.py	Sat May 17 04:35:08 2008
@@ -2,7 +2,7 @@
 
 """
 
-from Tkinter import *
+from tkinter import *
 import os
 import os.path
 import textView

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/configDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/configDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/configDialog.py	Sat May 17 04:35:08 2008
@@ -9,8 +9,10 @@
 Refer to comments in EditorWindow autoindent code for details.
 
 """
-from Tkinter import *
-import tkMessageBox, tkColorChooser, tkFont
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
+import tkinter.colorchooser as tkColorChooser
+import tkinter.font as tkFont
 import string
 
 from configHandler import idleConf

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/configHandler.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/configHandler.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/configHandler.py	Sat May 17 04:35:08 2008
@@ -21,7 +21,7 @@
 import sys
 import string
 import macosxSupport
-from ConfigParser import ConfigParser, NoOptionError, NoSectionError
+from configparser import ConfigParser, NoOptionError, NoSectionError
 
 class InvalidConfigType(Exception): pass
 class InvalidConfigSet(Exception): pass

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/configHelpSourceEdit.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/configHelpSourceEdit.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/configHelpSourceEdit.py	Sat May 17 04:35:08 2008
@@ -3,9 +3,9 @@
 import os
 import sys
 
-from Tkinter import *
-import tkMessageBox
-import tkFileDialog
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
+import tkinter.filedialog as tkFileDialog
 
 class GetHelpSourceDialog(Toplevel):
     def __init__(self, parent, title, menuItem='', filePath=''):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/configSectionNameDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/configSectionNameDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/configSectionNameDialog.py	Sat May 17 04:35:08 2008
@@ -2,8 +2,8 @@
 Dialog that allows user to specify a new config file section name.
 Used to get new highlight theme and keybinding set names.
 """
-from Tkinter import *
-import tkMessageBox
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
 
 class GetCfgSectionNameDialog(Toplevel):
     def __init__(self,parent,title,message,usedNames):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/dynOptionMenuWidget.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/dynOptionMenuWidget.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/dynOptionMenuWidget.py	Sat May 17 04:35:08 2008
@@ -2,8 +2,8 @@
 OptionMenu widget modified to allow dynamic menu reconfiguration
 and setting of highlightthickness
 """
-from Tkinter import OptionMenu
-from Tkinter import _setit
+from tkinter import OptionMenu
+from tkinter import _setit
 import copy
 
 class DynOptionMenu(OptionMenu):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/keybindingDialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/keybindingDialog.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/keybindingDialog.py	Sat May 17 04:35:08 2008
@@ -1,8 +1,8 @@
 """
 Dialog for building Tkinter accelerator key bindings
 """
-from Tkinter import *
-import tkMessageBox
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
 import string
 
 class GetKeysDialog(Toplevel):

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/macosxSupport.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/macosxSupport.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/macosxSupport.py	Sat May 17 04:35:08 2008
@@ -3,7 +3,7 @@
 GUI application (as opposed to an X11 application).
 """
 import sys
-import Tkinter
+import tkinter
 
 def runningAsOSXApp():
     """ Returns True iff running from the IDLE.app bundle on OSX """
@@ -26,7 +26,7 @@
 def hideTkConsole(root):
     try:
         root.tk.call('console', 'hide')
-    except Tkinter.TclError:
+    except tkinter.TclError:
         # Some versions of the Tk framework don't have a console object
         pass
 
@@ -46,7 +46,7 @@
     #
     # Due to a (mis-)feature of TkAqua the user will also see an empty Help
     # menu.
-    from Tkinter import Menu, Text, Text
+    from tkinter import Menu, Text, Text
     from EditorWindow import prepstr, get_accelerator
     import Bindings
     import WindowList

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/run.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/run.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/run.py	Sat May 17 04:35:08 2008
@@ -127,9 +127,9 @@
     server.handle_request() # A single request only
 
 def show_socket_error(err, address):
-    import Tkinter
-    import tkMessageBox
-    root = Tkinter.Tk()
+    import tkinter
+    import tkinter.messagebox as tkMessageBox
+    root = tkinter.Tk()
     root.withdraw()
     if err[0] == 61: # connection refused
         msg = "IDLE's subprocess can't connect to %s:%d.  This may be due "\

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/tabbedpages.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/tabbedpages.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/tabbedpages.py	Sat May 17 04:35:08 2008
@@ -7,7 +7,7 @@
 TabSet -- A widget containing tabs (buttons) in one or more rows.
 
 """
-from Tkinter import *
+from tkinter import *
 
 class InvalidNameError(Exception): pass
 class AlreadyExistsError(Exception): pass

Modified: python/branches/tlee-ast-optimize/Lib/idlelib/textView.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/idlelib/textView.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/idlelib/textView.py	Sat May 17 04:35:08 2008
@@ -2,8 +2,8 @@
 
 """
 
-from Tkinter import *
-import tkMessageBox
+from tkinter import *
+import tkinter.messagebox as tkMessageBox
 
 class TextViewer(Toplevel):
     """A simple text viewer dialog for IDLE
@@ -68,7 +68,7 @@
         else:
             textFile = open(filename, 'r')
     except IOError:
-        import tkMessageBox
+        import tkinter.messagebox as tkMessageBox
         tkMessageBox.showerror(title='File Load Error',
                                message='Unable to load file %r .' % filename,
                                parent=parent)

Modified: python/branches/tlee-ast-optimize/Lib/lib-tk/Canvas.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/lib-tk/Canvas.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/lib-tk/Canvas.py	Sat May 17 04:35:08 2008
@@ -7,7 +7,7 @@
 warnpy3k("the Canvas module has been removed in Python 3.0", stacklevel=2)
 del warnpy3k
 
-from Tkinter import Canvas, _cnfmerge, _flatten
+from tkinter import Canvas, _cnfmerge, _flatten
 
 
 class CanvasItem:

Deleted: python/branches/tlee-ast-optimize/Lib/lib-tk/Dialog.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/lib-tk/Dialog.py	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,49 +0,0 @@
-# Dialog.py -- Tkinter interface to the tk_dialog script.
-
-from Tkinter import *
-from Tkinter import _cnfmerge
-
-if TkVersion <= 3.6:
-    DIALOG_ICON = 'warning'
-else:
-    DIALOG_ICON = 'questhead'
-
-
-class Dialog(Widget):
-    def __init__(self, master=None, cnf={}, **kw):
-        cnf = _cnfmerge((cnf, kw))
-        self.widgetName = '__dialog__'
-        Widget._setup(self, master, cnf)
-        self.num = self.tk.getint(
-                self.tk.call(
-                      'tk_dialog', self._w,
-                      cnf['title'], cnf['text'],
-                      cnf['bitmap'], cnf['default'],
-                      *cnf['strings']))
-        try: Widget.destroy(self)
-        except TclError: pass
-    def destroy(self): pass
-
-def _test():
-    d = Dialog(None, {'title': 'File Modified',
-                      'text':
-                      'File "Python.h" has been modified'
-                      ' since the last time it was saved.'
-                      ' Do you want to save it before'
-                      ' exiting the application.',
-                      'bitmap': DIALOG_ICON,
-                      'default': 0,
-                      'strings': ('Save File',
-                                  'Discard Changes',
-                                  'Return to Editor')})
-    print d.num
-
-
-if __name__ == '__main__':
-    t = Button(None, {'text': 'Test',
-                      'command': _test,
-                      Pack: {}})
-    q = Button(None, {'text': 'Quit',
-                      'command': t.quit,
-                      Pack: {}})
-    t.mainloop()

Modified: python/branches/tlee-ast-optimize/Lib/logging/config.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/logging/config.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/logging/config.py	Sat May 17 04:35:08 2008
@@ -65,9 +65,9 @@
     rather than a filename, in which case the file-like object will be read
     using readfp.
     """
-    import ConfigParser
+    import configparser
 
-    cp = ConfigParser.ConfigParser(defaults)
+    cp = configparser.ConfigParser(defaults)
     if hasattr(cp, 'readfp') and hasattr(fname, 'readline'):
         cp.readfp(fname)
     else:

Modified: python/branches/tlee-ast-optimize/Lib/pdb.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/pdb.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/pdb.py	Sat May 17 04:35:08 2008
@@ -8,7 +8,7 @@
 import linecache
 import cmd
 import bdb
-from repr import Repr
+from reprlib import Repr
 import os
 import re
 import pprint

Modified: python/branches/tlee-ast-optimize/Lib/pickle.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/pickle.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/pickle.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,7 @@
 """Create portable serialized representations of Python objects.
 
 See module cPickle for a (much) faster implementation.
-See module copy_reg for a mechanism for registering custom picklers.
+See module copyreg for a mechanism for registering custom picklers.
 See module pickletools source for extensive comments.
 
 Classes:

Modified: python/branches/tlee-ast-optimize/Lib/pickletools.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/pickletools.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/pickletools.py	Sat May 17 04:35:08 2008
@@ -136,7 +136,7 @@
 analysis.
 
 To this end, all tests for __safe_for_unpickling__ or for
-copy_reg.safe_constructors are removed from the unpickling code.
+copyreg.safe_constructors are removed from the unpickling code.
 References to these variables in the descriptions below are to be seen
 as describing unpickling in Python 2.2 and before.
 """
@@ -1525,7 +1525,7 @@
       BUILD opcode to apply  __setstate__ to that argument.
 
       If type(callable) is not ClassType, REDUCE complains unless the
-      callable has been registered with the copy_reg module's
+      callable has been registered with the copyreg module's
       safe_constructors dict, or the callable has a magic
       '__safe_for_unpickling__' attribute with a true value.  I'm not sure
       why it does this, but I've sure seen this complaint often enough when

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/DEVICE.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/DEVICE.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/DEVICE.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the DEVICE module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NULLDEV = 0
 BUTOFFSET = 1
 VALOFFSET = 256

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/ERRNO.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/ERRNO.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/ERRNO.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/errno.h
+from warnings import warnpy3k
+warnpy3k("the ERRNO module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from sys/errno.h
 __KBASE = 1000

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/FILE.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/FILE.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/FILE.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/sys/file.h
+from warnings import warnpy3k
+warnpy3k("the FILE module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from sys/types.h
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/FL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/FL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/FL.py	Sat May 17 04:35:08 2008
@@ -2,6 +2,9 @@
 # This corresponds to "forms.h".
 # Recommended use: import FL; ... FL.NORMAL_BOX ... etc.
 # Alternate use: from FL import *; ... NORMAL_BOX ... etc.
+from warnings import warnpy3k
+warnpy3k("the FL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 _v20 = 1
 _v21 = 1

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/GET.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/GET.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/GET.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Symbols from <gl/get.h>
+from warnings import warnpy3k
+warnpy3k("the GET module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 BCKBUFFER = 0x1
 FRNTBUFFER = 0x2

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/GL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/GL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/GL.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the GL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NULL = 0
 FALSE = 0
 TRUE = 1

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/GLWS.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/GLWS.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/GLWS.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the GLWS module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NOERROR = 0
 NOCONTEXT = -1
 NODISPLAY = -2

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/IN.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/IN.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/IN.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/netinet/in.h
+from warnings import warnpy3k
+warnpy3k("the IN module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from sys/endian.h
 LITTLE_ENDIAN = 1234

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/IOCTL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/IOCTL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/IOCTL.py	Sat May 17 04:35:08 2008
@@ -3,6 +3,9 @@
 # with some manual changes to cope with imperfections in h2py.py.
 # The applicability on other systems is not clear; especially non-SYSV
 # systems may have a totally different set of ioctls.
+from warnings import warnpy3k
+warnpy3k("the IOCTL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 IOCTYPE = 0xff00
 LIOC = (ord('l')<<8)

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/SV.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/SV.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/SV.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the SV module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NTSC_XMAX = 640
 NTSC_YMAX = 480
 PAL_XMAX = 768

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/WAIT.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/WAIT.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/WAIT.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,8 @@
 # Generated by h2py from /usr/include/sys/wait.h
+from warnings import warnpy3k
+warnpy3k("the WAIT module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 _WSTOPPED = 0177
 WNOHANG = 0100
 WEXITED = 0001

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/flp.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/flp.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/flp.py	Sat May 17 04:35:08 2008
@@ -3,6 +3,10 @@
 #
 # Jack Jansen, December 1991
 #
+from warnings import warnpy3k
+warnpy3k("the flp module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 import string
 import os
 import sys

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/jpeg.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/jpeg.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/jpeg.py	Sat May 17 04:35:08 2008
@@ -4,6 +4,9 @@
 
 # XXX It appears that compressing grayscale images doesn't work right;
 # XXX the resulting file causes weirdness.
+from warnings import warnpy3k
+warnpy3k("the jpeg module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 class error(Exception):
     pass

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/panel.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/panel.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/panel.py	Sat May 17 04:35:08 2008
@@ -6,6 +6,9 @@
 # most 'pnl' functions are transparently exported by 'panel',
 # but dopanel() is overridden and you have to use this version
 # if you want to use callbacks.
+from warnings import warnpy3k
+warnpy3k("the panel module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 
 import pnl

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/panelparser.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/panelparser.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/panelparser.py	Sat May 17 04:35:08 2008
@@ -4,6 +4,9 @@
 # (which is written in Scheme so it can't help writing S-expressions).
 #
 # See notes at end of file.
+from warnings import warnpy3k
+warnpy3k("the panelparser module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 
 whitespace = ' \t\n'

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/readcd.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/readcd.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/readcd.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Class interface to the CD module.
+from warnings import warnpy3k
+warnpy3k("the readcd module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 import cd, CD
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix5/torgb.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix5/torgb.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix5/torgb.py	Sat May 17 04:35:08 2008
@@ -5,6 +5,9 @@
 # Returned filename is either the input filename or a temporary filename;
 # in the latter case the caller must ensure that it is removed.
 # Other temporary files used are removed by the function.
+from warnings import warnpy3k
+warnpy3k("the torgb module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 import os
 import tempfile

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/DEVICE.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/DEVICE.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/DEVICE.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the DEVICE module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NULLDEV = 0
 BUTOFFSET = 1
 VALOFFSET = 256

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/ERRNO.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/ERRNO.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/ERRNO.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/errno.h
+from warnings import warnpy3k
+warnpy3k("the ERRNO module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from sys/errno.h
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/FILE.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/FILE.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/FILE.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/sys/file.h
+from warnings import warnpy3k
+warnpy3k("the FILE module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from standards.h
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/FL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/FL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/FL.py	Sat May 17 04:35:08 2008
@@ -2,6 +2,9 @@
 # This corresponds to "forms.h".
 # Recommended use: import FL; ... FL.NORMAL_BOX ... etc.
 # Alternate use: from FL import *; ... NORMAL_BOX ... etc.
+from warnings import warnpy3k
+warnpy3k("the FL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 _v20 = 1
 _v21 = 1

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/GET.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/GET.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/GET.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Symbols from <gl/get.h>
+from warnings import warnpy3k
+warnpy3k("the GET module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 BCKBUFFER = 0x1
 FRNTBUFFER = 0x2

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/GL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/GL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/GL.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the GL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NULL = 0
 FALSE = 0
 TRUE = 1

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/GLWS.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/GLWS.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/GLWS.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the GLWS module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NOERROR = 0
 NOCONTEXT = -1
 NODISPLAY = -2

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/IN.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/IN.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/IN.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/netinet/in.h
+from warnings import warnpy3k
+warnpy3k("the IN module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from standards.h
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/IOCTL.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/IOCTL.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/IOCTL.py	Sat May 17 04:35:08 2008
@@ -3,6 +3,9 @@
 # with some manual changes to cope with imperfections in h2py.py.
 # The applicability on other systems is not clear; especially non-SYSV
 # systems may have a totally different set of ioctls.
+from warnings import warnpy3k
+warnpy3k("the IOCTL module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 IOCTYPE = 0xff00
 LIOC = (ord('l')<<8)

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/SV.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/SV.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/SV.py	Sat May 17 04:35:08 2008
@@ -1,3 +1,7 @@
+from warnings import warnpy3k
+warnpy3k("the SV module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 NTSC_XMAX = 640
 NTSC_YMAX = 480
 PAL_XMAX = 768

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/WAIT.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/WAIT.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/WAIT.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Generated by h2py from /usr/include/sys/wait.h
+from warnings import warnpy3k
+warnpy3k("the WAIT module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Included from standards.h
 def _W_INT(i): return (i)

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/flp.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/flp.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/flp.py	Sat May 17 04:35:08 2008
@@ -3,6 +3,10 @@
 #
 # Jack Jansen, December 1991
 #
+from warnings import warnpy3k
+warnpy3k("the flp module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
+
 import os
 import sys
 import FL

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/jpeg.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/jpeg.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/jpeg.py	Sat May 17 04:35:08 2008
@@ -4,6 +4,9 @@
 
 # XXX It appears that compressing grayscale images doesn't work right;
 # XXX the resulting file causes weirdness.
+from warnings import warnpy3k
+warnpy3k("the jpeg module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 class error(Exception):
     pass

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/panel.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/panel.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/panel.py	Sat May 17 04:35:08 2008
@@ -6,6 +6,9 @@
 # most 'pnl' functions are transparently exported by 'panel',
 # but dopanel() is overridden and you have to use this version
 # if you want to use callbacks.
+from warnings import warnpy3k
+warnpy3k("the panel module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 
 import pnl

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/panelparser.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/panelparser.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/panelparser.py	Sat May 17 04:35:08 2008
@@ -4,6 +4,9 @@
 # (which is written in Scheme so it can't help writing S-expressions).
 #
 # See notes at end of file.
+from warnings import warnpy3k
+warnpy3k("the panelparser module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 
 whitespace = ' \t\n'

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/readcd.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/readcd.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/readcd.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 # Class interface to the CD module.
+from warnings import warnpy3k
+warnpy3k("the readcd module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 import cd, CD
 

Modified: python/branches/tlee-ast-optimize/Lib/plat-irix6/torgb.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-irix6/torgb.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-irix6/torgb.py	Sat May 17 04:35:08 2008
@@ -5,6 +5,9 @@
 # Returned filename is either the input filename or a temporary filename;
 # in the latter case the caller must ensure that it is removed.
 # Other temporary files used are removed by the function.
+from warnings import warnpy3k
+warnpy3k("the torgb module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 import os
 import tempfile

Modified: python/branches/tlee-ast-optimize/Lib/plat-sunos5/SUNAUDIODEV.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/plat-sunos5/SUNAUDIODEV.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/plat-sunos5/SUNAUDIODEV.py	Sat May 17 04:35:08 2008
@@ -1,6 +1,9 @@
 # Symbolic constants for use with sunaudiodev module
 # The names are the same as in audioio.h with the leading AUDIO_
 # removed.
+from warnings import warnpy3k
+warnpy3k("the SUNAUDIODEV module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Not all values are supported on all releases of SunOS.
 

Modified: python/branches/tlee-ast-optimize/Lib/pydoc.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/pydoc.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/pydoc.py	Sat May 17 04:35:08 2008
@@ -53,7 +53,7 @@
 #     path will be displayed.
 
 import sys, imp, os, re, types, inspect, __builtin__, pkgutil
-from repr import Repr
+from reprlib import Repr
 from string import expandtabs, find, join, lower, split, strip, rfind, rstrip
 try:
     from collections import deque
@@ -2017,20 +2017,20 @@
             self.server = None
             self.scanner = None
 
-            import Tkinter
-            self.server_frm = Tkinter.Frame(window)
-            self.title_lbl = Tkinter.Label(self.server_frm,
+            import tkinter
+            self.server_frm = tkinter.Frame(window)
+            self.title_lbl = tkinter.Label(self.server_frm,
                 text='Starting server...\n ')
-            self.open_btn = Tkinter.Button(self.server_frm,
+            self.open_btn = tkinter.Button(self.server_frm,
                 text='open browser', command=self.open, state='disabled')
-            self.quit_btn = Tkinter.Button(self.server_frm,
+            self.quit_btn = tkinter.Button(self.server_frm,
                 text='quit serving', command=self.quit, state='disabled')
 
-            self.search_frm = Tkinter.Frame(window)
-            self.search_lbl = Tkinter.Label(self.search_frm, text='Search for')
-            self.search_ent = Tkinter.Entry(self.search_frm)
+            self.search_frm = tkinter.Frame(window)
+            self.search_lbl = tkinter.Label(self.search_frm, text='Search for')
+            self.search_ent = tkinter.Entry(self.search_frm)
             self.search_ent.bind('<Return>', self.search)
-            self.stop_btn = Tkinter.Button(self.search_frm,
+            self.stop_btn = tkinter.Button(self.search_frm,
                 text='stop', pady=0, command=self.stop, state='disabled')
             if sys.platform == 'win32':
                 # Trying to hide and show this button crashes under Windows.
@@ -2049,17 +2049,17 @@
             self.search_ent.focus_set()
 
             font = ('helvetica', sys.platform == 'win32' and 8 or 10)
-            self.result_lst = Tkinter.Listbox(window, font=font, height=6)
+            self.result_lst = tkinter.Listbox(window, font=font, height=6)
             self.result_lst.bind('<Button-1>', self.select)
             self.result_lst.bind('<Double-Button-1>', self.goto)
-            self.result_scr = Tkinter.Scrollbar(window,
+            self.result_scr = tkinter.Scrollbar(window,
                 orient='vertical', command=self.result_lst.yview)
             self.result_lst.config(yscrollcommand=self.result_scr.set)
 
-            self.result_frm = Tkinter.Frame(window)
-            self.goto_btn = Tkinter.Button(self.result_frm,
+            self.result_frm = tkinter.Frame(window)
+            self.goto_btn = tkinter.Button(self.result_frm,
                 text='go to selected', command=self.goto)
-            self.hide_btn = Tkinter.Button(self.result_frm,
+            self.hide_btn = tkinter.Button(self.result_frm,
                 text='hide results', command=self.hide)
             self.goto_btn.pack(side='left', fill='x', expand=1)
             self.hide_btn.pack(side='right', fill='x', expand=1)
@@ -2179,9 +2179,9 @@
             self.stop()
             self.collapse()
 
-    import Tkinter
+    import tkinter
     try:
-        root = Tkinter.Tk()
+        root = tkinter.Tk()
         # Tk will crash if pythonw.exe has an XP .manifest
         # file and the root has is not destroyed explicitly.
         # If the problem is ever fixed in Tk, the explicit

Deleted: python/branches/tlee-ast-optimize/Lib/repr.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/repr.py	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,132 +0,0 @@
-"""Redo the builtin repr() (representation) but with limits on most sizes."""
-
-__all__ = ["Repr","repr"]
-
-import __builtin__
-from itertools import islice
-
-class Repr:
-
-    def __init__(self):
-        self.maxlevel = 6
-        self.maxtuple = 6
-        self.maxlist = 6
-        self.maxarray = 5
-        self.maxdict = 4
-        self.maxset = 6
-        self.maxfrozenset = 6
-        self.maxdeque = 6
-        self.maxstring = 30
-        self.maxlong = 40
-        self.maxother = 20
-
-    def repr(self, x):
-        return self.repr1(x, self.maxlevel)
-
-    def repr1(self, x, level):
-        typename = type(x).__name__
-        if ' ' in typename:
-            parts = typename.split()
-            typename = '_'.join(parts)
-        if hasattr(self, 'repr_' + typename):
-            return getattr(self, 'repr_' + typename)(x, level)
-        else:
-            s = __builtin__.repr(x)
-            if len(s) > self.maxother:
-                i = max(0, (self.maxother-3)//2)
-                j = max(0, self.maxother-3-i)
-                s = s[:i] + '...' + s[len(s)-j:]
-            return s
-
-    def _repr_iterable(self, x, level, left, right, maxiter, trail=''):
-        n = len(x)
-        if level <= 0 and n:
-            s = '...'
-        else:
-            newlevel = level - 1
-            repr1 = self.repr1
-            pieces = [repr1(elem, newlevel) for elem in islice(x, maxiter)]
-            if n > maxiter:  pieces.append('...')
-            s = ', '.join(pieces)
-            if n == 1 and trail:  right = trail + right
-        return '%s%s%s' % (left, s, right)
-
-    def repr_tuple(self, x, level):
-        return self._repr_iterable(x, level, '(', ')', self.maxtuple, ',')
-
-    def repr_list(self, x, level):
-        return self._repr_iterable(x, level, '[', ']', self.maxlist)
-
-    def repr_array(self, x, level):
-        header = "array('%s', [" % x.typecode
-        return self._repr_iterable(x, level, header, '])', self.maxarray)
-
-    def repr_set(self, x, level):
-        x = _possibly_sorted(x)
-        return self._repr_iterable(x, level, 'set([', '])', self.maxset)
-
-    def repr_frozenset(self, x, level):
-        x = _possibly_sorted(x)
-        return self._repr_iterable(x, level, 'frozenset([', '])',
-                                   self.maxfrozenset)
-
-    def repr_deque(self, x, level):
-        return self._repr_iterable(x, level, 'deque([', '])', self.maxdeque)
-
-    def repr_dict(self, x, level):
-        n = len(x)
-        if n == 0: return '{}'
-        if level <= 0: return '{...}'
-        newlevel = level - 1
-        repr1 = self.repr1
-        pieces = []
-        for key in islice(_possibly_sorted(x), self.maxdict):
-            keyrepr = repr1(key, newlevel)
-            valrepr = repr1(x[key], newlevel)
-            pieces.append('%s: %s' % (keyrepr, valrepr))
-        if n > self.maxdict: pieces.append('...')
-        s = ', '.join(pieces)
-        return '{%s}' % (s,)
-
-    def repr_str(self, x, level):
-        s = __builtin__.repr(x[:self.maxstring])
-        if len(s) > self.maxstring:
-            i = max(0, (self.maxstring-3)//2)
-            j = max(0, self.maxstring-3-i)
-            s = __builtin__.repr(x[:i] + x[len(x)-j:])
-            s = s[:i] + '...' + s[len(s)-j:]
-        return s
-
-    def repr_long(self, x, level):
-        s = __builtin__.repr(x) # XXX Hope this isn't too slow...
-        if len(s) > self.maxlong:
-            i = max(0, (self.maxlong-3)//2)
-            j = max(0, self.maxlong-3-i)
-            s = s[:i] + '...' + s[len(s)-j:]
-        return s
-
-    def repr_instance(self, x, level):
-        try:
-            s = __builtin__.repr(x)
-            # Bugs in x.__repr__() can cause arbitrary
-            # exceptions -- then make up something
-        except Exception:
-            return '<%s instance at %x>' % (x.__class__.__name__, id(x))
-        if len(s) > self.maxstring:
-            i = max(0, (self.maxstring-3)//2)
-            j = max(0, self.maxstring-3-i)
-            s = s[:i] + '...' + s[len(s)-j:]
-        return s
-
-
-def _possibly_sorted(x):
-    # Since not all sequences of items can be sorted and comparison
-    # functions may raise arbitrary exceptions, return an unsorted
-    # sequence in that case.
-    try:
-        return sorted(x)
-    except Exception:
-        return list(x)
-
-aRepr = Repr()
-repr = aRepr.repr

Modified: python/branches/tlee-ast-optimize/Lib/statvfs.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/statvfs.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/statvfs.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,7 @@
 """Constants for interpreting the results of os.statvfs() and os.fstatvfs()."""
+from warnings import warnpy3k
+warnpy3k("the statvfs module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 # Indices for statvfs struct members in the tuple returned by
 # os.statvfs() and os.fstatvfs().

Modified: python/branches/tlee-ast-optimize/Lib/test/test___all__.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test___all__.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test___all__.py	Sat May 17 04:35:08 2008
@@ -37,10 +37,10 @@
         self.check_all("BaseHTTPServer")
         self.check_all("Bastion")
         self.check_all("CGIHTTPServer")
-        self.check_all("ConfigParser")
+        self.check_all("configparser")
         self.check_all("Cookie")
         self.check_all("MimeWriter")
-        self.check_all("Queue")
+        self.check_all("queue")
         self.check_all("SimpleHTTPServer")
         self.check_all("socketserver")
         self.check_all("StringIO")
@@ -123,7 +123,7 @@
         self.check_all("quopri")
         self.check_all("random")
         self.check_all("re")
-        self.check_all("repr")
+        self.check_all("reprlib")
         self.check_all("rexec")
         self.check_all("rfc822")
         self.check_all("rlcompleter")

Modified: python/branches/tlee-ast-optimize/Lib/test/test_cfgparser.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_cfgparser.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_cfgparser.py	Sat May 17 04:35:08 2008
@@ -1,4 +1,4 @@
-import ConfigParser
+import configparser
 import StringIO
 import unittest
 import UserDict
@@ -94,7 +94,7 @@
                     "remove_option() failed to report non-existance of option"
                     " that was removed")
 
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.remove_option, 'No Such Section', 'foo')
 
         eq(cf.get('Long Line', 'foo'),
@@ -147,17 +147,17 @@
 
     def test_parse_errors(self):
         self.newconfig()
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n  extra-spaces: splat\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n  extra-spaces= splat\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\noption-without-value\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n:value-without-option-name\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n=value-without-option-name\n")
-        self.parse_error(ConfigParser.MissingSectionHeaderError,
+        self.parse_error(configparser.MissingSectionHeaderError,
                          "No Section!\n")
 
     def parse_error(self, exc, src):
@@ -170,13 +170,13 @@
                          "new ConfigParser should have no defined sections")
         self.failIf(cf.has_section("Foo"),
                     "new ConfigParser should have no acknowledged sections")
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.options, "Foo")
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.set, "foo", "bar", "value")
-        self.get_error(ConfigParser.NoSectionError, "foo", "bar")
+        self.get_error(configparser.NoSectionError, "foo", "bar")
         cf.add_section("foo")
-        self.get_error(ConfigParser.NoOptionError, "foo", "bar")
+        self.get_error(configparser.NoOptionError, "foo", "bar")
 
     def get_error(self, exc, section, option):
         try:
@@ -215,7 +215,7 @@
     def test_weird_errors(self):
         cf = self.newconfig()
         cf.add_section("Foo")
-        self.assertRaises(ConfigParser.DuplicateSectionError,
+        self.assertRaises(configparser.DuplicateSectionError,
                           cf.add_section, "Foo")
 
     def test_write(self):
@@ -324,7 +324,7 @@
 
 
 class ConfigParserTestCase(TestCaseBase):
-    config_class = ConfigParser.ConfigParser
+    config_class = configparser.ConfigParser
 
     def test_interpolation(self):
         cf = self.get_interpolation_config()
@@ -335,11 +335,11 @@
            "something with lots of interpolation (9 steps)")
         eq(cf.get("Foo", "bar10"),
            "something with lots of interpolation (10 steps)")
-        self.get_error(ConfigParser.InterpolationDepthError, "Foo", "bar11")
+        self.get_error(configparser.InterpolationDepthError, "Foo", "bar11")
 
     def test_interpolation_missing_value(self):
         cf = self.get_interpolation_config()
-        e = self.get_error(ConfigParser.InterpolationError,
+        e = self.get_error(configparser.InterpolationError,
                            "Interpolation Error", "name")
         self.assertEqual(e.reference, "reference")
         self.assertEqual(e.section, "Interpolation Error")
@@ -375,7 +375,7 @@
 
 
 class RawConfigParserTestCase(TestCaseBase):
-    config_class = ConfigParser.RawConfigParser
+    config_class = configparser.RawConfigParser
 
     def test_interpolation(self):
         cf = self.get_interpolation_config()
@@ -410,7 +410,7 @@
 
 
 class SafeConfigParserTestCase(ConfigParserTestCase):
-    config_class = ConfigParser.SafeConfigParser
+    config_class = configparser.SafeConfigParser
 
     def test_safe_interpolation(self):
         # See http://www.python.org/sf/511737

Modified: python/branches/tlee-ast-optimize/Lib/test/test_enumerate.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_enumerate.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_enumerate.py	Sat May 17 04:35:08 2008
@@ -138,6 +138,8 @@
         for data in 'abc', range(5), tuple(enumerate('abc')), A(), xrange(1,17,5):
             self.assertEqual(list(data)[::-1], list(reversed(data)))
         self.assertRaises(TypeError, reversed, {})
+        # don't allow keyword arguments
+        self.assertRaises(TypeError, reversed, [], a=1)
 
     def test_xrange_optimization(self):
         x = xrange(1)

Modified: python/branches/tlee-ast-optimize/Lib/test/test_generators.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_generators.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_generators.py	Sat May 17 04:35:08 2008
@@ -917,6 +917,17 @@
 >>> g.gi_code is f.func_code
 True
 
+
+Test the __name__ attribute and the repr()
+
+>>> def f():
+...    yield 5
+...
+>>> g = f()
+>>> g.__name__
+'f'
+>>> repr(g)  # doctest: +ELLIPSIS
+'<generator object f at ...>'
 """
 
 # conjoin is a simple backtracking generator, named in honor of Icon's

Modified: python/branches/tlee-ast-optimize/Lib/test/test_genexps.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_genexps.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_genexps.py	Sat May 17 04:35:08 2008
@@ -92,7 +92,7 @@
 Verify that parenthesis are required when used as a keyword argument value
 
     >>> dict(a = (i for i in xrange(10))) #doctest: +ELLIPSIS
-    {'a': <generator object at ...>}
+    {'a': <generator object <genexpr> at ...>}
 
 Verify early binding for the outermost for-expression
 

Modified: python/branches/tlee-ast-optimize/Lib/test/test_imgfile.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_imgfile.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_imgfile.py	Sat May 17 04:35:08 2008
@@ -4,9 +4,10 @@
    Roger E. Masse
 """
 
-from test.test_support import verbose, unlink, findfile
+from test.test_support import verbose, unlink, findfile, import_module
 
-import imgfile, uu
+imgfile = import_module('imgfile', deprecated=True)
+import uu
 
 
 def testimage(name):

Modified: python/branches/tlee-ast-optimize/Lib/test/test_os.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_os.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_os.py	Sat May 17 04:35:08 2008
@@ -220,7 +220,6 @@
         if not hasattr(os, "statvfs"):
             return
 
-        import statvfs
         try:
             result = os.statvfs(self.fname)
         except OSError, e:
@@ -230,16 +229,13 @@
                 return
 
         # Make sure direct access works
-        self.assertEquals(result.f_bfree, result[statvfs.F_BFREE])
+        self.assertEquals(result.f_bfree, result[3])
 
-        # Make sure all the attributes are there
-        members = dir(result)
-        for name in dir(statvfs):
-            if name[:2] == 'F_':
-                attr = name.lower()
-                self.assertEquals(getattr(result, attr),
-                                  result[getattr(statvfs, name)])
-                self.assert_(attr in members)
+        # Make sure all the attributes are there.
+        members = ('bsize', 'frsize', 'blocks', 'bfree', 'bavail', 'files',
+                    'ffree', 'favail', 'flag', 'namemax')
+        for value, member in enumerate(members):
+            self.assertEquals(getattr(result, 'f_' + member), result[value])
 
         # Make sure that assignment really fails
         try:

Modified: python/branches/tlee-ast-optimize/Lib/test/test_platform.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_platform.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_platform.py	Sat May 17 04:35:08 2008
@@ -1,7 +1,9 @@
+import sys
 import unittest
-from test import test_support
 import platform
 
+from test import test_support
+
 class PlatformTest(unittest.TestCase):
     def test_architecture(self):
         res = platform.architecture()
@@ -49,26 +51,35 @@
 
     def test_uname(self):
         res = platform.uname()
+        self.assert_(any(res))
 
     def test_java_ver(self):
         res = platform.java_ver()
+        if sys.platform == 'java':
+            self.assert_(all(res))
 
     def test_win32_ver(self):
         res = platform.win32_ver()
 
     def test_mac_ver(self):
         res = platform.mac_ver()
+        try:
+            import gestalt
+        except ImportError: pass
+        else:
+            if sys.platform == 'darwin':
+                self.assert_(all(res))
 
     def test_dist(self):
         res = platform.dist()
 
     def test_libc_ver(self):
-        from sys import executable
         import os
-        if os.path.isdir(executable) and os.path.exists(executable+'.exe'):
+        if os.path.isdir(sys.executable) and \
+           os.path.exists(sys.executable+'.exe'):
             # Cygwin horror
             executable = executable + '.exe'
-        res = platform.libc_ver(executable)
+        res = platform.libc_ver(sys.executable)
 
 def test_main():
     test_support.run_unittest(

Modified: python/branches/tlee-ast-optimize/Lib/test/test_py3kwarn.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_py3kwarn.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_py3kwarn.py	Sat May 17 04:35:08 2008
@@ -130,9 +130,13 @@
     # import side-effect.
     all_platforms = ('audiodev', 'imputil', 'mutex', 'user', 'new', 'rexec',
                         'Bastion', 'compiler', 'dircache', 'fpformat',
-                        'ihooks', 'mhlib')
+                        'ihooks', 'mhlib', 'statvfs')
     inclusive_platforms = {'irix' : ('pure', 'AL', 'al', 'CD', 'cd', 'cddb',
-                                     'cdplayer', 'CL', 'cl'),
+                                     'cdplayer', 'CL', 'cl', 'DEVICE', 'GL',
+                                     'gl', 'ERRNO', 'FILE', 'FL', 'flp', 'fl',
+                                     'fm', 'GET', 'GLWS', 'imgfile', 'IN',
+                                     'IOCTL', 'jpeg', 'panel', 'panelparser',
+                                     'readcd', 'SV', 'torgb', 'WAIT'),
                           'darwin' : ('autoGIL', 'Carbon', 'OSATerminology',
                                       'icglue', 'Nav', 'MacOS', 'aepack',
                                       'aetools', 'aetypes', 'applesingle',
@@ -147,9 +151,11 @@
                                       'Explorer', 'Finder', 'Netscape',
                                       'StdSuites', 'SystemEvents', 'Terminal',
                                       'cfmfile', 'bundlebuilder', 'buildtools',
-                                      'ColorPicker')}
+                                      'ColorPicker'),
+                           'sunos5' : ('sunaudiodev', 'SUNAUDIODEV'),
+                          }
     optional_modules = ('bsddb185', 'Canvas', 'dl', 'linuxaudiodev', 'imageop',
-                        'sv')
+                        'sv', 'cPickle')
 
     def check_removal(self, module_name, optional=False):
         """Make sure the specified module, when imported, raises a
@@ -204,7 +210,24 @@
 
     renames = {'copy_reg': 'copyreg', 'Queue': 'queue',
                'SocketServer': 'socketserver',
-               'ConfigParser': 'configparser'}
+               'ConfigParser': 'configparser',
+               'repr': 'reprlib',
+               'FileDialog': 'tkinter.filedialog',
+               'FixTk': 'tkinter._fix',
+               'ScrolledText': 'tkinter.scrolledtext',
+               'SimpleDialog': 'tkinter.simpledialog',
+               'Tix': 'tkinter.tix',
+               'tkColorChooser': 'tkinter.colorchooser',
+               'tkCommonDialog': 'tkinter.commondialog',
+               'Tkconstants': 'tkinter.constants',
+               'Tkdnd': 'tkinter.dnd',
+               'tkFileDialog': 'tkinter.filedialog',
+               'tkFont': 'tkinter.font',
+               'Tkinter': 'tkinter',
+               'tkMessageBox': 'tkinter.messagebox',
+               'tkSimpleDialog': 'tkinter.simpledialog',
+               'turtle': 'tkinter.turtle'
+               }
 
     def check_rename(self, module_name, new_module_name):
         """Make sure that:

Deleted: python/branches/tlee-ast-optimize/Lib/test/test_repr.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_repr.py	Sat May 17 04:35:08 2008
+++ (empty file)
@@ -1,327 +0,0 @@
-"""
-  Test cases for the repr module
-  Nick Mathewson
-"""
-
-import sys
-import os
-import shutil
-import unittest
-
-from test.test_support import run_unittest
-from repr import repr as r # Don't shadow builtin repr
-from repr import Repr
-
-
-def nestedTuple(nesting):
-    t = ()
-    for i in range(nesting):
-        t = (t,)
-    return t
-
-class ReprTests(unittest.TestCase):
-
-    def test_string(self):
-        eq = self.assertEquals
-        eq(r("abc"), "'abc'")
-        eq(r("abcdefghijklmnop"),"'abcdefghijklmnop'")
-
-        s = "a"*30+"b"*30
-        expected = repr(s)[:13] + "..." + repr(s)[-14:]
-        eq(r(s), expected)
-
-        eq(r("\"'"), repr("\"'"))
-        s = "\""*30+"'"*100
-        expected = repr(s)[:13] + "..." + repr(s)[-14:]
-        eq(r(s), expected)
-
-    def test_tuple(self):
-        eq = self.assertEquals
-        eq(r((1,)), "(1,)")
-
-        t3 = (1, 2, 3)
-        eq(r(t3), "(1, 2, 3)")
-
-        r2 = Repr()
-        r2.maxtuple = 2
-        expected = repr(t3)[:-2] + "...)"
-        eq(r2.repr(t3), expected)
-
-    def test_container(self):
-        from array import array
-        from collections import deque
-
-        eq = self.assertEquals
-        # Tuples give up after 6 elements
-        eq(r(()), "()")
-        eq(r((1,)), "(1,)")
-        eq(r((1, 2, 3)), "(1, 2, 3)")
-        eq(r((1, 2, 3, 4, 5, 6)), "(1, 2, 3, 4, 5, 6)")
-        eq(r((1, 2, 3, 4, 5, 6, 7)), "(1, 2, 3, 4, 5, 6, ...)")
-
-        # Lists give up after 6 as well
-        eq(r([]), "[]")
-        eq(r([1]), "[1]")
-        eq(r([1, 2, 3]), "[1, 2, 3]")
-        eq(r([1, 2, 3, 4, 5, 6]), "[1, 2, 3, 4, 5, 6]")
-        eq(r([1, 2, 3, 4, 5, 6, 7]), "[1, 2, 3, 4, 5, 6, ...]")
-
-        # Sets give up after 6 as well
-        eq(r(set([])), "set([])")
-        eq(r(set([1])), "set([1])")
-        eq(r(set([1, 2, 3])), "set([1, 2, 3])")
-        eq(r(set([1, 2, 3, 4, 5, 6])), "set([1, 2, 3, 4, 5, 6])")
-        eq(r(set([1, 2, 3, 4, 5, 6, 7])), "set([1, 2, 3, 4, 5, 6, ...])")
-
-        # Frozensets give up after 6 as well
-        eq(r(frozenset([])), "frozenset([])")
-        eq(r(frozenset([1])), "frozenset([1])")
-        eq(r(frozenset([1, 2, 3])), "frozenset([1, 2, 3])")
-        eq(r(frozenset([1, 2, 3, 4, 5, 6])), "frozenset([1, 2, 3, 4, 5, 6])")
-        eq(r(frozenset([1, 2, 3, 4, 5, 6, 7])), "frozenset([1, 2, 3, 4, 5, 6, ...])")
-
-        # collections.deque after 6
-        eq(r(deque([1, 2, 3, 4, 5, 6, 7])), "deque([1, 2, 3, 4, 5, 6, ...])")
-
-        # Dictionaries give up after 4.
-        eq(r({}), "{}")
-        d = {'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}
-        eq(r(d), "{'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}")
-        d['arthur'] = 1
-        eq(r(d), "{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}")
-
-        # array.array after 5.
-        eq(r(array('i')), "array('i', [])")
-        eq(r(array('i', [1])), "array('i', [1])")
-        eq(r(array('i', [1, 2])), "array('i', [1, 2])")
-        eq(r(array('i', [1, 2, 3])), "array('i', [1, 2, 3])")
-        eq(r(array('i', [1, 2, 3, 4])), "array('i', [1, 2, 3, 4])")
-        eq(r(array('i', [1, 2, 3, 4, 5])), "array('i', [1, 2, 3, 4, 5])")
-        eq(r(array('i', [1, 2, 3, 4, 5, 6])),
-                   "array('i', [1, 2, 3, 4, 5, ...])")
-
-    def test_numbers(self):
-        eq = self.assertEquals
-        eq(r(123), repr(123))
-        eq(r(123L), repr(123L))
-        eq(r(1.0/3), repr(1.0/3))
-
-        n = 10L**100
-        expected = repr(n)[:18] + "..." + repr(n)[-19:]
-        eq(r(n), expected)
-
-    def test_instance(self):
-        eq = self.assertEquals
-        i1 = ClassWithRepr("a")
-        eq(r(i1), repr(i1))
-
-        i2 = ClassWithRepr("x"*1000)
-        expected = repr(i2)[:13] + "..." + repr(i2)[-14:]
-        eq(r(i2), expected)
-
-        i3 = ClassWithFailingRepr()
-        eq(r(i3), ("<ClassWithFailingRepr instance at %x>"%id(i3)))
-
-        s = r(ClassWithFailingRepr)
-        self.failUnless(s.startswith("<class "))
-        self.failUnless(s.endswith(">"))
-        self.failUnless(s.find("...") == 8)
-
-    def test_file(self):
-        fp = open(unittest.__file__)
-        self.failUnless(repr(fp).startswith(
-            "<open file '%s', mode 'r' at 0x" % unittest.__file__))
-        fp.close()
-        self.failUnless(repr(fp).startswith(
-            "<closed file '%s', mode 'r' at 0x" % unittest.__file__))
-
-    def test_lambda(self):
-        self.failUnless(repr(lambda x: x).startswith(
-            "<function <lambda"))
-        # XXX anonymous functions?  see func_repr
-
-    def test_builtin_function(self):
-        eq = self.assertEquals
-        # Functions
-        eq(repr(hash), '<built-in function hash>')
-        # Methods
-        self.failUnless(repr(''.split).startswith(
-            '<built-in method split of str object at 0x'))
-
-    def test_xrange(self):
-        eq = self.assertEquals
-        eq(repr(xrange(1)), 'xrange(1)')
-        eq(repr(xrange(1, 2)), 'xrange(1, 2)')
-        eq(repr(xrange(1, 2, 3)), 'xrange(1, 4, 3)')
-
-    def test_nesting(self):
-        eq = self.assertEquals
-        # everything is meant to give up after 6 levels.
-        eq(r([[[[[[[]]]]]]]), "[[[[[[[]]]]]]]")
-        eq(r([[[[[[[[]]]]]]]]), "[[[[[[[...]]]]]]]")
-
-        eq(r(nestedTuple(6)), "(((((((),),),),),),)")
-        eq(r(nestedTuple(7)), "(((((((...),),),),),),)")
-
-        eq(r({ nestedTuple(5) : nestedTuple(5) }),
-           "{((((((),),),),),): ((((((),),),),),)}")
-        eq(r({ nestedTuple(6) : nestedTuple(6) }),
-           "{((((((...),),),),),): ((((((...),),),),),)}")
-
-        eq(r([[[[[[{}]]]]]]), "[[[[[[{}]]]]]]")
-        eq(r([[[[[[[{}]]]]]]]), "[[[[[[[...]]]]]]]")
-
-    def test_buffer(self):
-        # XXX doesn't test buffers with no b_base or read-write buffers (see
-        # bufferobject.c).  The test is fairly incomplete too.  Sigh.
-        x = buffer('foo')
-        self.failUnless(repr(x).startswith('<read-only buffer for 0x'))
-
-    def test_cell(self):
-        # XXX Hmm? How to get at a cell object?
-        pass
-
-    def test_descriptors(self):
-        eq = self.assertEquals
-        # method descriptors
-        eq(repr(dict.items), "<method 'items' of 'dict' objects>")
-        # XXX member descriptors
-        # XXX attribute descriptors
-        # XXX slot descriptors
-        # static and class methods
-        class C:
-            def foo(cls): pass
-        x = staticmethod(C.foo)
-        self.failUnless(repr(x).startswith('<staticmethod object at 0x'))
-        x = classmethod(C.foo)
-        self.failUnless(repr(x).startswith('<classmethod object at 0x'))
-
-    def test_unsortable(self):
-        # Repr.repr() used to call sorted() on sets, frozensets and dicts
-        # without taking into account that not all objects are comparable
-        x = set([1j, 2j, 3j])
-        y = frozenset(x)
-        z = {1j: 1, 2j: 2}
-        r(x)
-        r(y)
-        r(z)
-
-def touch(path, text=''):
-    fp = open(path, 'w')
-    fp.write(text)
-    fp.close()
-
-class LongReprTest(unittest.TestCase):
-    def setUp(self):
-        longname = 'areallylongpackageandmodulenametotestreprtruncation'
-        self.pkgname = os.path.join(longname)
-        self.subpkgname = os.path.join(longname, longname)
-        # Make the package and subpackage
-        shutil.rmtree(self.pkgname, ignore_errors=True)
-        os.mkdir(self.pkgname)
-        touch(os.path.join(self.pkgname, '__init__'+os.extsep+'py'))
-        shutil.rmtree(self.subpkgname, ignore_errors=True)
-        os.mkdir(self.subpkgname)
-        touch(os.path.join(self.subpkgname, '__init__'+os.extsep+'py'))
-        # Remember where we are
-        self.here = os.getcwd()
-        sys.path.insert(0, self.here)
-
-    def tearDown(self):
-        actions = []
-        for dirpath, dirnames, filenames in os.walk(self.pkgname):
-            for name in dirnames + filenames:
-                actions.append(os.path.join(dirpath, name))
-        actions.append(self.pkgname)
-        actions.sort()
-        actions.reverse()
-        for p in actions:
-            if os.path.isdir(p):
-                os.rmdir(p)
-            else:
-                os.remove(p)
-        del sys.path[0]
-
-    def test_module(self):
-        eq = self.assertEquals
-        touch(os.path.join(self.subpkgname, self.pkgname + os.extsep + 'py'))
-        from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import areallylongpackageandmodulenametotestreprtruncation
-        eq(repr(areallylongpackageandmodulenametotestreprtruncation),
-           "<module '%s' from '%s'>" % (areallylongpackageandmodulenametotestreprtruncation.__name__, areallylongpackageandmodulenametotestreprtruncation.__file__))
-        eq(repr(sys), "<module 'sys' (built-in)>")
-
-    def test_type(self):
-        eq = self.assertEquals
-        touch(os.path.join(self.subpkgname, 'foo'+os.extsep+'py'), '''\
-class foo(object):
-    pass
-''')
-        from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import foo
-        eq(repr(foo.foo),
-               "<class '%s.foo'>" % foo.__name__)
-
-    def test_object(self):
-        # XXX Test the repr of a type with a really long tp_name but with no
-        # tp_repr.  WIBNI we had ::Inline? :)
-        pass
-
-    def test_class(self):
-        touch(os.path.join(self.subpkgname, 'bar'+os.extsep+'py'), '''\
-class bar:
-    pass
-''')
-        from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import bar
-        # Module name may be prefixed with "test.", depending on how run.
-        self.failUnless(repr(bar.bar).startswith(
-            "<class %s.bar at 0x" % bar.__name__))
-
-    def test_instance(self):
-        touch(os.path.join(self.subpkgname, 'baz'+os.extsep+'py'), '''\
-class baz:
-    pass
-''')
-        from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import baz
-        ibaz = baz.baz()
-        self.failUnless(repr(ibaz).startswith(
-            "<%s.baz instance at 0x" % baz.__name__))
-
-    def test_method(self):
-        eq = self.assertEquals
-        touch(os.path.join(self.subpkgname, 'qux'+os.extsep+'py'), '''\
-class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
-    def amethod(self): pass
-''')
-        from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import qux
-        # Unbound methods first
-        eq(repr(qux.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod),
-        '<unbound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod>')
-        # Bound method next
-        iqux = qux.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
-        self.failUnless(repr(iqux.amethod).startswith(
-            '<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <%s.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa instance at 0x' \
-            % (qux.__name__,) ))
-
-    def test_builtin_function(self):
-        # XXX test built-in functions and methods with really long names
-        pass
-
-class ClassWithRepr:
-    def __init__(self, s):
-        self.s = s
-    def __repr__(self):
-        return "ClassWithLongRepr(%r)" % self.s
-
-
-class ClassWithFailingRepr:
-    def __repr__(self):
-        raise Exception("This should be caught by Repr.repr_instance")
-
-
-def test_main():
-    run_unittest(ReprTests)
-    if os.name != 'mac':
-        run_unittest(LongReprTest)
-
-
-if __name__ == "__main__":
-    test_main()

Modified: python/branches/tlee-ast-optimize/Lib/test/test_sunaudiodev.py
==============================================================================
--- python/branches/tlee-ast-optimize/Lib/test/test_sunaudiodev.py	(original)
+++ python/branches/tlee-ast-optimize/Lib/test/test_sunaudiodev.py	Sat May 17 04:35:08 2008
@@ -1,5 +1,5 @@
-from test.test_support import findfile, TestFailed, TestSkipped
-import sunaudiodev
+from test.test_support import findfile, TestFailed, TestSkipped, import_module
+sunaudiodev = import_module('sunaudiodev', deprecated=True)
 import os
 
 try:

Modified: python/branches/tlee-ast-optimize/Misc/NEWS
==============================================================================
--- python/branches/tlee-ast-optimize/Misc/NEWS	(original)
+++ python/branches/tlee-ast-optimize/Misc/NEWS	Sat May 17 04:35:08 2008
@@ -12,6 +12,11 @@
 Core and Builtins
 -----------------
 
+- Issue #2863: generators now have a ``gen.__name__`` attribute that equals
+  ``gen.gi_code.co_name``, like ``func.__name___`` that equals
+  ``func.func_code.co_name``.  The repr() of a generator now also contains
+  this name.
+
 - Issue #2831: enumerate() now has a ``start`` argument.
 
 - Issue #2801: fix bug in the float.is_integer method where a ValueError
@@ -25,13 +30,72 @@
 Extension Modules
 -----------------
 
-- Support for Windows9x has been removed from the winsound module.
+- Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the platform.
+
+- Support for Windows 9x has been removed from the winsound module.
 
 - bsddb module updated to version 4.6.4.
 
+- Fixed #2870: cmathmodule.c compile error
+
 Library
 -------
 
+- Issue 1793: Function ctypes.util.find_msvcrt() added that returns
+  the name of the C runtime library that Python uses.
+  ctypes.util.find_library(name) now call this function when name is
+  'm' or 'c'.
+
+- The Tkinter module has been made a package and renamed 'tkinter'.  All
+  Tkinter-related modules (like Tix, ScrolledText, turtle etc.) are now
+  submodules of that package and have been renamed to conform to PEP 8
+  standards.
+
+- The repr module has been renamed 'reprlib'.  The old name is now
+  deprecated.
+
+- The statvfs module has been deprecated for removal in Python 3.0.
+
+- The sunaudiodev and SUNAUDIODEV modules have been deprecated for removal in
+  Python 3.0.
+
+- The WAIT module from IRIX has been deprecated for removal in Python 3.0.
+
+- The torgb module from IRIX has been deprecated for removal in Python 3.0.
+
+- The SV module from IRIX has been deprecated for removal in Python 3.0.
+
+- The readcd module from IRIX has been deprecated for removal in Python 3.0.
+
+- The panelparser module from IRIX has been deprecated for removal in
+  Python 3.0.
+
+-The panel module from IRIX has been deprecated for removal in Python 3.0.
+
+- The jpeg module from IRIX has been deprecated for removal in Python 3.0.
+
+- The IOCTL module from IRIX has been deprecated for removal in Python 3.0.
+
+- The IN module from IRIX has been deprecated for removal in Python 3.0.
+
+- The imgfile module from IRIX has been deprecated for removal in Python 3.0.
+
+- The GLWS module from IRIX has been deprecated for removal in Python 3.0.
+
+- The GET module from IRIX has been deprecated for removal in Python 3.0.
+
+- The fm module from IRIX has been deprecated for removal in Python 3.0.
+
+- The FL, flp, and fl modules from IRIX have been deprecated for removal in
+  Python 3.0.
+
+- The FILE module on IRIX has been deprecated for removal in Python 3.0.
+
+- The ERRNO module on IRIX has been deprecated for removal in Python 3.0.
+
+- The DEVICE, GL, gl, and cgen modules (which indirectly includes cgensupport)
+  have been deprecated for removal in Python 3.0.
+
 - The ConfigParser module has been renamed 'configparser'.  The old
   name is now deprecated.
 
@@ -119,6 +183,7 @@
 
 - ``Lib/lib-old`` is now added to sys.path.
 
+
 What's New in Python 2.6 alpha 3?
 =================================
 

Modified: python/branches/tlee-ast-optimize/Misc/TextMate/Python-Dev.tmbundle/info.plist
==============================================================================
--- python/branches/tlee-ast-optimize/Misc/TextMate/Python-Dev.tmbundle/info.plist	(original)
+++ python/branches/tlee-ast-optimize/Misc/TextMate/Python-Dev.tmbundle/info.plist	Sat May 17 04:35:08 2008
@@ -7,6 +7,7 @@
 		<key>items</key>
 		<array>
 			<string>9519C22B-6AB8-41A1-94F6-079E0B45C147</string>
+			<string>0568410D-EAF1-4AF3-B6DE-8AF133A91821</string>
 			<string>------------------------------------</string>
 			<string>B545BB1B-A8E1-426C-B50A-426E78B96D38</string>
 			<string>6EF151E5-7149-4F82-8796-0CC40FE589FA</string>
@@ -23,6 +24,7 @@
 	<key>ordering</key>
 	<array>
 		<string>9519C22B-6AB8-41A1-94F6-079E0B45C147</string>
+		<string>0568410D-EAF1-4AF3-B6DE-8AF133A91821</string>
 		<string>B545BB1B-A8E1-426C-B50A-426E78B96D38</string>
 		<string>6EF151E5-7149-4F82-8796-0CC40FE589FA</string>
 		<string>FD25A8DC-22DC-4ED4-B222-B943C8A9117D</string>

Modified: python/branches/tlee-ast-optimize/Misc/cheatsheet
==============================================================================
--- python/branches/tlee-ast-optimize/Misc/cheatsheet	(original)
+++ python/branches/tlee-ast-optimize/Misc/cheatsheet	Sat May 17 04:35:08 2008
@@ -1862,9 +1862,9 @@
 colorsys         Conversion functions between RGB and other color systems.
 commands         Tools for executing UNIX commands .
 compileall       Force "compilation" of all .py files in a directory.
-ConfigParser     Configuration file parser (much like windows .ini files)
+configparser     Configuration file parser (much like windows .ini files)
 copy             Generic shallow and deep copying operations.
-copy_reg         Helper to provide extensibility for pickle/cPickle.
+copyreg          Helper to provide extensibility for pickle/cPickle.
 csv              Read and write files with comma separated values.
 dbhash           (g)dbm-compatible interface to bsdhash.hashopen.
 dircache         Sorted list of files in a dir, using a cache.
@@ -1952,7 +1952,7 @@
 pyexpat          Interface to the Expay XML parser.
 py_compile       Routine to "compile" a .py file to a .pyc file.
 pyclbr           Parse a Python file and retrieve classes and methods.
-Queue            A multi-producer, multi-consumer queue.
+queue            A multi-producer, multi-consumer queue.
 quopri           Conversions to/from quoted-printable transport encoding.
 rand             Don't use unless you want compatibility with C's rand().
 random           Random variable generators

Modified: python/branches/tlee-ast-optimize/Modules/cPickle.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/cPickle.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/cPickle.c	Sat May 17 04:35:08 2008
@@ -5710,6 +5710,12 @@
 	PyObject *format_version;
 	PyObject *compatible_formats;
 
+	/* XXX: Should mention that the pickle module will include the C
+	   XXX: optimized implementation automatically. */
+	if (PyErr_WarnPy3k("the cPickle module has been removed in "
+			   "Python 3.0", 2) < 0)
+		return;
+
 	Py_TYPE(&Picklertype) = &PyType_Type;
 	Py_TYPE(&Unpicklertype) = &PyType_Type;
 	Py_TYPE(&PdataType) = &PyType_Type;

Modified: python/branches/tlee-ast-optimize/Modules/cgen.py
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/cgen.py	(original)
+++ python/branches/tlee-ast-optimize/Modules/cgen.py	Sat May 17 04:35:08 2008
@@ -17,6 +17,9 @@
 #
 # XXX BUG return arrays generate wrong code
 # XXX need to change error returns into gotos to free mallocked arrays
+from warnings import warnpy3k
+warnpy3k("the cgen module has been removed in Python 3.0", stacklevel=2)
+del warnpy3k
 
 
 import string

Modified: python/branches/tlee-ast-optimize/Modules/cmathmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/cmathmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/cmathmodule.c	Sat May 17 04:35:08 2008
@@ -920,7 +920,7 @@
 	errno = 0;
 	PyFPE_START_PROTECT("arg function", return 0)
 	phi = c_atan2(z);
-	PyFPE_END_PROTECT(r)
+	PyFPE_END_PROTECT(phi)
 	if (errno != 0)
 		return math_error();
 	else

Modified: python/branches/tlee-ast-optimize/Modules/fcntlmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/fcntlmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/fcntlmodule.c	Sat May 17 04:35:08 2008
@@ -510,6 +510,9 @@
         if (ins(d, "F_SETLKW64", (long)F_SETLKW64)) return -1;
 #endif
 /* GNU extensions, as of glibc 2.2.4. */
+#ifdef FASYNC
+        if (ins(d, "FASYNC", (long)FASYNC)) return -1;
+#endif
 #ifdef F_SETLEASE
         if (ins(d, "F_SETLEASE", (long)F_SETLEASE)) return -1;
 #endif

Modified: python/branches/tlee-ast-optimize/Modules/flmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/flmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/flmodule.c	Sat May 17 04:35:08 2008
@@ -2128,6 +2128,11 @@
 PyMODINIT_FUNC
 initfl(void)
 {
+    
+    if (PyErr_WarnPy3k("the fl module has been removed in "
+                       "Python 3.0", 2) < 0)
+        return;
+    
 	Py_InitModule("fl", forms_methods);
 	if (m == NULL)
 		return;

Modified: python/branches/tlee-ast-optimize/Modules/fmmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/fmmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/fmmodule.c	Sat May 17 04:35:08 2008
@@ -257,6 +257,11 @@
 void
 initfm(void)
 {
+    
+    if (PyErr_WarnPy3k("the fm module has been removed in "
+                       "Python 3.0", 2) < 0)
+        return;
+    
 	Py_InitModule("fm", fm_methods);
 	if (m == NULL)
 		return;

Modified: python/branches/tlee-ast-optimize/Modules/glmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/glmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/glmodule.c	Sat May 17 04:35:08 2008
@@ -7624,5 +7624,10 @@
 void
 initgl(void)
 {
+    
+    if (PyErr_WarnPy3k("the gl module has been removed in "
+                       "Python 3.0", 2) < 0)
+        return;
+    
 	(void) Py_InitModule("gl", gl_methods);
 }

Modified: python/branches/tlee-ast-optimize/Modules/imgfile.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/imgfile.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/imgfile.c	Sat May 17 04:35:08 2008
@@ -491,6 +491,11 @@
 initimgfile(void)
 {
 	PyObject *m, *d;
+	
+	if (PyErr_WarnPy3k("the imgfile module has been removed in "
+	                   "Python 3.0", 2) < 0)
+	    return;
+	
 	m = Py_InitModule("imgfile", imgfile_methods);
 	if (m == NULL)
 		return;

Modified: python/branches/tlee-ast-optimize/Modules/posixmodule.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/posixmodule.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/posixmodule.c	Sat May 17 04:35:08 2008
@@ -8756,6 +8756,11 @@
 #endif
 
 /* GNU extensions. */
+#ifdef O_ASYNC
+        /* Send a SIGIO signal whenever input or output 
+           becomes available on file descriptor */
+        if (ins(d, "O_ASYNC", (long)O_ASYNC)) return -1;
+#endif
 #ifdef O_DIRECT
         /* Direct disk access. */
         if (ins(d, "O_DIRECT", (long)O_DIRECT)) return -1;

Modified: python/branches/tlee-ast-optimize/Modules/sunaudiodev.c
==============================================================================
--- python/branches/tlee-ast-optimize/Modules/sunaudiodev.c	(original)
+++ python/branches/tlee-ast-optimize/Modules/sunaudiodev.c	Sat May 17 04:35:08 2008
@@ -452,6 +452,10 @@
 initsunaudiodev(void)
 {
 	PyObject *m, *d;
+	
+	if (PyErr_WarnPy3k("the sunaudiodev module has been removed in "
+	                   "Python 3.0", 2) < 0)
+	    return;
 
 	m = Py_InitModule("sunaudiodev", sunaudiodev_methods);
 	if (m == NULL)

Modified: python/branches/tlee-ast-optimize/Objects/enumobject.c
==============================================================================
--- python/branches/tlee-ast-optimize/Objects/enumobject.c	(original)
+++ python/branches/tlee-ast-optimize/Objects/enumobject.c	Sat May 17 04:35:08 2008
@@ -224,7 +224,10 @@
 	PyObject *seq;
 	reversedobject *ro;
 
-	if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq))
+	if (type == &PyReversed_Type && !_PyArg_NoKeywords("reversed()", kwds))
+		return NULL;
+
+	if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq) )
 		return NULL;
 
 	if (PyObject_HasAttrString(seq, "__reversed__"))

Modified: python/branches/tlee-ast-optimize/Objects/genobject.c
==============================================================================
--- python/branches/tlee-ast-optimize/Objects/genobject.c	(original)
+++ python/branches/tlee-ast-optimize/Objects/genobject.c	Sat May 17 04:35:08 2008
@@ -281,6 +281,36 @@
 }
 
 
+static PyObject *
+gen_repr(PyGenObject *gen)
+{
+	char *code_name;
+	code_name = PyString_AsString(((PyCodeObject *)gen->gi_code)->co_name);
+	if (code_name == NULL)
+		return NULL;
+	return PyString_FromFormat("<generator object %.200s at %p>",
+				   code_name, gen);
+}
+
+
+static PyObject *
+gen_get_name(PyGenObject *gen)
+{
+	PyObject *name = ((PyCodeObject *)gen->gi_code)->co_name;
+	Py_INCREF(name);
+	return name;
+}
+
+
+PyDoc_STRVAR(gen__name__doc__,
+"Return the name of the generator's associated code object.");
+
+static PyGetSetDef gen_getsetlist[] = {
+	{"__name__", (getter)gen_get_name, NULL, NULL, gen__name__doc__},
+	{NULL}
+};
+
+
 static PyMemberDef gen_memberlist[] = {
 	{"gi_frame",	T_OBJECT, offsetof(PyGenObject, gi_frame),	RO},
 	{"gi_running",	T_INT,    offsetof(PyGenObject, gi_running),	RO},
@@ -306,7 +336,7 @@
 	0, 					/* tp_getattr */
 	0,					/* tp_setattr */
 	0,					/* tp_compare */
-	0,					/* tp_repr */
+	(reprfunc)gen_repr,			/* tp_repr */
 	0,					/* tp_as_number */
 	0,					/* tp_as_sequence */
 	0,					/* tp_as_mapping */
@@ -326,7 +356,7 @@
 	(iternextfunc)gen_iternext,		/* tp_iternext */
 	gen_methods,				/* tp_methods */
 	gen_memberlist,				/* tp_members */
-	0,					/* tp_getset */
+	gen_getsetlist,				/* tp_getset */
 	0,					/* tp_base */
 	0,					/* tp_dict */
 

Modified: python/branches/tlee-ast-optimize/Objects/typeobject.c
==============================================================================
--- python/branches/tlee-ast-optimize/Objects/typeobject.c	(original)
+++ python/branches/tlee-ast-optimize/Objects/typeobject.c	Sat May 17 04:35:08 2008
@@ -3108,7 +3108,7 @@
 	    !PyList_Check(slotnames))
 	{
 		PyErr_SetString(PyExc_TypeError,
-			"copy_reg._slotnames didn't return a list or None");
+			"copyreg._slotnames didn't return a list or None");
 		Py_DECREF(slotnames);
 		slotnames = NULL;
 	}


More information about the Python-checkins mailing list