Commits

Amaury Forgeot d'Arc committed cb7c48a

Rebase patches on new wx version

Comments (0)

Files changed (10)

-status
+^\.hg
+^\.mq
+syntax: glob
+status
+guards
 dict.keys() &co return a view
 
-diff -r 83746d19dd9e wxPython/build-wxpython.py
---- a/wxPython/build-wxpython.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/build-wxpython.py	Tue Aug 31 13:47:30 2010 +0200
-@@ -72,9 +72,7 @@
+diff -r cf015e317687 wxPython/build-wxpython.py
+--- a/wxPython/build-wxpython.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/build-wxpython.py	Thu May 19 21:43:33 2011 +0200
+@@ -102,9 +102,7 @@
  
  parser = optparse.OptionParser(usage="usage: %prog [options]", version="%prog 1.0")
  
      default = option_dict[opt][0]
      action = "store"
      if isinstance(default, bool):
-diff -r 83746d19dd9e wxPython/demo/CheckListCtrlMixin.py
---- a/wxPython/demo/CheckListCtrlMixin.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/CheckListCtrlMixin.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/CheckListCtrlMixin.py
+--- a/wxPython/demo/CheckListCtrlMixin.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/CheckListCtrlMixin.py	Thu May 19 21:43:33 2011 +0200
 @@ -44,7 +44,7 @@
          self.list.InsertColumn(1, "Title", wx.LIST_FORMAT_RIGHT)
          self.list.InsertColumn(2, "Genre")
              index = self.list.InsertStringItem(wx.maxsize, data[0])
              self.list.SetStringItem(index, 1, data[1])
              self.list.SetStringItem(index, 2, data[2])
-diff -r 83746d19dd9e wxPython/demo/Cursor.py
---- a/wxPython/demo/Cursor.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/Cursor.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/Cursor.py
+--- a/wxPython/demo/Cursor.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/Cursor.py	Thu May 19 21:43:33 2011 +0200
 @@ -47,8 +47,7 @@
          wx.Panel.__init__(self, parent, -1)
  
  
          # create the controls
          self.cb = wx.ComboBox(self, -1, "wx.CURSOR_DEFAULT", choices=choices,
-diff -r 83746d19dd9e wxPython/demo/DVC_DataViewModel.py
---- a/wxPython/demo/DVC_DataViewModel.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/DVC_DataViewModel.py	Tue Aug 31 13:47:30 2010 +0200
-@@ -220,8 +220,7 @@
+diff -r cf015e317687 wxPython/demo/DVC_DataViewModel.py
+--- a/wxPython/demo/DVC_DataViewModel.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/DVC_DataViewModel.py	Thu May 19 21:43:33 2011 +0200
+@@ -304,8 +304,7 @@
      # Reuse the music data in the ListCtrl sample, and put it in a
      # hierarchical structure so we can show it as a tree
      import ListCtrl
 -    musicdata = ListCtrl.musicdata.items()
 -    musicdata.sort()
 +    musicdata = sorted(ListCtrl.musicdata.items())
-     # our data structure will be a collection of Genres, each of which is a
-     # collection of Songs
-     data = dict()
-diff -r 83746d19dd9e wxPython/demo/DVC_IndexListModel.py
---- a/wxPython/demo/DVC_IndexListModel.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/DVC_IndexListModel.py	Tue Aug 31 13:47:30 2010 +0200
-@@ -205,9 +205,7 @@
+ 
+     ## For testing Unicode
+     #musicdata = {
+diff -r cf015e317687 wxPython/demo/DVC_IndexListModel.py
+--- a/wxPython/demo/DVC_IndexListModel.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/DVC_IndexListModel.py	Thu May 19 21:43:33 2011 +0200
+@@ -221,9 +221,7 @@
      # from a dictionary to a list of lists, including the dictionary key
      # as the first element of each sublist.
      import ListCtrl
  
      win = TestPanel(nb, log, data=musicdata)
      return win
-diff -r 83746d19dd9e wxPython/demo/DVC_ListCtrl.py
---- a/wxPython/demo/DVC_ListCtrl.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/DVC_ListCtrl.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/DVC_ListCtrl.py
+--- a/wxPython/demo/DVC_ListCtrl.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/DVC_ListCtrl.py	Thu May 19 21:43:33 2011 +0200
 @@ -6,9 +6,7 @@
  
  # Reuse the music data in the ListCtrl sample
  
  
  class TestPanel(wx.Panel):
-diff -r 83746d19dd9e wxPython/demo/GLCanvas.py
---- a/wxPython/demo/GLCanvas.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/GLCanvas.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/GLCanvas.py
+--- a/wxPython/demo/GLCanvas.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/GLCanvas.py	Thu May 19 21:43:33 2011 +0200
 @@ -32,9 +32,7 @@
  
          box = wx.BoxSizer(wx.VERTICAL)
              text = buttonDefs[k][1]
              btn = wx.Button(self, k, text)
              box.Add(btn, 0, wx.ALIGN_CENTER|wx.ALL, 15)
-diff -r 83746d19dd9e wxPython/demo/Grid.py
---- a/wxPython/demo/Grid.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/Grid.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/Grid.py
+--- a/wxPython/demo/Grid.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/Grid.py	Thu May 19 21:43:33 2011 +0200
 @@ -22,10 +22,8 @@
  
          box = wx.BoxSizer(wx.VERTICAL)
              text = buttonDefs[k][1]
              btn = wx.Button(self, k, text)
              box.Add(btn, 0, wx.ALIGN_CENTER|wx.ALL, 10)
-diff -r 83746d19dd9e wxPython/demo/Main.py
---- a/wxPython/demo/Main.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/Main.py	Tue Aug 31 13:47:30 2010 +0200
-@@ -440,8 +440,7 @@
+diff -r cf015e317687 wxPython/demo/Main.py
+--- a/wxPython/demo/Main.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/Main.py	Thu May 19 21:43:33 2011 +0200
+@@ -431,8 +431,7 @@
  
  def FormatDocs(keyword, values, num):
  
  
      headers = (num == 2 and [_eventHeaders] or [_styleHeaders])[0]
      table = (num == 2 and [_eventTable] or [_styleTable])[0]
-@@ -1246,8 +1245,7 @@
+@@ -1237,8 +1236,7 @@
  
      # Sort and reverse the external demos keys so that they
      # come back in alphabetical order
      keys.reverse()
  
      # Loop over all external packages
-@@ -1944,8 +1942,7 @@
+@@ -1935,8 +1933,7 @@
          item.Check(self.allowAuiFloating)
          self.Bind(wx.EVT_MENU, self.OnAllowAuiFloating, item)
                  
          perspectivesMenu = wx.Menu()
          item = wx.MenuItem(perspectivesMenu, -1, DEFAULT_PERSPECTIVE, "Load startup default perspective", wx.ITEM_RADIO)
          self.Bind(wx.EVT_MENU, self.OnAUIPerspectives, item)
-diff -r 83746d19dd9e wxPython/demo/PropertyGrid.py
---- a/wxPython/demo/PropertyGrid.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/PropertyGrid.py	Tue Aug 31 13:47:30 2010 +0200
-@@ -849,7 +849,7 @@
+diff -r cf015e317687 wxPython/demo/PropertyGrid.py
+--- a/wxPython/demo/PropertyGrid.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/PropertyGrid.py	Thu May 19 21:43:33 2011 +0200
+@@ -854,7 +854,7 @@
              d = self.pg.GetPropertyValues(inc_attributes=True)
  
              ss = []
                  v = repr(v)
                  if not v or v[0] != '<':
                      if k.startswith('@'):
-@@ -884,7 +884,7 @@
+@@ -889,7 +889,7 @@
              t_end = time.time()
              self.log.write('GetPropertyValues finished in %.0fms\n' %
                             ((t_end-t_start)*1000.0))
              dlg = MemoDialog(self,"GetPropertyValues Result",
                               'Contents of resulting dictionary:\n\n'+'\n'.join(ss))
              dlg.ShowModal()
-@@ -899,7 +899,7 @@
+@@ -904,7 +904,7 @@
              t_end = time.time()
              self.log.write('GetPropertyValues(as_strings=True) finished in %.0fms\n' %
                             ((t_end-t_start)*1000.0))
              dlg = MemoDialog(self,"GetPropertyValues Result",
                               'Contents of resulting dictionary:\n\n'+'\n'.join(ss))
              dlg.ShowModal()
-diff -r 83746d19dd9e wxPython/demo/TablePrint.py
---- a/wxPython/demo/TablePrint.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/demo/TablePrint.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/demo/TablePrint.py
+--- a/wxPython/demo/TablePrint.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/demo/TablePrint.py	Thu May 19 21:43:33 2011 +0200
 @@ -23,10 +23,8 @@
  
          box = wx.BoxSizer(wx.VERTICAL)
              text = buttonDefs[k][1]
              btn = wx.Button(self, k, text)
              box.Add(btn, 0, wx.ALIGN_CENTER|wx.ALL, 15)
-diff -r 83746d19dd9e wxPython/distrib/propgrid/create_vcw.py
---- a/wxPython/distrib/propgrid/create_vcw.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/distrib/propgrid/create_vcw.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/distrib/propgrid/create_vcw.py
+--- a/wxPython/distrib/propgrid/create_vcw.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/distrib/propgrid/create_vcw.py	Thu May 19 21:43:33 2011 +0200
 @@ -684,7 +684,7 @@
          return
  
          sig_num, common_func_start, func_imp, sig_count = tpl
          if sig_count > 1:
              # Shared implementation
-diff -r 83746d19dd9e wxPython/src/propgrid.i
---- a/wxPython/src/propgrid.i	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/src/propgrid.i	Tue Aug 31 13:47:30 2010 +0200
-@@ -1294,30 +1294,33 @@
+diff -r cf015e317687 wxPython/src/propgrid.i
+--- a/wxPython/src/propgrid.i	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/src/propgrid.i	Thu May 19 21:43:33 2011 +0200
+@@ -1318,30 +1318,33 @@
              attr_dicts = []
  
              def set_sub_obj(k0,dict_):
                      p.SetAttribute(an, av)
  
  
-@@ -1335,7 +1338,7 @@
+@@ -1359,7 +1362,7 @@
          SetValues = SetPropertyValues
  
          def _AutoFillMany(self,cat,dict_):
                  self._AutoFillOne(cat,k,v)
  
  
-diff -r 83746d19dd9e wxPython/src/propgrid_cbacks.i
---- a/wxPython/src/propgrid_cbacks.i	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/src/propgrid_cbacks.i	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/src/propgrid_cbacks.i
+--- a/wxPython/src/propgrid_cbacks.i	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/src/propgrid_cbacks.i	Thu May 19 21:43:33 2011 +0200
 @@ -39,7 +39,7 @@
          cls = self.__class__
          if not hasattr(cls,'_pyswig_methods_registered'):
 -};
 \ No newline at end of file
 +};
-diff -r 83746d19dd9e wxPython/wx/lib/masked/maskededit.py
---- a/wxPython/wx/lib/masked/maskededit.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/wx/lib/masked/maskededit.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/wx/lib/masked/maskededit.py
+--- a/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:43:33 2011 +0200
 @@ -1763,7 +1763,8 @@
  
          # Validate legitimate set of parameters:
  ##                dbg(indent=0, suspend=0)
                  ae = AttributeError('Invalid keyword argument "%s" for control "%s"' % (key, self.name))
                  ae.attribute = key
-@@ -2445,8 +2446,7 @@
+@@ -2446,8 +2447,7 @@
                          field_index += 1
  ####                        dbg('next field:', field_index)
  
          self._field_indices = indices[1:]
  ####        dbg('lookupField map:', indent=1)
  ##        for i in range(len(self._mask)):
-@@ -2455,7 +2455,7 @@
+@@ -2456,7 +2456,7 @@
  
          # Verify that all field indices specified are valid for mask:
          for index in self._fields.keys():
                  ie = IndexError('field %d is not a valid field for mask "%s"' % (index, self._mask))
                  ie.index = index
                  raise ie
-@@ -6350,7 +6350,9 @@
+@@ -6351,7 +6351,9 @@
      """
  
      # Define the default set of attributes exposed by the most generic masked controls:
      exposed_basectrl_params.remove('index')
      exposed_basectrl_params.remove('extent')
      exposed_basectrl_params.remove('foregroundColour')   # (base class already has this)
-diff -r 83746d19dd9e wxPython/wx/lib/splitter.py
---- a/wxPython/wx/lib/splitter.py	Tue Aug 31 13:41:13 2010 +0200
-+++ b/wxPython/wx/lib/splitter.py	Tue Aug 31 13:47:30 2010 +0200
+diff -r cf015e317687 wxPython/wx/lib/splitter.py
+--- a/wxPython/wx/lib/splitter.py	Thu May 19 21:42:54 2011 +0200
++++ b/wxPython/wx/lib/splitter.py	Thu May 19 21:43:33 2011 +0200
 @@ -686,12 +686,12 @@
              return
  

modern-has_key.patch

 dict.has_key() -> in
 
-diff -r fc1608a7a769 wxPython/build-wxpython.py
---- a/wxPython/build-wxpython.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/build-wxpython.py	Tue Aug 31 10:27:02 2010 +0200
-@@ -143,9 +143,9 @@
- build_options = ['--wxpython']
+diff -r 032d33777dde wxPython/build-wxpython.py
+--- a/wxPython/build-wxpython.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/build-wxpython.py	Thu May 19 21:26:19 2011 +0200
+@@ -25,7 +25,7 @@
+ scriptName = os.path.basename(sys.argv[0])
+ WXPYDIR = scriptDir
+ 
+-if os.environ.has_key("WXWIN"):
++if "WXWIN" in os.environ:
+     WXWIN = os.environ["WXWIN"]
+ else:
+     if os.path.exists('../wxWidgets'):
+@@ -168,9 +168,9 @@
+ build_options = ['--wxpython', '--jobs=' + options.jobs]
  wxpy_build_options = []
  
 -if os.environ.has_key("SWIG"):
      SWIG_BIN = 'C:\\SWIG-1.3.29\\swig.exe'
  else:
      # WARNING: This is may not be the patched version of SWIG if the
-@@ -164,7 +164,7 @@
-         print "WARNING: Unable to find SWIG binary. Not re-SWIGing files."
- 
-     
--if os.environ.has_key("WXWIN"):
-+if "WXWIN" in os.environ:
-     WXWIN = os.environ["WXWIN"]
- else:
-     if os.path.exists('../wxWidgets'):
-diff -r fc1608a7a769 wxPython/config.py
---- a/wxPython/config.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/config.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/config.py
+--- a/wxPython/config.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/config.py	Thu May 19 21:26:19 2011 +0200
 @@ -896,7 +896,7 @@
      # Set compile flags and such for MSVC.  These values are derived
      # from the wxWidgets makefiles for MSVC, other compilers settings
          WXDIR = os.environ['WXWIN']
      else:
          if os.path.exists('..\\wxWidgets'):
-@@ -975,7 +975,7 @@
+@@ -969,7 +969,7 @@
  #----------------------------------------------------------------------
  
  elif os.name == 'posix' or COMPILER == 'mingw32':
          WXDIR = os.environ['WXWIN']
      else:
          if os.path.exists('../wxWidgets'):
-diff -r fc1608a7a769 wxPython/demo/DrawXXXList.py
---- a/wxPython/demo/DrawXXXList.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/demo/DrawXXXList.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/demo/DrawXXXList.py
+--- a/wxPython/demo/DrawXXXList.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/demo/DrawXXXList.py	Thu May 19 21:26:19 2011 +0200
 @@ -105,10 +105,11 @@
          c = random.choice(colours)
          t = random.randint(1, 4)
              cache[c] = wx.Brush(c)
  
          brushes.append( cache[c] )
-diff -r fc1608a7a769 wxPython/demo/PseudoDC.py
---- a/wxPython/demo/PseudoDC.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/demo/PseudoDC.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/demo/PseudoDC.py
+--- a/wxPython/demo/PseudoDC.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/demo/PseudoDC.py	Thu May 19 21:26:19 2011 +0200
 @@ -122,14 +122,15 @@
      def RandomPen(self):
          c = random.choice(colours)
              self.brush_cache[c] = wx.Brush(c)
  
          return self.brush_cache[c]
-diff -r fc1608a7a769 wxPython/distrib/build_renamers.py
---- a/wxPython/distrib/build_renamers.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/distrib/build_renamers.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/distrib/build_renamers.py
+--- a/wxPython/distrib/build_renamers.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/distrib/build_renamers.py	Thu May 19 21:26:19 2011 +0200
 @@ -50,10 +50,7 @@
  # with the wx package.  We need to import modules from the wx package
  # here, then we'll put the wxPython.wx entry back in sys.modules.
  
  import wx.%s
  
-diff -r fc1608a7a769 wxPython/distrib/mac/buildpkg.py
---- a/wxPython/distrib/mac/buildpkg.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/distrib/mac/buildpkg.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/distrib/mac/buildpkg.py
+--- a/wxPython/distrib/mac/buildpkg.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/distrib/mac/buildpkg.py	Thu May 19 21:26:19 2011 +0200
 @@ -231,7 +231,7 @@
  
          info = ""
                  info = info + "%s %%(%s)s\n" % (f, f)
          info = info % self.packageInfo
          base = self.packageInfo["Title"] + ".info"
-diff -r fc1608a7a769 wxPython/distrib/mac/bundlebuilder.py
---- a/wxPython/distrib/mac/bundlebuilder.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/distrib/mac/bundlebuilder.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/distrib/mac/bundlebuilder.py
+--- a/wxPython/distrib/mac/bundlebuilder.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/distrib/mac/bundlebuilder.py	Thu May 19 21:26:19 2011 +0200
 @@ -465,7 +465,7 @@
                  if self.standalone or self.semi_standalone:
                      self.includeModules.append("argvemulator")
                      self.plist["CFBundleDocumentTypes"] = [
                          { "CFBundleTypeOSTypes" : [
                              "****",
-diff -r fc1608a7a769 wxPython/distrib/make_installer.py
---- a/wxPython/distrib/make_installer.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/distrib/make_installer.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/distrib/make_installer.py
+--- a/wxPython/distrib/make_installer.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/distrib/make_installer.py	Thu May 19 21:26:19 2011 +0200
 @@ -24,11 +24,11 @@
  
  KEEP_TEMPS = False
  
  
  #----------------------------------------------------------------------
-diff -r fc1608a7a769 wxPython/distrib/propgrid/create_vcw.py
---- a/wxPython/distrib/propgrid/create_vcw.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/distrib/propgrid/create_vcw.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/distrib/propgrid/create_vcw.py
+--- a/wxPython/distrib/propgrid/create_vcw.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/distrib/propgrid/create_vcw.py	Thu May 19 21:26:19 2011 +0200
 @@ -444,13 +444,13 @@
              if not base_t.startswith('const'):
                  t2 = "const %s"%base_t
                      tpl2 = ([(t2,'')],tm_tempdata,tm_content)
                      self.typemaps[tm_type][t2] = [tpl2]
  
-diff -r fc1608a7a769 wxPython/samples/StyleEditor/STCStyleEditor.py
---- a/wxPython/samples/StyleEditor/STCStyleEditor.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/StyleEditor/STCStyleEditor.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/StyleEditor/STCStyleEditor.py
+--- a/wxPython/samples/StyleEditor/STCStyleEditor.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/StyleEditor/STCStyleEditor.py	Thu May 19 21:26:19 2011 +0200
 @@ -879,8 +879,11 @@
          self.populateCombosWithCommonDefs()
  
      names, vals = parseProp(prop)
      if 'back' in names:
          bkCol = strToCol(vals['back']%commonDefs)
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/DebuggerService.py
---- a/wxPython/samples/ide/activegrid/tool/DebuggerService.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/DebuggerService.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/DebuggerService.py
+--- a/wxPython/samples/ide/activegrid/tool/DebuggerService.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/DebuggerService.py	Thu May 19 21:26:19 2011 +0200
 @@ -801,7 +801,7 @@
          phpIniPath = None
  
          self._lastPythonPath = config.Read(self.GetKey("LastPythonPath"), startval)
          self._pythonPathEntry = wx.TextCtrl(self, -1, self._lastPythonPath)
          self._pythonPathEntry.SetToolTipString(self._lastPythonPath)
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/PHPDebugger.py
---- a/wxPython/samples/ide/activegrid/tool/PHPDebugger.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/PHPDebugger.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/PHPDebugger.py
+--- a/wxPython/samples/ide/activegrid/tool/PHPDebugger.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/PHPDebugger.py	Thu May 19 21:26:19 2011 +0200
 @@ -508,7 +508,7 @@
          # Check to see if we have any new breakpoints added.
          #
              #
              # Not in our bp list?  Anyway, create one for it.
              #
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/ProjectEditor.py
---- a/wxPython/samples/ide/activegrid/tool/ProjectEditor.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/ProjectEditor.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/ProjectEditor.py
+--- a/wxPython/samples/ide/activegrid/tool/ProjectEditor.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/ProjectEditor.py	Thu May 19 21:26:19 2011 +0200
 @@ -777,7 +777,7 @@
          for projectFile in projectFiles:
              if (projectFile.type == basedocmgr.FILE_TYPE_SCHEMA):
              del self._mapToProject[key]
          
  
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/SVNService.py
---- a/wxPython/samples/ide/activegrid/tool/SVNService.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/SVNService.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/SVNService.py
+--- a/wxPython/samples/ide/activegrid/tool/SVNService.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/SVNService.py	Thu May 19 21:26:19 2011 +0200
 @@ -168,7 +168,7 @@
  
          sizer = wx.FlexGridSizer(cols = 2, hgap = 5, vgap = 5)
                  sizer.Add(wx.StaticText(dlg, -1, "%s:" % k), 0, wx.ALIGN_CENTER_VERTICAL)
                  sizer.Add(wx.StaticText(dlg, -1, "%s"  % trustDict[k]), 0, wx.ALIGN_CENTER_VERTICAL)
  
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/checker.py
---- a/wxPython/samples/ide/activegrid/tool/checker.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/checker.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/checker.py
+--- a/wxPython/samples/ide/activegrid/tool/checker.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/checker.py	Thu May 19 21:26:19 2011 +0200
 @@ -858,7 +858,7 @@
  ##    def _get_unique_warnings(warnings):
  ##        for i in range(len(warnings)-1, -1, -1):
  ##        pymodule = _orig__import__(name, globals, locals, fromlist)
  ##        if check :
  ##            try :
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/tool/process.py
---- a/wxPython/samples/ide/activegrid/tool/process.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/process.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/tool/process.py
+--- a/wxPython/samples/ide/activegrid/tool/process.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/process.py	Thu May 19 21:26:19 2011 +0200
 @@ -291,10 +291,7 @@
          else:
              return None
  
  
  def _whichFirstArg(cmd, env=None):
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/util/aglogging.py
---- a/wxPython/samples/ide/activegrid/util/aglogging.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/util/aglogging.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/util/aglogging.py
+--- a/wxPython/samples/ide/activegrid/util/aglogging.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/aglogging.py	Thu May 19 21:26:19 2011 +0200
 @@ -188,7 +188,7 @@
              setattr(e, EXCEPTION_INFO, {})
          except:
          e.exceptionInfo[key] = value
              
  def reportException(exception, out=None, stacktrace=False, diffable=False):
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/util/fileutils.py
---- a/wxPython/samples/ide/activegrid/util/fileutils.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/util/fileutils.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/util/fileutils.py
+--- a/wxPython/samples/ide/activegrid/util/fileutils.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/fileutils.py	Thu May 19 21:26:19 2011 +0200
 @@ -410,7 +410,7 @@
      if useEnv:
          for key, val in os.environ.items():
                  tokens[key] = val        
      
      f = open(infilepath, "r")
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/util/objutils.py
---- a/wxPython/samples/ide/activegrid/util/objutils.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/util/objutils.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/util/objutils.py
+--- a/wxPython/samples/ide/activegrid/util/objutils.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/objutils.py	Thu May 19 21:26:19 2011 +0200
 @@ -31,7 +31,7 @@
          return False
      if name != FUNCTION_HAS_ATTR and hasattr(obj, FUNCTION_HAS_ATTR):
          return __builtin__.__dict__[typeName]
      return None
      
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/util/utillang.py
---- a/wxPython/samples/ide/activegrid/util/utillang.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/util/utillang.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/util/utillang.py
+--- a/wxPython/samples/ide/activegrid/util/utillang.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/utillang.py	Thu May 19 21:26:19 2011 +0200
 @@ -75,9 +75,7 @@
      return tempfile.gettempdir()
  
                  return self.specialEntries[key]
              raise KeyError(e.args)
      def __setitem__(self, key, item): setattr(self.obj, key, item)
-diff -r fc1608a7a769 wxPython/samples/ide/activegrid/util/xmlmarshaller.py
---- a/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/samples/ide/activegrid/util/xmlmarshaller.py
+--- a/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Thu May 19 21:26:19 2011 +0200
 @@ -242,7 +242,7 @@
              else:
                  self.__xmlname__ = xmlName[i+1:]
                  obj = tuple(obj)
          endIfDef()
              
-diff -r fc1608a7a769 wxPython/sandbox/test_widgetLayout.py
---- a/wxPython/sandbox/test_widgetLayout.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/sandbox/test_widgetLayout.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/sandbox/test_widgetLayout.py
+--- a/wxPython/sandbox/test_widgetLayout.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/sandbox/test_widgetLayout.py	Thu May 19 21:26:19 2011 +0200
 @@ -290,7 +290,7 @@
              postCreate = postCreate.replace('\r', '\n')
  
              try:
                  m = __import__(moduleName)
              except importError:
-diff -r fc1608a7a769 wxPython/src/_font.i
---- a/wxPython/src/_font.i	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/src/_font.i	Tue Aug 31 10:27:02 2010 +0200
-@@ -514,7 +514,7 @@
+diff -r 032d33777dde wxPython/src/_font.i
+--- a/wxPython/src/_font.i	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/src/_font.i	Thu May 19 21:26:19 2011 +0200
+@@ -532,7 +532,7 @@
  
  class wxFont : public wxGDIObject {
  public:
  
      DocCtorStr(
          wxFont( int pointSize,
-diff -r fc1608a7a769 wxPython/src/_radio.i
---- a/wxPython/src/_radio.i	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/src/_radio.i	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/src/_radio.i
+--- a/wxPython/src/_radio.i	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/src/_radio.i	Thu May 19 21:26:19 2011 +0200
 @@ -26,7 +26,7 @@
  class wxRadioBox : public wxControl
  {
      %pythonPrepend wxRadioBox()       ""
      %pythonAppend  wxRadioBox         "self._setOORInfo(self)"
      %pythonAppend  wxRadioBox()       ""
-diff -r fc1608a7a769 wxPython/src/_slider.i
---- a/wxPython/src/_slider.i	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/src/_slider.i	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/src/_slider.i
+--- a/wxPython/src/_slider.i	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/src/_slider.i	Thu May 19 21:26:19 2011 +0200
 @@ -47,7 +47,7 @@
  
  class wxSlider : public wxControl {
      %pythonPrepend wxSlider()       ""
      %pythonAppend  wxSlider         "self._setOORInfo(self)"
      %pythonAppend  wxSlider()       ""
-diff -r fc1608a7a769 wxPython/src/_splitter.i
---- a/wxPython/src/_splitter.i	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/src/_splitter.i	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/src/_splitter.i
+--- a/wxPython/src/_splitter.i	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/src/_splitter.i	Thu May 19 21:26:19 2011 +0200
 @@ -110,7 +110,7 @@
  class wxSplitterWindow: public wxWindow
  {
      %pythonPrepend wxSplitterWindow()       ""
      %pythonAppend  wxSplitterWindow         "self._setOORInfo(self)"
      %pythonAppend  wxSplitterWindow()       ""
-diff -r fc1608a7a769 wxPython/wx/lib/floatbar.py
---- a/wxPython/wx/lib/floatbar.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/floatbar.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/floatbar.py
+--- a/wxPython/wx/lib/floatbar.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/floatbar.py	Thu May 19 21:26:19 2011 +0200
 @@ -90,17 +90,11 @@
              """
              wx.ToolBar.__init__(self, parent, *_args, **_kwargs)
              self.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouse)
  
  
-diff -r fc1608a7a769 wxPython/wx/lib/masked/combobox.py
---- a/wxPython/wx/lib/masked/combobox.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/combobox.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/combobox.py
+--- a/wxPython/wx/lib/masked/combobox.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/combobox.py	Thu May 19 21:26:19 2011 +0200
 @@ -92,7 +92,7 @@
          kwargs['choices'] = choices                 ## set up maskededit to work with choice list too
  
                      self._keyhandlers[key](event)
                  # else pass
              else:
-diff -r fc1608a7a769 wxPython/wx/lib/masked/ctrl.py
---- a/wxPython/wx/lib/masked/ctrl.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/ctrl.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/ctrl.py
+--- a/wxPython/wx/lib/masked/ctrl.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/ctrl.py	Thu May 19 21:26:19 2011 +0200
 @@ -80,11 +80,7 @@
      Actually a factory function providing a unifying
      interface for generating masked controls.
  
      if controlType == TEXT:
          return TextCtrl(*args, **kwargs)
-diff -r fc1608a7a769 wxPython/wx/lib/masked/ipaddrctrl.py
---- a/wxPython/wx/lib/masked/ipaddrctrl.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/ipaddrctrl.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/ipaddrctrl.py
+--- a/wxPython/wx/lib/masked/ipaddrctrl.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/ipaddrctrl.py	Thu May 19 21:26:19 2011 +0200
 @@ -87,11 +87,11 @@
                    setupEventHandling = True,        ## setup event handling by default
                    **kwargs):
              kwargs['validRegex'] = "(  \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))(\.(  \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))){3}"
  
  
-diff -r fc1608a7a769 wxPython/wx/lib/masked/maskededit.py
---- a/wxPython/wx/lib/masked/maskededit.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/maskededit.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/maskededit.py
+--- a/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:26:19 2011 +0200
 @@ -1365,7 +1365,7 @@
          # populate initial parameter list for configuration:
          for key, value in Field.valid_params.items():
                  del self._keyhandlers[keycode]
  
  
-@@ -2363,9 +2363,9 @@
+@@ -2364,9 +2364,9 @@
  
                  # .setdefault always constructs 2nd argument even if not needed, so we do this
                  # the old-fashioned way...
                      self._fields[1] = Field()
  
                  self._decimalpos = string.find( self._mask, '.')
-@@ -2390,7 +2390,7 @@
+@@ -2391,7 +2391,7 @@
              elif self._isInt:
                  # Skip field "discovery", and just construct a 1-field control with appropriate
                  # constraints for a integer entry.
                      self._fields[0] = Field(index=0)
                  end = len(self._mask)
                  if self._signOk and self._useParens:
-@@ -2423,8 +2423,8 @@
+@@ -2424,8 +2424,8 @@
  ####                        dbg('edit_end =', i)
                          edit_end = i
                          self._lookupField[i] = field_index
                              kwargs = Field.valid_params.copy()
                              kwargs['index'] = field_index
                              kwargs['extent'] = (edit_start, edit_end)
-@@ -2518,7 +2518,7 @@
+@@ -2519,7 +2519,7 @@
                  # Replace any current old fillchar with new one in current value;
                  # if action required, set reset_value flag so we can take that action
                  # after we're all done
                      if curvalue[pos] == old_fillchars[pos] and old_fillchars[pos] != fillChar:
                          reset_value = True
                          curvalue[pos] = fillChar
-@@ -2619,13 +2619,13 @@
+@@ -2620,13 +2620,13 @@
                  if exclude_chars != current_excludes:
                      inherit_args['excludeChars'] = exclude_chars
  
                      inherit_args[param] = self.GetCtrlParameter(param)
  ####                    dbg('inherit_args[%s]' % param, inherit_args[param])
  
-@@ -2712,8 +2712,8 @@
+@@ -2713,8 +2713,8 @@
  
          # Go process defaultValues and fillchars to construct the overall
          # template, and adjust the current value as necessary:
  
  ####        dbg('calculating template')
          self._calcTemplate(reset_fillchar, reset_default)
-@@ -2742,13 +2742,13 @@
+@@ -2743,13 +2743,13 @@
                  signkeys += ['(', ')']
              for key in signkeys:
                  keycode = ord(key)
                      self._SetKeyHandler(key, None)
  
  
-@@ -2807,25 +2807,25 @@
+@@ -2808,25 +2808,25 @@
              # make down act like tab, up act like shift-tab:
  
  ####            dbg('Registering numeric navigation and control handlers (if not already set)')
                  self._SetKeyHandler(self._fields[0]._groupChar, self._OnGroupChar)
  
  ##        dbg(indent=0, suspend=0)
-@@ -2996,7 +2996,7 @@
+@@ -2997,7 +2997,7 @@
          # Process navigation and control keys first, with
          # position/selection unadulterated:
          if key in self._nav + self._control:
                  keep_processing = self._keyhandlers[key](event)
                  if self._GetValue() != orig_value:
                      self.modified = True
-@@ -3021,7 +3021,7 @@
+@@ -3022,7 +3022,7 @@
  
          key = self._adjustKey(pos, key)     # apply formatting constraints to key:
  
              # there's an override for default behavior; use override function instead
  ##            dbg('using supplied key handler:', self._keyhandlers[key])
              keep_processing = self._keyhandlers[key](event)
-diff -r fc1608a7a769 wxPython/wx/lib/masked/numctrl.py
---- a/wxPython/wx/lib/masked/numctrl.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/numctrl.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/numctrl.py
+--- a/wxPython/wx/lib/masked/numctrl.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/numctrl.py	Thu May 19 21:26:19 2011 +0200
 @@ -550,7 +550,7 @@
  
          fields = {}
              text = old_numvalue
          
          if text != self._GetValue():
-diff -r fc1608a7a769 wxPython/wx/lib/masked/timectrl.py
---- a/wxPython/wx/lib/masked/timectrl.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/masked/timectrl.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/masked/timectrl.py
+--- a/wxPython/wx/lib/masked/timectrl.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/masked/timectrl.py	Thu May 19 21:26:19 2011 +0200
 @@ -389,28 +389,28 @@
          limited = self.__limited
          self.__posCurrent = 0
                  self.__displaySeconds = param_value
                  reset_format = True
  
-diff -r fc1608a7a769 wxPython/wx/lib/mvctree.py
---- a/wxPython/wx/lib/mvctree.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/mvctree.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/mvctree.py
+--- a/wxPython/wx/lib/mvctree.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/mvctree.py	Thu May 19 21:26:19 2011 +0200
 @@ -325,7 +325,7 @@
      def SetRoot(self, root):
          self.root = root
  
      def IsLeaf(self, node):
          return not os.path.isdir(node.path + os.sep + node.fileName)
-diff -r fc1608a7a769 wxPython/wx/lib/sized_controls.py
---- a/wxPython/wx/lib/sized_controls.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wx/lib/sized_controls.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wx/lib/sized_controls.py
+--- a/wxPython/wx/lib/sized_controls.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wx/lib/sized_controls.py	Thu May 19 21:26:19 2011 +0200
 @@ -499,37 +499,37 @@
              
          elif type == "table":
                  sizer.SetVGap(options['vgap'])
          if sizer:
              self._SetNewSizer(sizer)
-diff -r fc1608a7a769 wxPython/wxversion/wxversion.py
---- a/wxPython/wxversion/wxversion.py	Tue Aug 31 09:56:29 2010 +0200
-+++ b/wxPython/wxversion/wxversion.py	Tue Aug 31 10:27:02 2010 +0200
+diff -r 032d33777dde wxPython/wxversion/wxversion.py
+--- a/wxPython/wxversion/wxversion.py	Thu May 19 21:25:10 2011 +0200
++++ b/wxPython/wxversion/wxversion.py	Thu May 19 21:26:19 2011 +0200
 @@ -140,7 +140,7 @@
  
      # If we get here then this is the first time wxversion is used, 

modern-raise.patch

-diff -r bfcf4e83e65b wx/build/tools/build-wxwidgets.py
---- a/wx/build/tools/build-wxwidgets.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wx/build/tools/build-wxwidgets.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -31,7 +31,7 @@
+diff -r 0cdd7706a3ec wx/build/tools/build-wxwidgets.py
+--- a/wx/build/tools/build-wxwidgets.py	Thu May 19 21:27:41 2011 +0200
++++ b/wx/build/tools/build-wxwidgets.py	Thu May 19 21:29:01 2011 +0200
+@@ -58,7 +58,7 @@
      if code != 0:
          print msg
          if exitWithException:
          else:
              sys.exit(1)
       
-diff -r bfcf4e83e65b wxPython/config.py
---- a/wxPython/config.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/config.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -777,7 +777,7 @@
+diff -r 0cdd7706a3ec wxPython/config.py
+--- a/wxPython/config.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/config.py	Thu May 19 21:29:01 2011 +0200
+@@ -789,7 +789,7 @@
              self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                         extra_postargs)
          except DistutilsExecError, msg:
  
  
  _orig_parse_makefile = distutils.sysconfig.parse_makefile
-@@ -816,13 +816,13 @@
+@@ -828,13 +828,13 @@
              self.spawn(["windres", "-i", src, "-o", obj] +
                         [arg for arg in cc_args if arg.startswith("-I")] )
          except DistutilsExecError, msg:
  
  distutils.cygwinccompiler.CygwinCCompiler._compile = _compile
  
-@@ -862,7 +862,7 @@
+@@ -874,7 +874,7 @@
  
  
  if UNICODE and WXPORT not in ['msw', 'gtk2', 'osx_carbon', 'osx_cocoa']:
  
  
  if CONTRIBS_INC:
-@@ -1048,7 +1048,7 @@
+@@ -1060,7 +1060,7 @@
              GENDIR = 'msw'
              portcfg = ''
          else:
  
          cflags += portcfg.split()
  
-diff -r bfcf4e83e65b wxPython/demo/Main.py
---- a/wxPython/demo/Main.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/demo/Main.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/demo/Main.py
+--- a/wxPython/demo/Main.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/demo/Main.py	Thu May 19 21:29:01 2011 +0200
 @@ -51,7 +51,7 @@
  # Please see the __demo__.py file in the demo/agw/ folder for an example.
  # Last updated: Andrea Gavana, 20 Oct 2008, 18.00 GMT
  import cPickle, cStringIO, re, urllib2
  import shutil
  from threading import Thread
-@@ -1411,11 +1411,11 @@
+@@ -1413,11 +1413,11 @@
          # traceback list entries: (filename, line number, function name, text)
          self.traceback = traceback.extract_tb(exc_info[2])
  
  
          # If it's a syntax error, extra information needs
          # to be added to the traceback
-diff -r bfcf4e83e65b wxPython/distrib/mac/buildpkg.py
---- a/wxPython/distrib/mac/buildpkg.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/distrib/mac/buildpkg.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/distrib/mac/buildpkg.py
+--- a/wxPython/distrib/mac/buildpkg.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/distrib/mac/buildpkg.py	Thu May 19 21:29:01 2011 +0200
 @@ -194,7 +194,7 @@
              if k in fields:
                  self.packageInfo[k] = v
  
          # Check where we should leave the output. Default is current directory
          outputdir = options.get("OutputDir", os.getcwd())
-diff -r bfcf4e83e65b wxPython/distrib/mac/bundlebuilder.py
---- a/wxPython/distrib/mac/bundlebuilder.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/distrib/mac/bundlebuilder.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/distrib/mac/bundlebuilder.py
+--- a/wxPython/distrib/mac/bundlebuilder.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/distrib/mac/bundlebuilder.py	Thu May 19 21:29:01 2011 +0200
 @@ -396,10 +396,10 @@
      def setup(self):
          if ((self.standalone or self.semi_standalone)
      if mkdirs:
          makedirs(os.path.dirname(dst))
      os.symlink(os.path.abspath(src), dst)
-diff -r bfcf4e83e65b wxPython/distrib/make_installer.py
---- a/wxPython/distrib/make_installer.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/distrib/make_installer.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -787,7 +787,7 @@
+diff -r 0cdd7706a3ec wxPython/distrib/make_installer.py
+--- a/wxPython/distrib/make_installer.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/distrib/make_installer.py	Thu May 19 21:29:01 2011 +0200
+@@ -790,7 +790,7 @@
                ]:
          if os.path.exists(p):
              return p
  
  
  def get_batch_files():
-diff -r bfcf4e83e65b wxPython/docs/bin/BuildAPIHelpBook.py
---- a/wxPython/docs/bin/BuildAPIHelpBook.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/docs/bin/BuildAPIHelpBook.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/docs/bin/BuildAPIHelpBook.py
+--- a/wxPython/docs/bin/BuildAPIHelpBook.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/docs/bin/BuildAPIHelpBook.py	Thu May 19 21:29:01 2011 +0200
 @@ -71,7 +71,7 @@
              elif type(i) is types.TupleType:
                  r.append(entry_hhx%i)
  
      data = read_segment(os.path.join(api_path, 'trees.html'),
            '<!-- =========== START OF CLASS HIERARCHY =========== -->',
-diff -r bfcf4e83e65b wxPython/samples/StyleEditor/STCStyleEditor.py
---- a/wxPython/samples/StyleEditor/STCStyleEditor.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/samples/StyleEditor/STCStyleEditor.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/samples/StyleEditor/STCStyleEditor.py
+--- a/wxPython/samples/StyleEditor/STCStyleEditor.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/samples/StyleEditor/STCStyleEditor.py	Thu May 19 21:29:01 2011 +0200
 @@ -1227,7 +1227,7 @@
  
  def initFromConfig(configFile, lang):
      cfg = wx.FileConfig(localFilename=configFile, style= wx.CONFIG_USE_LOCAL_FILE)
      cfg.SetExpandEnvVars(False)
  
-diff -r bfcf4e83e65b wxPython/samples/ide/activegrid/tool/checker.py
---- a/wxPython/samples/ide/activegrid/tool/checker.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/samples/ide/activegrid/tool/checker.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/samples/ide/activegrid/tool/checker.py
+--- a/wxPython/samples/ide/activegrid/tool/checker.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/checker.py	Thu May 19 21:29:01 2011 +0200
 @@ -218,7 +218,7 @@
              if p is not packages[-1] :
                  if file is not None :
          except SyntaxError, (message, (fileName, line, col, text)):
              # ActiveGrid: added this for better feedback when module couldn't be loaded.
              w = Warning(self.fullpath, line, _("Syntax Error: %s\n%s\n%s^error near here") % (message, text, ' '*(col-1)))
-diff -r bfcf4e83e65b wxPython/samples/ide/activegrid/util/xmlmarshaller.py
---- a/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/samples/ide/activegrid/util/xmlmarshaller.py
+--- a/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/samples/ide/activegrid/util/xmlmarshaller.py	Thu May 19 21:29:01 2011 +0200
 @@ -1090,7 +1090,7 @@
                  if hasattr(obj, "__xmlattrgroups__"):
                      attrGroups = obj.__xmlattrgroups__.copy()
                      for n in attrGroups.iterkeys():
                          members_to_skip.extend(attrGroups[n])
                  else:
-diff -r bfcf4e83e65b wxPython/src/_event_ex.py
---- a/wxPython/src/_event_ex.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/src/_event_ex.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/src/_event_ex.py
+--- a/wxPython/src/_event_ex.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/src/_event_ex.py	Thu May 19 21:29:01 2011 +0200
 @@ -9,7 +9,7 @@
      """
      def __init__(self, evtType, expectedIDs=0):
  
          self.Bind(target, id1, id2, func)
  
-diff -r bfcf4e83e65b wxPython/src/_filesys.i
---- a/wxPython/src/_filesys.i	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/src/_filesys.i	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/src/_filesys.i
+--- a/wxPython/src/_filesys.i	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/src/_filesys.i	Thu May 19 21:29:01 2011 +0200
 @@ -250,7 +250,7 @@
          try:
              __wxMemoryFSHandler_AddFile_Data(filename, dataItem)
  }
  
  
-diff -r bfcf4e83e65b wxPython/wx/lib/agw/aui/auibook.py
---- a/wxPython/wx/lib/agw/aui/auibook.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/agw/aui/auibook.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -4981,7 +4981,7 @@
+diff -r 0cdd7706a3ec wxPython/wx/lib/agw/aui/auibook.py
+--- a/wxPython/wx/lib/agw/aui/auibook.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/agw/aui/auibook.py	Thu May 19 21:29:01 2011 +0200
+@@ -5066,7 +5066,7 @@
                  bmp = wx.BitmapFromImage(img)
              self._naviIcon = bmp
          else:
 -            raise TypeError, "SetNavigatorIcon requires a valid bitmap"
 +            raise TypeError("SetNavigatorIcon requires a valid bitmap")
  
-         
+ 
      def OnNavigationKeyNotebook(self, event):
-diff -r bfcf4e83e65b wxPython/wx/lib/art/img2pyartprov.py
---- a/wxPython/wx/lib/art/img2pyartprov.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/art/img2pyartprov.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/art/img2pyartprov.py
+--- a/wxPython/wx/lib/art/img2pyartprov.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/art/img2pyartprov.py	Thu May 19 21:29:01 2011 +0200
 @@ -37,12 +37,12 @@
          try:
              self.catalog.update(imageModule.catalog)
  
      def GenerateArtIdList(self):
          return [self.artIdPrefix+name for name in self.index]
-diff -r bfcf4e83e65b wxPython/wx/lib/dragscroller.py
---- a/wxPython/wx/lib/dragscroller.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/dragscroller.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/dragscroller.py
+--- a/wxPython/wx/lib/dragscroller.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/dragscroller.py	Thu May 19 21:29:01 2011 +0200
 @@ -43,7 +43,7 @@
      def Start(self, pos):
          """ Start a drag scroll operation """
          
          self.pos = pos
          self.scrollwin.SetCursor(wx.StockCursor(wx.CURSOR_SIZING))
-diff -r bfcf4e83e65b wxPython/wx/lib/evtmgr.py
---- a/wxPython/wx/lib/evtmgr.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/evtmgr.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/evtmgr.py
+--- a/wxPython/wx/lib/evtmgr.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/evtmgr.py	Thu May 19 21:29:01 2011 +0200
 @@ -82,7 +82,8 @@
          # 1. Check if the 'event' is actually one of the multi-
          #    event macros.
  
          # Support a more OO API.  This allows the GUI widget itself to
          # be specified, and the id to be retrieved from the system,
-diff -r bfcf4e83e65b wxPython/wx/lib/graphics.py
---- a/wxPython/wx/lib/graphics.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/graphics.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/graphics.py
+--- a/wxPython/wx/lib/graphics.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/graphics.py	Thu May 19 21:29:01 2011 +0200
 @@ -942,7 +942,7 @@
          elif len(args) == 1:
              stop = args[0]
          
          pattern = cairo.RadialGradient(xo, yo, 0.0, xc, yc, radius)
          for stop in stops:
-diff -r bfcf4e83e65b wxPython/wx/lib/grids.py
---- a/wxPython/wx/lib/grids.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/grids.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/grids.py
+--- a/wxPython/wx/lib/grids.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/grids.py	Thu May 19 21:29:01 2011 +0200
 @@ -77,7 +77,7 @@
      def __init__(self, rows=0, cols=0, hgap=0, vgap=0):
          wx.PySizer.__init__(self)
          self.cols = cols
  
      def GetRows(self):
-diff -r bfcf4e83e65b wxPython/wx/lib/langlistctrl.py
---- a/wxPython/wx/lib/langlistctrl.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/langlistctrl.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/langlistctrl.py
+--- a/wxPython/wx/lib/langlistctrl.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/langlistctrl.py	Thu May 19 21:29:01 2011 +0200
 @@ -344,7 +344,7 @@
      for n in dir(wx):
          if n.startswith('LANGUAGE_') and getattr(wx, n) == lang:
  
  
  #-------------------------------------------------------------------------------
-diff -r bfcf4e83e65b wxPython/wx/lib/mixins/listctrl.py
---- a/wxPython/wx/lib/mixins/listctrl.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/mixins/listctrl.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/mixins/listctrl.py
+--- a/wxPython/wx/lib/mixins/listctrl.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/mixins/listctrl.py	Thu May 19 21:29:01 2011 +0200
 @@ -64,7 +64,7 @@
          self.SetColumnCount(numColumns)
          list = self.GetListCtrl()
          list.Bind(wx.EVT_LIST_COL_CLICK, self.__OnColClick, list)
  
  
-diff -r bfcf4e83e65b wxPython/wx/lib/plot.py
---- a/wxPython/wx/lib/plot.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/plot.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/plot.py
+--- a/wxPython/wx/lib/plot.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/plot.py	Thu May 19 21:29:01 2011 +0200
 @@ -129,7 +129,7 @@
              (it's not part of the standard Python distribution). See the
              Numeric Python site (http://numpy.scipy.org) for information on
  
      def _drawAxes(self, dc, p1, p2, scale, shift, xticks, yticks):
          
-diff -r bfcf4e83e65b wxPython/wx/lib/pubsub/pubsub1/pub.py
---- a/wxPython/wx/lib/pubsub/pubsub1/pub.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/pubsub/pubsub1/pub.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/pubsub/pubsub1/pub.py
+--- a/wxPython/wx/lib/pubsub/pubsub1/pub.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/pubsub/pubsub1/pub.py	Thu May 19 21:29:01 2011 +0200
 @@ -122,7 +122,7 @@
      """Convert items to tuple if not already one, 
      so items must be a list, tuple or non-sequence"""
                               
          assert (min == 0 and d>0) or (min == 1)
  
-diff -r bfcf4e83e65b wxPython/wx/lib/rpcMixin.py
---- a/wxPython/wx/lib/rpcMixin.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/rpcMixin.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/rpcMixin.py
+--- a/wxPython/wx/lib/rpcMixin.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/rpcMixin.py	Thu May 19 21:29:01 2011 +0200
 @@ -162,7 +162,7 @@
        # The GUI threw an exception, release the status lock
        #  and re-raise the exception
          event.rpcStatus.status = rpcEXCEPT
        else:
          if res is None:
-diff -r bfcf4e83e65b wxPython/wx/lib/wxPlotCanvas.py
---- a/wxPython/wx/lib/wxPlotCanvas.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/wxPlotCanvas.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/wxPlotCanvas.py
+--- a/wxPython/wx/lib/wxPlotCanvas.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/wxPlotCanvas.py	Thu May 19 21:29:01 2011 +0200
 @@ -307,7 +307,7 @@
                  return lower, upper
              else:
  
      def _drawAxes(self, dc, xaxis, yaxis,
                    bb1, bb2, scale, shift, xticks, yticks):
-diff -r bfcf4e83e65b wxPython/wx/lib/wxcairo.py
---- a/wxPython/wx/lib/wxcairo.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/wxcairo.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/wxcairo.py
+--- a/wxPython/wx/lib/wxcairo.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/wxcairo.py	Thu May 19 21:29:01 2011 +0200
 @@ -79,7 +79,7 @@
      at this time.)
      """
      dll = ctypes.CDLL(location)
      _dlls[key] = dll
      return dll
-diff -r bfcf4e83e65b wxPython/wx/lib/wxpTag.py
---- a/wxPython/wx/lib/wxpTag.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/lib/wxpTag.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/lib/wxpTag.py
+--- a/wxPython/wx/lib/wxpTag.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/lib/wxpTag.py	Thu May 19 21:29:01 2011 +0200
 @@ -118,7 +118,7 @@
          elif name == PARAMTAG:
              return self.HandleParamTag(tag)
  
          # now look for width and height
          width = -1
-diff -r bfcf4e83e65b wxPython/wx/py/dispatcher.py
---- a/wxPython/wx/py/dispatcher.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/py/dispatcher.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/py/dispatcher.py
+--- a/wxPython/wx/py/dispatcher.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/py/dispatcher.py	Thu May 19 21:29:01 2011 +0200
 @@ -45,7 +45,7 @@
      * If weak is true, weak references will be used.
      """
      if not (fc.co_flags & 8):
          # fc does not have a **kwds type parameter, therefore 
          # remove unacceptable arguments.
-diff -r bfcf4e83e65b wxPython/wx/py/pseudo.py
---- a/wxPython/wx/py/pseudo.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/py/pseudo.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/py/pseudo.py
+--- a/wxPython/wx/py/pseudo.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/py/pseudo.py	Thu May 19 21:29:01 2011 +0200
 @@ -31,7 +31,7 @@
          if callable(method):
              self.method = method
  
      def isatty(self):
          return 1
-diff -r bfcf4e83e65b wxPython/wx/py/shell.py
---- a/wxPython/wx/py/shell.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/py/shell.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/py/shell.py
+--- a/wxPython/wx/py/shell.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/py/shell.py	Thu May 19 21:29:01 2011 +0200
 @@ -183,7 +183,7 @@
          if hasattr(self.other, name):
              return getattr(self.other, name)
  
      def _getAttributeNames(self):
          """Return list of magic attributes to extend introspection."""
-diff -r bfcf4e83e65b wxPython/wx/py/sliceshell.py
---- a/wxPython/wx/py/sliceshell.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/py/sliceshell.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/py/sliceshell.py
+--- a/wxPython/wx/py/sliceshell.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/py/sliceshell.py	Thu May 19 21:29:01 2011 +0200
 @@ -553,7 +553,7 @@
          if hasattr(self.other, name):
              return getattr(self.other, name)
  
      def _getAttributeNames(self):
          """Return list of magic attributes to extend introspection."""
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/eclib/panelbox.py
---- a/wxPython/wx/tools/Editra/src/eclib/panelbox.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/eclib/panelbox.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -221,7 +221,7 @@
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/eclib/panelbox.py
+--- a/wxPython/wx/tools/Editra/src/eclib/panelbox.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/eclib/panelbox.py	Thu May 19 21:29:01 2011 +0200
+@@ -222,7 +222,7 @@
              self._items.insert(index, item)
              self._sizer.Insert(index, item, 0, wx.EXPAND)
          else:
  
      def Remove(self, index):
          """Remove an item from the list
-@@ -233,7 +233,7 @@
+@@ -234,7 +234,7 @@
              self._sizer.Remove(item)
              self.Layout()
          else:
  
      def RemoveAll(self):
          """Remove all items from the list"""
-@@ -256,7 +256,7 @@
+@@ -257,7 +257,7 @@
              item.SetSelection(select)
              self._last_sel = idx
          else:
  
  #--------------------------------------------------------------------------#
  
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/ed_script.py
---- a/wxPython/wx/tools/Editra/src/ed_script.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/ed_script.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -111,7 +111,7 @@
-         if isinstance(name, basestring):
-             self.name = name
-         else:
--            raise TypeError, "SetName expects a string"
-+            raise TypeError("SetName expects a string")
- 
- class ScriptCache(object):
-     """Storage manager class for Script objects. Manages providing
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/ed_tab.py
---- a/wxPython/wx/tools/Editra/src/ed_tab.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/ed_tab.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/ed_tab.py
+--- a/wxPython/wx/tools/Editra/src/ed_tab.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/ed_tab.py	Thu May 19 21:29:01 2011 +0200
 @@ -73,7 +73,7 @@
          @return: (unicode) string
  
 -        raise NotImplementedError, "GetName Must be implemented!!"
 +        raise NotImplementedError("GetName Must be implemented!!")
  
-     def GetTabMenu(self):
-         """Get the context menu to show on the tab
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/ed_txt.py
---- a/wxPython/wx/tools/Editra/src/ed_txt.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/ed_txt.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -384,7 +384,7 @@
+     def GetTabImage(self):
+         """Get the Bitmap to use for the tab
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/ed_txt.py
+--- a/wxPython/wx/tools/Editra/src/ed_txt.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/ed_txt.py	Thu May 19 21:29:01 2011 +0200
+@@ -391,7 +391,7 @@
              return txt
          else:
              Log("[ed_txt][err] Read Error: %s" % self.GetLastError())
  
      def ReadAsync(self, control):
          """Read the file asynchronously on a separate thread
-@@ -431,11 +431,11 @@
+@@ -439,11 +439,11 @@
  #                if enc is not None:
  #                    self.encoding = enc
  #                else:
  
      def RemoveModifiedCallback(self, callback):
          """Remove a registered callback
-@@ -504,7 +504,7 @@
+@@ -513,7 +513,7 @@
              self.Close()
              Log("[ed_txt][info] %s was written successfully" % self.GetPath())
          else:
  
  #-----------------------------------------------------------------------------#
  
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/extern/flatnotebook.py
---- a/wxPython/wx/tools/Editra/src/extern/flatnotebook.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/extern/flatnotebook.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/extern/flatnotebook.py
+--- a/wxPython/wx/tools/Editra/src/extern/flatnotebook.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/extern/flatnotebook.py	Thu May 19 21:29:01 2011 +0200
 @@ -3453,7 +3453,7 @@
                  bmp = wx.BitmapFromImage(img)
              self._naviIcon = bmp
  
      def OnNavigationKey(self, event):
          """ Handles the wx.EVT_NAVIGATION_KEY event for L{FlatNotebook}. """
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/extern/pkg_resources.py
---- a/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/extern/pkg_resources.py
+--- a/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu May 19 21:29:01 2011 +0200
 @@ -136,7 +136,7 @@
                  _cache.append(value.strip().split("."))
                  break
          return getattr(self._provider, attr)
  
      #@classmethod
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/extern/pubsub.py
---- a/wxPython/wx/tools/Editra/src/extern/pubsub.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/extern/pubsub.py	Wed Nov 24 19:36:56 2010 +0100
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/extern/pubsub.py
+--- a/wxPython/wx/tools/Editra/src/extern/pubsub.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/extern/pubsub.py	Thu May 19 21:29:01 2011 +0200
 @@ -102,7 +102,7 @@
      """Convert items to tuple if not already one, 
      so items must be a list, tuple or non-sequence"""
                               
          assert (min == 0 and d>0) or (min == 1)
  
-diff -r bfcf4e83e65b wxPython/wx/tools/Editra/src/syntax/synextreg.py
---- a/wxPython/wx/tools/Editra/src/syntax/synextreg.py	Wed Nov 24 19:35:57 2010 +0100
-+++ b/wxPython/wx/tools/Editra/src/syntax/synextreg.py	Wed Nov 24 19:36:56 2010 +0100
-@@ -437,7 +437,7 @@
+diff -r 0cdd7706a3ec wxPython/wx/tools/Editra/src/syntax/synextreg.py
+--- a/wxPython/wx/tools/Editra/src/syntax/synextreg.py	Thu May 19 21:27:41 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/syntax/synextreg.py	Thu May 19 21:29:01 2011 +0200
+@@ -439,7 +439,7 @@
  
          """
          if not isinstance(y, list):

modern-types-module.patch

-diff -r 779987aa8940 wx/build/tools/build-wxwidgets.py
---- a/wx/build/tools/build-wxwidgets.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wx/build/tools/build-wxwidgets.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wx/build/tools/build-wxwidgets.py
+--- a/wx/build/tools/build-wxwidgets.py	Thu May 19 21:26:24 2011 +0200
++++ b/wx/build/tools/build-wxwidgets.py	Thu May 19 21:27:38 2011 +0200
 @@ -14,7 +14,6 @@
  import optparse
  import platform
  import shutil
 -import types
+ import subprocess
  
  # builder object
- wxBuilder = None
-@@ -167,7 +166,7 @@
+@@ -195,7 +194,7 @@
+     for opt in keys:
          default = option_dict[opt][0]
-         
          action = "store"
 -        if type(default) == types.BooleanType:
 +        if isinstance(default, bool):
              action = "store_true"
-         parser.add_option("--" + opt, default=default, action=action, dest=opt, help=option_dict[opt][1])
-     
-diff -r 779987aa8940 wxPython/build-wxpython.py
---- a/wxPython/build-wxpython.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/build-wxpython.py	Mon Aug 30 20:00:32 2010 +0200
+         parser.add_option("--" + opt, default=default, action=action, dest=opt, 
+                           help=option_dict[opt][1])
+diff -r f2cf0cd4feac wxPython/build-wxpython.py
+--- a/wxPython/build-wxpython.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/build-wxpython.py	Thu May 19 21:27:38 2011 +0200
 @@ -8,7 +8,6 @@
  import shutil
  import string
  import cfg_version as cfg
  
  from distutils.dep_util  import newer
-@@ -75,7 +74,7 @@
+@@ -106,7 +105,7 @@
  for opt in keys:
      default = option_dict[opt][0]
      action = "store"
          action = "store_true"
      if len(option_dict[opt]) > 2:
          # Even with the callback action we still have to workaround optparse's
-diff -r 779987aa8940 wxPython/wx/lib/filebrowsebutton.py
---- a/wxPython/wx/lib/filebrowsebutton.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/wx/lib/filebrowsebutton.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wxPython/wx/lib/filebrowsebutton.py
+--- a/wxPython/wx/lib/filebrowsebutton.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/wx/lib/filebrowsebutton.py	Thu May 19 21:27:38 2011 +0200
 @@ -17,7 +17,6 @@
  #
  
  
  #        if size.width != -1 or size.height != -1:
  #            self.SetSize(size)
-diff -r 779987aa8940 wxPython/wx/lib/masked/maskededit.py
---- a/wxPython/wx/lib/masked/maskededit.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/wx/lib/masked/maskededit.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wxPython/wx/lib/masked/maskededit.py
+--- a/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/wx/lib/masked/maskededit.py	Thu May 19 21:27:38 2011 +0200
 @@ -1491,7 +1491,7 @@
              self._rangeHigh = 0
              self._rangeLow  = 0
                      c = wx.NamedColour(ctrl_kwargs[key])
                      if c.Get() == (-1, -1, -1):
                          raise TypeError('%s not a legal color specification for %s' % (repr(ctrl_kwargs[key]), key))
-@@ -3046,9 +3046,9 @@
+@@ -3047,9 +3047,9 @@
                      char = unichr(event.GetUnicodeKey())
  ##                    dbg('unicode char:', char)
                  excludes = u''
                      excludes += self._ctrl_constraints._excludeChars.decode(self._defaultEncoding)
              else:
                  char = chr(key) # (must work if we got this far)
-@@ -4601,7 +4601,7 @@
+@@ -4602,7 +4602,7 @@
  
          # convert okchars to unicode if required; will force subsequent appendings to
          # result in unicode strings
              okchars = okchars.decode(self._defaultEncoding)
  
          field = self._FindField(pos)
-@@ -5189,7 +5189,7 @@
+@@ -5190,7 +5190,7 @@
                  left  = text[0:pos]
                  right   = text[pos+1:]
  
                  # convert the keyboard constant to a unicode value, to
                  # ensure it can be concatenated into the control value:
                  char = char.decode(self._defaultEncoding)
-@@ -5727,7 +5727,7 @@
+@@ -5728,7 +5728,7 @@
          else:
              item = 'selection'
  ##        dbg('maxlength:', maxlength)
              paste_text = paste_text.decode(self._defaultEncoding)
  
          length_considered = len(paste_text)
-@@ -5834,7 +5834,7 @@
+@@ -5835,7 +5835,7 @@
  
          if paste_text is not None:
  
                  paste_text = paste_text.decode(self._defaultEncoding)
  
  ##            dbg('paste text: "%s"' % paste_text)
-diff -r 779987aa8940 wxPython/wx/lib/masked/numctrl.py
---- a/wxPython/wx/lib/masked/numctrl.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/wx/lib/masked/numctrl.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wxPython/wx/lib/masked/numctrl.py
+--- a/wxPython/wx/lib/masked/numctrl.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/wx/lib/masked/numctrl.py	Thu May 19 21:27:38 2011 +0200
 @@ -399,7 +399,6 @@
  
  import  copy
  ##            dbg(indent=0)
              raise ValueError (
                  'NumCtrl requires numeric value, passed %s'% repr(value) )
-diff -r 779987aa8940 wxPython/wx/lib/masked/timectrl.py
---- a/wxPython/wx/lib/masked/timectrl.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/wx/lib/masked/timectrl.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wxPython/wx/lib/masked/timectrl.py
+--- a/wxPython/wx/lib/masked/timectrl.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/wx/lib/masked/timectrl.py	Thu May 19 21:27:38 2011 +0200
 @@ -274,7 +274,6 @@
  
  import  copy
  
              # Construct constant wxDateTime, then try to parse the string:
              wxdt = wx.DateTimeFromDMY(1, 0, 1970)
-diff -r 779987aa8940 wxPython/wx/lib/printout.py
---- a/wxPython/wx/lib/printout.py	Mon Aug 30 19:58:05 2010 +0200
-+++ b/wxPython/wx/lib/printout.py	Mon Aug 30 20:00:32 2010 +0200
+diff -r f2cf0cd4feac wxPython/wx/lib/printout.py
+--- a/wxPython/wx/lib/printout.py	Thu May 19 21:26:24 2011 +0200
++++ b/wxPython/wx/lib/printout.py	Thu May 19 21:27:38 2011 +0200
 @@ -23,7 +23,6 @@
  # o Add a small _main_ for self test
   

py3k-compatible-exec.patch

-diff -r f6463b1ee8c6 wxPython/demo/Main.py
---- a/wxPython/demo/Main.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/demo/Main.py	Thu Aug 26 15:33:34 2010 +0200
-@@ -1336,7 +1336,7 @@
+diff -r 1a6b2dd660e7 wxPython/demo/Main.py
+--- a/wxPython/demo/Main.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/demo/Main.py	Thu May 19 21:42:50 2011 +0200
+@@ -1341,7 +1341,7 @@
              
              try:
                  code = compile(source, description, "exec")        
              except:
                  self.modules[modID][4] = DemoError(sys.exc_info())
                  self.modules[modID][0] = None
-diff -r f6463b1ee8c6 wxPython/demo/PropertyGrid.py
---- a/wxPython/demo/PropertyGrid.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/demo/PropertyGrid.py	Thu Aug 26 15:33:34 2010 +0200
-@@ -866,7 +866,7 @@
+diff -r 1a6b2dd660e7 wxPython/demo/PropertyGrid.py
+--- a/wxPython/demo/PropertyGrid.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/demo/PropertyGrid.py	Thu May 19 21:42:50 2011 +0200
+@@ -871,7 +871,7 @@
                  sandbox = {'obj':ValueObject(),
                             'wx':wx,
                             'datetime':datetime}
                  t_start = time.time()
                  #print(sandbox['obj'].__dict__)
                  self.pg.SetPropertyValues(sandbox['obj'])
-@@ -912,7 +912,7 @@
+@@ -917,7 +917,7 @@
              dlg = MemoDialog(self,"Enter Content for Object Used for AutoFill",default_object_content1)
              if dlg.ShowModal() == wx.ID_OK:
                  sandbox = {'object':ValueObject(),'wx':wx}
                  t_start = time.time()
                  self.pg.AutoFill(sandbox['object'])
                  t_end = time.time()
-diff -r f6463b1ee8c6 wxPython/samples/ide/activegrid/tool/DebuggerHarness.py
---- a/wxPython/samples/ide/activegrid/tool/DebuggerHarness.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/samples/ide/activegrid/tool/DebuggerHarness.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/samples/ide/activegrid/tool/DebuggerHarness.py
+--- a/wxPython/samples/ide/activegrid/tool/DebuggerHarness.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/samples/ide/activegrid/tool/DebuggerHarness.py	Thu May 19 21:42:50 2011 +0200
 @@ -140,7 +140,7 @@
              if _VERBOSE: print "Running file ", fileName
              sys.settrace(self.trace_dispatch)
              return output.getvalue()
              sys.stdout = out
              sys.stderr = err        
-diff -r f6463b1ee8c6 wxPython/sandbox/test_widgetLayout.py
---- a/wxPython/sandbox/test_widgetLayout.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/sandbox/test_widgetLayout.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/sandbox/test_widgetLayout.py
+--- a/wxPython/sandbox/test_widgetLayout.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/sandbox/test_widgetLayout.py	Thu May 19 21:42:50 2011 +0200
 @@ -312,7 +312,7 @@
              ns.update(globals())
              ns.update(locals())
              except Exception, e:
                  wx.MessageBox("Got a '%s' Exception!" % e.__class__.__name__, "Error")
                  import traceback
-diff -r f6463b1ee8c6 wxPython/wx/lib/multisash.py
---- a/wxPython/wx/lib/multisash.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/lib/multisash.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/lib/multisash.py
+--- a/wxPython/wx/lib/multisash.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/lib/multisash.py	Thu May 19 21:42:50 2011 +0200
 @@ -63,7 +63,7 @@
      def SetSaveData(self,data):
          mod = data['_defChild_mod']
          detClass = eval(dChild)
          self.SetDimensions(data['x'],data['y'],data['w'],data['h'])
          old = self.detail
-diff -r f6463b1ee8c6 wxPython/wx/lib/shell.py
---- a/wxPython/wx/lib/shell.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/lib/shell.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/lib/shell.py
+--- a/wxPython/wx/lib/shell.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/lib/shell.py	Thu May 19 21:42:50 2011 +0200
 @@ -308,7 +308,7 @@
          out.BeginBatch()
          out.write_in(source)
          except SystemExit:
              # SystemExit is not handled and has to be re-raised
              raise
-diff -r f6463b1ee8c6 wxPython/wx/py/buffer.py
---- a/wxPython/wx/py/buffer.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/py/buffer.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/py/buffer.py
+--- a/wxPython/wx/py/buffer.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/py/buffer.py	Thu May 19 21:42:50 2011 +0200
 @@ -122,7 +122,7 @@
                  raise
  #                return False
              except:
                  raise
  #                return False
-diff -r f6463b1ee8c6 wxPython/wx/tools/Editra/src/autocomp/pycomp.py
---- a/wxPython/wx/tools/Editra/src/autocomp/pycomp.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/tools/Editra/src/autocomp/pycomp.py	Thu Aug 26 15:33:34 2010 +0200
-@@ -193,13 +193,13 @@
+diff -r 1a6b2dd660e7 wxPython/wx/tools/Editra/src/autocomp/pycomp.py
+--- a/wxPython/wx/tools/Editra/src/autocomp/pycomp.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/autocomp/pycomp.py	Thu May 19 21:42:50 2011 +0200
+@@ -200,7 +200,7 @@
          src = scope.get_code()
          dbg("[pycomp] Generated source: %s" % src)
          try: 
 +            exec(src, self.compldict)
          except Exception, msg:
              dbg("[pycomp][err] src exec: %s" % msg)
+         else:
+@@ -208,7 +208,7 @@
  
          for loc in scope.locals:
              try: 
 +                exec(loc, self.compldict)
              except Exception, msg:
                  dbg("[pycomp][err] local exec %s [%s]" % (msg, loc))
- 
-diff -r f6463b1ee8c6 wxPython/wx/tools/Editra/src/ed_crypt.py
---- a/wxPython/wx/tools/Editra/src/ed_crypt.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/tools/Editra/src/ed_crypt.py	Thu Aug 26 15:33:34 2010 +0200
+             else:
+diff -r 1a6b2dd660e7 wxPython/wx/tools/Editra/src/ed_crypt.py
+--- a/wxPython/wx/tools/Editra/src/ed_crypt.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/ed_crypt.py	Thu May 19 21:42:50 2011 +0200
 @@ -68,7 +68,7 @@
      return ''.join([g(y) for y in ''.join(['\\%o'%ord(x) for x in text])])
  
      return s
  
  #-----------------------------------------------------------------------------#
-diff -r f6463b1ee8c6 wxPython/wx/tools/Editra/src/extern/pkg_resources.py
---- a/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/tools/Editra/src/extern/pkg_resources.py
+--- a/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/tools/Editra/src/extern/pkg_resources.py	Thu May 19 21:42:50 2011 +0200
 @@ -1094,7 +1094,7 @@
                  len(script_text), 0, script_text.split('\n'), script_filename
              )
  
      def _has(self, path):
          raise NotImplementedError(
-diff -r f6463b1ee8c6 wxPython/wx/tools/XRCed/XMLTree.py
---- a/wxPython/wx/tools/XRCed/XMLTree.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/tools/XRCed/XMLTree.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/tools/XRCed/XMLTree.py
+--- a/wxPython/wx/tools/XRCed/XMLTree.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/tools/XRCed/XMLTree.py	Thu May 19 21:42:50 2011 +0200
 @@ -110,7 +110,7 @@
      def ExecCode(self, code):
          logger.debug('executing comment pragma: \n%s', code)
          except:
              wx.LogError('exec error: "%s"' % code)
              logger.exception("execution of in-line comment failed")
-diff -r f6463b1ee8c6 wxPython/wx/tools/XRCed/listener.py
---- a/wxPython/wx/tools/XRCed/listener.py	Thu Aug 26 12:01:03 2010 +0200
-+++ b/wxPython/wx/tools/XRCed/listener.py	Thu Aug 26 15:33:34 2010 +0200
+diff -r 1a6b2dd660e7 wxPython/wx/tools/XRCed/listener.py
+--- a/wxPython/wx/tools/XRCed/listener.py	Thu May 19 21:41:37 2011 +0200
++++ b/wxPython/wx/tools/XRCed/listener.py	Thu May 19 21:42:50 2011 +0200
 @@ -617,7 +617,7 @@
      def OnDebugCMD(self, evt):
          while 1:

py3k-compatible-imports.patch

-diff -r 245522f45c27 wx/build/tools/build-wxwidgets.py
---- a/wx/build/tools/build-wxwidgets.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wx/build/tools/build-wxwidgets.py	Tue Aug 31 13:30:50 2010 +0200
-@@ -9,7 +9,7 @@
+diff -r 49a481d040a0 wx/build/tools/build-wxwidgets.py
+--- a/wx/build/tools/build-wxwidgets.py	Thu May 19 21:31:56 2011 +0200
++++ b/wx/build/tools/build-wxwidgets.py	Thu May 19 21:35:31 2011 +0200
+@@ -9,7 +9,6 @@
  import re
  import sys
  import builder
 -import commands
-+import subprocess
  import glob
  import optparse
  import platform
-@@ -441,9 +441,9 @@
-         build_string = ""
-         if options.debug:
+@@ -470,10 +469,10 @@
              build_string = "d"
+ 
+         fwname = getFrameworkName(options)
 -        version = commands.getoutput("bin/wx-config --release")
+-        version_full = commands.getoutput("bin/wx-config --version")
 -        basename = commands.getoutput("bin/wx-config --basename")
 -        configname = commands.getoutput("bin/wx-config --selected-config")
 +        version = subprocess.getoutput("bin/wx-config --release")
++        version_full = subprocess.getoutput("bin/wx-config --version")
 +        basename = subprocess.getoutput("bin/wx-config --basename")
 +        configname = subprocess.getoutput("bin/wx-config --selected-config")
          
-         os.system("ln -s -f bin Resources")
-         
-diff -r 245522f45c27 wxPython/build-wxpython.py
---- a/wxPython/build-wxpython.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/build-wxpython.py	Tue Aug 31 13:30:50 2010 +0200
+         os.makedirs("Resources")
+         wxplist = dict(
+diff -r 49a481d040a0 wxPython/build-wxpython.py
+--- a/wxPython/build-wxpython.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/build-wxpython.py	Thu May 19 21:35:31 2011 +0200
 @@ -1,12 +1,14 @@
  #!/usr/bin/python
  
  import sys
  import cfg_version as cfg
  
-@@ -64,8 +66,8 @@
+@@ -94,8 +96,8 @@
  options_changed = True
  old_options = None
  if os.path.exists("build-options.cache"):
 -    cache_file = open("build-options.cache")
--    old_options = cPickle.load(cache_file)
+-    old_options = set(cPickle.load(cache_file))
 +    cache_file = open("build-options.cache", "rb")
-+    old_options = pickle.load(cache_file)
++    old_options = set(pickle.load(cache_file))
      cache_file.close()
  
  parser = optparse.OptionParser(usage="usage: %prog [options]", version="%prog 1.0")
-@@ -102,7 +104,7 @@
- print("old_options = %r\nsys.argv = %r" % (old_options, sys.argv[1:]))
- 
+@@ -131,7 +133,7 @@
+     options_changed = False
+ print "old_options = %r\nsys.argv = %r" % (old_options, sys.argv[1:]) 
  cache_file = open("build-options.cache", "wb")
 -cPickle.dump(sys.argv[1:], cache_file)
 +pickle.dump(sys.argv[1:], cache_file)
  cache_file.close()
  
  
-@@ -149,7 +151,7 @@
- else:
-     # WARNING: This is may not be the patched version of SWIG if the
-     # user has installed a stock pacakge
--    SWIG_BIN = commands.getoutput("which swig")  
-+    SWIG_BIN = subprocess.getoutput("which swig")  
-     
- if options.reswig:
-     if not os.path.exists(SWIG_BIN) and not sys.platform.startswith("win"):
-diff -r 245522f45c27 wxPython/demo/ArtProvider.py
---- a/wxPython/demo/ArtProvider.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/demo/ArtProvider.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/demo/ArtProvider.py
+--- a/wxPython/demo/ArtProvider.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/demo/ArtProvider.py	Thu May 19 21:35:31 2011 +0200
 @@ -1,5 +1,8 @@
  
 -import  cStringIO
      return wx.BitmapFromImage(wx.ImageFromStream(stream))
  
  
-diff -r 245522f45c27 wxPython/demo/CustomDragAndDrop.py
---- a/wxPython/demo/CustomDragAndDrop.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/demo/CustomDragAndDrop.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/demo/CustomDragAndDrop.py
+--- a/wxPython/demo/CustomDragAndDrop.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/demo/CustomDragAndDrop.py	Thu May 19 21:35:31 2011 +0200
 @@ -1,5 +1,8 @@
  
 -import  cPickle
              self.dv.SetLines(lines)
              
          # what is returned signals the source what to do
-diff -r 245522f45c27 wxPython/demo/ImageFromStream.py
---- a/wxPython/demo/ImageFromStream.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/demo/ImageFromStream.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/demo/ImageFromStream.py
+--- a/wxPython/demo/ImageFromStream.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/demo/ImageFromStream.py	Thu May 19 21:35:31 2011 +0200
 @@ -1,5 +1,8 @@
  
 -import  cStringIO
  
  
  if __name__ == '__main__':
-diff -r 245522f45c27 wxPython/demo/Main.py
---- a/wxPython/demo/Main.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/demo/Main.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/demo/Main.py
+--- a/wxPython/demo/Main.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/demo/Main.py	Thu May 19 21:35:31 2011 +0200
 @@ -52,9 +52,25 @@
  # Last updated: Andrea Gavana, 20 Oct 2008, 18.00 GMT
  
  
  import wx              
  import wx.aui
-@@ -600,14 +616,14 @@
+@@ -591,14 +607,14 @@
          if "src=" in items:
              possibleImage = items.replace("src=", "").strip()
              possibleImage = possibleImage.replace("'", "")
                  image.SaveFile(path, wx.BITMAP_TYPE_PNG)
  
              winAppearance[plat] = path
-@@ -638,11 +654,11 @@
+@@ -629,11 +645,11 @@
          """ Run the worker thread. """
          
          # This is the code executing in the new thread. Simulation of
  
              originalText = fid.read()
              text = RemoveHTMLTags(originalText).split("\n")
-@@ -1125,7 +1141,7 @@
+@@ -1116,7 +1132,7 @@
      if os.path.isfile(name):
          return name
      
      listDir = os.listdir(originalDir)
      # Loop over the content of the demo directory
      for item in listDir:
-@@ -1205,7 +1221,7 @@
+@@ -1196,7 +1212,7 @@
      """
  
      externalDemos = {}
      listDir = os.listdir(originalDir)
      # Loop over the content of the demo directory
      for item in listDir:
-@@ -1306,7 +1322,7 @@
+@@ -1297,7 +1313,7 @@
          
          for i in [modOriginal, modModified]:
              self.modules[i][0]['__file__'] = \
              
          # load original module
          self.LoadFromFile(modOriginal, GetOriginalFilename(name))
-@@ -1333,7 +1349,8 @@
+@@ -1324,7 +1340,8 @@
          if self.name != __name__:
              source = self.modules[modID][1]
              description = self.modules[modID][2]
              
              try:
                  code = compile(source, description, "exec")        
-@@ -1647,7 +1664,7 @@
+@@ -1638,7 +1655,7 @@
          self.mgr.SetManagedWindow(pnl)
  
          self.loaded = False
          self.curOverview = ""
          self.demoPage = None
          self.codePage = None
-@@ -1876,7 +1893,7 @@
+@@ -1867,7 +1884,7 @@
  
          fid = open(pickledFile, "rb")
          try:
          except:
              self.pickledData = {}
              
-@@ -1921,7 +1938,7 @@
+@@ -1912,7 +1929,7 @@
          item.Check(self.allowDocs)
          self.Bind(wx.EVT_MENU, self.OnAllowDownload, item)
  
          item.SetBitmap(images.catalog['deletedocs'].GetBitmap())
          menu.AppendItem(item)
          self.Bind(wx.EVT_MENU, self.OnDeleteDocs, item)
-@@ -2734,7 +2751,7 @@
+@@ -2725,7 +2742,7 @@
          MakeDocDirs()
          pickledFile = GetDocFile()
          fid = open(pickledFile, "wb")
          fid.close()
  
          self.Destroy()
-diff -r 245522f45c27 wxPython/wx/lib/floatcanvas/Resources.py
---- a/wxPython/wx/lib/floatcanvas/Resources.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/wx/lib/floatcanvas/Resources.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/wx/lib/floatcanvas/Resources.py
+--- a/wxPython/wx/lib/floatcanvas/Resources.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/wx/lib/floatcanvas/Resources.py	Thu May 19 21:35:31 2011 +0200
 @@ -2,7 +2,11 @@
  # This file was generated by /usr/local/bin/img2py
  #
 +    stream = BytesIO(getMagMinus16Data())
      return ImageFromStream(stream)
  
-diff -r 245522f45c27 wxPython/wx/lib/floatcanvas/ScreenShot.py
---- a/wxPython/wx/lib/floatcanvas/ScreenShot.py	Tue Aug 31 10:49:03 2010 +0200
-+++ b/wxPython/wx/lib/floatcanvas/ScreenShot.py	Tue Aug 31 13:30:50 2010 +0200
+diff -r 49a481d040a0 wxPython/wx/lib/floatcanvas/ScreenShot.py
+--- a/wxPython/wx/lib/floatcanvas/ScreenShot.py	Thu May 19 21:31:56 2011 +0200
++++ b/wxPython/wx/lib/floatcanvas/ScreenShot.py	Thu May 19 21:35:31 2011 +0200
 @@ -2,7 +2,11 @@
  # This file was generated by /usr/local/bin/img2py
  #

py3k-compatible-single-print.patch

-diff -r 10c1e6a8fdaa wx/build/tools/build-wxwidgets.py
---- a/wx/build/tools/build-wxwidgets.py	Wed Nov 24 19:37:10 2010 +0100
-+++ b/wx/build/tools/build-wxwidgets.py	Wed Nov 24 19:39:34 2010 +0100
-@@ -29,7 +29,7 @@
+diff -r 13ea54f451ea wx/build/tools/build-wxwidgets.py
+--- a/wx/build/tools/build-wxwidgets.py	Thu May 19 21:44:28 2011 +0200
++++ b/wx/build/tools/build-wxwidgets.py	Thu May 19 21:49:18 2011 +0200
+@@ -56,7 +56,7 @@
  
  def exitIfError(code, msg):
      if code != 0:
          if exitWithException:
              raise builder.BuildError(msg)
          else:
-@@ -97,14 +97,14 @@
+@@ -103,14 +103,14 @@
      # When an installdir is used then the install_names embedded in
      # the dylibs are not correct.  Reset the IDs and the dependencies
      # to use just the prefix.
                (prefix,lib,  destdir+prefix,lib)
 -        print cmd
 +        print(cmd)
-         os.system(cmd)
+         run(cmd)
          for dep in dylibs:
              if buildDir is not None:
-@@ -113,7 +113,7 @@
+@@ -119,7 +119,7 @@
              else:
                  cmd = 'install_name_tool -change %s/lib/%s %s/lib/%s %s/lib/%s' % \
                        (destdir+prefix,dep,  prefix,dep,  destdir+prefix,lib)
 -            print cmd
 +            print(cmd)
-             os.system(cmd)        
+             run(cmd)        
      os.chdir(pwd)
  
-@@ -259,7 +259,7 @@
-             if not "--enable-monolithic" in configure_opts:
-                 configure_opts.append("--enable-monolithic")
+@@ -127,7 +127,7 @@
+ def run(cmd):
+     global verbose
+     if verbose:
+-        print "Running %s" % cmd
++        print("Running %s" % cmd)
+     return exitIfError(os.system(cmd), "Error running %s" % cmd)
+ 
+ 
+@@ -317,7 +317,7 @@
+             configure_opts.append("--enable-universal_binary")
+ 
              
 -        print "Configure options: " + `configure_opts`
 +        print("Configure options: %r" % (configure_opts,))
          wxBuilder = builder.AutoconfBuilder()
-         if not options.no_config and not options.clean and not options.mac_lipo:
+         if not options.no_config and not options.clean:
              olddir = os.getcwd()
-@@ -270,14 +270,14 @@
+@@ -328,14 +328,14 @@
              os.chdir(olddir)
  
          if options.config_only:
          if options.unicode:
              flags["wxUSE_UNICODE"] = "1"
              if VERSION < (2,9):
-@@ -311,7 +311,7 @@
+@@ -369,7 +369,7 @@
          for flag in flags:
              setupText, subsMade = re.subn(flag + "\s+?\d", "%s %s" % (flag, flags[flag]), setupText)
              if subsMade == 0:
                  sys.exit(1)
      
          setupFile = open(os.path.join(mswIncludeDir, "setup.h"), "wb")
-@@ -319,7 +319,7 @@
+@@ -377,7 +377,7 @@
          setupFile.close()
          args = []
          if toolkit == "msvc":
              args.append("-f makefile.vc")
              if options.unicode:
                  args.append(&quo