Subject: Re: bug#23079: 25.0.92; Movement commands leave cursor in invisible line

From: Stefan Kangas <[email-masked]>
Date: Thu, 1 Oct 2020 05:26:33 -0700

Stefan Kangas <[email-masked]> writes:

> Stefan Monnier <[email-masked]> writes:
>
>> tags 23079 notabug
>> thanks
>>
>>> I try to give a recipe resembling a bug in Magit concerning hidden lines
>>> and cursor movement.  In some buffer (emacs -Q) do
>>
>>>   (insert "111" "\n222\n"
>>>           (propertize "333\n444\n\n" 'invisible t)
>>>           "555\n666\n")
>>
>>> and move around with C-n, C-p.  Then the cursor will appear over the
>>> first "5" but point is actually located inside the invisible area.
>>
>> That's normal: (get-pos-property <pos> 'invisible) returns nil in front
>> of "333" but t in front of "555", so point adjustment will try to move
>> point to right before "333" when we're in that invisible chunk.
>>
>> IOW the position "right before 555" is actually considered as being
>> "inside the invisible area" whereas the position "right before 333" is
>> considered as being outside of it.
>>
>> If you want point adjustment to move point to right before "555"
>> instead, you should change the stickiness of the `invisible' property so
>> as to change which boundary position is considered "inside" and which is
>> considered "outside".
>
> This was tagged notabug, then started discussing possible changes in
> Magit, and then nothing more happened in 4 years.  So is there anything
> more to do here or can this be closed?

More information was requested, but none was given within 6 weeks, so
I'm closing this bug.  If there is anything more to do here, please
reply to this email (use "Reply to all" in your email client) and we can
reopen the bug report.

Best regards,
Stefan Kangas