This is the mail archive of the guile@cygnus.com mailing list for the guile project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Current CVS versions of guile have a major bug in numbers.c: scm_flo0
is not protected from gc! (I spent an hour or two trying to find out
why the changes from ice-9 to guile were causing disgusting things to
happen with guile-gtk). This fix is against the current cvs tree, the
version of numbers.c in the boot-9.r4.tar.gz package can be fixed in
the same way. If you've been noticing wrong-type-arg errors with
#<freed cell foo; GC missed a reference>, this could very well be
what's causing the fuss.
Index: numbers.c
===================================================================
RCS file: /egcs/carton/cvsfiles/guile/guile-core/libguile/numbers.c,v
retrieving revision 1.26
diff -c -c -r1.26 numbers.c
*** numbers.c 1999/01/10 07:38:39 1.26
--- numbers.c 1999/02/03 05:16:19
***************
*** 4802,4807 ****
--- 4802,4808 ----
SCM_REAL (scm_flo0) = 0.0;
SCM_SETCAR (scm_flo0, scm_tc_dblr);
#endif
+ scm_permanent_object(scm_flo0);
#ifdef DBL_DIG
scm_dblprec = (DBL_DIG > 20) ? 20 : DBL_DIG;
#else
--
Greg