diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 6 |
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.") | |||
| 644 | case Bvarbind+5: | 644 | case Bvarbind+5: |
| 645 | op -= Bvarbind; | 645 | op -= Bvarbind; |
| 646 | varbind: | 646 | varbind: |
| 647 | /* Specbind can signal and thus GC. */ | ||
| 648 | BEFORE_POTENTIAL_GC (); | ||
| 647 | specbind (vectorp[op], POP); | 649 | specbind (vectorp[op], POP); |
| 650 | AFTER_POTENTIAL_GC (); | ||
| 648 | break; | 651 | break; |
| 649 | 652 | ||
| 650 | case Bcall+6: | 653 | case Bcall+6: |
| @@ -850,7 +853,10 @@ If the third argument is incorrect, Emacs may crash.") | |||
| 850 | } | 853 | } |
| 851 | 854 | ||
| 852 | case Bunwind_protect: | 855 | case Bunwind_protect: |
| 856 | /* The function record_unwind_protect can GC. */ | ||
| 857 | BEFORE_POTENTIAL_GC (); | ||
| 853 | record_unwind_protect (0, POP); | 858 | record_unwind_protect (0, POP); |
| 859 | AFTER_POTENTIAL_GC (); | ||
| 854 | (specpdl_ptr - 1)->symbol = Qnil; | 860 | (specpdl_ptr - 1)->symbol = Qnil; |
| 855 | break; | 861 | break; |
| 856 | 862 | ||