emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/tty-child-frames 669586a5e79 2/2: Merge branch 'scratch/tty-chil


From: Eli Zaretskii
Subject: scratch/tty-child-frames 669586a5e79 2/2: Merge branch 'scratch/tty-child-frames' of git.sv.gnu.org:/srv/git/emacs into scratch/tty-child-frames
Date: Wed, 23 Oct 2024 03:22:20 -0400 (EDT)

branch: scratch/tty-child-frames
commit 669586a5e795d84436960aa6ef1a26532df63573
Merge: 4182dfb7e84 40aa1e329b6
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Merge branch 'scratch/tty-child-frames' of git.sv.gnu.org:/srv/git/emacs 
into scratch/tty-child-frames
---
 src/dispnew.c |  7 ++++---
 src/frame.c   | 30 +++++++++++++-----------------
 2 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/src/dispnew.c b/src/dispnew.c
index 9caeb9d1694..9a41b6be578 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -1175,7 +1175,7 @@ line_hash_code (struct frame *f, struct glyph_row *row)
       while (glyph < end)
        {
          int c = glyph->u.ch;
-         int face_id = glyph->face_id;
+         unsigned int face_id = glyph->face_id;
          /* 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
@@ -1183,7 +1183,7 @@ line_hash_code (struct frame *f, struct glyph_row *row)
             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;
+           face_id += (uintptr_t) glyph->frame->face_cache;
          if (FRAME_MUST_WRITE_SPACES (f))
            c -= SPACEGLYPH;
          hash = (((hash << 4) + (hash >> 24)) & 0x0fffffff) + c;
@@ -3564,8 +3564,9 @@ produce_box_glyphs (enum box box, struct glyph_row *row, 
int x, int n,
       glyph->multibyte_p = 1;
       glyph->face_id = GLYPH_FACE (g);
       glyph->frame = child;
-      glyph->multibyte_p = 1;
+      glyph->padding_p = 0;
       glyph->object = Qnil;
+      glyph->padding_p = 0;
     }
 }
 
diff --git a/src/frame.c b/src/frame.c
index 0d45c2de197..c3b6565101c 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -4249,9 +4249,9 @@ multiplied to find the real number of pixels.  */)
 /* Connect the frame-parameter names for frames to the ways of passing
    the parameter values to the window system.
 
-   The name of a parameter, as a Lisp symbol, has a
-   `frame-parameter-pos' property which is an integer in Lisp that is
-   an index in this table.  */
+   The name of a parameter, a Lisp symbol, has an `x-frame-parameter'
+   property which is its index in this table.  This is initialized in
+   syms_of_frame.  */
 
 struct frame_parm_table {
   const char *name;
@@ -4262,13 +4262,13 @@ static const struct frame_parm_table frame_parms[] =
 {
   {"auto-raise",               SYMBOL_INDEX (Qauto_raise)},
   {"auto-lower",               SYMBOL_INDEX (Qauto_lower)},
-  {"background-color",         -1},
+  {"background-color",         SYMBOL_INDEX (Qbackground_color)},
   {"border-color",             SYMBOL_INDEX (Qborder_color)},
   {"border-width",             SYMBOL_INDEX (Qborder_width)},
   {"cursor-color",             SYMBOL_INDEX (Qcursor_color)},
   {"cursor-type",              SYMBOL_INDEX (Qcursor_type)},
-  {"font",                     -1},
-  {"foreground-color",         -1},
+  {"font",                     SYMBOL_INDEX (Qfont)},
+  {"foreground-color",         SYMBOL_INDEX (Qforeground_color)},
   {"icon-name",                        SYMBOL_INDEX (Qicon_name)},
   {"icon-type",                        SYMBOL_INDEX (Qicon_type)},
   {"child-frame-border-width", SYMBOL_INDEX (Qchild_frame_border_width)},
@@ -6720,17 +6720,13 @@ syms_of_frame (void)
   DEFSYM (Quse_frame_synchronization, "use-frame-synchronization");
   DEFSYM (Qfont_parameter, "font-parameter");
 
-  {
-    int i;
-
-    for (i = 0; i < ARRAYELTS (frame_parms); i++)
-      {
-       Lisp_Object v = (frame_parms[i].sym < 0
-                        ? intern_c_string (frame_parms[i].name)
-                        : builtin_lisp_symbol (frame_parms[i].sym));
-       Fput (v, Qx_frame_parameter, make_fixnum (i));
-      }
-  }
+  for (int i = 0; i < ARRAYELTS (frame_parms); i++)
+    {
+      int sym = frame_parms[i].sym;
+      eassert (sym >= 0 && sym < ARRAYELTS (lispsym));
+      Lisp_Object v = builtin_lisp_symbol (sym);
+      Fput (v, Qx_frame_parameter, make_fixnum (i));
+    }
 
 #ifdef HAVE_WINDOW_SYSTEM
   DEFVAR_LISP ("x-resource-name", Vx_resource_name,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]