Mercurial > emacs
comparison src/xdisp.c @ 9572:b36d5e88cccc
*** empty log message ***
author | Morten Welinder <terra@diku.dk> |
---|---|
date | Mon, 17 Oct 1994 08:42:36 +0000 |
parents | a605bfe5bf8a |
children | 976ef7da7753 |
comparison
equal
deleted
inserted
replaced
9571:b37425ecb3f0 | 9572:b36d5e88cccc |
---|---|
740 | 740 |
741 if (all_windows) | 741 if (all_windows) |
742 { | 742 { |
743 Lisp_Object tail, frame; | 743 Lisp_Object tail, frame; |
744 | 744 |
745 #ifdef HAVE_X_WINDOWS | 745 #ifdef HAVE_FACES |
746 /* Clear the face cache, only when we do a full redisplay | 746 /* Clear the face cache, only when we do a full redisplay |
747 and not too often either. */ | 747 and not too often either. */ |
748 if (clear_face_cache_count > 1000) | 748 if (clear_face_cache_count > 1000) |
749 { | 749 { |
750 clear_face_cache (); | 750 clear_face_cache (); |
1957 register Lisp_Object *fp = from; | 1957 register Lisp_Object *fp = from; |
1958 /* These cache the results of the last call to compute_glyph_face. */ | 1958 /* These cache the results of the last call to compute_glyph_face. */ |
1959 int last_code = -1; | 1959 int last_code = -1; |
1960 int last_merged = 0; | 1960 int last_merged = 0; |
1961 | 1961 |
1962 #ifdef HAVE_X_WINDOWS | 1962 #ifdef HAVE_FACES |
1963 if (! FRAME_TERMCAP_P (f)) | 1963 if (! FRAME_TERMCAP_P (f)) |
1964 while (n--) | 1964 while (n--) |
1965 { | 1965 { |
1966 int glyph = (INTEGERP (*fp) ? XFASTINT (*fp) : 0); | 1966 int glyph = (INTEGERP (*fp) ? XFASTINT (*fp) : 0); |
1967 int facecode; | 1967 int facecode; |
2002 fix_glyph (f, glyph, cface) | 2002 fix_glyph (f, glyph, cface) |
2003 FRAME_PTR f; | 2003 FRAME_PTR f; |
2004 GLYPH glyph; | 2004 GLYPH glyph; |
2005 int cface; | 2005 int cface; |
2006 { | 2006 { |
2007 #ifdef HAVE_X_WINDOWS | 2007 #ifdef HAVE_FACES |
2008 if (! FRAME_TERMCAP_P (f)) | 2008 if (! FRAME_TERMCAP_P (f)) |
2009 { | 2009 { |
2010 if (FAST_GLYPH_FACE (glyph) != 0) | 2010 if (FAST_GLYPH_FACE (glyph) != 0) |
2011 cface = compute_glyph_face (f, FAST_GLYPH_FACE (glyph), cface); | 2011 cface = compute_glyph_face (f, FAST_GLYPH_FACE (glyph), cface); |
2012 glyph = FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (glyph), cface); | 2012 glyph = FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (glyph), cface); |
2271 } | 2271 } |
2272 if (pos >= end) | 2272 if (pos >= end) |
2273 break; | 2273 break; |
2274 #endif | 2274 #endif |
2275 | 2275 |
2276 #ifdef HAVE_X_WINDOWS | 2276 #ifdef HAVE_FACES |
2277 /* Did we hit a face change? Figure out what face we should | 2277 /* Did we hit a face change? Figure out what face we should |
2278 use now. We also hit this the first time through the | 2278 use now. We also hit this the first time through the |
2279 loop, to see what face we should start with. */ | 2279 loop, to see what face we should start with. */ |
2280 if (pos >= next_face_change && FRAME_X_P (f)) | 2280 if (pos >= next_face_change && FRAME_X_P (f)) |
2281 current_face = compute_char_face (f, w, pos, | 2281 current_face = compute_char_face (f, w, pos, |
2327 if (p1 - leftmargin > width) | 2327 if (p1 - leftmargin > width) |
2328 p1 = endp; | 2328 p1 = endp; |
2329 copy_part_of_rope (f, p1prev, p1prev, invis_vector_contents, | 2329 copy_part_of_rope (f, p1prev, p1prev, invis_vector_contents, |
2330 (p1 - p1prev), current_face); | 2330 (p1 - p1prev), current_face); |
2331 } | 2331 } |
2332 #ifdef HAVE_X_WINDOWS | 2332 #ifdef HAVE_FACES |
2333 /* Draw the face of the newline character as extending all the | 2333 /* Draw the face of the newline character as extending all the |
2334 way to the end of the frame line. */ | 2334 way to the end of the frame line. */ |
2335 if (current_face) | 2335 if (current_face) |
2336 { | 2336 { |
2337 if (p1 < leftmargin) | 2337 if (p1 < leftmargin) |
2364 if (p1 - leftmargin > width) | 2364 if (p1 - leftmargin > width) |
2365 p1 = endp; | 2365 p1 = endp; |
2366 copy_part_of_rope (f, p1prev, p1prev, invis_vector_contents, | 2366 copy_part_of_rope (f, p1prev, p1prev, invis_vector_contents, |
2367 (p1 - p1prev), current_face); | 2367 (p1 - p1prev), current_face); |
2368 } | 2368 } |
2369 #ifdef HAVE_X_WINDOWS | 2369 #ifdef HAVE_FACES |
2370 /* Draw the face of the newline character as extending all the | 2370 /* Draw the face of the newline character as extending all the |
2371 way to the end of the frame line. */ | 2371 way to the end of the frame line. */ |
2372 if (current_face) | 2372 if (current_face) |
2373 { | 2373 { |
2374 if (p1 < leftmargin) | 2374 if (p1 < leftmargin) |
2605 int len = XSTRING (Voverlay_arrow_string)->size; | 2605 int len = XSTRING (Voverlay_arrow_string)->size; |
2606 int arrow_end; | 2606 int arrow_end; |
2607 | 2607 |
2608 if (len > width) | 2608 if (len > width) |
2609 len = width; | 2609 len = width; |
2610 #ifdef HAVE_X_WINDOWS | 2610 #ifdef HAVE_FACES |
2611 if (!NULL_INTERVAL_P (XSTRING (Voverlay_arrow_string)->intervals)) | 2611 if (!NULL_INTERVAL_P (XSTRING (Voverlay_arrow_string)->intervals)) |
2612 { | 2612 { |
2613 /* If the arrow string has text props, obey them when displaying. */ | 2613 /* If the arrow string has text props, obey them when displaying. */ |
2614 for (i = 0; i < len; i++) | 2614 for (i = 0; i < len; i++) |
2615 { | 2615 { |
2622 newface = compute_glyph_face_1 (f, face, 0); | 2622 newface = compute_glyph_face_1 (f, face, 0); |
2623 leftmargin[i] = FAST_MAKE_GLYPH (c, newface); | 2623 leftmargin[i] = FAST_MAKE_GLYPH (c, newface); |
2624 } | 2624 } |
2625 } | 2625 } |
2626 else | 2626 else |
2627 #endif /* HAVE_X_WINDOWS */ | 2627 #endif /* HAVE_FACES */ |
2628 { | 2628 { |
2629 for (i = 0; i < len; i++) | 2629 for (i = 0; i < len; i++) |
2630 leftmargin[i] = p[i]; | 2630 leftmargin[i] = p[i]; |
2631 } | 2631 } |
2632 | 2632 |
2725 (which implies that that window is split side-by-side | 2725 (which implies that that window is split side-by-side |
2726 and the rest of this line is mode lines of the sibling windows). */ | 2726 and the rest of this line is mode lines of the sibling windows). */ |
2727 if (XFASTINT (w->width) == FRAME_WIDTH (f) | 2727 if (XFASTINT (w->width) == FRAME_WIDTH (f) |
2728 || XFASTINT (XWINDOW (w->parent)->width) == FRAME_WIDTH (f)) | 2728 || XFASTINT (XWINDOW (w->parent)->width) == FRAME_WIDTH (f)) |
2729 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video; | 2729 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video; |
2730 #ifdef HAVE_X_WINDOWS | 2730 #ifdef HAVE_FACES |
2731 else if (! FRAME_TERMCAP_P (f)) | 2731 else if (! FRAME_TERMCAP_P (f)) |
2732 { | 2732 { |
2733 /* For a partial width window, explicitly set face of each glyph. */ | 2733 /* For a partial width window, explicitly set face of each glyph. */ |
2734 int i; | 2734 int i; |
2735 GLYPH *ptr = FRAME_DESIRED_GLYPHS (f)->glyphs[vpos]; | 2735 GLYPH *ptr = FRAME_DESIRED_GLYPHS (f)->glyphs[vpos]; |