Subject: Re: Quoting disassemble's lambda argument.
From: Erik Naggum <erik@naggum.no>
Date: 1999/01/10
Newsgroups: comp.lang.lisp
Message-ID: <3125001338064056@naggum.no>

* robert_m_miles@yahoo.com
| Consider these two expressions:
| 
| (disassemble '(lambda (x) x))
| (disassemble #'(lambda (x) x))
| 
| The first one works with ACL, but fails with CMUCL.

  that's a bug in CMUCL.

| The second one works with CMUCL, but fails with ACL.

  that's a bug in Allegro CL.

| I'm leaning towards thinking that CMUCL has the correct behavior.

  why?  the standard explicitly says `lambda expression'.

  if DISASSEMBLE should indeed accept an interpreted function as arugment,
  this is a fix for DISASSEMBLE in Allegro CL:

excl:
(advise disassemble :before allow-interpreted-function nil
  (when (interpreted-function-p (first arglist))
    (setf (first arglist)
      (func_code (first arglist)))))

#:Erik