[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug in constructors in Franz
- To: CommonLoops.PA@Xerox.COM, Rao.PA@Xerox.COM
- Subject: bug in constructors in Franz
- From: Gregor.pa@Xerox.COM
- Date: Wed, 25 Jan 89 15:39 PST
- Fcc: BD:>Gregor>mail>outgoing-mail-5.text.newest
- Line-fold: no
In certain cases, constructors can signal strange, hard to reproduce
errors in Franz Common Lisp. These errors are caused by a strange
interaction with funcallable instances in that port.
The following code patches this problem. A subsequent fix may use
another solution, but this one works fine for now.
;from construct.lisp
(defmethod install-lazy-constructor-installer ((constructor constructor))
(let ((class (constructor-class constructor)))
(set-constructor-code constructor
#'(lambda (&rest args)
(multiple-value-bind (code type)
(compute-constructor-code class constructor)
(prog1 (apply code args)
(set-constructor-code constructor
code
type))))
'lazy)))
-------