* eval.c (CEVAL): Don't distinguish between short and long
[bpt/guile.git] / libguile / modules.c
index fd13c51..7d578dc 100644 (file)
@@ -277,8 +277,7 @@ static SCM
 module_variable (SCM module, SCM sym)
 {
 #define SCM_BOUND_THING_P(b) \
-  (!SCM_FALSEP(b) && \
-   (!SCM_VARIABLEP(b) || !SCM_UNBNDP (SCM_VARIABLE_REF (b))))
+  (SCM_VARIABLEP (b) && !SCM_UNBNDP (SCM_VARIABLE_REF (b)))
 
   /* 1. Check module obarray */
   SCM b = scm_hashq_ref (SCM_MODULE_OBARRAY (module), sym, SCM_UNDEFINED);
@@ -568,6 +567,9 @@ scm_module_reverse_lookup (SCM module, SCM variable)
       obarray = SCM_MODULE_OBARRAY (module);
     }
 
+  if (!SCM_HASHTABLE_P (obarray))
+      return SCM_BOOL_F;
+
   /* XXX - We do not use scm_hash_fold here to avoid searching the
      whole obarray.  We should have a scm_hash_find procedure. */