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. */) error ("Cannot make an internal variable an alias"); case SYMBOL_LOCALIZED: error ("Don't know how to make a localized variable an alias"); + case SYMBOL_PLAINVAL: + case SYMBOL_VARALIAS: + break; + default: + emacs_abort (); } /* http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00834.html @@ -640,6 +645,17 @@ default_toplevel_binding (Lisp_Object symbol) if (EQ (specpdl_symbol (pdl), symbol)) binding = pdl; break; + + case SPECPDL_UNWIND: + case SPECPDL_UNWIND_PTR: + case SPECPDL_UNWIND_INT: + case SPECPDL_UNWIND_VOID: + case SPECPDL_BACKTRACE: + case SPECPDL_LET_LOCAL: + break; + + default: + emacs_abort (); } } return binding; @@ -689,7 +705,7 @@ If SYMBOL has a local binding, then this form affects the local binding. This is usually not what you want. Thus, if you need to load a file defining variables, with this form or with `defconst' or `defcustom', you should always load that file _outside_ any bindings -for these variables. \(`defconst' and `defcustom' behave similarly in +for these variables. (`defconst' and `defcustom' behave similarly in this respect.) The optional argument DOCSTRING is a documentation string for the @@ -1172,7 +1188,7 @@ suppresses the debugger). When a handler handles an error, control returns to the `condition-case' and it executes the handler's BODY... with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. -\(If VAR is nil, the handler can't access that information.) +(If VAR is nil, the handler can't access that information.) Then the value of the last BODY form is returned from the `condition-case' expression. @@ -2350,7 +2366,7 @@ may be nil, a function, or a list of functions. Call each function in order with arguments ARGS, stopping at the first one that returns nil, and return nil. Otherwise (if all functions return non-nil, or if there are no functions to call), return non-nil -\(do not rely on the precise return value in this case). +(do not rely on the precise return value in this case). Do not use `make-local-variable' to make a hook variable buffer-local. 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'. else result = Fcons (Fcons (sym, val), result); } + break; + + case SPECPDL_UNWIND: + case SPECPDL_UNWIND_PTR: + case SPECPDL_UNWIND_INT: + case SPECPDL_UNWIND_VOID: + case SPECPDL_BACKTRACE: + break; + + default: + emacs_abort (); } } } @@ -3504,6 +3531,14 @@ mark_specpdl (void) mark_object (specpdl_symbol (pdl)); mark_object (specpdl_old_value (pdl)); break; + + case SPECPDL_UNWIND_PTR: + case SPECPDL_UNWIND_INT: + case SPECPDL_UNWIND_VOID: + break; + + default: + emacs_abort (); } } } |
