Mercurial > emacs
comparison src/bytecode.c @ 485:8c615e453683
*** empty log message ***
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Mon, 13 Jan 1992 21:48:08 +0000 |
| parents | db84d8d9a1d9 |
| children | eca8812e61cd |
comparison
equal
deleted
inserted
replaced
| 484:3165b2697c78 | 485:8c615e453683 |
|---|---|
| 448 pc = XSTRING (string_saved)->data + op; | 448 pc = XSTRING (string_saved)->data + op; |
| 449 break; | 449 break; |
| 450 | 450 |
| 451 case Bgotoifnil: | 451 case Bgotoifnil: |
| 452 op = FETCH2; | 452 op = FETCH2; |
| 453 if (NULL (POP)) | 453 if (NILP (POP)) |
| 454 { | 454 { |
| 455 QUIT; | 455 QUIT; |
| 456 pc = XSTRING (string_saved)->data + op; | 456 pc = XSTRING (string_saved)->data + op; |
| 457 } | 457 } |
| 458 break; | 458 break; |
| 459 | 459 |
| 460 case Bgotoifnonnil: | 460 case Bgotoifnonnil: |
| 461 op = FETCH2; | 461 op = FETCH2; |
| 462 if (!NULL (POP)) | 462 if (!NILP (POP)) |
| 463 { | 463 { |
| 464 QUIT; | 464 QUIT; |
| 465 pc = XSTRING (string_saved)->data + op; | 465 pc = XSTRING (string_saved)->data + op; |
| 466 } | 466 } |
| 467 break; | 467 break; |
| 468 | 468 |
| 469 case Bgotoifnilelsepop: | 469 case Bgotoifnilelsepop: |
| 470 op = FETCH2; | 470 op = FETCH2; |
| 471 if (NULL (TOP)) | 471 if (NILP (TOP)) |
| 472 { | 472 { |
| 473 QUIT; | 473 QUIT; |
| 474 pc = XSTRING (string_saved)->data + op; | 474 pc = XSTRING (string_saved)->data + op; |
| 475 } | 475 } |
| 476 else DISCARD (1); | 476 else DISCARD (1); |
| 477 break; | 477 break; |
| 478 | 478 |
| 479 case Bgotoifnonnilelsepop: | 479 case Bgotoifnonnilelsepop: |
| 480 op = FETCH2; | 480 op = FETCH2; |
| 481 if (!NULL (TOP)) | 481 if (!NILP (TOP)) |
| 482 { | 482 { |
| 483 QUIT; | 483 QUIT; |
| 484 pc = XSTRING (string_saved)->data + op; | 484 pc = XSTRING (string_saved)->data + op; |
| 485 } | 485 } |
| 486 else DISCARD (1); | 486 else DISCARD (1); |
| 490 QUIT; | 490 QUIT; |
| 491 pc += *pc - 127; | 491 pc += *pc - 127; |
| 492 break; | 492 break; |
| 493 | 493 |
| 494 case BRgotoifnil: | 494 case BRgotoifnil: |
| 495 if (NULL (POP)) | 495 if (NILP (POP)) |
| 496 { | 496 { |
| 497 QUIT; | 497 QUIT; |
| 498 pc += *pc - 128; | 498 pc += *pc - 128; |
| 499 } | 499 } |
| 500 pc++; | 500 pc++; |
| 501 break; | 501 break; |
| 502 | 502 |
| 503 case BRgotoifnonnil: | 503 case BRgotoifnonnil: |
| 504 if (!NULL (POP)) | 504 if (!NILP (POP)) |
| 505 { | 505 { |
| 506 QUIT; | 506 QUIT; |
| 507 pc += *pc - 128; | 507 pc += *pc - 128; |
| 508 } | 508 } |
| 509 pc++; | 509 pc++; |
| 510 break; | 510 break; |
| 511 | 511 |
| 512 case BRgotoifnilelsepop: | 512 case BRgotoifnilelsepop: |
| 513 op = *pc++; | 513 op = *pc++; |
| 514 if (NULL (TOP)) | 514 if (NILP (TOP)) |
| 515 { | 515 { |
| 516 QUIT; | 516 QUIT; |
| 517 pc += op - 128; | 517 pc += op - 128; |
| 518 } | 518 } |
| 519 else DISCARD (1); | 519 else DISCARD (1); |
| 520 break; | 520 break; |
| 521 | 521 |
| 522 case BRgotoifnonnilelsepop: | 522 case BRgotoifnonnilelsepop: |
| 523 op = *pc++; | 523 op = *pc++; |
| 524 if (!NULL (TOP)) | 524 if (!NILP (TOP)) |
| 525 { | 525 { |
| 526 QUIT; | 526 QUIT; |
| 527 pc += op - 128; | 527 pc += op - 128; |
| 528 } | 528 } |
| 529 else DISCARD (1); | 529 else DISCARD (1); |
| 596 immediate_quit = 1; | 596 immediate_quit = 1; |
| 597 while (--op >= 0) | 597 while (--op >= 0) |
| 598 { | 598 { |
| 599 if (CONSP (v1)) | 599 if (CONSP (v1)) |
| 600 v1 = XCONS (v1)->cdr; | 600 v1 = XCONS (v1)->cdr; |
| 601 else if (!NULL (v1)) | 601 else if (!NILP (v1)) |
| 602 { | 602 { |
| 603 immediate_quit = 0; | 603 immediate_quit = 0; |
| 604 v1 = wrong_type_argument (Qlistp, v1); | 604 v1 = wrong_type_argument (Qlistp, v1); |
| 605 immediate_quit = 1; | 605 immediate_quit = 1; |
| 606 op++; | 606 op++; |
| 620 case Bstringp: | 620 case Bstringp: |
| 621 TOP = XTYPE (TOP) == Lisp_String ? Qt : Qnil; | 621 TOP = XTYPE (TOP) == Lisp_String ? Qt : Qnil; |
| 622 break; | 622 break; |
| 623 | 623 |
| 624 case Blistp: | 624 case Blistp: |
| 625 TOP = CONSP (TOP) || NULL (TOP) ? Qt : Qnil; | 625 TOP = CONSP (TOP) || NILP (TOP) ? Qt : Qnil; |
| 626 break; | 626 break; |
| 627 | 627 |
| 628 case Beq: | 628 case Beq: |
| 629 v1 = POP; | 629 v1 = POP; |
| 630 TOP = EQ (v1, TOP) ? Qt : Qnil; | 630 TOP = EQ (v1, TOP) ? Qt : Qnil; |
| 634 v1 = POP; | 634 v1 = POP; |
| 635 TOP = Fmemq (TOP, v1); | 635 TOP = Fmemq (TOP, v1); |
| 636 break; | 636 break; |
| 637 | 637 |
| 638 case Bnot: | 638 case Bnot: |
| 639 TOP = NULL (TOP) ? Qt : Qnil; | 639 TOP = NILP (TOP) ? Qt : Qnil; |
| 640 break; | 640 break; |
| 641 | 641 |
| 642 case Bcar: | 642 case Bcar: |
| 643 v1 = TOP; | 643 v1 = TOP; |
| 644 docar: | 644 docar: |
| 645 if (CONSP (v1)) TOP = XCONS (v1)->car; | 645 if (CONSP (v1)) TOP = XCONS (v1)->car; |
| 646 else if (NULL (v1)) TOP = Qnil; | 646 else if (NILP (v1)) TOP = Qnil; |
| 647 else Fcar (wrong_type_argument (Qlistp, v1)); | 647 else Fcar (wrong_type_argument (Qlistp, v1)); |
| 648 break; | 648 break; |
| 649 | 649 |
| 650 case Bcdr: | 650 case Bcdr: |
| 651 v1 = TOP; | 651 v1 = TOP; |
| 652 if (CONSP (v1)) TOP = XCONS (v1)->cdr; | 652 if (CONSP (v1)) TOP = XCONS (v1)->cdr; |
| 653 else if (NULL (v1)) TOP = Qnil; | 653 else if (NILP (v1)) TOP = Qnil; |
| 654 else Fcdr (wrong_type_argument (Qlistp, v1)); | 654 else Fcdr (wrong_type_argument (Qlistp, v1)); |
| 655 break; | 655 break; |
| 656 | 656 |
| 657 case Bcons: | 657 case Bcons: |
| 658 v1 = POP; | 658 v1 = POP; |
