sb-concurrency: GATE tweak, fix building without threads
[sbcl.git] / contrib / sb-cltl2 / env.lisp
index 06e494b..7b479c8 100644 (file)
     nil))
 
 
-(declaim (ftype (sfunction (symbol &optional (or null lexenv))
+(declaim (ftype (sfunction ((or symbol cons) &optional (or null lexenv))
                            (values (member nil :function :macro :special-form)
                                    boolean
                                    list))
@@ -254,7 +254,7 @@ appear."
 
 (declaim (ftype (sfunction
                  (symbol &optional (or null lexenv))
-                 (values (member nil :special :lexical :symbol-macro :constant :global)
+                 (values (member nil :special :lexical :symbol-macro :constant :global :alien)
                          boolean
                          list))
                 variable-information))
@@ -284,6 +284,9 @@ binding:
   :GLOBAL
     NAME refers to a global variable. (SBCL specific extension.)
 
+  :ALIEN
+    NAME refers to an alien variable. (SBCL specific extension.)
+
 The second value is true if NAME is bound locally. This is currently
 always NIL for special variables, although arguably it should be T
 when there is a lexically apparent binding for the special variable.
@@ -386,7 +389,7 @@ the condition types that have been muffled."
        (let ((policy (sb-c::lexenv-policy env)))
          (collect ((res))
            (dolist (name sb-c::*policy-qualities*)
-             (res (list name (cdr (assoc name policy)))))
+             (res (list name (sb-c::policy-quality policy name))))
            (loop for (name . nil) in sb-c::*policy-dependent-qualities*
                  do (res (list name (sb-c::policy-quality policy name))))
            (res))))