Updated for SCM_NEWCELL(2) deprecation.
authorMarius Vollmer <mvo@zagadka.de>
Sun, 25 Nov 2001 19:08:28 +0000 (19:08 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Sun, 25 Nov 2001 19:08:28 +0000 (19:08 +0000)
NEWS
TODO

diff --git a/NEWS b/NEWS
index 1c21cf4..c881aff 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -57,6 +57,14 @@ linking to the Guile DLL in Windows.
 There are also SCM_RL_IMPORT, QT_IMPORT, SCM_SRFI1314_IMPORT, and
 SCM_SRFI4_IMPORT, for the corresponding libraries.
 
+** SCM_NEWCELL and SCM_NEWCELL2 have been deprecated.
+
+Use the new functions scm_alloc_cell and scm_alloc_double_cell
+instead.  The old macros had problems because with them allocation and
+initialization was separated and the GC could sometimes observe half
+initialized cells.  Only careful coding by the user of SCM_NEWCELL and
+SCM_NEWCELL2 could make this safe and efficient.
+
 Changes since Guile 1.4:
 
 * Changes to the distribution
diff --git a/TODO b/TODO
index e085493..07c4478 100644 (file)
--- a/TODO
+++ b/TODO
@@ -99,5 +99,9 @@ that user-visible changes are reflected in NEWS.
 - in boot-9.scm:
   remove deprecated function `feature?ยด.
 
+- gc.c and gc.h:
+  remove deprecated macros SCM_NEWCELL and SCM_NEWCELL2 together with
+  their support staffing scm_deprecated_newcell,
+  scm_deprecated_newcell2, scm_tc16_allocated, mark_allocated.
 
 [TODO ends here]