[slime-devel] SLIME development newbie questions

Tobias C Rittweiler tcr at freebits.de
Sat Oct 2 18:09:32 UTC 2010


In article <i84v89$8lt$1 at dough.gmane.org>,
 Tamas K Papp <tkpapp at gmail.com> wrote:

> 3. How should I start?  What's the best way to start poking around in
> SLIME?

I'm more of printf-style person, so I started out way back when
as follows:

  Let's say you want to find out how C-c C-m works.

  To find out about the emacs side, do C-h k C-c C-m,
  it will tell you the function name, and give you a
  link into the elisp source.

  To find out about the swank side, perform the command,
  look into *slime-events* what RPC it calls, grep
  for it in the *.lisp files.

  You'll also see the return value of the RPC in
  *slime-events*.

  Then you can look again what the elisp side does
  with the return value. I usually use the following
  function for that purpose:

  (defun tcr:debugmsg (msg &rest args)
    (with-current-buffer (get-buffer-create "*TCR*")
      (goto-char (point-max)) (insert "\n")
      (insert (apply #'format msg args))))

  Just put (tcr:debugmsg "%S" (some-elisp)) into
  an elisp function definition, press C-M-x, and
  redo the command. The output goes to *TCR*.

HTH,

  -T.





More information about the slime-devel mailing list