[slime-devel] Re: possible typo in slime.el

Luke Gorrie luke at bluetail.com
Thu Jan 8 16:39:04 UTC 2004


Raymond Wiker <Raymond.Wiker at fast.no> writes:

>         My Emacs (GNU Emacs 21.3.50.1 / MacOSX) had a little trouble
> compiling the latest slime.el; it complained about the undefined
> function slime-inspector-expand-fontify. Examining this function, I
> thought it looked like it should be a macro instead of a function, so
> I changed "defun" to "defmacro". That seemed to work... is this the
> right fix?

Was it broken before that change? I don't think this is right -- the
function is called from a macro to generate code.

It is really ugly to byte-compile slime.el because of all those
"Warning: Function `foo' from cl package called at runtime"
messages. I just read the cl-compat manual to see what the beef is,
and the gist is that loading `cl' uses up a lot of the elisp namespace
that may clash with other code.

Personally I like calling `cl' code at runtime because it is handy,
and I think people should be expected to avoid naming clashes with the
cl package in their own programs. If they don't, they'll get the
clashes when cl is loaded to byte-compile some other library anyhow.

However, my opinion is obviously not shared by the Emacs developers,
and they are wise people. Also, I hate the way inf-lisp and ILISP
invade lisp-mode rather than creating separate minor-modes just for
their own convenience, and don't want to commit similar sins. I also
don't think we should do anything that would prevent SLIME from
becoming a part of Emacs in the long run.

So, just curious, does anyone have strong feelings like

  Use 'cl' to our heart's content.
  Try to minimize use of 'cl' at runtime, ultimately cut it out.
  "Stop using 'cl' right now, loading it is already breaking stuff!"

?

BTW, I've noticed that code generated by 'cl' macros is really
horrible in the debugger. That is a separate reason to avoid the
package when convenient.

-Luke






More information about the slime-devel mailing list