[Python-checkins] CVS: python/dist/src/Include bitset.h,2.11,2.12 ceval.h,2.33,2.34 eval.h,2.12,2.13 import.h,2.24,2.25 intrcheck.h,2.7,2.8 marshal.h,2.8,2.9 node.h,2.15,2.16 parsetok.h,2.12,2.13 pydebug.h,2.13,2.14 pystate.h,2.11,2.12 structmember.h,2.14,2.15 traceback.h,2.16,2.17

Fred L. Drake python-dev@python.org
Sat, 8 Jul 2000 16:37:31 -0700


Update of /cvsroot/python/python/dist/src/Include
In directory slayer.i.sourceforge.net:/tmp/cvs-serv7393

Modified Files:
	bitset.h ceval.h eval.h import.h intrcheck.h marshal.h node.h 
	parsetok.h pydebug.h pystate.h structmember.h traceback.h 
Log Message:

ANSI-fication and Py_PROTO extermination.


Index: bitset.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/bitset.h,v
retrieving revision 2.11
retrieving revision 2.12
diff -C2 -r2.11 -r2.12
*** bitset.h	2000/06/30 23:58:04	2.11
--- bitset.h	2000/07/08 23:37:28	2.12
***************
*** 1,8 ****
- #ifndef Py_BITSET_H
- #define Py_BITSET_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 15,18 ****
--- 9,18 ----
  ******************************************************************/
  
+ #ifndef Py_BITSET_H
+ #define Py_BITSET_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
  /* Bitset interface */
  
***************
*** 21,30 ****
  typedef BYTE *bitset;
  
! bitset newbitset Py_PROTO((int nbits));
! void delbitset Py_PROTO((bitset bs));
  #define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
! int addbit Py_PROTO((bitset bs, int ibit)); /* Returns 0 if already set */
! int samebitset Py_PROTO((bitset bs1, bitset bs2, int nbits));
! void mergebitset Py_PROTO((bitset bs1, bitset bs2, int nbits));
  
  #define BITSPERBYTE	(8*sizeof(BYTE))
--- 21,30 ----
  typedef BYTE *bitset;
  
! bitset newbitset(int nbits);
! void delbitset(bitset bs);
  #define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
! int addbit(bitset bs, int ibit); /* Returns 0 if already set */
! int samebitset(bitset bs1, bitset bs2, int nbits);
! void mergebitset(bitset bs1, bitset bs2, int nbits);
  
  #define BITSPERBYTE	(8*sizeof(BYTE))

Index: ceval.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/ceval.h,v
retrieving revision 2.33
retrieving revision 2.34
diff -C2 -r2.33 -r2.34
*** ceval.h	2000/06/30 23:58:04	2.33
--- ceval.h	2000/07/08 23:37:28	2.34
***************
*** 18,26 ****
  
  DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords
! 	Py_PROTO((PyObject *, PyObject *, PyObject *));
  
  /* DLL-level Backwards compatibility: */
  #undef PyEval_CallObject
! DL_IMPORT(PyObject *) PyEval_CallObject Py_PROTO((PyObject *, PyObject *));
  
  /* Inline this */
--- 18,26 ----
  
  DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords
! 	(PyObject *, PyObject *, PyObject *);
  
  /* DLL-level Backwards compatibility: */
  #undef PyEval_CallObject
! DL_IMPORT(PyObject *) PyEval_CallObject(PyObject *, PyObject *);
  
  /* Inline this */
***************
*** 29,35 ****
  
  #ifdef HAVE_STDARG_PROTOTYPES
! DL_IMPORT(PyObject *) PyEval_CallFunction Py_PROTO((PyObject *obj, char *format, ...));
! DL_IMPORT(PyObject *) PyEval_CallMethod Py_PROTO((PyObject *obj,
! 				      char *methodname, char *format, ...));
  #else
  /* Better to have no prototypes at all for varargs functions in this case */
--- 29,35 ----
  
  #ifdef HAVE_STDARG_PROTOTYPES
! DL_IMPORT(PyObject *) PyEval_CallFunction(PyObject *obj, char *format, ...);
! DL_IMPORT(PyObject *) PyEval_CallMethod(PyObject *obj,
!                                         char *methodname, char *format, ...);
  #else
  /* Better to have no prototypes at all for varargs functions in this case */
***************
*** 38,52 ****
  #endif
  
! DL_IMPORT(PyObject *) PyEval_GetBuiltins Py_PROTO((void));
! DL_IMPORT(PyObject *) PyEval_GetGlobals Py_PROTO((void));
! DL_IMPORT(PyObject *) PyEval_GetLocals Py_PROTO((void));
! DL_IMPORT(PyObject *) PyEval_GetOwner Py_PROTO((void));
! DL_IMPORT(PyObject *) PyEval_GetFrame Py_PROTO((void));
! DL_IMPORT(int) PyEval_GetRestricted Py_PROTO((void));
  
! DL_IMPORT(int) Py_FlushLine Py_PROTO((void));
  
! DL_IMPORT(int) Py_AddPendingCall Py_PROTO((int (*func) Py_PROTO((ANY *)), ANY *arg));
! DL_IMPORT(int) Py_MakePendingCalls Py_PROTO((void));
  
  
--- 38,52 ----
  #endif
  
! DL_IMPORT(PyObject *) PyEval_GetBuiltins(void);
! DL_IMPORT(PyObject *) PyEval_GetGlobals(void);
! DL_IMPORT(PyObject *) PyEval_GetLocals(void);
! DL_IMPORT(PyObject *) PyEval_GetOwner(void);
! DL_IMPORT(PyObject *) PyEval_GetFrame(void);
! DL_IMPORT(int) PyEval_GetRestricted(void);
  
! DL_IMPORT(int) Py_FlushLine(void);
  
! DL_IMPORT(int) Py_AddPendingCall(int (*func)(ANY *), ANY *arg);
! DL_IMPORT(int) Py_MakePendingCalls(void);
  
  
***************
*** 96,109 ****
  */
  
! extern DL_IMPORT(PyThreadState *) PyEval_SaveThread Py_PROTO((void));
! extern DL_IMPORT(void) PyEval_RestoreThread Py_PROTO((PyThreadState *));
  
  #ifdef WITH_THREAD
  
! extern DL_IMPORT(void) PyEval_InitThreads Py_PROTO((void));
! extern DL_IMPORT(void) PyEval_AcquireLock Py_PROTO((void));
! extern DL_IMPORT(void) PyEval_ReleaseLock Py_PROTO((void));
! extern DL_IMPORT(void) PyEval_AcquireThread Py_PROTO((PyThreadState *tstate));
! extern DL_IMPORT(void) PyEval_ReleaseThread Py_PROTO((PyThreadState *tstate));
  
  #define Py_BEGIN_ALLOW_THREADS { \
--- 96,109 ----
  */
  
! extern DL_IMPORT(PyThreadState *) PyEval_SaveThread(void);
! extern DL_IMPORT(void) PyEval_RestoreThread(PyThreadState *);
  
  #ifdef WITH_THREAD
  
! extern DL_IMPORT(void) PyEval_InitThreads(void);
! extern DL_IMPORT(void) PyEval_AcquireLock(void);
! extern DL_IMPORT(void) PyEval_ReleaseLock(void);
! extern DL_IMPORT(void) PyEval_AcquireThread(PyThreadState *tstate);
! extern DL_IMPORT(void) PyEval_ReleaseThread(PyThreadState *tstate);
  
  #define Py_BEGIN_ALLOW_THREADS { \
***************
*** 124,128 ****
  #endif /* !WITH_THREAD */
  
! extern DL_IMPORT(int) _PyEval_SliceIndex Py_PROTO((PyObject *, int *));
  
  
--- 124,128 ----
  #endif /* !WITH_THREAD */
  
! extern DL_IMPORT(int) _PyEval_SliceIndex(PyObject *, int *);
  
  

Index: eval.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/eval.h,v
retrieving revision 2.12
retrieving revision 2.13
diff -C2 -r2.12 -r2.13
*** eval.h	2000/06/30 23:58:04	2.12
--- eval.h	2000/07/08 23:37:28	2.13
***************
*** 1,8 ****
- #ifndef Py_EVAL_H
- #define Py_EVAL_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 16,21 ****
  
  /* Interface to execute compiled code */
  
! DL_IMPORT(PyObject *) PyEval_EvalCode Py_PROTO((PyCodeObject *, PyObject *, PyObject *));
  
  #ifdef __cplusplus
--- 10,21 ----
  
  /* Interface to execute compiled code */
+ 
+ #ifndef Py_EVAL_H
+ #define Py_EVAL_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  
! DL_IMPORT(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
  
  #ifdef __cplusplus

Index: import.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/import.h,v
retrieving revision 2.24
retrieving revision 2.25
diff -C2 -r2.24 -r2.25
*** import.h	2000/06/30 23:58:04	2.24
--- import.h	2000/07/08 23:37:28	2.25
***************
*** 1,8 ****
- #ifndef Py_IMPORT_H
- #define Py_IMPORT_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 16,51 ****
  
  /* Module definition and import interface */
  
! DL_IMPORT(long) PyImport_GetMagicNumber Py_PROTO((void));
! DL_IMPORT(PyObject *) PyImport_ExecCodeModule Py_PROTO((char *name, PyObject *co));
! DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx Py_PROTO((
! 	char *name, PyObject *co, char *pathname));
! DL_IMPORT(PyObject *) PyImport_GetModuleDict Py_PROTO((void));
! DL_IMPORT(PyObject *) PyImport_AddModule Py_PROTO((char *name));
! DL_IMPORT(PyObject *) PyImport_ImportModule Py_PROTO((char *name));
! DL_IMPORT(PyObject *) PyImport_ImportModuleEx Py_PROTO((
! 	char *name, PyObject *globals, PyObject *locals, PyObject *fromlist));
! DL_IMPORT(PyObject *) PyImport_Import Py_PROTO((PyObject *name));
! DL_IMPORT(PyObject *) PyImport_ReloadModule Py_PROTO((PyObject *m));
! DL_IMPORT(void) PyImport_Cleanup Py_PROTO((void));
! DL_IMPORT(int) PyImport_ImportFrozenModule Py_PROTO((char *));
  
! extern DL_IMPORT(PyObject *)_PyImport_FindExtension Py_PROTO((char *, char *));
! extern DL_IMPORT(PyObject *)_PyImport_FixupExtension Py_PROTO((char *, char *));
  
  struct _inittab {
! 	char *name;
! 	void (*initfunc)();
  };
  
  extern DL_IMPORT(struct _inittab *) PyImport_Inittab;
  
! extern DL_IMPORT(int) PyImport_AppendInittab Py_PROTO((char *name, void (*initfunc)()));
! extern DL_IMPORT(int) PyImport_ExtendInittab Py_PROTO((struct _inittab *newtab));
  
  struct _frozen {
! 	char *name;
! 	unsigned char *code;
! 	int size;
  };
  
--- 10,51 ----
  
  /* Module definition and import interface */
+ 
+ #ifndef Py_IMPORT_H
+ #define Py_IMPORT_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  
! DL_IMPORT(long) PyImport_GetMagicNumber(void);
! DL_IMPORT(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co);
! DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx(
! 	char *name, PyObject *co, char *pathname);
! DL_IMPORT(PyObject *) PyImport_GetModuleDict(void);
! DL_IMPORT(PyObject *) PyImport_AddModule(char *name);
! DL_IMPORT(PyObject *) PyImport_ImportModule(char *name);
! DL_IMPORT(PyObject *) PyImport_ImportModuleEx(
! 	char *name, PyObject *globals, PyObject *locals, PyObject *fromlist);
! DL_IMPORT(PyObject *) PyImport_Import(PyObject *name);
! DL_IMPORT(PyObject *) PyImport_ReloadModule(PyObject *m);
! DL_IMPORT(void) PyImport_Cleanup(void);
! DL_IMPORT(int) PyImport_ImportFrozenModule(char *);
  
! extern DL_IMPORT(PyObject *)_PyImport_FindExtension(char *, char *);
! extern DL_IMPORT(PyObject *)_PyImport_FixupExtension(char *, char *);
  
  struct _inittab {
!     char *name;
!     void (*initfunc)();
  };
  
  extern DL_IMPORT(struct _inittab *) PyImport_Inittab;
  
! extern DL_IMPORT(int) PyImport_AppendInittab(char *name, void (*initfunc)());
! extern DL_IMPORT(int) PyImport_ExtendInittab(struct _inittab *newtab);
  
  struct _frozen {
!     char *name;
!     unsigned char *code;
!     int size;
  };
  

Index: intrcheck.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/intrcheck.h,v
retrieving revision 2.7
retrieving revision 2.8
diff -C2 -r2.7 -r2.8
*** intrcheck.h	2000/06/30 23:58:04	2.7
--- intrcheck.h	2000/07/08 23:37:28	2.8
***************
*** 1,8 ****
- #ifndef Py_INTRCHECK_H
- #define Py_INTRCHECK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 14,21 ****
  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  ******************************************************************/
  
! extern DL_IMPORT(int) PyOS_InterruptOccurred Py_PROTO((void));
! extern DL_IMPORT(void) PyOS_InitInterrupts Py_PROTO((void));
! DL_IMPORT(void) PyOS_AfterFork Py_PROTO((void));
  
  #ifdef __cplusplus
--- 8,21 ----
  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  ******************************************************************/
+ 
+ #ifndef Py_INTRCHECK_H
+ #define Py_INTRCHECK_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  
! extern DL_IMPORT(int) PyOS_InterruptOccurred(void);
! extern DL_IMPORT(void) PyOS_InitInterrupts(void);
! DL_IMPORT(void) PyOS_AfterFork(void);
  
  #ifdef __cplusplus

Index: marshal.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/marshal.h,v
retrieving revision 2.8
retrieving revision 2.9
diff -C2 -r2.8 -r2.9
*** marshal.h	2000/06/30 23:58:04	2.8
--- marshal.h	2000/07/08 23:37:28	2.9
***************
*** 1,8 ****
- #ifndef Py_MARSHAL_H
- #define Py_MARSHAL_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 16,29 ****
  
  /* Interface for marshal.c */
  
! DL_IMPORT(void) PyMarshal_WriteLongToFile Py_PROTO((long, FILE *));
! DL_IMPORT(void) PyMarshal_WriteShortToFile Py_PROTO((int, FILE *));
! DL_IMPORT(void) PyMarshal_WriteObjectToFile Py_PROTO((PyObject *, FILE *));
! DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString Py_PROTO((PyObject *));
  
! DL_IMPORT(long) PyMarshal_ReadLongFromFile Py_PROTO((FILE *));
! DL_IMPORT(int) PyMarshal_ReadShortFromFile Py_PROTO((FILE *));
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile Py_PROTO((FILE *));
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString Py_PROTO((char *, int));
  
  #ifdef __cplusplus
--- 10,29 ----
  
  /* Interface for marshal.c */
+ 
+ #ifndef Py_MARSHAL_H
+ #define Py_MARSHAL_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  
! DL_IMPORT(void) PyMarshal_WriteLongToFile(long, FILE *);
! DL_IMPORT(void) PyMarshal_WriteShortToFile(int, FILE *);
! DL_IMPORT(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *);
! DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString(PyObject *);
  
! DL_IMPORT(long) PyMarshal_ReadLongFromFile(FILE *);
! DL_IMPORT(int) PyMarshal_ReadShortFromFile(FILE *);
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString(char *, int);
  
  #ifdef __cplusplus

Index: node.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/node.h,v
retrieving revision 2.15
retrieving revision 2.16
diff -C2 -r2.15 -r2.16
*** node.h	2000/06/30 23:58:04	2.15
--- node.h	2000/07/08 23:37:28	2.16
***************
*** 1,8 ****
- #ifndef Py_NODE_H
- #define Py_NODE_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 17,31 ****
  /* Parse tree node interface */
  
  typedef struct _node {
! 	short		n_type;
! 	char		*n_str;
! 	short		n_lineno;
! 	short		n_nchildren;
! 	struct _node	*n_child;
  } node;
  
! extern DL_IMPORT(node *) PyNode_New Py_PROTO((int type));
! extern DL_IMPORT(int) PyNode_AddChild Py_PROTO((node *n, int type, char *str, int lineno));
! extern DL_IMPORT(void) PyNode_Free Py_PROTO((node *n));
  
  /* Node access functions */
--- 11,32 ----
  /* Parse tree node interface */
  
+ #ifndef Py_NODE_H
+ #define Py_NODE_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
  typedef struct _node {
!     short		n_type;
!     char		*n_str;
!     short		n_lineno;
!     short		n_nchildren;
!     struct _node	*n_child;
  } node;
  
! extern DL_IMPORT(node *) PyNode_New(int type);
! extern DL_IMPORT(int) PyNode_AddChild(node *n, int type,
!                                       char *str, int lineno);
! extern DL_IMPORT(void) PyNode_Free(node *n);
  
  /* Node access functions */
***************
*** 41,51 ****
  #define REQ(n, type) \
  	{ if (TYPE(n) != (type)) { \
! 		fprintf(stderr, "FATAL: node type %d, required %d\n", \
! 			TYPE(n), type); \
! 		abort(); \
  	} }
  #endif
  
! extern DL_IMPORT(void) PyNode_ListTree Py_PROTO((node *));
  
  #ifdef __cplusplus
--- 42,52 ----
  #define REQ(n, type) \
  	{ if (TYPE(n) != (type)) { \
! 	    fprintf(stderr, "FATAL: node type %d, required %d\n", \
! 		    TYPE(n), type); \
! 	    abort(); \
  	} }
  #endif
  
! extern DL_IMPORT(void) PyNode_ListTree(node *);
  
  #ifdef __cplusplus

Index: parsetok.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/parsetok.h,v
retrieving revision 2.12
retrieving revision 2.13
diff -C2 -r2.12 -r2.13
*** parsetok.h	2000/06/30 23:58:04	2.12
--- parsetok.h	2000/07/08 23:37:28	2.13
***************
*** 1,8 ****
- #ifndef Py_PARSETOK_H
- #define Py_PARSETOK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 17,31 ****
  /* Parser-tokenizer link interface */
  
  typedef struct {
! 	int error;
! 	char *filename;
! 	int lineno;
! 	int offset;
! 	char *text;
  } perrdetail;
  
! extern DL_IMPORT(node *) PyParser_ParseString Py_PROTO((char *, grammar *, int, perrdetail *));
! extern DL_IMPORT(node *) PyParser_ParseFile Py_PROTO((FILE *, char *, grammar *, int,
! 			    char *, char *, perrdetail *));
  
  #ifdef __cplusplus
--- 11,32 ----
  /* Parser-tokenizer link interface */
  
+ #ifndef Py_PARSETOK_H
+ #define Py_PARSETOK_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
  typedef struct {
!     int error;
!     char *filename;
!     int lineno;
!     int offset;
!     char *text;
  } perrdetail;
  
! extern DL_IMPORT(node *) PyParser_ParseString(char *, grammar *, int,
!                                               perrdetail *);
! extern DL_IMPORT(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
!                                              char *, char *, perrdetail *);
  
  #ifdef __cplusplus

Index: pydebug.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pydebug.h,v
retrieving revision 2.13
retrieving revision 2.14
diff -C2 -r2.13 -r2.14
*** pydebug.h	2000/06/30 23:58:04	2.13
--- pydebug.h	2000/07/08 23:37:28	2.14
***************
*** 25,29 ****
  extern DL_IMPORT(int) Py_UnicodeFlag;
  
! DL_IMPORT(void) Py_FatalError	Py_PROTO((char *));
  
  #ifdef __cplusplus
--- 25,29 ----
  extern DL_IMPORT(int) Py_UnicodeFlag;
  
! DL_IMPORT(void) Py_FatalError(char *message);
  
  #ifdef __cplusplus

Index: pystate.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pystate.h,v
retrieving revision 2.11
retrieving revision 2.12
diff -C2 -r2.11 -r2.12
*** pystate.h	2000/06/30 23:58:04	2.11
--- pystate.h	2000/07/08 23:37:28	2.12
***************
*** 1,8 ****
- #ifndef Py_PYSTATE_H
- #define Py_PYSTATE_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 18,21 ****
--- 12,21 ----
  
  
+ #ifndef Py_PYSTATE_H
+ #define Py_PYSTATE_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
  /* State shared between threads */
  
***************
*** 25,36 ****
  typedef struct _is {
  
! 	struct _is *next;
! 	struct _ts *tstate_head;
  
! 	PyObject *modules;
! 	PyObject *sysdict;
! 	PyObject *builtins;
  
! 	int checkinterval;
  
  } PyInterpreterState;
--- 25,36 ----
  typedef struct _is {
  
!     struct _is *next;
!     struct _ts *tstate_head;
  
!     PyObject *modules;
!     PyObject *sysdict;
!     PyObject *builtins;
  
!     int checkinterval;
  
  } PyInterpreterState;
***************
*** 43,83 ****
  typedef struct _ts {
  
! 	struct _ts *next;
! 	PyInterpreterState *interp;
  
! 	struct _frame *frame;
! 	int recursion_depth;
! 	int ticker;
! 	int tracing;
  
! 	PyObject *sys_profilefunc;
! 	PyObject *sys_tracefunc;
  
! 	PyObject *curexc_type;
! 	PyObject *curexc_value;
! 	PyObject *curexc_traceback;
  
! 	PyObject *exc_type;
! 	PyObject *exc_value;
! 	PyObject *exc_traceback;
  
! 	PyObject *dict;
  
! 	/* XXX signal handlers should also be here */
  
  } PyThreadState;
  
  
! DL_IMPORT(PyInterpreterState *) PyInterpreterState_New Py_PROTO((void));
! DL_IMPORT(void) PyInterpreterState_Clear Py_PROTO((PyInterpreterState *));
! DL_IMPORT(void) PyInterpreterState_Delete Py_PROTO((PyInterpreterState *));
! 
! DL_IMPORT(PyThreadState *) PyThreadState_New Py_PROTO((PyInterpreterState *));
! DL_IMPORT(void) PyThreadState_Clear Py_PROTO((PyThreadState *));
! DL_IMPORT(void) PyThreadState_Delete Py_PROTO((PyThreadState *));
! 
! DL_IMPORT(PyThreadState *) PyThreadState_Get Py_PROTO((void));
! DL_IMPORT(PyThreadState *) PyThreadState_Swap Py_PROTO((PyThreadState *));
! DL_IMPORT(PyObject *) PyThreadState_GetDict Py_PROTO((void));
  
  
--- 43,83 ----
  typedef struct _ts {
  
!     struct _ts *next;
!     PyInterpreterState *interp;
  
!     struct _frame *frame;
!     int recursion_depth;
!     int ticker;
!     int tracing;
  
!     PyObject *sys_profilefunc;
!     PyObject *sys_tracefunc;
  
!     PyObject *curexc_type;
!     PyObject *curexc_value;
!     PyObject *curexc_traceback;
  
!     PyObject *exc_type;
!     PyObject *exc_value;
!     PyObject *exc_traceback;
  
!     PyObject *dict;
  
!     /* XXX signal handlers should also be here */
  
  } PyThreadState;
  
  
! DL_IMPORT(PyInterpreterState *) PyInterpreterState_New(void);
! DL_IMPORT(void) PyInterpreterState_Clear(PyInterpreterState *);
! DL_IMPORT(void) PyInterpreterState_Delete(PyInterpreterState *);
! 
! DL_IMPORT(PyThreadState *) PyThreadState_New(PyInterpreterState *);
! DL_IMPORT(void) PyThreadState_Clear(PyThreadState *);
! DL_IMPORT(void) PyThreadState_Delete(PyThreadState *);
! 
! DL_IMPORT(PyThreadState *) PyThreadState_Get(void);
! DL_IMPORT(PyThreadState *) PyThreadState_Swap(PyThreadState *);
! DL_IMPORT(PyObject *) PyThreadState_GetDict(void);
  
  

Index: structmember.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/structmember.h,v
retrieving revision 2.14
retrieving revision 2.15
diff -C2 -r2.14 -r2.15
*** structmember.h	2000/06/30 23:58:04	2.14
--- structmember.h	2000/07/08 23:37:28	2.15
***************
*** 72,77 ****
  #define RO		READONLY		/* Shorthand */
  
! DL_IMPORT(PyObject *) PyMember_Get Py_PROTO((char *, struct memberlist *, char *));
! DL_IMPORT(int) PyMember_Set Py_PROTO((char *, struct memberlist *, char *, PyObject *));
  
  #ifdef __cplusplus
--- 72,77 ----
  #define RO		READONLY		/* Shorthand */
  
! DL_IMPORT(PyObject *) PyMember_Get(char *, struct memberlist *, char *);
! DL_IMPORT(int) PyMember_Set(char *, struct memberlist *, char *, PyObject *);
  
  #ifdef __cplusplus

Index: traceback.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/traceback.h,v
retrieving revision 2.16
retrieving revision 2.17
diff -C2 -r2.16 -r2.17
*** traceback.h	2000/06/30 23:58:04	2.16
--- traceback.h	2000/07/08 23:37:28	2.17
***************
*** 1,8 ****
- #ifndef Py_TRACEBACK_H
- #define Py_TRACEBACK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
  /***********************************************************
  Copyright (c) 2000, BeOpen.com.
--- 1,2 ----
***************
*** 15,26 ****
  ******************************************************************/
  
  /* Traceback interface */
  
  struct _frame;
  
! DL_IMPORT(int) PyTraceBack_Here Py_PROTO((struct _frame *));
! DL_IMPORT(PyObject *) PyTraceBack_Fetch Py_PROTO((void));
! DL_IMPORT(int) PyTraceBack_Store Py_PROTO((PyObject *));
! DL_IMPORT(int) PyTraceBack_Print Py_PROTO((PyObject *, PyObject *));
  
  /* Reveale traceback type so we can typecheck traceback objects */
--- 9,26 ----
  ******************************************************************/
  
+ #ifndef Py_TRACEBACK_H
+ #define Py_TRACEBACK_H
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
  /* Traceback interface */
  
  struct _frame;
  
! DL_IMPORT(int) PyTraceBack_Here(struct _frame *);
! DL_IMPORT(PyObject *) PyTraceBack_Fetch(void);
! DL_IMPORT(int) PyTraceBack_Store(PyObject *);
! DL_IMPORT(int) PyTraceBack_Print(PyObject *, PyObject *);
  
  /* Reveale traceback type so we can typecheck traceback objects */