summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-11-21 16:47:04 +0000
committerGerd Moellmann <gerd@gnu.org>2000-11-21 16:47:04 +0000
commit56b8eef5a07bba395b086189b2b9adc5fcaa85ce (patch)
tree59f3120c3e0b620026dbcfebdb1f0078367cfeb5 /src/bytecode.c
parent9bbd146557a5d77faa10ec06f1d28a7ee73eb9d8 (diff)
downloademacs-56b8eef5a07bba395b086189b2b9adc5fcaa85ce.tar.gz
(Fbyte_code) <Bvarbind, Bunwind_protect>: Add
BEFORE/AFTER_POTENTIAL_GC.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index a99860bd8cd..964dca8a830 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -644,7 +644,10 @@ If the third argument is incorrect, Emacs may crash.")
case Bvarbind+5:
op -= Bvarbind;
varbind:
+ /* Specbind can signal and thus GC. */
+ BEFORE_POTENTIAL_GC ();
specbind (vectorp[op], POP);
+ AFTER_POTENTIAL_GC ();
break;
case Bcall+6:
@@ -850,7 +853,10 @@ If the third argument is incorrect, Emacs may crash.")
}
case Bunwind_protect:
+ /* The function record_unwind_protect can GC. */
+ BEFORE_POTENTIAL_GC ();
record_unwind_protect (0, POP);
+ AFTER_POTENTIAL_GC ();
(specpdl_ptr - 1)->symbol = Qnil;
break;