emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 9ade7ea: Fix Eldoc problem when loading on Emacs 26.3


From: João Távora
Subject: Re: master 9ade7ea: Fix Eldoc problem when loading on Emacs 26.3
Date: Fri, 10 Jul 2020 18:54:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Noam Postavsky <npostavs@gmail.com> writes:

> On Fri, 10 Jul 2020 at 13:10, João Távora <joaotavora@gmail.com> wrote:
>
>> makunbound, as Noam suggested, doesn't work.
>>
>> Is there an easy way to "unlocalize" a symbol?
>
> Oh, maybe kill-local-variable?

No, that doesn't work either.  I was looking at data.c and alloc.c and
apparently the only way is really to unintern and re-intern the symbol.
But of course that seems to break code that you've loaded before and
that expects that symbol in its pre-uninterned state.

I've even tried `garbage-collect` to see if I could trigger the
sym->u.s.redirect = SYMBOL_PLAINVAL from Elisp, but it seems hard.

So I'm a bit lost for options to be honest.  The problem here, seems to
be the fact that eldoc.el is pre-loaded and somehwere in that process
the eldoc-documentation-function variable is localized in some buffer.

Of course, the problem only manifests itself in practice when you're
loading eldoc via package.el in previous Emacs versions, so maybe
there's some way to unintern the symbol at package-initialize time.  But
that probably would break something, too.

Maybe come up with a better idea, or maybe, like Stefan suggests, don't
make it an alias at all, just deprecate it and keep using it instead of
eldoc-documentation-strategy when we find it to be bound.

João



reply via email to

[Prev in Thread] Current Thread [Next in Thread]