From 720d63b24ab9ff1289712483dfc39326ee3cc1d3 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 20 Nov 1990 18:37:13 +0000
Subject: [PATCH] Added stuff to make INFO FUNCTION TYPE on a function name
 that is defined as an interpreted function call
 EVAL:INTERPRETED-FUNCTION-TYPE, rather than bogusly looking at the closure
 over the interpreter.

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

diff --git a/compiler/globaldb.lisp b/compiler/globaldb.lisp
index 5b506b8e9..6a947e2b6 100644
--- a/compiler/globaldb.lisp
+++ b/compiler/globaldb.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/globaldb.lisp,v 1.14 1990/10/11 17:35:18 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/globaldb.lisp,v 1.15 1990/11/20 18:37:13 ram Exp $
 ;;;
 ;;;    This file provides a functional interface to global information about
 ;;; named things in the system.  Information is considered to be global if it
@@ -988,9 +988,11 @@
 (define-info-type function type ctype
   #+new-compiler
   (if (fboundp name)
-      (specifier-type (%primitive function-type
-				  (%primitive closure-function
-					      (fdefinition name))))
+      (let ((def (fdefinition name)))
+	(if (eval:interpreted-function-p def)
+	    (eval:interpreted-function-type def)
+	    (specifier-type (%primitive function-type
+					(%primitive closure-function def)))))
       (specifier-type 'function))
   #-new-compiler
   (specifier-type 'function))
-- 
GitLab