Commit 2e120be4 authored by Dmitry Antipov's avatar Dmitry Antipov
Browse files

* dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...

* xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
function.  Also adjust comment.
* fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.
parent 29993416
2014-06-10 Dmitry Antipov <dmantipov@yandex.ru>
* dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...
* xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
function. Also adjust comment.
* fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.
2014-06-09 Paul Eggert <eggert@cs.ucla.edu> 2014-06-09 Paul Eggert <eggert@cs.ucla.edu>
Say (accept-process-output P)'s result pertains to P if P is non-nil. Say (accept-process-output P)'s result pertains to P if P is non-nil.
......
...@@ -1795,16 +1795,6 @@ struct face_cache ...@@ -1795,16 +1795,6 @@ struct face_cache
bool_bf menu_face_changed_p : 1; bool_bf menu_face_changed_p : 1;
}; };
/* Prepare face FACE for use on frame F. This must be called before
using X resources of FACE. */
#define PREPARE_FACE_FOR_DISPLAY(F, FACE) \
do { \
if ((FACE)->gc == 0) \
prepare_face_for_display ((F), (FACE)); \
} while (false)
/* Return a pointer to the face with ID on frame F, or null if such a /* Return a pointer to the face with ID on frame F, or null if such a
face doesn't exist. */ face doesn't exist. */
...@@ -3354,7 +3344,9 @@ unsigned long load_color (struct frame *, struct face *, Lisp_Object, ...@@ -3354,7 +3344,9 @@ unsigned long load_color (struct frame *, struct face *, Lisp_Object,
enum lface_attribute_index); enum lface_attribute_index);
char *choose_face_font (struct frame *, Lisp_Object *, Lisp_Object, char *choose_face_font (struct frame *, Lisp_Object *, Lisp_Object,
int *); int *);
#ifdef HAVE_WINDOW_SYSTEM
void prepare_face_for_display (struct frame *, struct face *); void prepare_face_for_display (struct frame *, struct face *);
#endif
int lookup_named_face (struct frame *, Lisp_Object, int); int lookup_named_face (struct frame *, Lisp_Object, int);
int lookup_basic_face (struct frame *, int); int lookup_basic_face (struct frame *, int);
int smaller_face (struct frame *, int, int); int smaller_face (struct frame *, int, int);
......
...@@ -634,7 +634,7 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o ...@@ -634,7 +634,7 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o
return; return;
} }
PREPARE_FACE_FOR_DISPLAY (f, p.face); prepare_face_for_display (f, p.face);
/* Clear left fringe if no bitmap to draw or if bitmap doesn't fill /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill
the fringe. */ the fringe. */
......
...@@ -1000,7 +1000,7 @@ x_set_mouse_face_gc (struct glyph_string *s) ...@@ -1000,7 +1000,7 @@ x_set_mouse_face_gc (struct glyph_string *s)
else else
face_id = FACE_FOR_CHAR (s->f, face, 0, -1, Qnil); face_id = FACE_FOR_CHAR (s->f, face, 0, -1, Qnil);
s->face = FACE_FROM_ID (s->f, face_id); s->face = FACE_FROM_ID (s->f, face_id);
PREPARE_FACE_FOR_DISPLAY (s->f, s->face); prepare_face_for_display (s->f, s->face);
/* If font in this face is same as S->font, use it. */ /* If font in this face is same as S->font, use it. */
if (s->font == s->face->font) if (s->font == s->face->font)
...@@ -1050,7 +1050,7 @@ x_set_mode_line_face_gc (struct glyph_string *s) ...@@ -1050,7 +1050,7 @@ x_set_mode_line_face_gc (struct glyph_string *s)
static inline void static inline void
x_set_glyph_string_gc (struct glyph_string *s) x_set_glyph_string_gc (struct glyph_string *s)
{ {
PREPARE_FACE_FOR_DISPLAY (s->f, s->face); prepare_face_for_display (s->f, s->face);
if (s->hl == DRAW_NORMAL_TEXT) if (s->hl == DRAW_NORMAL_TEXT)
{ {
......
...@@ -23680,7 +23680,7 @@ get_char_face_and_encoding (struct frame *f, int c, int face_id, ...@@ -23680,7 +23680,7 @@ get_char_face_and_encoding (struct frame *f, int c, int face_id,
#endif #endif
{ {
eassert (face != NULL); eassert (face != NULL);
PREPARE_FACE_FOR_DISPLAY (f, face); prepare_face_for_display (f, face);
} }
   
return face; return face;
...@@ -23703,7 +23703,7 @@ get_glyph_face_and_encoding (struct frame *f, struct glyph *glyph, ...@@ -23703,7 +23703,7 @@ get_glyph_face_and_encoding (struct frame *f, struct glyph *glyph,
   
/* Make sure X resources of the face are allocated. */ /* Make sure X resources of the face are allocated. */
eassert (face != NULL); eassert (face != NULL);
PREPARE_FACE_FOR_DISPLAY (f, face); prepare_face_for_display (f, face);
   
if (two_byte_p) if (two_byte_p)
*two_byte_p = 0; *two_byte_p = 0;
...@@ -24020,7 +24020,7 @@ fill_stretch_glyph_string (struct glyph_string *s, int start, int end) ...@@ -24020,7 +24020,7 @@ fill_stretch_glyph_string (struct glyph_string *s, int start, int end)
s->ybase += voffset; s->ybase += voffset;
   
/* The case that face->gc == 0 is handled when drawing the glyph /* The case that face->gc == 0 is handled when drawing the glyph
string by calling PREPARE_FACE_FOR_DISPLAY. */ string by calling prepare_face_for_display. */
eassert (s->face); eassert (s->face);
return glyph - s->row->glyphs[s->area]; return glyph - s->row->glyphs[s->area];
} }
...@@ -24969,7 +24969,7 @@ produce_image_glyph (struct it *it) ...@@ -24969,7 +24969,7 @@ produce_image_glyph (struct it *it)
face = FACE_FROM_ID (it->f, it->face_id); face = FACE_FROM_ID (it->f, it->face_id);
eassert (face); eassert (face);
/* Make sure X resources of the face is loaded. */ /* Make sure X resources of the face is loaded. */
PREPARE_FACE_FOR_DISPLAY (it->f, face); prepare_face_for_display (it->f, face);
   
if (it->image_id < 0) if (it->image_id < 0)
{ {
...@@ -25247,7 +25247,7 @@ produce_stretch_glyph (struct it *it) ...@@ -25247,7 +25247,7 @@ produce_stretch_glyph (struct it *it)
{ {
struct face *face = FACE_FROM_ID (it->f, it->face_id); struct face *face = FACE_FROM_ID (it->f, it->face_id);
font = face->font ? face->font : FRAME_FONT (it->f); font = face->font ? face->font : FRAME_FONT (it->f);
PREPARE_FACE_FOR_DISPLAY (it->f, face); prepare_face_for_display (it->f, face);
} }
#endif #endif
   
...@@ -25711,7 +25711,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym) ...@@ -25711,7 +25711,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
   
face = FACE_FROM_ID (it->f, face_id); face = FACE_FROM_ID (it->f, face_id);
font = face->font ? face->font : FRAME_FONT (it->f); font = face->font ? face->font : FRAME_FONT (it->f);
PREPARE_FACE_FOR_DISPLAY (it->f, face); prepare_face_for_display (it->f, face);
   
if (it->glyphless_method == GLYPHLESS_DISPLAY_ACRONYM) if (it->glyphless_method == GLYPHLESS_DISPLAY_ACRONYM)
{ {
......
...@@ -4098,15 +4098,15 @@ free_realized_face (struct frame *f, struct face *face) ...@@ -4098,15 +4098,15 @@ free_realized_face (struct frame *f, struct face *face)
} }
} }
#ifdef HAVE_WINDOW_SYSTEM
/* Prepare face FACE for subsequent display on frame F. This /* Prepare face FACE for subsequent display on frame F. This must be called
allocated GCs if they haven't been allocated yet or have been freed before using X resources of FACE to allocate GCs if they haven't been
by clearing the face cache. */ allocated yet or have been freed by clearing the face cache. */
void void
prepare_face_for_display (struct frame *f, struct face *face) prepare_face_for_display (struct frame *f, struct face *face)
{ {
#ifdef HAVE_WINDOW_SYSTEM
eassert (FRAME_WINDOW_P (f)); eassert (FRAME_WINDOW_P (f));
if (face->gc == 0) if (face->gc == 0)
...@@ -4134,10 +4134,10 @@ prepare_face_for_display (struct frame *f, struct face *face) ...@@ -4134,10 +4134,10 @@ prepare_face_for_display (struct frame *f, struct face *face)
font_prepare_for_face (f, face); font_prepare_for_face (f, face);
unblock_input (); unblock_input ();
} }
#endif /* HAVE_WINDOW_SYSTEM */
} }
#endif /* HAVE_WINDOW_SYSTEM */
/* Returns the `distance' between the colors X and Y. */ /* Returns the `distance' between the colors X and Y. */
static int static int
......
...@@ -903,7 +903,7 @@ x_set_mouse_face_gc (struct glyph_string *s) ...@@ -903,7 +903,7 @@ x_set_mouse_face_gc (struct glyph_string *s)
else else
face_id = FACE_FOR_CHAR (s->f, face, 0, -1, Qnil); face_id = FACE_FOR_CHAR (s->f, face, 0, -1, Qnil);
s->face = FACE_FROM_ID (s->f, face_id); s->face = FACE_FROM_ID (s->f, face_id);
PREPARE_FACE_FOR_DISPLAY (s->f, s->face); prepare_face_for_display (s->f, s->face);
if (s->font == s->face->font) if (s->font == s->face->font)
s->gc = s->face->gc; s->gc = s->face->gc;
...@@ -951,7 +951,7 @@ x_set_mode_line_face_gc (struct glyph_string *s) ...@@ -951,7 +951,7 @@ x_set_mode_line_face_gc (struct glyph_string *s)
static void static void
x_set_glyph_string_gc (struct glyph_string *s) x_set_glyph_string_gc (struct glyph_string *s)
{ {
PREPARE_FACE_FOR_DISPLAY (s->f, s->face); prepare_face_for_display (s->f, s->face);
if (s->hl == DRAW_NORMAL_TEXT) if (s->hl == DRAW_NORMAL_TEXT)
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment