diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 62 |
1 files changed, 10 insertions, 52 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index d71006cb660..2facaa47062 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -541,12 +541,7 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 541 | { | 541 | { |
| 542 | Lisp_Object v1; | 542 | Lisp_Object v1; |
| 543 | v1 = TOP; | 543 | v1 = TOP; |
| 544 | if (CONSP (v1)) | 544 | TOP = CAR (v1); |
| 545 | TOP = XCAR (v1); | ||
| 546 | else if (NILP (v1)) | ||
| 547 | TOP = Qnil; | ||
| 548 | else | ||
| 549 | wrong_type_argument (Qlistp, v1); | ||
| 550 | break; | 545 | break; |
| 551 | } | 546 | } |
| 552 | 547 | ||
| @@ -572,12 +567,7 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 572 | { | 567 | { |
| 573 | Lisp_Object v1; | 568 | Lisp_Object v1; |
| 574 | v1 = TOP; | 569 | v1 = TOP; |
| 575 | if (CONSP (v1)) | 570 | TOP = CDR (v1); |
| 576 | TOP = XCDR (v1); | ||
| 577 | else if (NILP (v1)) | ||
| 578 | TOP = Qnil; | ||
| 579 | else | ||
| 580 | wrong_type_argument (Qlistp, v1); | ||
| 581 | break; | 571 | break; |
| 582 | } | 572 | } |
| 583 | 573 | ||
| @@ -912,23 +902,10 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 912 | AFTER_POTENTIAL_GC (); | 902 | AFTER_POTENTIAL_GC (); |
| 913 | op = XINT (v2); | 903 | op = XINT (v2); |
| 914 | immediate_quit = 1; | 904 | immediate_quit = 1; |
| 915 | while (--op >= 0) | 905 | while (--op >= 0 && CONSP (v1)) |
| 916 | { | 906 | v1 = XCDR (v1); |
| 917 | if (CONSP (v1)) | ||
| 918 | v1 = XCDR (v1); | ||
| 919 | else if (!NILP (v1)) | ||
| 920 | { | ||
| 921 | immediate_quit = 0; | ||
| 922 | wrong_type_argument (Qlistp, v1); | ||
| 923 | } | ||
| 924 | } | ||
| 925 | immediate_quit = 0; | 907 | immediate_quit = 0; |
| 926 | if (CONSP (v1)) | 908 | TOP = CAR (v1); |
| 927 | TOP = XCAR (v1); | ||
| 928 | else if (NILP (v1)) | ||
| 929 | TOP = Qnil; | ||
| 930 | else | ||
| 931 | wrong_type_argument (Qlistp, v1); | ||
| 932 | break; | 909 | break; |
| 933 | } | 910 | } |
| 934 | 911 | ||
| @@ -1551,23 +1528,10 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 1551 | AFTER_POTENTIAL_GC (); | 1528 | AFTER_POTENTIAL_GC (); |
| 1552 | op = XINT (v2); | 1529 | op = XINT (v2); |
| 1553 | immediate_quit = 1; | 1530 | immediate_quit = 1; |
| 1554 | while (--op >= 0) | 1531 | while (--op >= 0 && CONSP (v1)) |
| 1555 | { | 1532 | v1 = XCDR (v1); |
| 1556 | if (CONSP (v1)) | ||
| 1557 | v1 = XCDR (v1); | ||
| 1558 | else if (!NILP (v1)) | ||
| 1559 | { | ||
| 1560 | immediate_quit = 0; | ||
| 1561 | wrong_type_argument (Qlistp, v1); | ||
| 1562 | } | ||
| 1563 | } | ||
| 1564 | immediate_quit = 0; | 1533 | immediate_quit = 0; |
| 1565 | if (CONSP (v1)) | 1534 | TOP = CAR (v1); |
| 1566 | TOP = XCAR (v1); | ||
| 1567 | else if (NILP (v1)) | ||
| 1568 | TOP = Qnil; | ||
| 1569 | else | ||
| 1570 | wrong_type_argument (Qlistp, v1); | ||
| 1571 | } | 1535 | } |
| 1572 | else | 1536 | else |
| 1573 | { | 1537 | { |
| @@ -1629,10 +1593,7 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 1629 | { | 1593 | { |
| 1630 | Lisp_Object v1; | 1594 | Lisp_Object v1; |
| 1631 | v1 = TOP; | 1595 | v1 = TOP; |
| 1632 | if (CONSP (v1)) | 1596 | TOP = CAR_SAFE (v1); |
| 1633 | TOP = XCAR (v1); | ||
| 1634 | else | ||
| 1635 | TOP = Qnil; | ||
| 1636 | break; | 1597 | break; |
| 1637 | } | 1598 | } |
| 1638 | 1599 | ||
| @@ -1640,10 +1601,7 @@ If the third argument is incorrect, Emacs may crash. */) | |||
| 1640 | { | 1601 | { |
| 1641 | Lisp_Object v1; | 1602 | Lisp_Object v1; |
| 1642 | v1 = TOP; | 1603 | v1 = TOP; |
| 1643 | if (CONSP (v1)) | 1604 | TOP = CDR_SAFE (v1); |
| 1644 | TOP = XCDR (v1); | ||
| 1645 | else | ||
| 1646 | TOP = Qnil; | ||
| 1647 | break; | 1605 | break; |
| 1648 | } | 1606 | } |
| 1649 | 1607 | ||