aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorDaniel Colascione2018-06-07 16:20:06 -0700
committerDaniel Colascione2018-06-07 21:03:30 -0700
commit9d447fa1562c69f2224bdefc37703c0eb0f7d7cf (patch)
treedd1d64edecb820298d433f5537e12835058db362 /src/term.c
parente2a98002020369cf0c09c7acf8557290e867705f (diff)
downloademacs-9d447fa1562c69f2224bdefc37703c0eb0f7d7cf.tar.gz
emacs-9d447fa1562c69f2224bdefc37703c0eb0f7d7cf.zip
Add support for per-window face remapping
Extend face specifications to support the notion of filtering to a specific context and add a filter that limits a face specification to windows having a certain parameter. * src/xfaces.c: (evaluate_face_filter,filter_face_ref): New functions. (merge_face_ref): Ignore filtered face specifications. (Fx_list_fonts,get_lface_attributes,merge_face_vectors) (merge_named_face,merge_face_ref,merge_face_ref) (Finternal_merge_in_global_face,Fface_font,lookup_named_face) (lookup_basic_face,Fface_attributes_as_vector) (x_supports_face_attributes_p) (Fdisplay_supports_face_attributes_p,realize_named_face) (compute_char_face,face_at_buffer_position) (face_at_buffer_position,face_at_buffer_position) (face_at_buffer_position) (face_for_overlay_string,face_at_string_position,merge_faces): Pass window to face machinery. (syms_of_xfaces): Add :window and :filtered * src/xdisp.c (init_iterator, handle_face_prop) (handle_single_display_spec, merge_escape_glyph_face) (merge_glyphless_glyph_face, get_next_display_element) (next_element_from_display_vector, append_space_for_newline) (extend_face_to_end_of_line,highlight_trailing_whitespace) (maybe_produce_line_number) (display_line, calc_line_height_property): Pass window to face machinery. * src/term.c (tty_menu_activate): Adjust to new face core function signature. * src/msdos.c (XMenuActivate): Adjust to new face core function signature. * src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face): Pass window to face machinery. * src/font.c (font_range, Finternal_char_font): Pass window to face machinery. * src/dispnew.c (spec_glyph_lookup_face): Pass window to face machinery. * src/dispextern.h: (lookup_named_face,lookup_basic_face) (lookup_derived_face,merge_faces): Add struct window arguments to prototypes.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/term.c b/src/term.c
index 08d483f4fa0..bcd7dd82d6f 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3132,15 +3132,15 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
3132 SAFE_NALLOCA (state, 1, menu->panecount); 3132 SAFE_NALLOCA (state, 1, menu->panecount);
3133 memset (state, 0, sizeof (*state)); 3133 memset (state, 0, sizeof (*state));
3134 faces[0] 3134 faces[0]
3135 = lookup_derived_face (sf, intern ("tty-menu-disabled-face"), 3135 = lookup_derived_face (NULL, sf, intern ("tty-menu-disabled-face"),
3136 DEFAULT_FACE_ID, 1); 3136 DEFAULT_FACE_ID, 1);
3137 faces[1] 3137 faces[1]
3138 = lookup_derived_face (sf, intern ("tty-menu-enabled-face"), 3138 = lookup_derived_face (NULL, sf, intern ("tty-menu-enabled-face"),
3139 DEFAULT_FACE_ID, 1); 3139 DEFAULT_FACE_ID, 1);
3140 selectface = intern ("tty-menu-selected-face"); 3140 selectface = intern ("tty-menu-selected-face");
3141 faces[2] = lookup_derived_face (sf, selectface, 3141 faces[2] = lookup_derived_face (NULL, sf, selectface,
3142 faces[0], 1); 3142 faces[0], 1);
3143 faces[3] = lookup_derived_face (sf, selectface, 3143 faces[3] = lookup_derived_face (NULL, sf, selectface,
3144 faces[1], 1); 3144 faces[1], 1);
3145 3145
3146 /* Make sure the menu title is always displayed with 3146 /* Make sure the menu title is always displayed with