[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6750: Byte compiler: spurious message "cl used at runtime"
From: |
Stefan Monnier |
Subject: |
bug#6750: Byte compiler: spurious message "cl used at runtime" |
Date: |
Thu, 29 Jul 2010 01:01:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> In this macro declaration:
> (defmacro c-declare-lang-variables ()
> `(progn
> ,@(mapcan (lambda (init)
> `(,(if (elt init 2)
> `(defvar ,(car init) nil ,(elt init 2))
> `(defvar ,(car init) nil))
> (make-variable-buffer-local ',(car init))))
> (cdr c-lang-variable-inits))))
> , (from cc-engine.el), the byte-compiler gives this warning:
> "Function `mapcan' from cl package called at runtime".
> It is clear that the mapcan, being within a ,@ construct, does its work
> at macro-expansion time, i.e. compile time.
> Thus the warning message is wrong. This is a bug.
This macro will be in the .elc. This means it can be called "at run
time" (e.g. if you do M-: (c-declare-lang-variables ...) RET).
Stefan