diff options
| author | Stefan Monnier | 2007-10-17 02:13:01 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2007-10-17 02:13:01 +0000 |
| commit | 19fa82b957d6e2f7698aafe7c2827a796357bd6d (patch) | |
| tree | 5a82697de36b0821b5f84f99cb8fd43b73e3d525 /src | |
| parent | d314756ea8059b422eebf9f1f435fe19f589fc5c (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lisp.h | 26 |
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 @@ | |||
| 1 | 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2007-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. */ |