[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog num2integra...
From: |
Mikael Djurfeldt |
Subject: |
guile/guile-core/libguile ChangeLog num2integra... |
Date: |
Thu, 20 Sep 2001 04:02:40 -0400 |
CVSROOT: /cvs
Module name: guile
Branch: branch_release-1-6
Changes by: Mikael Djurfeldt <address@hidden> 01/09/20 04:02:40
Modified files:
guile-core/libguile: ChangeLog num2integral.i.c
Log message:
* num2integral.i.c (NUM2INTEGRAL): Report an error when these
routines are passed an inexact. This change in behavior is
motivated by concordance with R5RS: It is more common that a
primitive doesn't want to accept an inexact for an exact.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.1465.2.20&tr2=1.1465.2.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/num2integral.i.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.4.2.1&tr2=1.4.2.2&r1=text&r2=text
Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1509
guile/guile-core/libguile/ChangeLog:1.1510
--- guile/guile-core/libguile/ChangeLog:1.1509 Sat Sep 15 17:56:52 2001
+++ guile/guile-core/libguile/ChangeLog Mon Sep 17 16:32:53 2001
@@ -1,9 +1,26 @@
+2001-09-17 Dirk Herrmann <address@hidden>
+
+ The following patch partially undoes my patch from 2001-06-30,
+ where I added the function scm_gc_mark_cell_conservatively. The
+ function is buggy, since it breaks guile during conservative
+ marking if a pointer on the stack points directly into the list of
+ free cells on the heap: With conservative cell marking this will
+ cause the whole free list to be scanned and marked - boom!
+
+ * gc.c (allocated_mark, MARK, heap_segment,
+ scm_gc_mark_cell_conservatively, scm_init_storage), gc.h
+ (scm_gc_mark_cell_conservatively): Remove function
+ scm_gc_mark_cell_conservatively and update the corresponding
+ comments and uses accordingly. Thanks to Christopher Cramer for
+ the patch. (Minor corrections by me.)
+
2001-09-15 Gary Houston <address@hidden>
* root.h (scm_root_state): removed the continuation_stack and
continuation_stack_ptr members, which have no apparent purpose.
(scm_continuation_stack, scm_continuation_stack_ptr): #defines
removed.
+
* root.c (root_mark), init.c (restart_stack, start_stack), gc
(scm_igc): remove all references to contination_stack and
continuation_stack_ptr, avoiding allocation of a vector and
Index: guile/guile-core/libguile/num2integral.i.c
diff -u guile/guile-core/libguile/num2integral.i.c:1.5
guile/guile-core/libguile/num2integral.i.c:1.6
--- guile/guile-core/libguile/num2integral.i.c:1.5 Mon Jul 16 06:22:38 2001
+++ guile/guile-core/libguile/num2integral.i.c Sat Sep 1 13:17:50 2001
@@ -47,8 +47,10 @@
res = new;
}
-#ifndef UNSIGNED
if (SCM_BIGSIGN (num))
+#ifdef UNSIGNED
+ scm_out_of_range (s_caller, num);
+#else
{
res = -res;
if (res <= 0)
@@ -56,6 +58,7 @@
else
scm_out_of_range (s_caller, num);
}
+#endif
else
{
if (res >= 0)
@@ -63,8 +66,7 @@
else
scm_out_of_range (s_caller, num);
}
-#endif
-
+
return res;
}
else if (SCM_REALP (num))
- guile/guile-core/libguile ChangeLog num2integra...,
Mikael Djurfeldt <=