emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/dispnew.c


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/dispnew.c
Date: Fri, 17 Jun 2005 10:03:08 -0400

Index: emacs/src/dispnew.c
diff -c emacs/src/dispnew.c:1.346 emacs/src/dispnew.c:1.347
*** emacs/src/dispnew.c:1.346   Sun May  1 19:59:45 2005
--- emacs/src/dispnew.c Fri Jun 17 14:03:08 2005
***************
*** 2722,2727 ****
--- 2722,2728 ----
          right_border_glyph = (dp && INTEGERP (DISP_BORDER_GLYPH (dp))
                                ? XINT (DISP_BORDER_GLYPH (dp))
                                : '|');
+         right_border_glyph = spec_glyph_lookup_face (w, right_border_glyph);
        }
      }
    else
***************
*** 2802,2807 ****
--- 2803,2829 ----
      }
  }
  
+ /* Given a user-specified glyph, possibly including a Lisp-level face
+    ID, return a glyph that has a realized face ID.
+    This is used for glyphs displayed specially and not part of the text;
+    for instance, vertical separators, truncation markers, etc.  */
+ 
+ GLYPH
+ spec_glyph_lookup_face (w, glyph)
+      struct window *w;
+      GLYPH glyph;
+ {
+   int lface_id = FAST_GLYPH_FACE (glyph);
+   /* Convert the glyph's specified face to a realized (cache) face.  */
+   if (lface_id > 0)
+     {
+       int face_id = merge_faces (XFRAME (w->frame),
+                                Qt, lface_id, DEFAULT_FACE_ID);
+       glyph
+       = FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (glyph), face_id);
+     }
+   return glyph;
+ }
  
  /* Add spaces to a glyph row ROW in a window matrix.
  




reply via email to

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