help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some racism in emacs!


From: John Paul Wallington
Subject: Re: Some racism in emacs!
Date: Sun, 01 Jun 2003 08:41:04 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (gnu/linux)

Pascal Bourguignon <spam@thalassa.informatimago.com> wrote:

> Well, actually what's  bothering me is these nasty,  racist messages I
> get from the byte-compiler:
>
> Warning: Function `gensym' from cl package called at runtime
> Warning: Function `subseq' from cl package called at runtime
> etc...
>
>
> I can't see the difference between the functions defined in 
> emacs/lisp/emacs-lisp/cl.el and those defined in
> emacs/lisp/emacs-lisp/ring.el
> Can you?

The cl library, like Common Lisp, is big and hard to subset.

Amongst the Emacs Lisp Coding Conventions it is suggested:

   * Please don't require the `cl' package of Common Lisp extensions at
     run time.  Use of this package is optional, and it is not part of
     the standard Emacs namespace.  If your package loads `cl' at run
     time, that could cause name clashes for users who don't use that
     package.

     However, there is no problem with using the `cl' package at compile
     time, for the sake of macros.  You do that like this:

          (eval-when-compile (require 'cl))

Hm.  I think name clashes are largely a non-problem; a package author
would be insane to define cl functions/macros incompatibly, wouldn't
they?

Ways to ameliorate this situation include splitting cl into several
separate independent libraries, moving ultra-nifty bits into subr.el,
or defining compiler macros for the more popular functions.

If you just don't want to see the warnings then try frobbing
`byte-compile-warnings' (untested).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]