emacs-devel
[Top][All Lists]
Advanced

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

Re: policy, recommendations regarding `cl-*'


From: Bastien
Subject: Re: policy, recommendations regarding `cl-*'
Date: Wed, 26 Sep 2012 15:12:20 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> On a related note, am I understanding right that functions
>> and macros from cl-macs.el will *not* trigger warnings?
>
> Depends what kind of warning and in which circumstance.

I have a test.el file with just this:

  (eval-when-compile (require 'cl))
  (cl-position '1 '(0 1 2 3))
  (cl-defsubst test () (message "blah"))

In dired, I byte-compile with `B' on the file.

>> For example, compiling a file with this
>>   (cl-position '1 '(0 1 2 3))
>>   (cl-defsubst test () (interactive) (message "blah"))
>> will warn about cl-position, not cl-defsubst.
>
> I don't see any particular reason to have a warning for the above code,
> unless of course you forgot the (require 'cl-lib) or you wrapped the
> (require 'cl-lib) in an eval-when-compile.  So please say precisely
> which warning you get and in which case.

With the recipe above, I get this warning:

Compiling file /home/guerry/test.el at Wed Sep 26 15:01:47 2012
test.el:1:2:Warning: function `cl-position' from cl package called at runtime

Why is there no warning about cl-defsubst?  cl-defsubst is defined in
cl-macs.el but I don't see where cl.el is unconditionnally requiring
cl-macs.

How to get rid of the warning about cl-position?  cl-seq.el doesn't
have any (provide 'cl-seq).

This is with GNU Emacs 24.2.50.2 (i686-pc-linux-gnu, GTK+ Version 3.4.4)
of 2012-09-20.

-- 
 Bastien



reply via email to

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