summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-11-22 15:36:58 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-11-22 15:36:58 +0000
commitd7cf43257826796a0503e33b162cb7424a65bdc4 (patch)
treed9ea95d3b749bec4c4edf06f990683d7f6e3a09a
parentbc0eaf7b78140d9215d2ae7b88ca93000145e4a3 (diff)
downloadguile-d7cf43257826796a0503e33b162cb7424a65bdc4.tar.gz
* Added SCM_SET_CONTINUATION_LENGTH to replace SCM_SETLENGTH.
-rw-r--r--NEWS2
-rw-r--r--libguile/ChangeLog7
-rw-r--r--libguile/continuations.c2
-rw-r--r--libguile/continuations.h1
4 files changed, 10 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index bad32a89b..052c16596 100644
--- a/NEWS
+++ b/NEWS
@@ -243,7 +243,7 @@ SCM_BITVECTOR_LENGTH, SCM_VECTOR_LENGTH.
Use these instead of SCM_LENGTH.
-** New macros: SCM_SET_VECTOR_LENGTH
+** New macros: SCM_SET_CONTINUATION_LENGTH, SCM_SET_VECTOR_LENGTH
Use these instead of SCM_SETLENGTH
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index c0901f54b..7beb584ec 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,5 +1,12 @@
2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+ * continuations.c (scm_make_cont): Use
+ SCM_SET_CONTINUATION_LENGTH instead of SCM_SETLENGTH.
+
+ * continuations.h (SCM_SET_CONTINUATION_LENGTH): Added.
+
+2000-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
* vectors.c (scm_make_vector), weaks.c (scm_make_weak_vector):
Use SCM_SET_VECTOR_LENGTH instead of SCM_SETLENGTH.
diff --git a/libguile/continuations.c b/libguile/continuations.c
index 2a3780074..ca647b154 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -89,7 +89,7 @@ scm_make_cont (SCM *answer)
SCM_THROW_VALUE (cont) = SCM_EOL;
src = SCM_BASE (cont) = SCM_BASE (scm_rootcont);
SCM_SEQ (cont) = SCM_SEQ (scm_rootcont);
- SCM_SETLENGTH (cont, j, scm_tc7_contin);
+ SCM_SET_CONTINUATION_LENGTH (cont, j);
SCM_EXIT_A_SECTION;
#ifndef SCM_STACK_GROWS_UP
src -= SCM_CONTINUATION_LENGTH (cont);
diff --git a/libguile/continuations.h b/libguile/continuations.h
index 11aa75c5a..d107f8797 100644
--- a/libguile/continuations.h
+++ b/libguile/continuations.h
@@ -64,6 +64,7 @@ typedef struct
#define SCM_CONTREGS(x) ((scm_contregs *) SCM_CELL_WORD_1 (x))
#define SCM_SET_CONTREGS(x, r) (SCM_SET_CELL_WORD_1 ((x), (scm_bits_t) (r)))
#define SCM_CONTINUATION_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
+#define SCM_SET_CONTINUATION_LENGTH(x, l) (SCM_SET_CELL_WORD_0 ((x), ((l) << 8) + scm_tc7_contin))
#define SCM_JMPBUF(x) ((SCM_CONTREGS (x))->jmpbuf)
#define SCM_DYNENV(x) ((SCM_CONTREGS (x))->dynenv)