From be4df4158e8166f97ad42481e8c123d1084bf769 Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Tue, 4 Nov 2003 15:01:16 +0000
Subject: [PATCH] 	 FIXME: There's a quirk somewhere when recording this 
  dependency, which I don't have to time to debug right now. 	 Redefining a
 function like this:

	 (defun foo ())

	 (let ((foo #'foo))
	   (declare (function foo))
	   (defun foo () (funcall foo)))

	 leads to infinite recursion because the funcall uses
	 FOO's fdefn object instead of the local variable's value.

	* src/compiler/ir1tran.lisp (ir1-convert-variable): Don't
	record DFO dependency.
---
 compiler/ir1tran.lisp | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp
index 61beb85b7..7bd296c71 100644
--- a/compiler/ir1tran.lisp
+++ b/compiler/ir1tran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.165 2003/10/02 19:23:11 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.166 2003/11/04 15:01:16 gerd Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -797,6 +797,20 @@
        (when (lambda-var-p var)
 	 (when (lambda-var-ignorep var)
 	   (compiler-note "Reading an ignored variable: ~S." name))
+	 ;;
+	 ;; FIXME: There's a quirk somewhere when recording this
+	 ;; dependency, which I don't have to time to debug right now.
+	 ;; Redefining a function like this:
+	 ;;
+	 ;; (defun foo ())
+	 ;;
+	 ;; (let ((foo #'foo))
+	 ;;   (defun foo () (funcall foo)))
+	 ;;
+	 ;; leads to infinite recursion because the funcall uses
+	 ;; FOO's fdefn object instead of the local variable's value.
+	 ;; -- Gerd, 2003-11-04
+	 #+nil
 	 (note-dfo-dependency start var))
        (reference-leaf start cont var))
       (cons
-- 
GitLab