* modules.h. modules.c (scm_current_module_lookup_closure): New
[bpt/guile.git] / libguile / root.h
index 58466b2..82e1231 100644 (file)
 #define scm_nullvect scm_sys_protects[3]
 #define scm_nullstr scm_sys_protects[4]
 #define scm_symhash scm_sys_protects[5]
-#define scm_weak_symhash scm_sys_protects[6]
-#define scm_symhash_vars scm_sys_protects[7]
-#define scm_keyword_obarray scm_sys_protects[8]
-#define scm_first_type scm_sys_protects[9]
-#define scm_stand_in_procs scm_sys_protects[10]
-#define scm_object_whash scm_sys_protects[11]
-#define scm_permobjs scm_sys_protects[12]
-#define scm_asyncs scm_sys_protects[13]
-#define scm_protects scm_sys_protects[14]
+#define scm_symhash_vars scm_sys_protects[6]
+#define scm_keyword_obarray scm_sys_protects[7]
+#define scm_stand_in_procs scm_sys_protects[8]
+#define scm_object_whash scm_sys_protects[9]
+#define scm_permobjs scm_sys_protects[10]
+#define scm_asyncs scm_sys_protects[11]
+#define scm_protects scm_sys_protects[12]
+#define scm_properties_whash scm_sys_protects[13]
 #ifdef DEBUG_EXTENSIONS
-#define scm_source_whash scm_sys_protects[15]
-#define SCM_NUM_PROTECTS 16
-#else
+#define scm_source_whash scm_sys_protects[14]
 #define SCM_NUM_PROTECTS 15
+#else
+#define SCM_NUM_PROTECTS 14
 #endif
 
 extern SCM scm_sys_protects[];
 
 \f
 
-extern long scm_tc16_root;
+extern scm_bits_t scm_tc16_root;
 
-#define SCM_ROOTP(obj) (SCM_NIMP(obj) && (scm_tc16_root == SCM_TYP16 (obj)))
+#define SCM_ROOTP(obj)       SCM_TYP16_PREDICATE (scm_tc16_root, obj)
 #define SCM_ROOT_STATE(root) ((scm_root_state *) SCM_CELL_WORD_1 (root))
 
 typedef struct scm_root_state
@@ -115,9 +114,6 @@ typedef struct scm_root_state
 
   SCM fluids;
 
-  SCM system_transformer;          /* No longer used (but kept for binary compatibility) */
-  SCM top_level_lookup_closure_var; /* No longer used (but kept for binary compatibility) */
-
   SCM handle;                  /* The root object for this root state */
   SCM parent;                  /* The parent root object */
 } scm_root_state;
@@ -162,9 +158,17 @@ extern SCM scm_internal_cwdr (scm_catch_body_t body,
 extern SCM scm_call_with_dynamic_root (SCM thunk, SCM handler);
 extern SCM scm_dynamic_root (void);
 extern SCM scm_apply_with_dynamic_root (SCM proc, SCM a1, SCM args, SCM handler);
-extern SCM scm_call_catching_errors (SCM (*thunk)(), SCM (*err_filter)(), void * closure);
 extern void scm_init_root (void);
 
+\f
+
+#if (SCM_DEBUG_DEPRECATED == 0)
+
+/* Use the catch functions from throw.[ch] instead of: */
+extern SCM scm_call_catching_errors (SCM (*thunk)(), SCM (*err_filter)(), void * closure);
+
+#endif  /* SCM_DEBUG_DEPRECATED == 0 */
+
 #endif  /* ROOTH */
 
 /*