Merged revisions 56483-56491 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk

........
  r56486 | kurt.kaiser | 2007-07-22 05:27:08 +0200 (So, 22 Jul 2007) | 2 lines

  Fix typo introduced at r55797
........
  r56487 | kurt.kaiser | 2007-07-22 07:48:45 +0200 (So, 22 Jul 2007) | 2 lines

  Exception attr accessed via args in py3k.
........
  r56489 | martin.v.loewis | 2007-07-22 15:32:44 +0200 (So, 22 Jul 2007) | 2 lines

  Regenerate.
........
  r56490 | martin.v.loewis | 2007-07-22 15:34:06 +0200 (So, 22 Jul 2007) | 2 lines

  Port Mac modules to PEP 3123.
........
  r56491 | martin.v.loewis | 2007-07-22 16:35:53 +0200 (So, 22 Jul 2007) | 1 line

  Port to PEP 3123.
........
diff --git a/PC/_subprocess.c b/PC/_subprocess.c
index f048bc2..14e1333 100644
--- a/PC/_subprocess.c
+++ b/PC/_subprocess.c
@@ -128,8 +128,7 @@
 static PyNumberMethods sp_handle_as_number;
 
 static PyTypeObject sp_handle_type = {
-	PyObject_HEAD_INIT(NULL)
-	0,				/*ob_size*/
+	PyVarObject_HEAD_INIT(NULL, 0)
 	"_subprocess_handle", sizeof(sp_handle_object), 0,
 	(destructor) sp_handle_dealloc, /*tp_dealloc*/
 	0, /*tp_print*/
@@ -273,7 +272,7 @@
 		PyErr_Clear(); /* FIXME: propagate error? */
 		return NULL;
 	}
-	if (value->ob_type != &sp_handle_type)
+	if (Py_Type(&value) != &sp_handle_type)
 		ret = NULL;
 	else
 		ret = value->handle;
@@ -556,7 +555,7 @@
 	PyObject *m;
 
 	/* patch up object descriptors */
-	sp_handle_type.ob_type = &PyType_Type;
+	Py_Type(&sp_handle_type) = &PyType_Type;
 	sp_handle_as_number.nb_int = (unaryfunc) sp_handle_as_int;
 
 	m = Py_InitModule("_subprocess", sp_functions);
diff --git a/PC/_winreg.c b/PC/_winreg.c
index dcbdf08..ecb723c 100644
--- a/PC/_winreg.c
+++ b/PC/_winreg.c
@@ -1450,7 +1450,7 @@
 	if (m == NULL)
 		return;
 	d = PyModule_GetDict(m);
-	PyHKEY_Type.ob_type = &PyType_Type;
+	Py_Type(&PyHKEY_Type) = &PyType_Type;
 	PyHKEY_Type.tp_doc = PyHKEY_doc;
 	Py_INCREF(&PyHKEY_Type);
 	if (PyDict_SetItemString(d, "HKEYType",