GNU bug report logs - #23079
25.0.92; Movement commands leave cursor in invisible line

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Mon, 21 Mar 2016 20:20:01 UTC

Severity: normal

Tags: notabug

Found in version 25.0.92

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #16 received at 23079 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 23079 <at> debbugs.gnu.org, jonas <at> bernoul.li
Subject: Re: bug#23079: 25.0.92;
 Movement commands leave cursor in invisible line
Date: Mon, 21 Mar 2016 23:29:58 +0100
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

> 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.

Hmm, that perfectly makes sense.

> 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".

Seems that works only for the invisible text property.  In Magit, they
use overlays to make text invisible, and stickiness of text properties
has not effect there.

This is what I tried:

(add-text-properties (point-min) (point-max)
   '(front-sticky  t rear-nonsticky t))

That helps for the recipe I gave here, but unfortunately not in Magit.


Michael.




This bug report was last modified 4 years and 294 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.