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 12:35:35 +0200 [thread overview]
Message-ID: <87fs85vll4.fsf@gmx.net> (raw)
In-Reply-To: <83a5ydbya7.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 09 May 2023 13:21:36 +0300")
On Tue, 09 May 2023 13:21:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stephen Berman <stephen.berman@gmx.net>
>> Cc: Juri Linkov <juri@linkov.net>, luangruo@yahoo.com, 63271@debbugs.gnu.org
>> Date: Tue, 09 May 2023 12:07:25 +0200
>>
>> When I carried out your instructions exactly, I was surprised to see
>> that "TODO" showed mouse-face highlighting after typing `continue'.
>> Then I ran my test outside of gdb and indeed, in *scratch* the
>> problematic characters do show mouse-face highlighting, i.e. in
>> lisp-interaction mode, but not in fundamental-mode. Then I returned to
>> gdb and redid your instructions but switched to a buffer in
>> fundamental-mode before inserting the propertized string. Here are the
>> results:
>>
>> Thread 1 "emacs" hit Breakpoint 3, show_mouse_face (
>> hlinfo=hlinfo@entry=0x555556145540, draw=draw@entry=DRAW_MOUSE_FACE)
>> at /home/steve/src/emacs/emacs-29/src/xdisp.c:33519
>> 33519 row->mouse_face_p
>> (gdb) pgrow
>> TEXT: 6 glyphs
>> 0 0: CHAR[ ] pos=1 blev=0,btyp=L w=8 a+d=13+4 MB
>> 1 8: CHAR[T] pos=2 blev=0,btyp=L w=8 a+d=13+4 face=24 MB
>> 2 16: CHAR[O] pos=3 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 3 26: CHAR[D] pos=4 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 4 36: CHAR[O] pos=5 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 5 46: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=13+4 MB
>> (gdb) continue
>> Continuing.
>>
>> Thread 1 "emacs" hit Breakpoint 3, show_mouse_face (hlinfo=0x555556145540,
>> draw=draw@entry=DRAW_MOUSE_FACE)
>> at /home/steve/src/emacs/emacs-29/src/xdisp.c:33519
>> 33519 row->mouse_face_p
>> (gdb) pgrow
>> TEXT: 6 glyphs
>> 0 0: CHAR[ ] pos=1 blev=0,btyp=L w=8 a+d=13+4 MB
>> 1 8: CHAR[T] pos=2 blev=0,btyp=L w=8 a+d=13+4 face=24 MB
>> 2 16: CHAR[O] pos=3 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 3 26: CHAR[D] pos=4 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 4 36: CHAR[O] pos=5 blev=0,btyp=L w=10 a+d=13+4 face=24 MB
>> 5 46: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=13+4 MB
>
> OK, thanks. This is still OK, so please do this with the new
> breakpoint as described in my other email. It would be interesting to
> see the difference between fundamental-mode and lisp-interaction-mode
> with that second breakpoint.
lisp-interaction-mode:
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc610)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$1 = {
x = 16,
y = 51,
ybase = 64,
width = 40,
background_width = 633,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x55555611ef10,
w = 0x55555611f160,
row = 0x5555566bac90,
area = TEXT_AREA,
char2b = 0x7fffffffc5f0,
nchars = 5,
hl = DRAW_MOUSE_FACE,
face = 0x5555568e1310,
font = 0x55555603c258,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = true,
background_filled_p = false,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x0,
first_glyph = 0x55555626a030,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x0,
clip_tail = 0x0,
clip = {{
x = 0,
y = 0,
width = 0,
height = 0
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x0
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$2 = 1
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc610)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$3 = {
x = 16,
y = 51,
ybase = 64,
width = 40,
background_width = 633,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x55555611ef10,
w = 0x55555611f160,
row = 0x5555566bac90,
area = TEXT_AREA,
char2b = 0x7fffffffc5f0,
nchars = 5,
hl = DRAW_MOUSE_FACE,
face = 0x5555568e1310,
font = 0x55555603c258,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = true,
background_filled_p = false,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x0,
first_glyph = 0x55555626a030,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x0,
clip_tail = 0x0,
clip = {{
x = 0,
y = 0,
width = 0,
height = 0
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x0
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$4 = 1
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc740)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$5 = {
x = 16,
y = 51,
ybase = 64,
width = 40,
background_width = 633,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x55555611ef10,
w = 0x55555611f160,
row = 0x5555566bac90,
area = TEXT_AREA,
char2b = 0x7fffffffc720,
nchars = 5,
hl = DRAW_MOUSE_FACE,
face = 0x5555568e1310,
font = 0x55555603c258,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = true,
background_filled_p = false,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x0,
first_glyph = 0x55555626a030,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x0,
clip_tail = 0x0,
clip = {{
x = 0,
y = 0,
width = 0,
height = 0
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x0
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$6 = 1
============================================
fundamental-mode:
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc610)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$1 = {
x = 16,
y = 0,
ybase = 13,
width = 38,
background_width = 38,
height = 17,
left_overhang = 1,
right_overhang = 0,
f = 0x5555560f8190,
w = 0x5555560f83e0,
row = 0x5555566c4920,
area = TEXT_AREA,
char2b = 0x7fffffffc5f0,
nchars = 4,
hl = DRAW_MOUSE_FACE,
face = 0x5555561e69d0,
font = 0x5555565ece88,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = false,
background_filled_p = true,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x55555681ba10,
first_glyph = 0x5555565c17e0,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x7fffffffc610,
clip_tail = 0x0,
clip = {{
x = 8,
y = 0,
width = 8,
height = 17
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x7fffffffc500,
prev = 0x7fffffffc400
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$2 = 1
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc500)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$3 = {
x = 54,
y = 0,
ybase = 13,
width = 8,
background_width = 595,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x5555560f8190,
w = 0x5555560f83e0,
row = 0x5555566c4920,
area = TEXT_AREA,
char2b = 0x7fffffffc4f0,
nchars = 1,
hl = DRAW_MOUSE_FACE,
face = 0x5555561e69d0,
font = 0x55555615b778,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = true,
background_filled_p = false,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x0,
first_glyph = 0x5555565c18a0,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x7fffffffc610,
clip_tail = 0x0,
clip = {{
x = 0,
y = 0,
width = 0,
height = 0
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x7fffffffc610
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$4 = 5
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc740)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$5 = {
x = 16,
y = 0,
ybase = 13,
width = 38,
background_width = 38,
height = 17,
left_overhang = 1,
right_overhang = 0,
f = 0x5555560f8190,
w = 0x5555560f83e0,
row = 0x5555566c4920,
area = TEXT_AREA,
char2b = 0x7fffffffc720,
nchars = 4,
hl = DRAW_MOUSE_FACE,
face = 0x5555561e69d0,
font = 0x5555565ece88,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = false,
background_filled_p = true,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x55555681ba10,
first_glyph = 0x5555565c17e0,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x7fffffffc740,
clip_tail = 0x0,
clip = {{
x = 8,
y = 0,
width = 8,
height = 17
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x7fffffffc630,
prev = 0x7fffffffc530
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$6 = 1
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_set_glyph_string_gc (
s=s@entry=0x7fffffffc630)
at /home/steve/src/emacs/emacs-29/src/xterm.c:8119
8119 x_set_mouse_face_gc (s);
(gdb) print *s
$7 = {
x = 54,
y = 0,
ybase = 13,
width = 8,
background_width = 595,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x5555560f8190,
w = 0x5555560f83e0,
row = 0x5555566c4920,
area = TEXT_AREA,
char2b = 0x7fffffffc620,
nchars = 1,
hl = DRAW_MOUSE_FACE,
face = 0x5555561e69d0,
font = 0x55555615b778,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = true,
background_filled_p = false,
font_not_found_p = false,
stippled_p = false,
for_overlaps = 0,
padding_p = false,
gc = 0x0,
first_glyph = 0x5555565c18a0,
img = 0x0,
xwidget = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x7fffffffc740,
clip_tail = 0x0,
clip = {{
x = 0,
y = 0,
width = 0,
height = 0
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 0,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x7fffffffc740
}
(gdb) print s->first_glyph - s->row->glyphs[1]
$8 = 5
Steve Berman
next prev parent reply other threads:[~2023-05-09 10:35 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 [this message]
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
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=87fs85vll4.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.