diff options
| author | Richard M. Stallman | 2002-11-21 17:33:01 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2002-11-21 17:33:01 +0000 |
| commit | 4402a9ed6feee505862cd472bdc64be18b52f459 (patch) | |
| tree | 53588401f169226bfd7ad34f34e15995d7455e17 /src | |
| parent | 23fc67ead93a5f10eb73ea0c80382638b9ba6745 (diff) | |
| download | emacs-4402a9ed6feee505862cd472bdc64be18b52f459.tar.gz emacs-4402a9ed6feee505862cd472bdc64be18b52f459.zip | |
(interactive_p): Skip any number of bytecode
and subr frames, in any order.
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/eval.c b/src/eval.c index 856ec8f4a48..d59a3cd9eb9 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -595,17 +595,15 @@ interactive_p (exclude_subrs_p) | |||
| 595 | btp = btp->next; | 595 | btp = btp->next; |
| 596 | 596 | ||
| 597 | /* If we're running an Emacs 18-style byte-compiled function, there | 597 | /* If we're running an Emacs 18-style byte-compiled function, there |
| 598 | may be a frame for Fbytecode. Now, given the strictest | 598 | may be a frame for Fbytecode at the top level. In any version of |
| 599 | definition, this function isn't really being called | 599 | Emacs there can be Fbytecode frames for subexpressions evaluated |
| 600 | interactively, but because that's the way Emacs 18 always builds | 600 | inside catch and condition-case. Skip past them. |
| 601 | byte-compiled functions, we'll accept it for now. */ | ||
| 602 | if (EQ (*btp->function, Qbytecode)) | ||
| 603 | btp = btp->next; | ||
| 604 | 601 | ||
| 605 | /* If this isn't a byte-compiled function, then we may now be | 602 | If this isn't a byte-compiled function, then we may now be |
| 606 | looking at several frames for special forms. Skip past them. */ | 603 | looking at several frames for special forms. Skip past them. */ |
| 607 | while (btp && | 604 | while (btp |
| 608 | btp->nargs == UNEVALLED) | 605 | && (EQ (*btp->function, Qbytecode) |
| 606 | || btp->nargs == UNEVALLED)) | ||
| 609 | btp = btp->next; | 607 | btp = btp->next; |
| 610 | 608 | ||
| 611 | /* btp now points at the frame of the innermost function that isn't | 609 | /* btp now points at the frame of the innermost function that isn't |