+@@ -2793,10 +2789,10 @@
+ Printf(f_shadow_file,"%s.%s = new_instancemethod(%s.%s,None,%s)\n",
+ class_name, symname, module, Swig_name_member(class_name,symname), class_name);
+ }
+ }
+- Printf(f_shadow_file,"%s_swigregister = %s.%s_swigregister\n", class_name, module, class_name);
+- Printf(f_shadow_file,"%s_swigregister(%s)\n", class_name, class_name,0);
++
++ Printf(f_shadow_file,"%s.%s_swigregister(%s)\n", module, class_name, class_name);
+
+ shadow_indent = 0;
+ Printf(f_shadow_file,"%s\n", f_shadow_stubs);
+ Clear(f_shadow_stubs);
+Index: Source/Swig/misc.c
+===================================================================
+RCS file: /cvsroot/swig/SWIG/Source/Swig/misc.c,v
+retrieving revision 1.57
+diff -u -4 -r1.57 misc.c
+--- Source/Swig/misc.c 6 Mar 2006 22:51:00 -0000 1.57
++++ Source/Swig/misc.c 5 Jul 2006 00:50:19 -0000
+@@ -899,8 +899,26 @@
+ }
+ #endif
+
+
++
++/* -----------------------------------------------------------------------------
++ * Swig_string_wxpy()
++ *
++ * Drop a leading 'wx' for all wxNames, except for wxEVT*
++ * ----------------------------------------------------------------------------- */
++String *Swig_string_wxpy(String *s) {
++ String* ns = NewStringEmpty();
++ char* cptr = Char(s);
++ if (cptr[0] == 'w' && cptr[1] == 'x') {
++ if ( ! (cptr[2] == 'E' && cptr[3] == 'V' && cptr[4] == 'T')) {
++ ns = NewString(&cptr[2]);
++ }
++ }
++ return ns;
++}
++
++
+ /* -----------------------------------------------------------------------------
+ * Swig_init()
+ *
+ * Initialize the SWIG core
+@@ -928,8 +946,11 @@
+ DohEncoding("undercase", Swig_string_ucase);
+ DohEncoding("firstuppercase", Swig_string_first_upper);
+ DohEncoding("firstlowercase", Swig_string_first_lower);
+
++ /* wxPython's rename encoder */
++ DohEncoding("wxpy", Swig_string_wxpy);
++
+ /* Initialize the swig keys */
+ Swig_keys_init();
+
+ /* Initialize typemaps */
+Index: Lib/python/pyinit.swg
+===================================================================
+RCS file: /cvsroot/swig/SWIG/Lib/python/pyinit.swg,v
+retrieving revision 1.32
+diff -u -4 -r1.32 pyinit.swg
+--- Lib/python/pyinit.swg 2 Feb 2006 23:48:56 -0000 1.32
++++ Lib/python/pyinit.swg 5 Jul 2006 00:50:19 -0000
+@@ -225,13 +225,13 @@
+ swig_type_info **types,
+ swig_type_info **types_initial) {
+ size_t i;
+ for (i = 0; methods[i].ml_name; ++i) {
+- char *c = methods[i].ml_doc;
++ const char *c = methods[i].ml_doc;
+ if (c && (c = strstr(c, "swig_ptr: "))) {
+ int j;
+ swig_const_info *ci = 0;
+- char *name = c + 10;
++ const char *name = c + 10;
+ for (j = 0; const_table[j].type; ++j) {
+ if (strncmp(const_table[j].name, name,
+ strlen(const_table[j].name)) == 0) {
+ ci = &(const_table[j]);
+Index: Lib/python/pyrun.swg
+===================================================================
+RCS file: /cvsroot/swig/SWIG/Lib/python/pyrun.swg,v
+retrieving revision 1.141
+diff -u -4 -r1.141 pyrun.swg
+--- Lib/python/pyrun.swg 7 Mar 2006 00:35:17 -0000 1.141
++++ Lib/python/pyrun.swg 5 Jul 2006 00:50:19 -0000
+@@ -11,8 +11,12 @@
+ * ----------------------------------------------------------------------------- */
+
+ /* Common SWIG API */
+
++#if PY_VERSION_HEX < 0x02050000
++typedef int Py_ssize_t;
++#endif
++
+ /* for raw pointers */
+ #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
+ #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
+ #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
+@@ -1074,9 +1078,9 @@
+ } else {
+ void *vptr = 0;
+
+ /* here we get the method pointer for callbacks */
+- char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
++ const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+ const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
+ if (desc) {
+ desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
+ if (!desc) return SWIG_ERROR;
+Index: Lib/python/pystrings.swg
+===================================================================
+RCS file: /cvsroot/swig/SWIG/Lib/python/pystrings.swg,v
+retrieving revision 1.27
+diff -u -4 -r1.27 pystrings.swg
+--- Lib/python/pystrings.swg 23 Feb 2006 21:43:33 -0000 1.27
++++ Lib/python/pystrings.swg 5 Jul 2006 00:50:19 -0000
+@@ -5,9 +5,9 @@
+ SWIGINTERN int
+ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
+ {
+ if (PyString_Check(obj)) {
+- char *cstr; int len;
++ char *cstr; Py_ssize_t len;
+ PyString_AsStringAndSize(obj, &cstr, &len);
+ if (cptr) {
+ if (alloc) {
+ /*