diff options
| author | Dmitry Antipov | 2013-01-14 15:07:50 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-01-14 15:07:50 +0400 |
| commit | 9d5a1260b69af8ccb708a3e29b85aa1bf59f8405 (patch) | |
| tree | 96ad9563155d96eaede468ecce920f38527222ce /src | |
| parent | 73ebd38f16c4799b657e501f188e9f3a3eca7805 (diff) | |
| download | emacs-9d5a1260b69af8ccb708a3e29b85aa1bf59f8405.tar.gz emacs-9d5a1260b69af8ccb708a3e29b85aa1bf59f8405.zip | |
Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
* eval.c (eval_sub): Protect `form' from being GCed before its
car and cdr becomes protected with the backtrace entry.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/eval.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 098d3ae027e..2445027edd5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,11 @@ | |||
| 1 | 2013-01-14 Dmitry Antipov <dmantipov@yandex.ru> | 1 | 2013-01-14 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 2 | ||
| 3 | Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE. | ||
| 4 | * eval.c (eval_sub): Protect `form' from being GCed before its | ||
| 5 | car and cdr becomes protected with the backtrace entry. | ||
| 6 | |||
| 7 | 2013-01-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 8 | |||
| 3 | Make Lisp_Save_Value more versatile storage for up to four objects. | 9 | Make Lisp_Save_Value more versatile storage for up to four objects. |
| 4 | * lisp.h (toplevel): Enumeration to describe types of saved objects. | 10 | * lisp.h (toplevel): Enumeration to describe types of saved objects. |
| 5 | (struct Lisp_Save_Value): New layout. Adjust comments. | 11 | (struct Lisp_Save_Value): New layout. Adjust comments. |
diff --git a/src/eval.c b/src/eval.c index c49f8e85c2f..030bf14bcea 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1931,7 +1931,10 @@ eval_sub (Lisp_Object form) | |||
| 1931 | return form; | 1931 | return form; |
| 1932 | 1932 | ||
| 1933 | QUIT; | 1933 | QUIT; |
| 1934 | |||
| 1935 | GCPRO1 (form); | ||
| 1934 | maybe_gc (); | 1936 | maybe_gc (); |
| 1937 | UNGCPRO; | ||
| 1935 | 1938 | ||
| 1936 | if (++lisp_eval_depth > max_lisp_eval_depth) | 1939 | if (++lisp_eval_depth > max_lisp_eval_depth) |
| 1937 | { | 1940 | { |