Changes to make it work with Tcl/Tk beta 1.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 4e595b3..18fc7ba 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -3,23 +3,6 @@
 
 #include "Python.h"
 
-#ifdef macintosh
-#define MAC_TCL
-
-#include <CodeFragments.h>
-static int loaded_from_shlib = 0;
-static FSSpec library_fss;
-#endif
-
-#ifdef MAC_TCL
-#define WITH_APPINIT
-#ifdef __MWERKS__
-void		GUSISetup (void (*socketfamily)());
-void		GUSIwithInternetSockets (void);
-void		GUSIwithSIOUXSockets (void);
-#endif
-#endif
-
 #include <tcl.h>
 #include <tk.h>
 
@@ -31,6 +14,7 @@
 #else
 extern int tk_NumMainWindows;
 #define Tk_GetNumMainWindows() (tk_NumMainWindows)
+#define NEED_TKCREATEMAINWINDOW 1
 #endif
 
 #if TK_MAJOR_VERSION < 4
@@ -45,12 +29,16 @@
   {
     PyObject_HEAD
     Tcl_Interp *interp;
+#ifdef NEED_TKCREATEMAINWINDOW
     Tk_Window tkwin;
+#endif
   }
 TkappObject;
 
 #define Tkapp_Check(v) ((v)->ob_type == &Tkapp_Type)
+#ifdef NEED_TKCREATEMAINWINDOW
 #define Tkapp_Tkwin(v)  (((TkappObject *) (v))->tkwin)
+#endif
 #define Tkapp_Interp(v) (((TkappObject *) (v))->interp)
 #define Tkapp_Result(v) (((TkappObject *) (v))->interp->result)
 
@@ -217,8 +205,6 @@
 Tcl_AppInit (interp)
      Tcl_Interp *interp;
 {
-    Tk_Window main;
-    main = Tk_MainWindow(interp);
   if (Tcl_Init (interp) == TCL_ERROR) {
     fprintf(stderr, "Tcl_Init error: %s\n", interp->result);
     return TCL_ERROR;
@@ -229,6 +215,13 @@
   }
   return TCL_OK;
 }
+
+char *
+TkDefaultAppName()
+{
+    return "Python";
+}
+
 #endif /* !WITH_APPINIT */
 
 /* Initialize the Tk application; see the `main' function in
@@ -247,12 +240,15 @@
     return NULL;
 
   v->interp = Tcl_CreateInterp ();
+
+#ifdef NEED_TKCREATEMAINWINDOW
   v->tkwin = Tk_CreateMainWindow (v->interp, screenName, 
 				  baseName, className);
   if (v->tkwin == NULL)
     return (TkappObject *) Tkinter_Error ((PyObject *) v);
 
   Tk_GeometryRequest (v->tkwin, 200, 200);
+#endif
 
   if (screenName != NULL)
     Tcl_SetVar2 (v->interp, "env", "DISPLAY", screenName, TCL_GLOBAL_ONLY);
@@ -850,7 +846,7 @@
   /* ClientData is: (func, file) */
   data = Py_BuildValue ("(OO)", func, file);
 
-  Tk_CreateFileHandler (id, mask, FileHandler, (ClientData) data);
+  Tk_CreateFileHandler ((ClientData) id, mask, FileHandler, (ClientData) data);
   /* XXX fileHandlerDict */
 
   Py_INCREF (Py_None);
@@ -871,7 +867,7 @@
   if (id < 0)
     return NULL;
 
-  Tk_DeleteFileHandler (id);
+  Tk_DeleteFileHandler ((ClientData) id);
   /* XXX fileHandlerDict */
   Py_INCREF (Py_None);
   return Py_None;
@@ -1125,7 +1121,9 @@
 Tkapp_Dealloc (self)
      PyObject *self;
 {
+#ifdef NEED_TKCREATEMAINWINDOW
   Tk_DestroyWindow (Tkapp_Tkwin (self));
+#endif
   Tcl_DeleteInterp (Tkapp_Interp (self));
   PyMem_DEL (self);
 }
@@ -1275,7 +1273,7 @@
 	fprintf(stderr,
 		"Tkinter: warning: cleanup procedure not registered\n");
 #ifdef __MWERKS__
-	  PyTk_InitGUSI();
+//	  PyTk_InitGUSI();
 #endif
     }
 
@@ -1287,6 +1285,11 @@
 }
 
 #ifdef macintosh
+
+/*
+** Three functions that anyone who embeds Tcl/Tk on the Mac must export.
+*/
+
 void
 panic(char * format, ...)
 {
@@ -1301,19 +1304,31 @@
 
     Py_FatalError("Tcl/Tk panic");
 }
-#ifdef __MWERKS__
-void
-PyTk_InitGUSI()
-{
-	static int is_inited;
-	
-	if ( is_inited ) return;
-    GUSISetup(GUSIwithInternetSockets);
-    GUSISetup(GUSIwithSIOUXSockets);
-    is_inited = 1;
-}
-#endif /* __MWERKS__ */
 
+#include <Events.h>
+
+int
+TclMacConvertEvent(eventPtr)
+    EventRecord *eventPtr;
+{
+    return TkMacConvertEvent(eventPtr);
+}
+
+int
+TclGeneratePollingEvents()
+{
+    return TkGeneratePollingEvents();
+}
+
+/*
+** Additional Mac specific code for dealing with shared libraries.
+*/
+
+#include <Resources.h>
+#include <CodeFragments.h>
+
+static int loaded_from_shlib = 0;
+static FSSpec library_fss;
 
 /*
 ** If this module is dynamically loaded the following routine should
@@ -1339,7 +1354,7 @@
 ** Insert the library resources into the search path. Put them after
 ** the resources from the application. Again, we ignore errors.
 */
-void
+static
 mac_addlibresources()
 {
 	if ( !loaded_from_shlib )