[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30204: 27.0.50; Changing major mode resets non-default invisibility
From: |
Eli Zaretskii |
Subject: |
bug#30204: 27.0.50; Changing major mode resets non-default invisibility spec |
Date: |
Mon, 22 Jan 2018 17:56:38 +0200 |
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Mon, 22 Jan 2018 10:51:32 +0100
>
> C-x b *foo* RET
> M-: (progn (add-to-invisibility-spec 'bar) (insert (propertize "foo"
> 'invisible 'foo)))
>
> Now "foo" is visible, as it should be.
>
> M-x fundamental-mode => "foo" becomes invisible, because
> `kill-all-local-variables' has reset `buffer-invisibility-spec' to t.
> This can be confusing for modes that use conditional invisibility
> properties such as markdown-mode.
> Probably `kill-all-local-variables' shouldn't blindly reset
> `buffer-invisibility-spec', or maybe it should remove conditional
> invisibility properties.
Why can't you make buffer-invisibility-spec be a permanent-local
variable in the cases where that is TRT?
(In general, clearing buffer-invisibility-spec on major mode change
sounds appropriate to me.)