[slime-devel] swank-backend:arglist in CMUCL

Martin Rydstr|m Martin Rydstr|m rydis at CD.Chalmers.SE
Sat May 1 23:31:20 UTC 2004


Hi,

I was looking at ripping some useful stuff from SLIME to Hemlock,
and noticed that swank-backend:arglist doesn't seem to work very
well with byte-compiled functions in my current version. (Which
is CMUCL from CVS per 2004-04-20; SLIME as of earlier today.)

All calls to swank-backend:arglist on a function that has been
byte-compiled gives (C:&MORE C::CONTEXT COUNT).

The problem seems to be that kernel:%function-self, called by arglist,
in that case, returns a general-ish #<Function "DEFUN
INITIALIZE-BYTE-COMPILED-FUNCTION>, which has that kind of arglist.

"Test case":

* (let ((c::*byte-compile* t))
    (compile (defun foo (bar &rest zot)
               (list* bar zot))))
; Converted FOO.
; Byte Compiling LAMBDA (BAR &REST ZOT): 
; Byte Compiling Top-Level Form: 
FOO
NIL
NIL
* (swank-backend:arglist 'foo)
(C:&MORE C::CONTEXT COUNT)

Regards,

'mr

-- 
[Emacs] is written in Lisp, which is the only computer language that is
beautiful.  -- Neal Stephenson, _In the Beginning was the Command Line_





More information about the slime-devel mailing list