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