Subject: bug#39169: 28.0.50; Confusing obsolete variable warnings in eieio-defclass-autoload

From: Michael Heerdegen <[email-masked]>
Date: Thu, 27 Aug 2020 17:23:11 +0200

Michael Heerdegen <[email-masked]> writes:

> that emacs wants him to add a file local binding
> eieio-backward-compatibility -> nil?

Note that I didn't check whether this actually (and always) works: The
problematic obsolete variable declaration is performed in the function
`eieio-defclass-autoload'.  If the value of
`eieio-backward-compatibility' is checked when loading autoload
definitions, will a file local binding in the source library be
considered at all?

Oh, and let me add another important aspect: why does using an obsolete
name as the name of a _lexical_ variable trigger the "variable is
obsolete" warning at all?  If that would not be the case (and I don't
think it is useful) then in source files using lexical binding mode we
would not see the problem.

Michael.