aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/bytecode.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f5239b2e04..e6a9f9c69f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-04-24 Paul Eggert <[email protected]>
+
+ * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
+
2011-04-21 Paul Eggert <[email protected]>
Make the Lisp reader and string-to-float more consistent.
diff --git a/src/bytecode.c b/src/bytecode.c
index 581e16678a..3bbd883163 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