Moved some cell related definitions from tags.h and pairs.h to gc.h.
[bpt/guile.git] / libguile / ChangeLog
index 7666c18..84d42c4 100644 (file)
@@ -1,3 +1,111 @@
+2000-03-26  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * tags.h (SCM2PTR, PTR2SCM):  Moved to gc.h.
+
+       * pairs.h (scm_cell, SCM_CELLPTR, SCM_CELL_WORD*, SCM_CELL_OBJECT*,
+       SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*, SCM_CELL_TYPE,
+       SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK, SCM_PTR_GT,
+       SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC, SCM_NEWCELL,
+       SCM_NEWCELL2):  Moved to gc.h.
+
+       (SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR, SCM_SETAND_CDR,
+       SCM_SETOR_CAR, SCM_SETOR_CDR):  Moved to gc.h.  These names should
+       be changed, though, since the macros are not only pair related.
+
+       (SCMPTR):  Deleted.
+
+       * gc.h (SCM2PTR, PTR2SCM, scm_cell, SCM_CELLPTR, SCM_CELL_WORD*,
+       SCM_CELL_OBJECT*, SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*,
+       SCM_CELL_TYPE, SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK,
+       SCM_PTR_GT, SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC,
+       SCM_NEWCELL, SCM_NEWCELL2, SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR,
+       SCM_SETAND_CDR, SCM_SETOR_CAR, SCM_SETOR_CDR):  Moved here from
+       tags.h and pairs.h.
+
+2000-03-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * tags.h (SCM_STRICT_TYPING):  New macro that, if defined,
+       activates strict compile time type checking for variables of
+       type SCM.
+       (SCM, SCM_PACK, SCM_UNPACK):  Define according to whether
+       SCM_STRICT_TYPING or SCM_VOIDP_TEST are defined.
+       (SCM_EQ_P):  Defined as a macro equivalent for eq?.
+
+2000-03-25  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * tags.h (SCM_POINTERS_MUNGED):  Removed.
+
+       * gc.c (scm_gc_sweep, init_heap_seg):  Removed use of
+       SCM_POINTERS_MUNGED, thus fixing some illegal casts to SCM.
+
+2000-03-24  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * pairs.h (SCM_CELL_OBJECT, SCM_CELL_OBJECT_[0-3],
+       SCM_SET_CELL_OBJECT, SCM_SET_CELL_OBJECT_[0-3], SCM_CELL_TYPE,
+       SCM_SET_CELL_TYPE):  Added a set of low level macros for accessing
+       cell entries.
+       (SCM_CELL_WORD_[0-3]): Renamed from the SCM_CELL_WORD[0-3].
+
+       * procs.h, procs.c:  Instead of SCM_{SET_}?CELL_WORD[12], use the
+       newly introduced SCM_{SET_}?CELL_OBJECT_[12] macros.
+
+2000-03-23  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * tags.h: Disabled definition of SCM_VOIDP_TEST.
+
+       Defining SCM as void * introduces problems which haven't been
+       handled yet.  Developers who work with these issues can enable it
+       in their working copies.
+
+       Disabling this definition exposes a set of newly introduced and
+       older misuses of types which causes warning messages during
+       compilation.  We'll fix this successively.
+
+       * gc.c (scm_mark_locations): Changed * (SCM **) X --> * (SCM *) X
+       in order to obtain a value of type SCM.
+       (scm_cellp): Updated with new changes to scm_mark_locations.
+
+       * continuations.h (SCM_SETJMPBUF): Cast second arg into SCM.
+
+       * continuations.c (scm_make_cont): Removed cast of size_t into
+       long.
+
+       * symbols.h (SCM_SETCHARS): Cast second arg into SCM.
+
+2000-03-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.h (SCM_SETNUMDIGS):  Use SCM_BIGSIZEFIELD macro for
+       shifting, not constant.  Thanks to Dale P. Smith.
+
+       * numbers.c (scm_sum, scm_difference):  Don't test a SCM value
+       for being less than zero.  Decode it to a C value first.  Again,
+       thank you Dale.
+
+2000-03-22  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * numbers.h, ramap.c, struct.h, vectors.h:  Don't use SCM2PTR for
+       non scheme values.  If raw data is stored in SCM variables, it has
+       to be accessed using SCM_UNPACK until a better solution is found.
+
+2000-03-22  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
+       pointer-arithmetic induced by the SCM_PACK/UNPACK change.
+
+       * print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
+
+       * gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
+
+       * eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
+
+       * dynwind.c (scm_swap_bindings): SCM_PACK/UNPACK corrections.
+
+       * async.c, __scm.h: Removed lots of the old async click logic.  It
+       is possible to reinsert it by defining GUILE_OLD_ASYNC_CLICK in
+       __scm.h.  Let's try this out and dump the old code after the
+       threads reorganization.
+       (set-tick-rate, set-switch-rate): Conditionally removed.
+
 2000-03-21  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * gc.c (scm_gc_mark): Bugfix 1: The recent SCM_PACK/UNPACK change