From 5ad686a7b50ca297914c4c80f6dc3b45f0aca7fb Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Sat, 6 Oct 1990 18:23:33 +0000
Subject: [PATCH] Changed the does-not-return tail recursion inhibition to only
 apply to full calls.

---
 compiler/envanal.lisp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/compiler/envanal.lisp b/compiler/envanal.lisp
index e21d840c6..1293c9fb1 100644
--- a/compiler/envanal.lisp
+++ b/compiler/envanal.lisp
@@ -359,6 +359,8 @@
 	      (tails (lambda-tail-set fun)))
 	  (do-uses (use result)
 	    (when (and (immediately-used-p result use)
-		       (not (eq (node-derived-type use) *empty-type*)))
+		       (or (not (eq (node-derived-type use) *empty-type*))
+			   (not (basic-combination-p use))
+			   (eq (basic-combination-kind use) :local)))
 	      (setf (node-tail-p use) tails)))))))
   (undefined-value))
-- 
GitLab