I'm sorry, the example I gave is fine -- that code of course is executed at compile-time only.

On Sun, Apr 8, 2012 at 9:39 PM, Ilya Shlyakhter <ilya_shl@alum.mit.edu> wrote:
Right now, the cl package itself seems to violate the rule against calling its functions at runtime.
E.g. 

(define-compiler-macro assoc* (&whole form a list &rest keys)
;; ...
           (if (floatp-safe (cl-const-expr-val a))
 ;; ...

floatp-safe is a function in package cl, and the compiled code will call it at runtime.
Am I missing something?

On Wed, Apr 4, 2012 at 9:06 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> Agree about cl- being better than ecl- .
> Btw, if remove-if becomes defalias'ed to cl-remove-if, aren't the two calls
> indistinguishable to the byte compiler?

The name is different, so the compiler can definitely tell the difference.

> If they are, and calling cl-remove wouldn't trigger a warning,
> wouldn't remove-if calls also become warning-less?

Not necessarily, no.


       Stefan