From 0df1eac54fdf82a80a7611fe421d94a23ebd4a0a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 23 Apr 2011 22:30:24 -0700 Subject: [PATCH] * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. --- src/ChangeLog | 4 ++++ src/bytecode.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index f5239b2e046..e6a9f9c69fb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-04-24 Paul Eggert + + * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. + 2011-04-21 Paul Eggert Make the Lisp reader and string-to-float more consistent. diff --git a/src/bytecode.c b/src/bytecode.c index 581e16678a6..3bbd8831633 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -444,7 +444,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, /* Lisp_Object v1, v2; */ Lisp_Object *vectorp; #ifdef BYTE_CODE_SAFE - int const_length = XVECTOR (vector)->size; + int const_length; Lisp_Object *stacke; int bytestr_length; #endif @@ -466,6 +466,10 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, CHECK_VECTOR (vector); CHECK_NUMBER (maxdepth); +#ifdef BYTE_CODE_SAFE + const_length = XVECTOR (vector)->size; +#endif + if (STRING_MULTIBYTE (bytestr)) /* BYTESTR must have been produced by Emacs 20.2 or the earlier because they produced a raw 8-bit string for byte-code and now -- 2.11.4.GIT