diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 20 |
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, | |||
| 843 | { | 843 | { |
| 844 | Lisp_Object v2 = POP, v1 = TOP; | 844 | Lisp_Object v2 = POP, v1 = TOP; |
| 845 | CHECK_NUMBER (v1); | 845 | CHECK_NUMBER (v1); |
| 846 | EMACS_INT n = XINT (v1); | 846 | for (EMACS_INT n = XINT (v1); 0 < n && CONSP (v2); n--) |
| 847 | immediate_quit = true; | 847 | { |
| 848 | while (--n >= 0 && CONSP (v2)) | 848 | v2 = XCDR (v2); |
| 849 | v2 = XCDR (v2); | 849 | rarely_quit (n); |
| 850 | immediate_quit = false; | 850 | } |
| 851 | TOP = CAR (v2); | 851 | TOP = CAR (v2); |
| 852 | NEXT; | 852 | NEXT; |
| 853 | } | 853 | } |
| @@ -1277,11 +1277,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1277 | /* Exchange args and then do nth. */ | 1277 | /* Exchange args and then do nth. */ |
| 1278 | Lisp_Object v2 = POP, v1 = TOP; | 1278 | Lisp_Object v2 = POP, v1 = TOP; |
| 1279 | CHECK_NUMBER (v2); | 1279 | CHECK_NUMBER (v2); |
| 1280 | EMACS_INT n = XINT (v2); | 1280 | for (EMACS_INT n = XINT (v2); 0 < n && CONSP (v1); n--) |
| 1281 | immediate_quit = true; | 1281 | { |
| 1282 | while (--n >= 0 && CONSP (v1)) | 1282 | v1 = XCDR (v1); |
| 1283 | v1 = XCDR (v1); | 1283 | rarely_quit (n); |
| 1284 | immediate_quit = false; | 1284 | } |
| 1285 | TOP = CAR (v1); | 1285 | TOP = CAR (v1); |
| 1286 | } | 1286 | } |
| 1287 | else | 1287 | else |