It looks a lot like SLIME can't find the code you want because it's looking in the wrong package: the error that you show is SBCL saying "I looked in :cl-user and couldn't find anything called ITERATE".
When you say "Trying to look up the definition for ITERATE", I guess you mean you typed M-.
on something like (iterate ...)
in a buffer. The problem is that SLIME and Emacs don't know that you mean the one defined in nqthm.lisp
. I just downloaded a copy of nqthm and it looks reasonably archaic, but it looks like it defines the iterate macro in the USER
package. You can check this by typing (apropos "ITERATE")
at the repl. In SBCL, you'll see a couple of SBCL-specific symbols but (assuming you've successfully loaded nqthm.lisp
, you should also see something like USER:ITERATE
.
From your question, I assume you're reasonably new to lisp, so I won't go into technical details about packages. If you just want to be able to type stuff in a buffer and have Emacs and SLIME do the right thing to use the nqthm stuff, I think you should be able to put
(in-package "USER")
at the top of your buffer and be done with it. If you want the repl to work too, either copy and paste that string into it or use C-c M-p in the repl's buffer.