diff options
| author | Tom Tromey | 2013-07-04 19:48:59 -0600 |
|---|---|---|
| committer | Tom Tromey | 2013-07-04 19:48:59 -0600 |
| commit | e7b4d03f5a74b16c924079b75f5b0617c9ee7add (patch) | |
| tree | 4f9e640f6591b32f4006cf275a87aa8fa70f1c8c /src | |
| parent | b09859f771fb46a2248198f45ae40712e4c7dd8a (diff) | |
| download | emacs-e7b4d03f5a74b16c924079b75f5b0617c9ee7add.tar.gz emacs-e7b4d03f5a74b16c924079b75f5b0617c9ee7add.zip | |
initialize saved_value
initialize the saved_value field in all needed cases
also, add an assertion to do_one_unbind
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 3f7be81a7e4..37ea81ba1cb 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3118,6 +3118,7 @@ specbind (Lisp_Object symbol, Lisp_Object value) | |||
| 3118 | specpdl_ptr->v.let.symbol = symbol; | 3118 | specpdl_ptr->v.let.symbol = symbol; |
| 3119 | specpdl_ptr->v.let.old_value = ovalue; | 3119 | specpdl_ptr->v.let.old_value = ovalue; |
| 3120 | specpdl_ptr->v.let.where = Fcurrent_buffer (); | 3120 | specpdl_ptr->v.let.where = Fcurrent_buffer (); |
| 3121 | specpdl_ptr->v.let.saved_value = Qnil; | ||
| 3121 | 3122 | ||
| 3122 | eassert (sym->redirect != SYMBOL_LOCALIZED | 3123 | eassert (sym->redirect != SYMBOL_LOCALIZED |
| 3123 | || (EQ (SYMBOL_BLV (sym)->where, Fcurrent_buffer ()))); | 3124 | || (EQ (SYMBOL_BLV (sym)->where, Fcurrent_buffer ()))); |
| @@ -3184,6 +3185,7 @@ rebind_for_thread_switch (void) | |||
| 3184 | static void | 3185 | static void |
| 3185 | do_one_unbind (struct specbinding *this_binding, int unwinding) | 3186 | do_one_unbind (struct specbinding *this_binding, int unwinding) |
| 3186 | { | 3187 | { |
| 3188 | eassert (unwinding || this_binding->kind >= SPECPDL_LET); | ||
| 3187 | switch (this_binding->kind) | 3189 | switch (this_binding->kind) |
| 3188 | { | 3190 | { |
| 3189 | case SPECPDL_UNWIND: | 3191 | case SPECPDL_UNWIND: |