[implementations-list] [PATCH] Small fixes

John J. Foerch jjfoerch at earthlink.net
Tue Dec 1 21:06:13 CET 2009

On Tue, Dec 01, 2009 at 07:09:37PM +0000, Vegard Øye wrote:
> * AUTOMATIC LOADING OF CL.EL: if cl.el isn't loaded already (Common
>   Lisp extensions for Emacs), one gets error messages bemoaning
>   undefined functions like `destructuring-bind'. Added (require 'cl)
>   to fix this.

Just a note about cl.el: I believe the GNU Emacs policy is still that
cl.el is to be regarded as a compile-time emulation layer only, and it
should never be loaded at runtime.  They will not accept any code into
official Emacs that requires cl.el at runtime.  As an elisp coder myself,
I have found that cl.el is occasionally convenient, rarely needed, and
often over-used.  When I write libraries I avoid it altogether not only
because of the GNU policy, but also because it can introduce subtle bugs
because of alternate definitions of functions like `push', and once one
library has loaded cl.el at runtime, your Emacs is "infected" with it, and
problems related to it in other libraries become harder to debug.

Although I'm not directly involved in vimpulse, I would recommend looking
at the situation where cl.el is used and evaluating whether it is truly
necessary in the first place.

John Foerch

More information about the implementations-list mailing list