Pascal Bourguignon | 1 Jun 08:05 2003

Some racism in emacs!


I'm wondering  why when I compile  a .el file,  the byte-compiler does
not issue any warning about my  use of functions from ring.el such as:
make-ring or ring-insert?

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?

--

-- 
__Pascal_Bourguignon__                   http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
John Paul Wallington | 1 Jun 09:41 2003
X-Face
Picon

Re: Some racism in emacs!

Pascal Bourguignon <spam <at> 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))

(Continue reading)

Pascal Bourguignon | 2 Jun 08:42 2003

Re: Some racism in emacs!


John Paul Wallington <jpw <at> gnu.org> writes:
> The cl library, like Common Lisp, is big and hard to subset.

Who asked for a 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).

(Continue reading)

John Paul Wallington | 2 Jun 11:46 2003
X-Face
Picon

Re: Some racism in emacs!

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

> John Paul Wallington <jpw <at> gnu.org> writes:
>> The cl library, like Common Lisp, is big and hard to subset.
>
> Who asked for a subset?

The coding conventions say not to make runtime use of cl.  IMHO, the
most likely to succeed way to nullify this convention is to split cl
into independent parts and for libraries to require what they need at
runtime.  But subsetting cl is almost as hard as subsetting Common
Lisp.

>> 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?
>> 
(Continue reading)

Kai Großjohann | 2 Jun 15:08 2003
Picon
Picon

Re: Some racism in emacs!

John Paul Wallington <jpw <at> gnu.org> writes:

> Because that's the way it is.  Emacs implements its own dialect.

I wish Emacs Lisp was based on CL.

*dream*

--

-- 
This line is not blank.
David Kastrup | 2 Jun 18:00 2003
X-Face
Picon
Picon

Re: Some racism in emacs!

kai.grossjohann <at> gmx.net (Kai Großjohann) writes:

> John Paul Wallington <jpw <at> gnu.org> writes:
> 
> > Because that's the way it is.  Emacs implements its own dialect.
> 
> I wish Emacs Lisp was based on CL.
> 
> *dream*

<URL:http://www.cliki.net/CL-Emacs>

--

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

Gmane