Subject: Re: bug#26624: 26.0.50; Generalized variable `buffer-local-value' does't restore local flag

From: Philipp Stephani <[email-masked]>
Date: Fri, 29 Sep 2017 20:55:41 +0000

Eli Zaretskii <[email-masked]> schrieb am Fr., 29. Sep. 2017 um 09:51 Uhr:

> > From: Noam Postavsky <[email-masked]>
> > Date: Sun, 24 Sep 2017 13:43:20 -0400
> > Cc: Michael Heerdegen <[email-masked]>, [email-masked]
> >
> > Philipp Stephani <[email-masked]> writes:
> >
> > > Noam Postavsky <[email-masked]> schrieb am So., 24.
> > > Sep. 2017 um 17:44 Uhr:
> > >
> > >     Philipp Stephani <[email-masked]> writes:
> > >
> > >     > * lisp/emacs-lisp/gv.el (buffer-local-value): Remove.
> > >
> > >     Is it possible to just give an obsolete warning first?
> > >
> > >
> > > I don't think it's possible in the sense of `make-obsolete' because
> > > the expander is not a named function.
> > > It would be possible to use `display-warning' within the body of the
> > > setter, but that would only annoy users.
> > > If necessary, we might add additional code to the `setf' macro to
> > > warn about this form in particular during byte compilation.
> >
> > IMO, a compilation warning would be appropriate.
>
> I agree.  Removing some feature without due warning is not something
> we should do, except in very rare cases (which this one isn't).
>

I fully agree, but I don't know how to correctly deprecate a generalized
variable. Should I add code to the byte compiler to deal with this case
explicitly?