all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, 63271@debbugs.gnu.org, juri@linkov.net
Subject: bug#63271: 29.0.90; broken mouse-face
Date: Tue, 09 May 2023 16:34:31 +0200	[thread overview]
Message-ID: <87zg6dtvyg.fsf@gmx.net> (raw)
In-Reply-To: <834jolbpgo.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 09 May 2023 16:32:07 +0300")

On Tue, 09 May 2023 16:32:07 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Cc: juri@linkov.net,  luangruo@yahoo.com,  63271@debbugs.gnu.org
>> Date: Tue, 09 May 2023 14:43:02 +0200
>>
>> > What do you see on the screen in this case?  Please describe the
>> > visual appearance of each character in the case of fundamental-mode,
>> > and perhaps also show a screenshot of the window as it is displayed
>> > when the mouse-highlight becomes visible during this scenario.
>>
>> Here's a screenshot of lisp-interaction-mode when the mouse-highlight
>> appears:
>
> Thanks.  This is strange.  Can you try one more thing, please?  With
> the same breakpoint in xterm.c, when the breakpoint breaks, please
> type
>
>   (gdb) print/x s->face->background
>
> Please do this every time the breakpoint breaks, and let's see if
> Emacs thinks both the "TODO" text and the blank after it should be
> displayed with the same background color (which should be the
> background of the 'highlight' face).  That's what I see on my system.

In both fundamental-mode and lisp-interaction-mode the above command
returned the same value at every break: 0xffb4eeb4 (i.e, $1 =
0xffb4eeb4, $2 = 0xffb4eeb4, etc.).

> If the colors of the two glyph_string's indeed match, I'm led to
> believe that the problem is elsewhere, in the low levels of drawing
> the stuff on screen.  Perhaps some library (Cairo?) has a bug or
> something.  Because the data structures prepared by the Emacs display
> engine are correct, and explicitly specify the mouse-highlight
> background to be drawn.  So somehow using this particular font erases
> the background, or something to that effect.  This is also consistent
> with the fact that other font backends don't show the problem.

Yes, it looks like a font plus backend problem.

> Po Lu, any ideas how to look into this further?
>
>> Aside from the difference in highlighting, another difference I failed
>> to notice before is that in fundamental-mode the string "TODO" is
>> displayed with DejaVu Sans but in lisp-interaction-mode with DejaVu Sans
>> Mono, although I used the same Lisp code with the face property
>> (:inherit variable-pitch) to enter the string in both buffers.  I guess
>> lisp-interaction-mode inhibits variable-pitch face and that's the reason
>> the mouse-highlighting appears on the problematic characters in that
>> mode, in contrast to fundamental-mode.
>
> This is actually easy to understand, and is expected:
> lisp-interaction-mode has font-lock-mode turned on, and thus the
> recipe you evaluate doesn't change the face (thus the font), only adds
> mouse-highlight.

Ok, thanks.

BTW, in the screen shot of fundamental-mode I neglected to note that
"TODO" appears to be in bold-face when the mouse pointer moves over it,
and outside of gdb, when I move the mouse pointer over "TODO" and then
away, I can clearly see the thickness of the characters change (but I
cannot verify this with `C-u C-x =', which says "ftcrhb:-PfEd-DejaVu
Sans-regular-normal-normal-*-19-*-*-*-*-0-iso10646-1 (#x37)" both when
the mouse pointer is over the string and when it isn't).

BTW2: In checking the above, I unintentionaly but fortuitously created
the the same image the Juri posted, where "TODO" has a black background,
"ODO" is not visible, and "T" has same foreground color as
mouse-highlight.  I did this by keeping the mouse pointer over "T" and
moving the cursor (i.e. point) leftwards from the end of the string: as
point moves over each character, its foreground appears in
mouse-highlight and on moving point to the next character to the left,
the black cursor block remains on the character it just moved off of,
leaving the character invisible.

Steve Berman





  reply	other threads:[~2023-05-09 14:34 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-04 15:11 bug#63271: 29.0.90; broken mouse-face Juri Linkov
2023-05-04 16:01 ` Eli Zaretskii
2023-05-05 17:38   ` Juri Linkov
2023-05-05 18:31     ` Eli Zaretskii
2023-05-06 11:19       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-07 18:00         ` Juri Linkov
2023-05-07 18:35           ` Eli Zaretskii
2023-05-08 15:56             ` Juri Linkov
2023-05-08 16:14               ` Eli Zaretskii
2023-05-08 18:20                 ` Stephen Berman
2023-05-08 18:27                   ` Eli Zaretskii
2023-05-08 18:47                     ` Stephen Berman
2023-05-08 19:09                       ` Juri Linkov
2023-05-08 20:46                         ` Stephen Berman
2023-05-09  6:47                           ` Juri Linkov
2023-05-09 19:06                             ` Juri Linkov
2023-05-09 19:21                               ` Eli Zaretskii
2023-05-09 23:19                                 ` Gregory Heytings
2023-05-10  9:38                                   ` Stephen Berman
2023-05-10 10:53                                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-10 11:01                                       ` Stephen Berman
2023-05-10 12:05                                       ` Eli Zaretskii
2023-05-10 11:00                                   ` Eli Zaretskii
2023-05-11  0:51                                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-11  6:00                                       ` Eli Zaretskii
2023-05-11  6:23                                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-12  3:19                                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-12 10:43                                           ` Eli Zaretskii
2023-05-12 12:49                                             ` Gregory Heytings
2023-05-12 17:20                                               ` Juri Linkov
2023-05-12 19:21                                                 ` Eli Zaretskii
2023-05-10  0:46                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-09  6:45                 ` Juri Linkov
2023-05-09  8:36                   ` Eli Zaretskii
2023-05-09  9:49                     ` Stephen Berman
2023-05-09 10:07                       ` Stephen Berman
2023-05-09 10:21                         ` Eli Zaretskii
2023-05-09 10:35                           ` Stephen Berman
2023-05-09 11:50                             ` Eli Zaretskii
2023-05-09 12:43                               ` Stephen Berman
2023-05-09 12:52                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-09 13:12                                   ` Stephen Berman
2023-05-09 13:35                                     ` Eli Zaretskii
2023-05-09 14:34                                       ` Stephen Berman
2023-05-10  0:34                                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-10  9:39                                           ` Stephen Berman
2023-05-09 13:32                                 ` Eli Zaretskii
2023-05-09 14:34                                   ` Stephen Berman [this message]
2023-05-10  0:47                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-09 10:14                       ` Eli Zaretskii
2023-05-09  1:08               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-05-09  6:43                 ` Juri Linkov
2023-05-09  8:43                   ` Eli Zaretskii
2023-05-09 11:44                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

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=87zg6dtvyg.fsf@gmx.net \
    --to=stephen.berman@gmx.net \
    --cc=63271@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    --cc=luangruo@yahoo.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.