diff --git a/Include/bitset.h b/Include/bitset.h
index 6fa5be6..9be259a 100644
--- a/Include/bitset.h
+++ b/Include/bitset.h
@@ -36,7 +36,7 @@
 
 bitset newbitset PROTO((int nbits));
 void delbitset PROTO((bitset bs));
-/* int testbit PROTO((bitset bs, int ibit)); /* Now a macro, see below */
+#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
 int addbit PROTO((bitset bs, int ibit)); /* Returns 0 if already set */
 int samebitset PROTO((bitset bs1, bitset bs2, int nbits));
 void mergebitset PROTO((bitset bs1, bitset bs2, int nbits));
@@ -49,8 +49,6 @@
 #define BIT2MASK(ibit)	(1 << BIT2SHIFT(ibit))
 #define BYTE2BIT(ibyte)	((ibyte) * BITSPERBYTE)
 
-#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/Include/bltinmodule.h b/Include/bltinmodule.h
index e4f47e0..d000aaa 100644
--- a/Include/bltinmodule.h
+++ b/Include/bltinmodule.h
@@ -31,6 +31,7 @@
 /* Built-in module interface */
 
 extern object *getbuiltin PROTO((object *));
+extern object *getbuiltins PROTO((char *));
 extern int setbuiltin PROTO((char *, object *));
 
 #ifdef __cplusplus
diff --git a/Include/ceval.h b/Include/ceval.h
index 7002dd4..8de2fc0 100644
--- a/Include/ceval.h
+++ b/Include/ceval.h
@@ -37,7 +37,6 @@
 object *getowner PROTO((void));
 object *getframe PROTO((void));
 
-void printtraceback PROTO((object *));
 void flushline PROTO((void));
 
 int Py_AddPendingCall PROTO((int (*func) PROTO((ANY *)), ANY *arg));
@@ -54,7 +53,7 @@
 	BGN_SAVE
 	...blocking system call here...
 	END_SAVE
-	...interpretr result here...
+	...interpret result here...
 
    The BGN_SAVE/END_SAVE pair expands to a {}-surrounded block.
    To leave the block in the middle (e.g., with return), you must insert
diff --git a/Include/errors.h b/Include/errors.h
index 33c7806..ff545bf 100755
--- a/Include/errors.h
+++ b/Include/errors.h
@@ -32,9 +32,10 @@
 
 void err_set PROTO((object *));
 void err_setval PROTO((object *, object *));
+void err_restore PROTO((object *, object *, object *));
 void err_setstr PROTO((object *, char *));
 object *err_occurred PROTO((void));
-void err_get PROTO((object **, object **));
+void err_fetch PROTO((object **, object **, object **));
 void err_clear PROTO((void));
 
 /* Predefined exceptions */
diff --git a/Include/import.h b/Include/import.h
index c335995..02c8ebf 100644
--- a/Include/import.h
+++ b/Include/import.h
@@ -30,6 +30,7 @@
 
 /* Module definition and import interface */
 
+long get_pyc_magic PROTO((void));
 object *get_modules PROTO((void));
 object *add_module PROTO((char *name));
 object *import_module PROTO((char *name));
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 4e41cd3..0a03fa2 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -1 +1 @@
-#define PATCHLEVEL "1.1.1"
+#define PATCHLEVEL "1.2--"
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index 33c7806..ff545bf 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -32,9 +32,10 @@
 
 void err_set PROTO((object *));
 void err_setval PROTO((object *, object *));
+void err_restore PROTO((object *, object *, object *));
 void err_setstr PROTO((object *, char *));
 object *err_occurred PROTO((void));
-void err_get PROTO((object **, object **));
+void err_fetch PROTO((object **, object **, object **));
 void err_clear PROTO((void));
 
 /* Predefined exceptions */
diff --git a/Include/rename1.h b/Include/rename1.h
index 4f2bef7..f271c44 100755
--- a/Include/rename1.h
+++ b/Include/rename1.h
@@ -114,7 +114,7 @@
 #define PyMappingMethods mapping_methods
 #define PyObject_HEAD OB_HEAD
 #define PyObject_VAR_HEAD OB_VARHEAD
-#define PyObject_HEAD_INIT OB_HEAD_INIT
+#define PyObject_HEAD_INIT(x) OB_HEAD_INIT(x)
 #define PyObject_NEW NEWOBJ
 #define PyObject_NEW_VAR NEWVAROBJ
 #define Py_PROTO PROTO
@@ -345,7 +345,8 @@
 #define PyErr_SetString err_setstr
 #define PyErr_SetObject err_setval
 #define PyErr_Occurred err_occurred
-#define PyErr_GetAndClear err_get
+#define PyErr_Fetch err_fetch
+#define PyErr_Restore err_restore
 #define PyErr_Clear err_clear
 #define PyOS_InterruptableGetString fgets_intr
 #define PyOS_InitInterrupts initintr
diff --git a/Include/traceback.h b/Include/traceback.h
index f86306d..a1b6d5e 100644
--- a/Include/traceback.h
+++ b/Include/traceback.h
@@ -30,6 +30,8 @@
 
 /* Traceback interface */
 
+struct _frame;
+
 int tb_here PROTO((struct _frame *));
 object *tb_fetch PROTO((void));
 int tb_store PROTO((object *));
