Fix some name errors in Mac modules.
diff --git a/Lib/plat-mac/Carbon/MediaDescr.py b/Lib/plat-mac/Carbon/MediaDescr.py
index 254634b..5431d1e 100644
--- a/Lib/plat-mac/Carbon/MediaDescr.py
+++ b/Lib/plat-mac/Carbon/MediaDescr.py
@@ -15,7 +15,7 @@
             data = data[:self.size]
         values = struct.unpack(self.fmt, data)
         if len(values) != len(self.names):
-            raise Error, ('Format length does not match number of names', descr)
+            raise Error, ('Format length does not match number of names')
         rv = {}
         for i in range(len(values)):
             name = self.names[i]
@@ -26,7 +26,7 @@
             rv[name] = value
         return rv
 
-    def encode(dict):
+    def encode(self, dict):
         list = [self.fmt]
         for name in self.names:
             if type(name) == type(()):
diff --git a/Lib/plat-mac/bundlebuilder.py b/Lib/plat-mac/bundlebuilder.py
index 7a71051..d13403c 100755
--- a/Lib/plat-mac/bundlebuilder.py
+++ b/Lib/plat-mac/bundlebuilder.py
@@ -432,7 +432,7 @@
             pass
         elif self.mainprogram is not None:
             self.name = os.path.splitext(os.path.basename(self.mainprogram))[0]
-        elif executable is not None:
+        elif self.executable is not None:
             self.name = os.path.splitext(os.path.basename(self.executable))[0]
         if self.name[-4:] != ".app":
             self.name += ".app"
diff --git a/Lib/plat-mac/macostools.py b/Lib/plat-mac/macostools.py
index 337cc7f..395001d 100644
--- a/Lib/plat-mac/macostools.py
+++ b/Lib/plat-mac/macostools.py
@@ -10,6 +10,7 @@
 from Carbon import Res
 from Carbon import File, Files
 import os
+import errno
 import MacOS
 try:
     openrf = MacOS.openrf