# HG changeset patch # User Stefan Monnier # Date 1192587181 0 # Node ID 35d2f0abc59718fab68ec1eed5ee7562f98ab5cf # Parent 99492f85749969bfe433a6550a5bfd629eae57a0 (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY, XBUFFER_OBJFWD) (XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE): Add type checks. (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove. diff -r 99492f857499 -r 35d2f0abc597 src/ChangeLog --- a/src/ChangeLog Wed Oct 17 02:10:38 2007 +0000 +++ b/src/ChangeLog Wed Oct 17 02:13:01 2007 +0000 @@ -1,5 +1,10 @@ 2007-10-17 Stefan Monnier + * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY) + (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE): + Add type checks. + (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove. + * alloc.c (free_misc): Use XMISCTYPE. (live_misc_p, gc_sweep): Use Lisp_Misc_Any. diff -r 99492f857499 -r 35d2f0abc597 src/lisp.h --- a/src/lisp.h Wed Oct 17 02:10:38 2007 +0000 +++ b/src/lisp.h Wed Oct 17 02:13:01 2007 +0000 @@ -521,17 +521,20 @@ /* Misc types. */ #define XMISC(a) ((union Lisp_Misc *) XPNTR(a)) -#define XMISCANY(a) (&(XMISC(a)->u_any)) +#define XMISCANY(a) (eassert (MISCP (a)), &(XMISC(a)->u_any)) #define XMISCTYPE(a) (XMISCANY (a)->type) -#define XMARKER(a) (&(XMISC(a)->u_marker)) -#define XINTFWD(a) (&(XMISC(a)->u_intfwd)) -#define XBOOLFWD(a) (&(XMISC(a)->u_boolfwd)) -#define XOBJFWD(a) (&(XMISC(a)->u_objfwd)) -#define XBUFFER_OBJFWD(a) (&(XMISC(a)->u_buffer_objfwd)) -#define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) -#define XOVERLAY(a) (&(XMISC(a)->u_overlay)) -#define XKBOARD_OBJFWD(a) (&(XMISC(a)->u_kboard_objfwd)) -#define XSAVE_VALUE(a) (&(XMISC(a)->u_save_value)) +#define XMARKER(a) (eassert (MARKERP (a)), &(XMISC(a)->u_marker)) +#define XINTFWD(a) (eassert (INTFWDP (a)), &(XMISC(a)->u_intfwd)) +#define XBOOLFWD(a) (eassert (BOOLFWDP (a)), &(XMISC(a)->u_boolfwd)) +#define XOBJFWD(a) (eassert (OBJFWDP (a)), &(XMISC(a)->u_objfwd)) +#define XOVERLAY(a) (eassert (OVERLAYP (a)), &(XMISC(a)->u_overlay)) +#define XSAVE_VALUE(a) (eassert (SAVE_VALUEP (a)), &(XMISC(a)->u_save_value)) +#define XBUFFER_OBJFWD(a) \ + (eassert (BUFFER_OBJFWDP (a)), &(XMISC(a)->u_buffer_objfwd)) +#define XBUFFER_LOCAL_VALUE(a) \ + (eassert (BUFFER_LOCAL_VALUEP (a)), &(XMISC(a)->u_buffer_local_value)) +#define XKBOARD_OBJFWD(a) \ + (eassert (KBOARD_OBJFWDP (a)), &(XMISC(a)->u_kboard_objfwd)) /* Pseudovector types. */ @@ -1494,10 +1497,9 @@ #define GC_BUFFER_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Objfwd) #define BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value) #define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value) -#define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Some_Buffer_Local_Value) -#define GC_SOME_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Some_Buffer_Local_Value) #define KBOARD_OBJFWDP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd) #define GC_KBOARD_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd) +#define SAVE_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Save_Value) /* True if object X is a pseudovector whose code is CODE. */