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

From: Stefan Kangas <[email-masked]>
Date: Fri, 14 Aug 2020 21:22:11 -0700

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?

Best regards,
Stefan Kangas