diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index 77d435acbe6..ac98ca11bd4 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -596,6 +596,11 @@ The return value is BASE-VARIABLE. */) | |||
| 596 | error ("Cannot make an internal variable an alias"); | 596 | error ("Cannot make an internal variable an alias"); |
| 597 | case SYMBOL_LOCALIZED: | 597 | case SYMBOL_LOCALIZED: |
| 598 | error ("Don't know how to make a localized variable an alias"); | 598 | error ("Don't know how to make a localized variable an alias"); |
| 599 | case SYMBOL_PLAINVAL: | ||
| 600 | case SYMBOL_VARALIAS: | ||
| 601 | break; | ||
| 602 | default: | ||
| 603 | emacs_abort (); | ||
| 599 | } | 604 | } |
| 600 | 605 | ||
| 601 | /* http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00834.html | 606 | /* http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00834.html |
| @@ -640,6 +645,17 @@ default_toplevel_binding (Lisp_Object symbol) | |||
| 640 | if (EQ (specpdl_symbol (pdl), symbol)) | 645 | if (EQ (specpdl_symbol (pdl), symbol)) |
| 641 | binding = pdl; | 646 | binding = pdl; |
| 642 | break; | 647 | break; |
| 648 | |||
| 649 | case SPECPDL_UNWIND: | ||
| 650 | case SPECPDL_UNWIND_PTR: | ||
| 651 | case SPECPDL_UNWIND_INT: | ||
| 652 | case SPECPDL_UNWIND_VOID: | ||
| 653 | case SPECPDL_BACKTRACE: | ||
| 654 | case SPECPDL_LET_LOCAL: | ||
| 655 | break; | ||
| 656 | |||
| 657 | default: | ||
| 658 | emacs_abort (); | ||
| 643 | } | 659 | } |
| 644 | } | 660 | } |
| 645 | return binding; | 661 | return binding; |
| @@ -689,7 +705,7 @@ If SYMBOL has a local binding, then this form affects the local | |||
| 689 | binding. This is usually not what you want. Thus, if you need to | 705 | binding. This is usually not what you want. Thus, if you need to |
| 690 | load a file defining variables, with this form or with `defconst' or | 706 | load a file defining variables, with this form or with `defconst' or |
| 691 | `defcustom', you should always load that file _outside_ any bindings | 707 | `defcustom', you should always load that file _outside_ any bindings |
| 692 | for these variables. \(`defconst' and `defcustom' behave similarly in | 708 | for these variables. (`defconst' and `defcustom' behave similarly in |
| 693 | this respect.) | 709 | this respect.) |
| 694 | 710 | ||
| 695 | The optional argument DOCSTRING is a documentation string for the | 711 | The optional argument DOCSTRING is a documentation string for the |
| @@ -1172,7 +1188,7 @@ suppresses the debugger). | |||
| 1172 | When a handler handles an error, control returns to the `condition-case' | 1188 | When a handler handles an error, control returns to the `condition-case' |
| 1173 | and it executes the handler's BODY... | 1189 | and it executes the handler's BODY... |
| 1174 | with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. | 1190 | with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. |
| 1175 | \(If VAR is nil, the handler can't access that information.) | 1191 | (If VAR is nil, the handler can't access that information.) |
| 1176 | Then the value of the last BODY form is returned from the `condition-case' | 1192 | Then the value of the last BODY form is returned from the `condition-case' |
| 1177 | expression. | 1193 | expression. |
| 1178 | 1194 | ||
| @@ -2350,7 +2366,7 @@ may be nil, a function, or a list of functions. Call each | |||
| 2350 | function in order with arguments ARGS, stopping at the first | 2366 | function in order with arguments ARGS, stopping at the first |
| 2351 | one that returns nil, and return nil. Otherwise (if all functions | 2367 | one that returns nil, and return nil. Otherwise (if all functions |
| 2352 | return non-nil, or if there are no functions to call), return non-nil | 2368 | return non-nil, or if there are no functions to call), return non-nil |
| 2353 | \(do not rely on the precise return value in this case). | 2369 | (do not rely on the precise return value in this case). |
| 2354 | 2370 | ||
| 2355 | Do not use `make-local-variable' to make a hook variable buffer-local. | 2371 | Do not use `make-local-variable' to make a hook variable buffer-local. |
| 2356 | Instead, use `add-hook' and specify t for the LOCAL argument. | 2372 | Instead, use `add-hook' and specify t for the LOCAL argument. |
| @@ -3462,6 +3478,17 @@ NFRAMES and BASE specify the activation frame to use, as in `backtrace-frame'. | |||
| 3462 | else | 3478 | else |
| 3463 | result = Fcons (Fcons (sym, val), result); | 3479 | result = Fcons (Fcons (sym, val), result); |
| 3464 | } | 3480 | } |
| 3481 | break; | ||
| 3482 | |||
| 3483 | case SPECPDL_UNWIND: | ||
| 3484 | case SPECPDL_UNWIND_PTR: | ||
| 3485 | case SPECPDL_UNWIND_INT: | ||
| 3486 | case SPECPDL_UNWIND_VOID: | ||
| 3487 | case SPECPDL_BACKTRACE: | ||
| 3488 | break; | ||
| 3489 | |||
| 3490 | default: | ||
| 3491 | emacs_abort (); | ||
| 3465 | } | 3492 | } |
| 3466 | } | 3493 | } |
| 3467 | } | 3494 | } |
| @@ -3504,6 +3531,14 @@ mark_specpdl (void) | |||
| 3504 | mark_object (specpdl_symbol (pdl)); | 3531 | mark_object (specpdl_symbol (pdl)); |
| 3505 | mark_object (specpdl_old_value (pdl)); | 3532 | mark_object (specpdl_old_value (pdl)); |
| 3506 | break; | 3533 | break; |
| 3534 | |||
| 3535 | case SPECPDL_UNWIND_PTR: | ||
| 3536 | case SPECPDL_UNWIND_INT: | ||
| 3537 | case SPECPDL_UNWIND_VOID: | ||
| 3538 | break; | ||
| 3539 | |||
| 3540 | default: | ||
| 3541 | emacs_abort (); | ||
| 3507 | } | 3542 | } |
| 3508 | } | 3543 | } |
| 3509 | } | 3544 | } |