Subject: bug#42425: 26.3.50; Compilation warnings when compiling eldoc.el under Emacs 26.3

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 26 Jan 2021 01:07:23 +0100

Philipp Stephani <[email-masked]> writes:

>> I think that the Emacs build should be warning free -- on our main,
>> current targets.  Jumping through hoops to avoid warnings on older Emacs
>> versions normally isn't worth spending time on, in my opinion.
>
> Yeah, but here we're talking about moving a single function definition
> (eldoc--eval-expression-setup) around, which shouldn't realistically
> cause problems.

The most prominent warning was for `eldoc-documentation-strategy', which
is defined by

(eldoc--documentation-strategy-defcustom eldoc-documentation-strategy

so you then also have to move that, and

(defmacro eldoc--documentation-strategy-defcustom

and then slap and `eval-and-compile' around both (to make that warning
go away).

Which I had done before starting to think "but do we care?" and backed
out again.

>> I'm not sure I follow you here -- are you saying that eldoc doesn't work
>> on Emacs 26 because of the usages in `eldoc--eval-expression-setup'?
>
> No, the code is correct as far as I can see. The functions that would
> be unavailable in Emacs 26 won't be used in Emacs 26. But the byte
> compiler detects only checks in the form of (when (fboundp 'FUNC)
> (FUNC ...)) and similar, but not the check performed in that function.

Right, so it's also just a spurious warning.

I don't think we care this much about avoiding compilation warnings on
old Emacs versions, because it has the potential to make the code ugly
and awkward, and introduce a lot a churn that doesn't really help much.

So I'm closing this bug report.

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