/* The rest of the interface is specific for frame objects */
-/* Tuple access macros */
-
-#ifndef Py_DEBUG
-#define GETITEM(v, i) PyTuple_GET_ITEM((PyTupleObject *)(v), (i))
-#define GETITEMNAME(v, i) \
- PyString_AS_STRING((PyStringObject *)GETITEM((v), (i)))
-#else
-#define GETITEM(v, i) PyTuple_GetItem((v), (i))
-#define GETITEMNAME(v, i) PyString_AsString(GETITEM(v, i))
-#endif
-
-#define GETUSTRINGVALUE(s) ((unsigned char *)PyString_AS_STRING(s))
-
-/* Code access macros */
-
-#define Getconst(f, i) (GETITEM((f)->f_code->co_consts, (i)))
-#define Getname(f, i) (GETITEMNAME((f)->f_code->co_names, (i)))
-#define Getnamev(f, i) (GETITEM((f)->f_code->co_names, (i)))
-
-
/* Block management functions */
DL_IMPORT(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
char *filename;
#endif
+/* Tuple access macros */
+
+#ifndef Py_DEBUG
+#define GETITEM(v, i) PyTuple_GET_ITEM((PyTupleObject *)(v), (i))
+#else
+#define GETITEM(v, i) PyTuple_GetItem((v), (i))
+#endif
+
/* Code access macros */
-#define GETCONST(i) Getconst(f, i)
-#define GETNAME(i) Getname(f, i)
-#define GETNAMEV(i) Getnamev(f, i)
+#define GETCONST(i) (GETITEM(co->co_consts, (i)))
+#define GETNAMEV(i) (GETITEM(co->co_names, (i)))
#define INSTR_OFFSET() (next_instr - first_instr)
#define NEXTOP() (*next_instr++)
#define NEXTARG() (next_instr += 2, (next_instr[-1]<<8) + next_instr[-2])