summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-04-23 22:30:24 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-04-23 22:30:24 -0700
commit0df1eac54fdf82a80a7611fe421d94a23ebd4a0a (patch)
tree4b9aa5e8fd038ac9ea0a67cab9ca3b6c7efc3a92
parentc38918db05bb8df4619bff27d04a0dc48202b647 (diff)
* bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
-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 <eggert@cs.ucla.edu>
+
+ * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
+
2011-04-21 Paul Eggert <eggert@cs.ucla.edu>
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