Index: libguile/inline.h =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/inline.h,v retrieving revision 1.20 diff -u -r1.20 inline.h --- libguile/inline.h 7 Oct 2004 22:52:22 -0000 1.20 +++ libguile/inline.h 2 Nov 2004 20:00:08 -0000 @@ -63,12 +63,13 @@ SCM scm_cell (scm_t_bits car, scm_t_bits cdr) { + SCM z, *freelist; + if (scm_gc_running_p) { abort(); } - SCM z; /* We retrieve the SCM pointer only once since the call to SCM_FREELIST_LOC will be slightly expensive when we support preemptive multithreading. SCM_FREELIST_LOC will then retrieve @@ -78,7 +79,7 @@ following code will compile to the same as if we had worked directly on the scm_i_freelist variable. */ - SCM *freelist = SCM_FREELIST_LOC (scm_i_freelist); + freelist = SCM_FREELIST_LOC (scm_i_freelist); if (scm_is_null (*freelist)) z = scm_gc_for_newcell (&scm_i_master_freelist, freelist); @@ -166,13 +167,14 @@ scm_double_cell (scm_t_bits car, scm_t_bits cbr, scm_t_bits ccr, scm_t_bits cdr) { + SCM z, *freelist; + if (scm_gc_running_p) { abort(); } - SCM z; - SCM *freelist = SCM_FREELIST_LOC (scm_i_freelist2); + freelist = SCM_FREELIST_LOC (scm_i_freelist2); if (scm_is_null (*freelist)) z = scm_gc_for_newcell (&scm_i_master_freelist2, freelist);