On 07/14/2014 08:47 PM, Glenn Morris wrote: > Daniel Colascione wrote: > >> --- a/lisp/progmodes/cc-defs.el 2014-06-29 11:26:47 +0000 >> +++ b/lisp/progmodes/cc-defs.el 2014-07-14 23:58:52 +0000 > [...] >> @@ -1946,7 +1943,7 @@ >> ;; reason, but we also use this expansion handle >> ;; `c-lang-defconst-eval-immediately' and to register >> ;; dependencies on the `c-lang-const's in VAL.) >> - (setq val (cl-macroexpand-all val)) >> + (setq val (macroexpand-all val)) >> >> (setq bindings (cons (cons assigned-mode val) bindings) >> args (cdr args)))) > > Why is this needed, when cc-defs requires cl at compile time, > which defines cl-macroexpand-all as an alias for macroexpand-all? I was trying to fix some code that broke when requiring cc-langs and cc-fonts only. Requiring these features doesn't bring the needed alias, but apparently used to: ELISP> (require 'cc-langs) cc-langs ELISP> (require 'cc-fonts) cc-fonts ELISP> (featurep 'cl) nil Maybe that's the real bug.