diff options
| author | Tom Tromey | 2012-12-17 07:56:22 -0700 |
|---|---|---|
| committer | Tom Tromey | 2012-12-17 07:56:22 -0700 |
| commit | 3d6eced1ae51ffd0a782130e7c334052277e2724 (patch) | |
| tree | 5d1d2ad7cd3374f922886c4a72062511a035c168 /src/bytecode.c | |
| parent | bf69f522a9e135f9aa483cedd53e71e915f2bf75 (diff) | |
| parent | 7c3d167f48d6262ee4e5512aa50a07ee96bc1509 (diff) | |
| download | emacs-3d6eced1ae51ffd0a782130e7c334052277e2724.tar.gz emacs-3d6eced1ae51ffd0a782130e7c334052277e2724.zip | |
merge from trunk
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index be5b7ea6137..a0b257347c2 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -33,7 +33,7 @@ by Hallvard: | |||
| 33 | */ | 33 | */ |
| 34 | 34 | ||
| 35 | #include <config.h> | 35 | #include <config.h> |
| 36 | #include <setjmp.h> | 36 | |
| 37 | #include "lisp.h" | 37 | #include "lisp.h" |
| 38 | #include "character.h" | 38 | #include "character.h" |
| 39 | #include "buffer.h" | 39 | #include "buffer.h" |
| @@ -87,8 +87,6 @@ Lisp_Object Qbyte_code_meter; | |||
| 87 | #endif /* BYTE_CODE_METER */ | 87 | #endif /* BYTE_CODE_METER */ |
| 88 | 88 | ||
| 89 | 89 | ||
| 90 | Lisp_Object Qbytecode; | ||
| 91 | |||
| 92 | /* Byte codes: */ | 90 | /* Byte codes: */ |
| 93 | 91 | ||
| 94 | #define BYTE_CODES \ | 92 | #define BYTE_CODES \ |
| @@ -432,7 +430,7 @@ unmark_byte_stack (struct byte_stack *stack) | |||
| 432 | #ifdef BYTE_CODE_SAFE | 430 | #ifdef BYTE_CODE_SAFE |
| 433 | 431 | ||
| 434 | #define CHECK_RANGE(ARG) \ | 432 | #define CHECK_RANGE(ARG) \ |
| 435 | if (ARG >= bytestr_length) abort () | 433 | if (ARG >= bytestr_length) emacs_abort () |
| 436 | 434 | ||
| 437 | #else /* not BYTE_CODE_SAFE */ | 435 | #else /* not BYTE_CODE_SAFE */ |
| 438 | 436 | ||
| @@ -455,7 +453,8 @@ unmark_byte_stack (struct byte_stack *stack) | |||
| 455 | Fsignal (Qquit, Qnil); \ | 453 | Fsignal (Qquit, Qnil); \ |
| 456 | AFTER_POTENTIAL_GC (); \ | 454 | AFTER_POTENTIAL_GC (); \ |
| 457 | } \ | 455 | } \ |
| 458 | ELSE_PENDING_SIGNALS \ | 456 | else if (pending_signals) \ |
| 457 | process_pending_signals (); \ | ||
| 459 | } while (0) | 458 | } while (0) |
| 460 | 459 | ||
| 461 | 460 | ||
| @@ -505,7 +504,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 505 | if (FRAME_X_P (f) | 504 | if (FRAME_X_P (f) |
| 506 | && FRAME_FONT (f)->direction != 0 | 505 | && FRAME_FONT (f)->direction != 0 |
| 507 | && FRAME_FONT (f)->direction != 1) | 506 | && FRAME_FONT (f)->direction != 1) |
| 508 | abort (); | 507 | emacs_abort (); |
| 509 | } | 508 | } |
| 510 | #endif | 509 | #endif |
| 511 | 510 | ||
| @@ -597,9 +596,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 597 | { | 596 | { |
| 598 | #ifdef BYTE_CODE_SAFE | 597 | #ifdef BYTE_CODE_SAFE |
| 599 | if (top > stacke) | 598 | if (top > stacke) |
| 600 | abort (); | 599 | emacs_abort (); |
| 601 | else if (top < stack.bottom - 1) | 600 | else if (top < stack.bottom - 1) |
| 602 | abort (); | 601 | emacs_abort (); |
| 603 | #endif | 602 | #endif |
| 604 | 603 | ||
| 605 | #ifdef BYTE_CODE_METER | 604 | #ifdef BYTE_CODE_METER |
| @@ -1575,7 +1574,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1575 | NEXT; | 1574 | NEXT; |
| 1576 | 1575 | ||
| 1577 | CASE (Binteractive_p): /* Obsolete since 24.1. */ | 1576 | CASE (Binteractive_p): /* Obsolete since 24.1. */ |
| 1578 | PUSH (Finteractive_p ()); | 1577 | BEFORE_POTENTIAL_GC (); |
| 1578 | PUSH (call0 (intern ("interactive-p"))); | ||
| 1579 | AFTER_POTENTIAL_GC (); | ||
| 1579 | NEXT; | 1580 | NEXT; |
| 1580 | 1581 | ||
| 1581 | CASE (Bforward_char): | 1582 | CASE (Bforward_char): |
| @@ -1872,7 +1873,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1872 | /* Actually this is Bstack_ref with offset 0, but we use Bdup | 1873 | /* Actually this is Bstack_ref with offset 0, but we use Bdup |
| 1873 | for that instead. */ | 1874 | for that instead. */ |
| 1874 | /* CASE (Bstack_ref): */ | 1875 | /* CASE (Bstack_ref): */ |
| 1875 | abort (); | 1876 | error ("Invalid byte opcode"); |
| 1876 | 1877 | ||
| 1877 | /* Handy byte-codes for lexical binding. */ | 1878 | /* Handy byte-codes for lexical binding. */ |
| 1878 | CASE (Bstack_ref1): | 1879 | CASE (Bstack_ref1): |
| @@ -1925,11 +1926,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1925 | #ifdef BYTE_CODE_SAFE | 1926 | #ifdef BYTE_CODE_SAFE |
| 1926 | if (op < Bconstant) | 1927 | if (op < Bconstant) |
| 1927 | { | 1928 | { |
| 1928 | abort (); | 1929 | emacs_abort (); |
| 1929 | } | 1930 | } |
| 1930 | if ((op -= Bconstant) >= const_length) | 1931 | if ((op -= Bconstant) >= const_length) |
| 1931 | { | 1932 | { |
| 1932 | abort (); | 1933 | emacs_abort (); |
| 1933 | } | 1934 | } |
| 1934 | PUSH (vectorp[op]); | 1935 | PUSH (vectorp[op]); |
| 1935 | #else | 1936 | #else |
| @@ -1948,7 +1949,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1948 | #ifdef BYTE_CODE_SAFE | 1949 | #ifdef BYTE_CODE_SAFE |
| 1949 | error ("binding stack not balanced (serious byte compiler bug)"); | 1950 | error ("binding stack not balanced (serious byte compiler bug)"); |
| 1950 | #else | 1951 | #else |
| 1951 | abort (); | 1952 | emacs_abort (); |
| 1952 | #endif | 1953 | #endif |
| 1953 | 1954 | ||
| 1954 | return result; | 1955 | return result; |
| @@ -1957,8 +1958,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1957 | void | 1958 | void |
| 1958 | syms_of_bytecode (void) | 1959 | syms_of_bytecode (void) |
| 1959 | { | 1960 | { |
| 1960 | DEFSYM (Qbytecode, "byte-code"); | ||
| 1961 | |||
| 1962 | defsubr (&Sbyte_code); | 1961 | defsubr (&Sbyte_code); |
| 1963 | 1962 | ||
| 1964 | #ifdef BYTE_CODE_METER | 1963 | #ifdef BYTE_CODE_METER |