Subject: Re: bug#25604: Autoloads fake functions in foreign packages

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 12 Apr 2018 21:34:47 +0200

Tim Landscheidt <[email-masked]> writes:

> With Gnus v5.13/GNU Emacs 25.1.1 (x86_64-redhat-linux-gnu,
> GTK+ Version 3.22.4) of 2016-12-15, after loading
> gnus-art.el, C-h f w3 TAB completes to
> w3m-toggle-inline-images even though I have not installed
> the w3m package.  This is due to gnus-art.el's:
>
> | (autoload 'w3m-toggle-inline-images "w3m")
>
> AFAIUI, this should be rewritten as:
>
> | (declare-function w3m-toggle-inline-images "w3m")
>
> so that the compiler remains quiet, but the function does
> not falsely appear to be existing.

Thanks; I've applied this to Emacs 27.1.

> There are a lot of these in Gnus (cf. "git grep
> '^[^;]*(autoload' -- lisp/gnus
> ':(exclude)lisp/gnus/ChangeLog.*'") and Emacs overall, so a
> larger clean-up might be useful.

Using autoload in these forms is mostly annoying when they refer to
packages not distributed with Emacs -- the other ones are mostly
harmless.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no