Subject: bug#8646: byte-compile-initial-macro-environment confuses byte-compile-arglist-warn

From: Glenn Morris <[email-masked]>
Date: Tue, 10 May 2011 18:26:55 -0400

Package: emacs
Version: 24.0.50
Severity: minor

Since the lexical merge, compiling subr.el warns:

  In declare-function:
  subr.el:39:11:Warning: macro declare-function used to take 0+ arguments,
    now takes 2-4

This is caused by the element in byte-compile-initial-macro-environment:
  (declare-function . byte-compile-macroexpand-declare-function)

This confuses byte-compile-arglist-warn, because
  (byte-compile-fdefinition 'declare-function t)

returns `byte-compile-macroexpand-declare-function', which leads to a
(bogus) arglist signature of 0+.