From: Eli Zaretskii <eliz@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 36550@debbugs.gnu.org, linus.kallberg@outlook.com
Subject: bug#36550: mouse-face overlay calculation error
Date: Sat, 13 Jul 2019 16:23:09 +0300 [thread overview]
Message-ID: <834l3q132a.fsf@gnu.org> (raw)
In-Reply-To: <m336jaqdw2.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 13 Jul 2019 15:10:05 +0200)
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: 36550@debbugs.gnu.org, linus.kallberg@outlook.com
> Date: Sat, 13 Jul 2019 15:10:05 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Mouse-face isn't supposed to cover newlines, I think. Why do you need
> > that?
>
> Because Widget wants to have the mouse-face extend to the end of the
> line, I think...
I don't understand why Widget would want to do that. As I explained,
it makes no sense to highlight parts of display that have no text with
a face that shows mouse-sensitive text. When the next line's
characters are also sensitive, then yes, we do highlight all the way
to the newline.
> > The "one character shorter" variant does what it's expected to do,
> > because mouse-face is not extended to EOL as with other faces.
> > Mouse-face is for showing the parts of text that are mouse-sensitive,
> > so it makes no sense to highlight portions of display that have no
> > text.
>
> OK, if this is how mouse-face is supposed to work, then the fix in
> wid-edit.el should be pretty trivial -- I'll just have it not put the
> overlay on the newline?
Yes, I think so.
> > It's in the display code, and is quite complicated due to
> > bidirectional text use case. See mouse_face_from_buffer_pos and its
> > subroutine rows_from_pos_range.
>
> Oh, wow; that's a daunting function indeed...
Yes. The problem it tries to solve is to highlight correctly when
buffer positions do not increment monotonously with screen
coordinates. Unsurprisingly, at the time it took me some time to get
that code right.
next prev parent reply other threads:[~2019-07-13 13:23 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-08 12:54 bug#36550: Small bug fix in recentf.el Linus Källberg
2019-07-08 19:58 ` Lars Ingebrigtsen
[not found] ` <AM0PR09MB2867529A5BCE4551365F142C87F60@AM0PR09MB2867.eurprd09.prod.outlook.com>
2019-07-09 13:04 ` Lars Ingebrigtsen
2019-07-11 16:34 ` Linus Källberg
2019-07-12 15:07 ` Lars Ingebrigtsen
2019-07-13 0:31 ` bug#36550: mouse-face overlay calculation error Lars Ingebrigtsen
2019-07-13 6:15 ` Eli Zaretskii
2019-07-13 13:10 ` Lars Ingebrigtsen
2019-07-13 13:23 ` Eli Zaretskii [this message]
2019-07-13 13:50 ` Lars Ingebrigtsen
2019-07-13 14:17 ` Eli Zaretskii
2019-07-13 14:25 ` Lars Ingebrigtsen
2019-07-13 14:50 ` Eli Zaretskii
2019-07-13 15:05 ` Lars Ingebrigtsen
2019-07-13 15:08 ` Lars Ingebrigtsen
2019-07-13 15:38 ` Linus Källberg
2019-07-13 15:49 ` Eli Zaretskii
2019-07-13 19:49 ` Linus Källberg
2019-07-14 5:30 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=834l3q132a.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=36550@debbugs.gnu.org \
--cc=larsi@gnus.org \
--cc=linus.kallberg@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.