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