aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c62
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