Subject: Re: bug#21389: bogus diagnostic about unused lexical variable in eshell/time
From: Stefan Kangas <[email-masked]>
To: Paul Eggert <[email-masked]>
Cc: [email-masked]
Date: Tue, 1 Sep 2020 18:08:24 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Paul Eggert <[email-masked]> writes:

> To reproduce the problem in a fresh build from Emacs master, do this:
>
> touch lisp/eshell/em-unix.el
> make
>
> The output will include the following lines:
>
> eshell/em-unix.el:933:1:Warning: Unused lexical variable ‘args’
> eshell/em-unix.el:963:1:Warning: Unused lexical argument ‘args’
>
> The first diagnostic is bogus.  The second one is correct.  Perhaps the byte
> compiler is getting confused by the second one and the confusion is affecting
> the first one.
>
> The first diagnostic is generated for code that starts off like this:
>
> (defun eshell/time (&rest args)
>   "Implementation of \"time\" in Lisp."
>   (let ((time-args (copy-alist args))
>      ...
>
> so the lexical variable ‘args’ is being used.

This seems to have been fixed on current master, so I'm closing this bug
report.