Subject: Re: bug#22761: Surprising interaction between font-lock, invisible text, and point (self-insert-command and insert behave differently)

From: Clément Pit--Claudel <[email-masked]>
Date: Mon, 22 Feb 2016 11:03:03 -0500

On 02/22/2016 10:53 AM, Eli Zaretskii wrote:
>> From: Clément Pit--Claudel <[email-masked]> Date: Sun,
>> 21 Feb 2016 19:19:17 -0500
>> 
>> The problem happens when editing ‘a_foo_b’ to replace ‘foo’ by
>> ‘bar’ (to get ‘a_bar_b’). Removing ‘foo’ leaves ‘__’ in the buffer,
>> which font-lock recognizes: the whole string gets displayed as
>> ‘ab’. Even then, the point is still between the two underscores (it
>> hasn't moved after font-lock added the invisible property to the
>> underscores). Pressing ‘b’ to start inserting ‘bar’ works fine (I
>> end up with ‘a_b_c’), except for one thing: the point gets moved
>> after the second underscore. Thus, pressing ‘ar’ to complete ‘bar’
>> ends up inserting ‘a_b_arb’.
> 
> Did you try binding global-disable-point-adjustment to a non-nil 
> value?

I imagine that it would work, but wouldn't it break other parts of Emacs? The mode to which I'm adding this subscripts feature also uses hideshow, for example, and I do want the point to be moved out of invisible sections then.

Clément.