aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2007-10-17 02:13:01 +0000
committerStefan Monnier2007-10-17 02:13:01 +0000
commit19fa82b957d6e2f7698aafe7c2827a796357bd6d (patch)
tree5a82697de36b0821b5f84f99cb8fd43b73e3d525 /src
parentd314756ea8059b422eebf9f1f435fe19f589fc5c (diff)
downloademacs-19fa82b957d6e2f7698aafe7c2827a796357bd6d.tar.gz
emacs-19fa82b957d6e2f7698aafe7c2827a796357bd6d.zip
(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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/lisp.h26
2 files changed, 19 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 81cdd0b9d00..a48dc5c6438 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
12007-10-17 Stefan Monnier <monnier@iro.umontreal.ca> 12007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
4 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
5 Add type checks.
6 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
7
3 * alloc.c (free_misc): Use XMISCTYPE. 8 * alloc.c (free_misc): Use XMISCTYPE.
4 (live_misc_p, gc_sweep): Use Lisp_Misc_Any. 9 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
5 10
diff --git a/src/lisp.h b/src/lisp.h
index 74957e9fe18..47e40c63328 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -521,17 +521,20 @@ extern size_t pure_size;
521/* Misc types. */ 521/* Misc types. */
522 522
523#define XMISC(a) ((union Lisp_Misc *) XPNTR(a)) 523#define XMISC(a) ((union Lisp_Misc *) XPNTR(a))
524#define XMISCANY(a) (&(XMISC(a)->u_any)) 524#define XMISCANY(a) (eassert (MISCP (a)), &(XMISC(a)->u_any))
525#define XMISCTYPE(a) (XMISCANY (a)->type) 525#define XMISCTYPE(a) (XMISCANY (a)->type)
526#define XMARKER(a) (&(XMISC(a)->u_marker)) 526#define XMARKER(a) (eassert (MARKERP (a)), &(XMISC(a)->u_marker))
527#define XINTFWD(a) (&(XMISC(a)->u_intfwd)) 527#define XINTFWD(a) (eassert (INTFWDP (a)), &(XMISC(a)->u_intfwd))
528#define XBOOLFWD(a) (&(XMISC(a)->u_boolfwd)) 528#define XBOOLFWD(a) (eassert (BOOLFWDP (a)), &(XMISC(a)->u_boolfwd))
529#define XOBJFWD(a) (&(XMISC(a)->u_objfwd)) 529#define XOBJFWD(a) (eassert (OBJFWDP (a)), &(XMISC(a)->u_objfwd))
530#define XBUFFER_OBJFWD(a) (&(XMISC(a)->u_buffer_objfwd)) 530#define XOVERLAY(a) (eassert (OVERLAYP (a)), &(XMISC(a)->u_overlay))
531#define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) 531#define XSAVE_VALUE(a) (eassert (SAVE_VALUEP (a)), &(XMISC(a)->u_save_value))
532#define XOVERLAY(a) (&(XMISC(a)->u_overlay)) 532#define XBUFFER_OBJFWD(a) \
533#define XKBOARD_OBJFWD(a) (&(XMISC(a)->u_kboard_objfwd)) 533 (eassert (BUFFER_OBJFWDP (a)), &(XMISC(a)->u_buffer_objfwd))
534#define XSAVE_VALUE(a) (&(XMISC(a)->u_save_value)) 534#define XBUFFER_LOCAL_VALUE(a) \
535 (eassert (BUFFER_LOCAL_VALUEP (a)), &(XMISC(a)->u_buffer_local_value))
536#define XKBOARD_OBJFWD(a) \
537 (eassert (KBOARD_OBJFWDP (a)), &(XMISC(a)->u_kboard_objfwd))
535 538
536/* Pseudovector types. */ 539/* Pseudovector types. */
537 540
@@ -1494,10 +1497,9 @@ typedef unsigned char UCHAR;
1494#define GC_BUFFER_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Objfwd) 1497#define GC_BUFFER_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Objfwd)
1495#define BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value) 1498#define BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value)
1496#define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value) 1499#define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Buffer_Local_Value)
1497#define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Some_Buffer_Local_Value)
1498#define GC_SOME_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Some_Buffer_Local_Value)
1499#define KBOARD_OBJFWDP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd) 1500#define KBOARD_OBJFWDP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd)
1500#define GC_KBOARD_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd) 1501#define GC_KBOARD_OBJFWDP(x) (GC_MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Kboard_Objfwd)
1502#define SAVE_VALUEP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Save_Value)
1501 1503
1502 1504
1503/* True if object X is a pseudovector whose code is CODE. */ 1505/* True if object X is a pseudovector whose code is CODE. */