Re: defmethod+flet
"Raymond Toy (RT/EUS)" <[email protected]>
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <[email protected]> |
Walter C. Pelissero wrote: > I just stumbled in something that doesn't look quite right to me. > > Under 19E the following is legal code: > > (defmethod foo (x) > x) > > (defmethod bar (x) > (flet ((foo (a) > (declare (ignore a)))) > (foo))) > > while I'd expect a warning for the missing argument in the call of > FOO. On the other hand the following code does produce a warning in > the call of FOO2 (missing argument): > > (defmethod foo2 (x) > x) > > (defmethod bar2 (x) > (flet ((foo2 ())) > (foo2))) > > SBCL doesn't show this behaviour. > Thanks for the report. I don't understand PCL at all, but as best as I can tell, it seems the compiler is a bit confused and doesn't think that foo2 is a local function. Not really sure, though. More investigation needed. Ray