emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Bug: org-link-descriptive needs to be buffer-local [9.4.4 (release_9


From: Kyle Meyer
Subject: Re: Bug: org-link-descriptive needs to be buffer-local [9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)]
Date: Mon, 05 Apr 2021 22:36:49 -0400

Ingo Lohmar writes:

> I stumbled upon weird behavior when using `org-toggle-link-display', and
> I finally checked what that is about.
>
> Observation:
> - use `org-toggle-link-display' in org buffer A, and (coming
>   from the defaults) links are now shown in full (not just the
>   description), but only in buffer A
> - switch to org buffer B, still only showing the description part, and
>   again use `o-t-l-d' --- nothing changes
> - the state for new org buffers is as before, onle link descriptions are
>   shown.
>
> This behavior is very confusing, IMO.  The reason is simple.  The
> display hiding comes from changing the `buffer-invisibility-spec', which
> is automatically buffer-local.  But the state of the org toggle is kept
> in `org-link-descriptive', which is global!

Thanks for the clear problem description and analysis.  I agree that
this is a bug and don't suspect that anyone is relying on
org-toggle-link-display to toggling the global value.

Gustavo reported the same issue at
<https://orgmode.org/list/87lfeqzm3a.fsf@gmail.com>, but unfortunately
it didn't get any attention back then.

> I suggest a simple fix that I just tested: make `org-link-descriptive'
> automatically buffer-local, by adding ":local t" to the defcustom.

Hmm, I think a problem with `:local t' (or, equivalently,
make-variable-buffer-local for backward compatibility reasons) is that
then you'd interfere with user customization that directly sets this
after ol.el is loaded.  You could also still get into a mismatched state
like you described above if you load an Org buffer, set the value
through the customization interface, and then call
org-toggle-link-display in that buffer.

Instead I've updated the body of `org-mode' to make org-link-descriptive
buffer-local (702e782cb).



reply via email to

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