[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63271: 29.0.90; broken mouse-face
From: |
Eli Zaretskii |
Subject: |
bug#63271: 29.0.90; broken mouse-face |
Date: |
Tue, 09 May 2023 11:36:01 +0300 |
> From: Juri Linkov <juri@linkov.net>
> Cc: luangruo@yahoo.com, 63271@debbugs.gnu.org
> Date: Tue, 09 May 2023 09:45:16 +0300
>
> > And what exactly is the manifestation of the problem in the image you
> > posted? that wide black part that hides the letters "ODO"? or
> > something else?
>
> The letters turn into black boxes while moving the cursor over them
> when the mouse pointer is over the text.
Could you or Stephen please perform the following experiment, using
the latest emacs-29 branch, and report the results:
$ gdb ./emacs
...
(gdb) break xdisp.c:33519
(gdb) run -Q
The breakpoint is here:
if (end_hpos > start_hpos)
{
draw_row_with_mouse_face (w, start_x, row,
start_hpos, end_hpos, draw);
row->mouse_face_p <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
= draw == DRAW_MOUSE_FACE || draw == DRAW_IMAGE_RAISED;
}
Once inside Emacs after "run -Q", first turn off blink-cursor-mode and
global-eldoc-mode, then evaluate the recipe:
M-: (insert " " (propertize "TODO" 'face '(:inherit variable-pitch)
'mouse-face 'highlight)) RET
Then move the mouse pointer over the "TODO" text. The breakpoint will
break, and GDB will kick in. Then type:
(gdb) pgrow
(gdb) continue
The breakpoint will break again, and the display of Emacs you are
debugging will show the mouse highlight. Then type again:
(gdb) pgrow
And show everything that GDB displays as result of the two "pgrow"
commands.
Some notes:
. the breakpoint might break before you evaluate the recipe, if you
happen to move the mouse pointer above some mouse-sensitive
portion of the display, like the tool bar or the mode line -- in
that case just type "continue" at the GDB prompt until it no
longer shows the prompt (meaning Emacs is running again);
. the "pgrow" command is defined in src/.gdbinit file in the Emacs
tree, so you need to start Emacs from the src directory for GDB to
pick up that definition; alternatively, you could tell GDB to read
that file explicitly by typing "source /path/to/emacs/src/.gdbinit"
once inside GDB, before "run -Q";
. if your Emacs is built with optimizations, the breakpoint might
not break, or break not under the expected conditions; in that
case, rebuild with CFLAGS='-O0 -g3' and repeat the above
Thanks.
- bug#63271: 29.0.90; broken mouse-face, (continued)
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/07
- bug#63271: 29.0.90; broken mouse-face, Juri Linkov, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Juri Linkov, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/08
- bug#63271: 29.0.90; broken mouse-face, Juri Linkov, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Juri Linkov, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face,
Eli Zaretskii <=
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Po Lu, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Eli Zaretskii, 2023/05/09
- bug#63271: 29.0.90; broken mouse-face, Stephen Berman, 2023/05/09