X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Flexenv.lisp;h=34f37ba430d73b867a77ff8e5cf6adb1f5729fe8;hb=ea652c139bb060d821f3010b3b106bdbcec983aa;hp=5a94a63028792fbc91f6c63aeb3d4aa17d341cef;hpb=800e2822d7004944c3aca5d12a7596ac8c6caca6;p=sbcl.git diff --git a/src/compiler/lexenv.lisp b/src/compiler/lexenv.lisp index 5a94a63..34f37ba 100644 --- a/src/compiler/lexenv.lisp +++ b/src/compiler/lexenv.lisp @@ -18,8 +18,17 @@ #!-sb-fluid (declaim (inline internal-make-lexenv)) ; only called in one place (def!struct (lexenv (:constructor make-null-lexenv ()) + (:constructor make-null-interactive-lexenv + (&aux (policy (list '(safety . 3) + '(compilation-speed . 2) + '(speed . 1) + '(space . 1) + '(debug . 1) + '(inhibit-warnings . 1))))) (:constructor internal-make-lexenv - (funs vars blocks tags type-restrictions + (funs vars blocks tags + type-restrictions + weakend-type-restrictions lambda cleanup policy))) ;; an alist of (NAME . WHAT), where WHAT is either a FUNCTIONAL (a ;; local function), a DEFINED-FUN, representing an @@ -49,6 +58,7 @@ ;; THING is a continuation, this is used to track the innermost THE ;; type declaration. (type-restrictions nil :type list) + (weakend-type-restrictions nil :type list) ;; the lexically enclosing lambda, if any ;; ;; FIXME: This should be :TYPE (OR CLAMBDA NULL), but it was too hard