Mercurial > emacs
comparison src/bytecode.c @ 89978:566253900690
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-40
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-535
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-536
sync-tree with gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-537
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-538
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-539
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-540
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-541
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-542
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-545
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-546
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-547
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-548
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-549
Use symbol-matching for generic-mode keywords
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-550
Update from CVS
* miles@gnu.org--gnu-2004/gnus--devo--0--patch-2
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
Import from Gnus CVS branch V5-8
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-1
{arch}/=tagging-method: Add CVS and autoconf grot to junk regexp
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-2
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-3
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-4
Fix copied explicit id-tags
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-5
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-6
configure.in: Use ifelse instead of m4_if for arch-tag: comment
* miles@gnu.org--gnu-2004/gnus--rel--5.10--base-0
tag of miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-1
Gnus 5.10, from CVS branch v5-10
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-2
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-3
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-4
sync-tree with gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-5
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-6
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-7
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-8
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-9
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-10
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-11
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-12
Update from CVS: make.bat: Fix line endings around arch-tag.
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-13
- miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-17
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-21
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-22
Update from CVS: lisp/nndb.el (require): Remove tcp and duplicate cl.
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-23
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-24
lisp/nnimap.el (nnimap-open-connection): Remove extraneous end-paren
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-25
- miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-26
Update from CVS
| author | Miles Bader <miles@gnu.org> |
|---|---|
| date | Wed, 15 Sep 2004 09:00:10 +0000 |
| parents | d8411455de48 569cd6a5babd |
| children | 01137c1fdbe9 |
comparison
equal
deleted
inserted
replaced
| 89977:549fdd6f6856 | 89978:566253900690 |
|---|---|
| 1 /* Execution of byte code produced by bytecomp.el. | 1 /* Execution of byte code produced by bytecomp.el. |
| 2 Copyright (C) 1985, 1986, 1987, 1988, 1993, 2000, 2001, 2002, 2003 | 2 Copyright (C) 1985, 1986, 1987, 1988, 1993, 2000, 2001, 2002, 2003, 2004 |
| 3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
| 4 | 4 |
| 5 This file is part of GNU Emacs. | 5 This file is part of GNU Emacs. |
| 6 | 6 |
| 7 GNU Emacs is free software; you can redistribute it and/or modify | 7 GNU Emacs is free software; you can redistribute it and/or modify |
| 385 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ | 385 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ |
| 386 { \ | 386 { \ |
| 387 Vquit_flag = Qnil; \ | 387 Vquit_flag = Qnil; \ |
| 388 BEFORE_POTENTIAL_GC (); \ | 388 BEFORE_POTENTIAL_GC (); \ |
| 389 Fsignal (Qquit, Qnil); \ | 389 Fsignal (Qquit, Qnil); \ |
| 390 AFTER_POTENTIAL_GC (); \ | |
| 390 } \ | 391 } \ |
| 391 } while (0) | 392 } while (0) |
| 392 | 393 |
| 393 | 394 |
| 394 DEFUN ("byte-code", Fbyte_code, Sbyte_code, 3, 3, 0, | 395 DEFUN ("byte-code", Fbyte_code, Sbyte_code, 3, 3, 0, |
| 537 TOP = XCAR (v1); | 538 TOP = XCAR (v1); |
| 538 else if (NILP (v1)) | 539 else if (NILP (v1)) |
| 539 TOP = Qnil; | 540 TOP = Qnil; |
| 540 else | 541 else |
| 541 { | 542 { |
| 542 BEFORE_POTENTIAL_GC (); | 543 wrong_type_argument (Qlistp, v1); |
| 543 Fcar (wrong_type_argument (Qlistp, v1)); | |
| 544 AFTER_POTENTIAL_GC (); | |
| 545 } | 544 } |
| 546 break; | 545 break; |
| 547 } | 546 } |
| 548 | 547 |
| 549 case Beq: | 548 case Beq: |
| 572 TOP = XCDR (v1); | 571 TOP = XCDR (v1); |
| 573 else if (NILP (v1)) | 572 else if (NILP (v1)) |
| 574 TOP = Qnil; | 573 TOP = Qnil; |
| 575 else | 574 else |
| 576 { | 575 { |
| 577 BEFORE_POTENTIAL_GC (); | 576 wrong_type_argument (Qlistp, v1); |
| 578 Fcdr (wrong_type_argument (Qlistp, v1)); | |
| 579 AFTER_POTENTIAL_GC (); | |
| 580 } | 577 } |
| 581 break; | 578 break; |
| 582 } | 579 } |
| 583 | 580 |
| 584 case Bvarset: | 581 case Bvarset: |
| 905 if (CONSP (v1)) | 902 if (CONSP (v1)) |
| 906 v1 = XCDR (v1); | 903 v1 = XCDR (v1); |
| 907 else if (!NILP (v1)) | 904 else if (!NILP (v1)) |
| 908 { | 905 { |
| 909 immediate_quit = 0; | 906 immediate_quit = 0; |
| 910 BEFORE_POTENTIAL_GC (); | 907 wrong_type_argument (Qlistp, v1); |
| 911 v1 = wrong_type_argument (Qlistp, v1); | |
| 912 AFTER_POTENTIAL_GC (); | |
| 913 immediate_quit = 1; | |
| 914 op++; | |
| 915 } | 908 } |
| 916 } | 909 } |
| 917 immediate_quit = 0; | 910 immediate_quit = 0; |
| 918 if (CONSP (v1)) | 911 if (CONSP (v1)) |
| 919 TOP = XCAR (v1); | 912 TOP = XCAR (v1); |
| 920 else if (NILP (v1)) | 913 else if (NILP (v1)) |
| 921 TOP = Qnil; | 914 TOP = Qnil; |
| 922 else | 915 else |
| 923 { | 916 wrong_type_argument (Qlistp, v1); |
| 924 BEFORE_POTENTIAL_GC (); | |
| 925 Fcar (wrong_type_argument (Qlistp, v1)); | |
| 926 AFTER_POTENTIAL_GC (); | |
| 927 } | |
| 928 break; | 917 break; |
| 929 } | 918 } |
| 930 | 919 |
| 931 case Bsymbolp: | 920 case Bsymbolp: |
| 932 TOP = SYMBOLP (TOP) ? Qt : Qnil; | 921 TOP = SYMBOLP (TOP) ? Qt : Qnil; |
| 1559 if (CONSP (v1)) | 1548 if (CONSP (v1)) |
| 1560 v1 = XCDR (v1); | 1549 v1 = XCDR (v1); |
| 1561 else if (!NILP (v1)) | 1550 else if (!NILP (v1)) |
| 1562 { | 1551 { |
| 1563 immediate_quit = 0; | 1552 immediate_quit = 0; |
| 1564 BEFORE_POTENTIAL_GC (); | 1553 wrong_type_argument (Qlistp, v1); |
| 1565 v1 = wrong_type_argument (Qlistp, v1); | |
| 1566 AFTER_POTENTIAL_GC (); | |
| 1567 immediate_quit = 1; | |
| 1568 op++; | |
| 1569 } | 1554 } |
| 1570 } | 1555 } |
| 1571 immediate_quit = 0; | 1556 immediate_quit = 0; |
| 1572 if (CONSP (v1)) | 1557 if (CONSP (v1)) |
| 1573 TOP = XCAR (v1); | 1558 TOP = XCAR (v1); |
| 1574 else if (NILP (v1)) | 1559 else if (NILP (v1)) |
| 1575 TOP = Qnil; | 1560 TOP = Qnil; |
| 1576 else | 1561 else |
| 1577 { | 1562 wrong_type_argument (Qlistp, v1); |
| 1578 BEFORE_POTENTIAL_GC (); | |
| 1579 Fcar (wrong_type_argument (Qlistp, v1)); | |
| 1580 AFTER_POTENTIAL_GC (); | |
| 1581 } | |
| 1582 } | 1563 } |
| 1583 else | 1564 else |
| 1584 { | 1565 { |
| 1585 BEFORE_POTENTIAL_GC (); | 1566 BEFORE_POTENTIAL_GC (); |
| 1586 v1 = POP; | 1567 v1 = POP; |
