1.1.13: will be tagged as "sbcl-1.1.13"
[sbcl.git] / src / code / early-full-eval.lisp
index 7114306..aa95aaa 100644 (file)
 (in-package "SB!EVAL")
 
 (defparameter *eval-level* -1)
-(defparameter *eval-calls* 0)
 (defparameter *eval-verbose* nil)
 
-(defun !full-eval-cold-init ()
-  (setf *eval-level* -1
-        *eval-calls* 0
-        *eval-verbose* nil
-        *evaluator-mode* :compile))
-
 ;; !defstruct-with-alternate-metaclass is unslammable and the
 ;; RECOMPILE restart doesn't work on it.  This is the main reason why
 ;; this stuff is split out into its own file.  Also, it lets the
 ;; compiler/main and code/deftypes-for-target.
 (sb!kernel::!defstruct-with-alternate-metaclass
  interpreted-function
- :slot-names (name lambda-list env declarations documentation body source-location)
+ ;; DEBUG-NAME and DEBUG-LAMBDA-LIST are initially a copies of the proper
+ ;; ones, but is analogous to SIMPLE-FUN-NAME and ARGLIST in the sense that it
+ ;; is they are there only for debugging, and do not affect behaviour of the
+ ;; function -- so DEFMACRO can set them to more informative values.
+ :slot-names (name debug-name lambda-list debug-lambda-list env
+                   declarations documentation body source-location)
  :boa-constructor %make-interpreted-function
  :superclass-name function
  :metaclass-name static-classoid
@@ -41,8 +39,8 @@
   (defun make-interpreted-function
       (&key name lambda-list env declarations documentation body source-location)
     (let ((function (%make-interpreted-function
-                     name lambda-list env declarations documentation body
-                     source-location)))
+                     name name lambda-list lambda-list env
+                     declarations documentation body source-location)))
       (setf (sb!kernel:funcallable-instance-fun function)
             #'(lambda (&rest args)
                 (interpreted-apply function args)))