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 88df30c9721..a6019f7c1a5 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -617,11 +617,11 @@ exec_byte_code__ (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 617 | { | 617 | { |
| 618 | Lisp_Object v2 = POP, v1 = TOP; | 618 | Lisp_Object v2 = POP, v1 = TOP; |
| 619 | CHECK_NUMBER (v1); | 619 | CHECK_NUMBER (v1); |
| 620 | EMACS_INT n = XINT (v1); | 620 | for (EMACS_INT n = XINT (v1); 0 < n && CONSP (v2); n--) |
| 621 | immediate_quit = true; | 621 | { |
| 622 | while (--n >= 0 && CONSP (v2)) | 622 | v2 = XCDR (v2); |
| 623 | v2 = XCDR (v2); | 623 | rarely_quit (n); |
| 624 | immediate_quit = false; | 624 | } |
| 625 | TOP = CAR (v2); | 625 | TOP = CAR (v2); |
| 626 | NEXT; | 626 | NEXT; |
| 627 | } | 627 | } |
| @@ -1051,11 +1051,11 @@ exec_byte_code__ (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1051 | /* Exchange args and then do nth. */ | 1051 | /* Exchange args and then do nth. */ |
| 1052 | Lisp_Object v2 = POP, v1 = TOP; | 1052 | Lisp_Object v2 = POP, v1 = TOP; |
| 1053 | CHECK_NUMBER (v2); | 1053 | CHECK_NUMBER (v2); |
| 1054 | EMACS_INT n = XINT (v2); | 1054 | for (EMACS_INT n = XINT (v2); 0 < n && CONSP (v1); n--) |
| 1055 | immediate_quit = true; | 1055 | { |
| 1056 | while (--n >= 0 && CONSP (v1)) | 1056 | v1 = XCDR (v1); |
| 1057 | v1 = XCDR (v1); | 1057 | rarely_quit (n); |
| 1058 | immediate_quit = false; | 1058 | } |
| 1059 | TOP = CAR (v1); | 1059 | TOP = CAR (v1); |
| 1060 | } | 1060 | } |
| 1061 | else | 1061 | else |