summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorVibhav Pant <vibhavp@gmail.com>2017-02-05 23:08:53 +0530
committerVibhav Pant <vibhavp@gmail.com>2017-02-05 23:08:53 +0530
commitad70ca1dad26da79f0a95cc0ec687902ef20fa9b (patch)
tree732e8e9ace1fdd7aaf982f0fa5ac6c8e4eb5f7c7 /src/bytecode.c
parent2db473bda8be72cf3c1e4694d70ce48f60492b0e (diff)
parent148100d98319499f0ac6f57b8be08cbd14884a5c (diff)
Merge remote-tracking branch 'origin/master' into feature/byte-switch
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 288d78efe41..f9531761b3c 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -843,11 +843,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
{
Lisp_Object v2 = POP, v1 = TOP;
CHECK_NUMBER (v1);
- EMACS_INT n = XINT (v1);
- immediate_quit = true;
- while (--n >= 0 && CONSP (v2))
- v2 = XCDR (v2);
- immediate_quit = false;
+ for (EMACS_INT n = XINT (v1); 0 < n && CONSP (v2); n--)
+ {
+ v2 = XCDR (v2);
+ rarely_quit (n);
+ }
TOP = CAR (v2);
NEXT;
}
@@ -1277,11 +1277,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
/* Exchange args and then do nth. */
Lisp_Object v2 = POP, v1 = TOP;
CHECK_NUMBER (v2);
- EMACS_INT n = XINT (v2);
- immediate_quit = true;
- while (--n >= 0 && CONSP (v1))
- v1 = XCDR (v1);
- immediate_quit = false;
+ for (EMACS_INT n = XINT (v2); 0 < n && CONSP (v1); n--)
+ {
+ v1 = XCDR (v1);
+ rarely_quit (n);
+ }
TOP = CAR (v1);
}
else