New errors.
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 1c6f6a6..1adc3bc 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -36,7 +36,7 @@
 	object *op;
 {
 	if (!is_funcobject(op)) {
-		errno = EBADF;
+		err_badcall();
 		return NULL;
 	}
 	return ((funcobject *) op) -> func_node;
@@ -47,7 +47,7 @@
 	object *op;
 {
 	if (!is_funcobject(op)) {
-		errno = EBADF;
+		err_badcall();
 		return NULL;
 	}
 	return ((funcobject *) op) -> func_globals;