Subject: Re: bug#30204: 27.0.50; Changing major mode resets non-default invisibility spec

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Sep 2021 12:34:16 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Date: Sun, 05 Sep 2021 10:53:05 +0200
> Cc: [email-masked]
> 
> > Yes, but they do survive, i.e. once markdown-mode has made some text
> > conditionally-visible (which it does for URLs etc.), I'd expect it to
> > become unconditionally-visible instead of unconditionally-invisible
> > when changing the major mode.
> 
> That's true.  Hm...  Should major modes remove `invisible' text
> properties (where the value isn't t)?  No, that wouldn't be right,
> either.
> 
> Uhm.  OK, if `buffer-invisibility-spec' isn't t,
> `kill-all-local-variables' could remove the `invisible' text property
> from all text that has a non-t value?
> 
> That sounds like it would potentially be expensive, but a non-nil
> invisibility spec is quite unusual (and switching major modes, in
> general, is unusual (well, switching from anything but fundamental-mode
> is unusual)).
> 
> I dunno.  Anybody have an opinion here?

I think this is a corner use case, and if there's no easy way of doing
something better with it, we shouldn't do anything.