Added "apply"; added "SyntaxError"; changed table lay-out.
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 25e8f42..5bdf5d9 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -54,6 +54,21 @@
 }
 
 static object *
+builtin_apply(self, v)
+	object *self;
+	object *v;
+{
+	object *func, *args;
+	if (v == NULL || !is_tupleobject(v) || gettuplesize(v) != 2) {
+		err_setstr(TypeError, "apply() requires (func,args)");
+		return NULL;
+	}
+	func = gettupleitem(v, 0);
+	args = gettupleitem(v, 1);
+	return call_object(func, args);
+}
+
+static object *
 builtin_chr(self, v)
 	object *self;
 	object *v;
@@ -550,29 +565,30 @@
 }
 
 static struct methodlist builtin_methods[] = {
-	{"abs", builtin_abs},
-	{"chr", builtin_chr},
-	{"dir", builtin_dir},
-	{"divmod", builtin_divmod},
-	{"eval", builtin_eval},
-	{"exec", builtin_exec},
-	{"float", builtin_float},
-	{"hex", builtin_hex},
-	{"input", builtin_input},
-	{"int", builtin_int},
-	{"len", builtin_len},
-	{"long", builtin_long},
-	{"max", builtin_max},
-	{"min", builtin_min},
-	{"oct", builtin_oct},
-	{"open", builtin_open}, /* XXX move to OS module */
-	{"ord", builtin_ord},
-	{"pow", builtin_pow},
-	{"range", builtin_range},
-	{"raw_input", builtin_raw_input},
-	{"reload", builtin_reload},
-	{"type", builtin_type},
-	{NULL, NULL},
+	{"abs",		builtin_abs},
+	{"apply",	builtin_apply},
+	{"chr",		builtin_chr},
+	{"dir",		builtin_dir},
+	{"divmod",	builtin_divmod},
+	{"eval",	builtin_eval},
+	{"exec",	builtin_exec},
+	{"float",	builtin_float},
+	{"hex",		builtin_hex},
+	{"input",	builtin_input},
+	{"int",		builtin_int},
+	{"len",		builtin_len},
+	{"long",	builtin_long},
+	{"max",		builtin_max},
+	{"min",		builtin_min},
+	{"oct",		builtin_oct},
+	{"open",	builtin_open}, /* XXX move to OS module */
+	{"ord",		builtin_ord},
+	{"pow",		builtin_pow},
+	{"range",	builtin_range},
+	{"raw_input",	builtin_raw_input},
+	{"reload",	builtin_reload},
+	{"type",	builtin_type},
+	{NULL,		NULL},
 };
 
 static object *builtin_dict;
@@ -602,6 +618,7 @@
 object *ValueError;
 object *KeyError;
 object *OverflowError;
+object *SyntaxError;
 
 static object *
 newstdexception(name, message)
@@ -636,6 +653,8 @@
 	KeyError = newstdexception("KeyError", "invalid key");
 	OverflowError =
 		newstdexception("OverflowError", "arithmetic overflow");
+	SyntaxError =
+		newstdexception("SyntaxError", "syntax error");
 }
 
 void