[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Final" version of tty child frames
From: |
Gerd Möllmann |
Subject: |
Re: "Final" version of tty child frames |
Date: |
Tue, 22 Oct 2024 15:43:29 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: emacs-devel@gnu.org
>> Date: Tue, 22 Oct 2024 12:23:04 +0200
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> >> Cc: emacs-devel@gnu.org
>> >> Date: Tue, 22 Oct 2024 10:21:43 +0200
>> >>
>> >> Thanks for taking a look.
>> >
>> > Can you explain this comment and the code change:
>> >
>> > + /* Struct frame can move with igc, and so on. But we need
>> > + something that takes different frames into account. Use the
>> > + face_cache pointer for that which is malloc'd. */
>> > + if (glyph->frame && glyph->frame != f)
>> > + face_id += (ptrdiff_t) glyph->frame->face_cache;
>> >
>> > Why do we need to take the frame into account here? Is this relevant
>> > to the current GC used on master?
>>
>> I can try.
>>
>> A combined frame matrix's glyph contents may come from different frames,
>> either the root frame one of its descendants (children, grandchildren
>> and so on). See copy_child_glyphs. glyph->frame is th eframe from where
>> the glyph stems. It is filled out when producing glyphs.
>>
>> Face ids are valid only in frame's face cache. A Face with a given id in
>> one frame may be different from the same id another frame. So that's why
>> I'm taking the face cache into account here. Otherwise it could happen
>> that row hashes are the same although the contents are different. Not a
>> big deal, but one can avoid it, so I did.
>
> Why not simply include the frame pointer in the hash?
With igc, frames move in memory, face caches are malloc'd.
> Adding a pointer to a number looks kludgey, and might even make the
> hash weaker.
If you have something better, please tell.
- Re: "Final" version of tty child frames, (continued)
- Re: "Final" version of tty child frames, Dr. Arne Babenhauserheide, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames,
Gerd Möllmann <=
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Paul Eggert, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
Re: "Final" version of tty child frames, Feng Shu, 2024/10/22