What kind of expressions it is possible to inspect with the `slime-inspect' command? Suppose I evaluate this in a SLIME repl:
(defclass my-class () ((a) (b))
then invoke `slime-inspect' from a Lisp mode buffer with `C-c I' and type:
(make-instance 'cl-user::my-class)
I get this error:
Error in function PCL::FIND-CLASS-FROM-CELL: No class named: COMMON-LISP-USER::MY-CLASS. [Condition of type SIMPLE-ERROR]
Restarts: 0: [ABORT] Abort handling SLIME request. 1: [ABORT] Return to Top-Level.
Backtrace: 0: (PCL::FIND-CLASS-FROM-CELL COMMON-LISP-USER::MY-CLASS NIL T) 1: ("DEFMETHOD MAKE-INSTANCE (SYMBOL)" #<#1=unused-arg> #<#1#> COMMON-LISP-USER::MY-CLASS NIL) 2: ("DEFSLIMEFUN INIT-INSPECTOR") --more--
Am I supposed to do that? In which environment does `slime-inspect' evaluate expressions?
Paolo
Paolo Amoroso amoroso@mclink.it writes:
What kind of expressions it is possible to inspect with the `slime-inspect' command? Suppose I evaluate this in a SLIME repl:
(defclass my-class () ((a) (b))
then invoke `slime-inspect' from a Lisp mode buffer with `C-c I' and type:
(make-instance 'cl-user::my-class)
Should work fine, assuming you did the defclass in the CL-USER package. Works for me in CMUCL 19a-pre3.
I get this error:
Error in function PCL::FIND-CLASS-FROM-CELL: No class named: COMMON-LISP-USER::MY-CLASS. [Condition of type SIMPLE-ERROR]
How about if you do the make-instance call from e.g. the REPL instead?
It would be strange if it's inspector-specific. The inspector just does READ and EVAL on the input.
-Luke
Luke Gorrie luke@bluetail.com writes:
Paolo Amoroso amoroso@mclink.it writes:
What kind of expressions it is possible to inspect with the `slime-inspect' command? Suppose I evaluate this in a SLIME repl:
(defclass my-class () ((a) (b))
then invoke `slime-inspect' from a Lisp mode buffer with `C-c I' and type:
(make-instance 'cl-user::my-class)
Should work fine, assuming you did the defclass in the CL-USER package. Works for me in CMUCL 19a-pre3.
I did.
How about if you do the make-instance call from e.g. the REPL instead?
Same error message.
Paolo
Paolo Amoroso amoroso@mclink.it writes:
Should work fine, assuming you did the defclass in the CL-USER package. Works for me in CMUCL 19a-pre3.
I did.
How about if you do the make-instance call from e.g. the REPL instead?
Same error message.
How about with no SLIME at all?
This is quite weird. :-)
Luke Gorrie luke@bluetail.com writes:
How about with no SLIME at all?
* (defclass my-class () ((a) (b)))
#<STANDARD-CLASS MY-CLASS {4802EC85}> * (make-instance 'my-class)
#<MY-CLASS {480316C5}> * (inspect (make-instance 'my-class))
NIL
Paolo
Paolo Amoroso amoroso@mclink.it writes:
Luke Gorrie luke@bluetail.com writes:
How about with no SLIME at all?
- (defclass my-class () ((a) (b)))
#<STANDARD-CLASS MY-CLASS {4802EC85}>
- (make-instance 'my-class)
#<MY-CLASS {480316C5}>
- (inspect (make-instance 'my-class))
NIL
I think this is a bug in CMUCL 18e. In 19a-pre3 the slime inspector works on this example, and without SLIME I get better results too:
$ cmucl -noinit CMU Common Lisp 19a-pre3, running on dodo With core: /usr/local/cmucl-19a-pre3/lib/cmucl/lib/lisp.core Dumped on: Wed, 2004-06-30 19:13:25+02:00 on lorien See http://www.cons.org/cmucl/ for support information. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/04/14 03:32:47 * (defclass my-class () ((a) (b)))
#<STANDARD-CLASS MY-CLASS {58020B65}> * (make-instance 'my-class)
#<MY-CLASS {5802FA95}> * (inspect *)
#<MY-CLASS {5802FA95}> is an instance of #<STANDARD-CLASS MY-CLASS {58020B65}>. 0. A: - (slot is unbound) 1. B: - (slot is unbound)
Luke Gorrie luke@bluetail.com writes:
I think this is a bug in CMUCL 18e. In 19a-pre3 the slime inspector works on this example, and without SLIME I get better results too:
I'm going to test 19a-pre3 soon. Thanks,
Paolo
Luke Gorrie luke@bluetail.com writes:
I think this is a bug in CMUCL 18e. In 19a-pre3 the slime inspector works on this example, and without SLIME I get better results too:
I have tested the SLIME inspector with CMUCL 19a-pre3, and I confirm that it indeed works fine with class instances.
Paolo