From: Ken Raeburn Date: Tue, 17 Jul 2001 16:44:16 +0000 (+0000) Subject: * lisp.h (XVECTOR): Verify correct object type before returning a pointer. X-Git-Tag: emacs-pretest-21.0.105~456 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=232e274c6ef3a0d74be18cb1cacfa0073088fb07;p=emacs.git * lisp.h (XVECTOR): Verify correct object type before returning a pointer. --- diff --git a/src/ChangeLog b/src/ChangeLog index 17d16b23b19..c47a6b633f5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -3,6 +3,9 @@ * coding.c (setup_coding_system): Don't do any designation based on reg_bits if charset is not yet defined. + * lisp.h (XVECTOR): Verify correct object type before returning a + pointer, using eassert. + 2001-07-17 Gerd Moellmann * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase diff --git a/src/lisp.h b/src/lisp.h index f4fd603acb7..5cda92c93bc 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -471,7 +471,7 @@ extern Lisp_Object make_number (); /* Extract a value or address from a Lisp_Object. */ #define XCONS(a) (eassert (GC_CONSP(a)),(struct Lisp_Cons *) XPNTR(a)) -#define XVECTOR(a) ((struct Lisp_Vector *) XPNTR(a)) +#define XVECTOR(a) (eassert (GC_VECTORLIKEP(a)),(struct Lisp_Vector *) XPNTR(a)) #define XSTRING(a) (eassert (GC_STRINGP(a)),(struct Lisp_String *) XPNTR(a)) #define XSYMBOL(a) (eassert (GC_SYMBOLP(a)),(struct Lisp_Symbol *) XPNTR(a)) #define XFLOAT(a) (eassert (GC_FLOATP(a)),(struct Lisp_Float *) XPNTR(a))