diff options
author | Alan Mackenzie <acm@muc.de> | 2017-02-12 10:59:03 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2017-02-12 10:59:03 +0000 |
commit | f4d5b687150810129b7a1d5b006e31ccf82b691b (patch) | |
tree | 4229b13800349032697daae3904dc3773e6b7a80 /src/bytecode.c | |
parent | d5514332d4a6092673ce1f78fadcae0c57f7be64 (diff) | |
parent | 148100d98319499f0ac6f57b8be08cbd14884a5c (diff) | |
download | emacs-comment-cache.tar.gz |
Merge branch 'master' into comment-cachecomment-cache
Diffstat (limited to 'src/bytecode.c')
-rw-r--r-- | src/bytecode.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index a64bc171d14..0f7420c19ee 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -679,7 +679,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, { quitcounter = 1; maybe_gc (); - QUIT; + maybe_quit (); } pc += op; NEXT; @@ -841,11 +841,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; } @@ -1275,11 +1275,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 |