* 26.3; org-indent-mode's line-prefix text property flickers near overlays
@ 2020-05-28 19:54 Kévin Le Gouguec
2020-05-29 7:12 ` bug#41584: " Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Kévin Le Gouguec @ 2020-05-28 19:54 UTC (permalink / raw)
To: bug-gnu-emacs; +Cc: emacs-orgmode, Dmitry Gutov
Hello,
The line-prefix text property set by org-indent-mode sometimes vanishes
when typing near a line where an overlay is applied. To reproduce:
- emacs -Q
- C-x C-f repro.org
- M-x org-indent-mode
- M-: (insert "* heading\ntext")
- M-:
(let ((ov (make-overlay (point-at-bol) (point-at-bol)))
(val (propertize " " 'display '((left-fringe right-triangle)))))
(overlay-put ov 'before-string val))
- RET
- a
When "a" is inserted, org-indent-mode's line-prefix disappears on the
*previous* line ("text"). It remains gone as long as I type
self-inserting characters, until
- I type certain commands, e.g. RET or C-j, or
- I insert a closing delimiter that makes
blink-paren-post-self-insert-function blink the corresponding opening
delimiter, e.g. ')' or ']'.
Then the line-prefix shows up again.
This recipe is simplified; I originally found this bug in Org files
under version control with diff-hl-flydiff-mode enabled. When typing in
new content, the preceding line is shoved to the left until I stop
typing; after diff-hl-flydiff-delay, diff-hl's idle timer kicks in and
updates its overlay, which as a side-effect makes org-indent-mode's
line-prefix come back up.
See [1] for my original bug report to diff-hl and some crude
"analysis".
I'm clearly out of my depth; at least I hope I used the correct terms to
describe the symptoms I've observed. Let me know if there is anything I
can do to help debug this.
Thank you for your time.
[1] https://github.com/dgutov/diff-hl/issues/142
In GNU Emacs 28.0.50 (build 21, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
of 2020-05-18 built on my-little-tumbleweed
Repository revision: b1fe27d77db8f819641231ca46725f3eed0b4d9b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: openSUSE Tumbleweed
Configured using:
'configure --with-xwidgets --with-cairo'
Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS JSON
PDUMPER LCMS2 GMP
Important settings:
value of $LC_CTYPE: en_US.UTF-8
value of $LC_TIME: en_GB.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=local
locale-coding-system: utf-8-unix
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-28 19:54 26.3; org-indent-mode's line-prefix text property flickers near overlays Kévin Le Gouguec
@ 2020-05-29 7:12 ` Eli Zaretskii
2020-05-29 14:03 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2020-05-29 7:12 UTC (permalink / raw)
To: Kévin Le Gouguec; +Cc: 41584, emacs-orgmode, dgutov
> From: Kévin Le Gouguec <kevin.legouguec@gmail.com>
> Date: Thu, 28 May 2020 21:54:09 +0200
> Cc: emacs-orgmode@gnu.org, Dmitry Gutov <dgutov@yandex.ru>
>
> - emacs -Q
> - C-x C-f repro.org
> - M-x org-indent-mode
> - M-: (insert "* heading\ntext")
> - M-:
> (let ((ov (make-overlay (point-at-bol) (point-at-bol)))
> (val (propertize " " 'display '((left-fringe right-triangle)))))
> (overlay-put ov 'before-string val))
> - RET
> - a
>
> When "a" is inserted, org-indent-mode's line-prefix disappears on the
> *previous* line ("text"). It remains gone as long as I type
> self-inserting characters, until
>
> - I type certain commands, e.g. RET or C-j, or
>
> - I insert a closing delimiter that makes
> blink-paren-post-self-insert-function blink the corresponding opening
> delimiter, e.g. ')' or ']'.
>
> Then the line-prefix shows up again.
In fact, it's enough to type "M-x". Which is a clear sign that some
redisplay optimization kicks in where it shouldn't. And indeed,
setting inhibit-try-window-id non-nil solves the problem.
I will look into this when I have time, thanks for an easy reproducer.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-29 7:12 ` bug#41584: " Eli Zaretskii
@ 2020-05-29 14:03 ` Eli Zaretskii
2020-05-29 18:11 ` Kévin Le Gouguec
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2020-05-29 14:03 UTC (permalink / raw)
To: kevin.legouguec; +Cc: 41584, dgutov
> Date: Fri, 29 May 2020 10:12:27 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 41584@debbugs.gnu.org, dgutov@yandex.ru
>
> In fact, it's enough to type "M-x". Which is a clear sign that some
> redisplay optimization kicks in where it shouldn't. And indeed,
> setting inhibit-try-window-id non-nil solves the problem.
>
> I will look into this when I have time, thanks for an easy reproducer.
Should be fixed now on the master branch.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-29 14:03 ` Eli Zaretskii
@ 2020-05-29 18:11 ` Kévin Le Gouguec
2020-05-29 20:03 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Kévin Le Gouguec @ 2020-05-29 18:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 41584, dgutov
Eli Zaretskii <eliz@gnu.org> writes:
> Should be fixed now on the master branch.
Thanks a lot!
I'm sorry I didn't notice it earlier, but I may have found another mole
for you to whack; starting with the same recipe:
> - emacs -Q
> - C-x C-f repro.org
> - M-x org-indent-mode
> - M-: (insert "* heading\ntext")
> - M-:
> (let ((ov (make-overlay (point-at-bol) (point-at-bol)))
> (val (propertize " " 'display '((left-fringe right-triangle)))))
> (overlay-put ov 'before-string val))
This time, instead of hitting RET, insert a pair of parentheses, and
wait blink-matching-delay seconds until the opening parenthesis stops
being highlighted. Before and after your fix, the line-prefix
disappears until I enter another command.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-29 18:11 ` Kévin Le Gouguec
@ 2020-05-29 20:03 ` Eli Zaretskii
2020-05-29 20:32 ` Kévin Le Gouguec
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2020-05-29 20:03 UTC (permalink / raw)
To: Kévin Le Gouguec; +Cc: 41584, dgutov
> From: Kévin Le Gouguec <kevin.legouguec@gmail.com>
> Cc: 41584@debbugs.gnu.org, dgutov@yandex.ru
> Date: Fri, 29 May 2020 20:11:40 +0200
>
> This time, instead of hitting RET, insert a pair of parentheses, and
> wait blink-matching-delay seconds until the opening parenthesis stops
> being highlighted. Before and after your fix, the line-prefix
> disappears until I enter another command.
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-29 20:03 ` Eli Zaretskii
@ 2020-05-29 20:32 ` Kévin Le Gouguec
2020-05-30 5:59 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Kévin Le Gouguec @ 2020-05-29 20:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 41584-done, dgutov
Eli Zaretskii <eliz@gnu.org> writes:
> Fixed.
AFAICT you've scared the moles away, so I'll boldly close this report.
Thanks a lot for the efficient whacking!
(I guess xdisp.c is something we won't to touch with a 10-foot pole on
the release branch, especially for a bug that users have lived with for
so long?)
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#41584: 26.3; org-indent-mode's line-prefix text property flickers near overlays
2020-05-29 20:32 ` Kévin Le Gouguec
@ 2020-05-30 5:59 ` Eli Zaretskii
0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2020-05-30 5:59 UTC (permalink / raw)
To: Kévin Le Gouguec; +Cc: 41584, dgutov
> From: Kévin Le Gouguec <kevin.legouguec@gmail.com>
> Cc: 41584-done@debbugs.gnu.org, dgutov@yandex.ru
> Date: Fri, 29 May 2020 22:32:11 +0200
>
> (I guess xdisp.c is something we won't to touch with a 10-foot pole on
> the release branch, especially for a bug that users have lived with for
> so long?)
Exactly.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-05-30 6:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-28 19:54 26.3; org-indent-mode's line-prefix text property flickers near overlays Kévin Le Gouguec
2020-05-29 7:12 ` bug#41584: " Eli Zaretskii
2020-05-29 14:03 ` Eli Zaretskii
2020-05-29 18:11 ` Kévin Le Gouguec
2020-05-29 20:03 ` Eli Zaretskii
2020-05-29 20:32 ` Kévin Le Gouguec
2020-05-30 5:59 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).