]> git.eshelyaron.com Git - emacs.git/commitdiff
; Clarify a comment in dispnew.c
authorEli Zaretskii <eliz@gnu.org>
Tue, 22 Oct 2024 14:33:45 +0000 (10:33 -0400)
committerEshel Yaron <me@eshelyaron.com>
Mon, 23 Dec 2024 14:51:02 +0000 (15:51 +0100)
(cherry picked from commit 4182dfb7e844bcc7148a3d7f1084cef6982b36d9)

src/dispnew.c

index 200ffaaca21ff7c6b07cc3efdafc60864cc614e0..9caeb9d1694770460231648965b0b9f04aa5967f 100644 (file)
@@ -1176,9 +1176,12 @@ line_hash_code (struct frame *f, struct glyph_row *row)
        {
          int c = glyph->u.ch;
          int face_id = glyph->face_id;
-         /* 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.  */
+         /* A given row of a frame glyph matrix could have glyphs
+            from more than one frame, if child frames are displayed.
+            Since face_id of a face depends on the frame (it's an
+            index into the frame's face cache), we need the hash
+            value to include something specific to the frame, and we
+            use the frame cache's address for that purpose.  */
          if (glyph->frame && glyph->frame != f)
            face_id += (ptrdiff_t) glyph->frame->face_cache;
          if (FRAME_MUST_WRITE_SPACES (f))