From 62b4388ef1a79061d9f3884ee77049cbb37e4072 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Fri, 12 Oct 1990 01:36:28 +0000
Subject: [PATCH] Added a new SOURCE-INFO arg to FIX-CORE-SOURCE-INFO.  Fixed
 some now-broken declarations; a top-level lambda may not be a CLAMBDA, it may
 be a :TOP-LEVEL-XEP functional.

---
 compiler/generic/core.lisp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/compiler/generic/core.lisp b/compiler/generic/core.lisp
index 788140084..87af4b5d4 100644
--- a/compiler/generic/core.lisp
+++ b/compiler/generic/core.lisp
@@ -63,7 +63,7 @@
 ;;;
 #+new-compiler
 (defun core-function-or-lose (fun object)
-  (declare (type clambda fun) (type core-object object))
+  (declare (type functional fun) (type core-object object))
   (let ((res (gethash (leaf-info fun) (core-object-entry-table object))))
     (assert res () "Unresolved forward function reference?")
     res))
@@ -158,11 +158,11 @@
 ;;; CORE-CALL-TOP-LEVEL-LAMBDA  --  Interface
 ;;;
 ;;;    Call the top-level lambda function dumped for Entry, returning the
-;;; values.
+;;; values.  Entry may be a 
 ;;;
 #+new-compiler
 (defun core-call-top-level-lambda (entry object)
-  (declare (type clambda entry) (type core-object object))
+  (declare (type functional entry) (type core-object object))
   (funcall (core-function-or-lose entry object)))
 
 
@@ -172,9 +172,11 @@
 ;;; SOURCE-INFO list.
 ;;;
 #+new-compiler
-(defun fix-core-source-info (info object)
+(defun fix-core-source-info (info object source-info)
   (declare (type source-info info) (type core-object object))
   (let ((res (debug-source-for-info info)))
+    (dolist (sinfo res)
+      (setf (debug-source-info sinfo) source-info))
     (dolist (info (core-object-debug-info object))
       (setf (compiled-debug-info-source info) res))
     (setf (core-object-debug-info object) ()))
-- 
GitLab