summaryrefslogtreecommitdiff
path: root/libguile/eval.h
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2001-05-15 14:57:22 +0000
committerMarius Vollmer <mvo@zagadka.de>2001-05-15 14:57:22 +0000
commit86d31dfe7d0754b863863f6544c75097ef68fe8c (patch)
tree0f78f9d3ace802b80422dcedea25098cf901d05a /libguile/eval.h
parent7c33806ae676601f902dbdc0f39c1f0828d68951 (diff)
downloadguile-86d31dfe7d0754b863863f6544c75097ef68fe8c.tar.gz
Merge from mvo-vcell-cleanup-1-branch.
Diffstat (limited to 'libguile/eval.h')
-rw-r--r--libguile/eval.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/libguile/eval.h b/libguile/eval.h
index aee3a399d..80e0e5faa 100644
--- a/libguile/eval.h
+++ b/libguile/eval.h
@@ -46,8 +46,6 @@
#include "libguile/__scm.h"
-/* Needed by SCM_TOP_LEVEL_LOOKUP_CLOSURE below. */
-
#include "struct.h"
@@ -131,8 +129,7 @@ extern SCM scm_eval_options_interface (SCM setting);
/*fixme* This should probably be removed throught the code. */
-#define SCM_TOP_LEVEL_LOOKUP_CLOSURE \
- SCM_MODULE_EVAL_CLOSURE (scm_current_module ())
+#define SCM_TOP_LEVEL_LOOKUP_CLOSURE (scm_current_module_lookup_closure())
#if SCM_DEBUG_DEPRECATED == 0
@@ -181,13 +178,14 @@ extern SCM scm_sym_args;
extern SCM scm_f_apply;
/* A resolved global variable reference in the CAR position
- * of a list is stored (in code only) as a pointer to a pair with a
+ * of a list is stored (in code only) as a pointer to a variable with a
* tag of 1. This is called a "gloc".
*/
-#define SCM_GLOC_SYM(x) (SCM_CAR (SCM_PACK (SCM_UNPACK (x) - 1L)))
-#define SCM_GLOC_VAL(x) (SCM_CDR (SCM_PACK (SCM_UNPACK (x) - 1L)))
-#define SCM_GLOC_VAL_LOC(x) (SCM_CDRLOC (SCM_PACK (SCM_UNPACK (x) - 1L)))
+#define SCM_GLOC_VAR(x) (SCM_PACK(SCM_UNPACK(x)-scm_tc3_cons_gloc))
+#define SCM_GLOC_VAL(x) (SCM_VARIABLE_REF (SCM_GLOC_VAR (x)))
+#define SCM_GLOC_SET_VAL(x, y) (SCM_VARIABLE_SET (SCM_GLOC_VAR (x), y))
+#define SCM_GLOC_VAL_LOC(x) (SCM_VARIABLE_LOC (SCM_GLOC_VAR (x)))