[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30171: 27.0.50; {add-to,remove-from}-invisibility-spec don't treat t
From: |
Stefan Monnier |
Subject: |
bug#30171: 27.0.50; {add-to,remove-from}-invisibility-spec don't treat t specially |
Date: |
Wed, 18 Apr 2018 08:35:53 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> The change below is the cause of this odd feature set, and I wonder
> whether Stefan (who made the change) meant for it to do what it does.
The commit message refers to bug#20468 where the discussion indicates
that it seems to be on purpose.
One way to look at it is that the patch made
(remove-from-invisibility-spec FOO)
give the same result as
(add-to-invisibility-spec FOO)
(remove-from-invisibility-spec FOO)
I guess the fundamental problem here is that the special behavior for
the value `t` of buffer-invisibility-spec is just not reflected in
(add-to|remove-from)-invisibility-spec.
So if you rely on the current value being `t` and someone comes along
and just does (add-to-invisibility-spec (make-symbol "unused")),
suddenly your invisible stuff becomes visible.
IOW you just can't rely on the special `t` behavior: if you want your
thing to be invisible, you need to either use the special `t` value of
the `invisible` property (which is invisible regardless of
buffer-invisibility-spec), or you need to add your value via
add-to-invisibility-spec.
Stefan