Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
76da65a9
Commit
76da65a9
authored
Sep 15, 2019
by
Jimmy Aguilar Mena
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added parameter attr_filter to face_at_string_position.
Update all the occurrences in src/xdisp.c and src/xfaces.c
parent
4859ca23
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
26 deletions
+27
-26
src/dispextern.h
src/dispextern.h
+2
-1
src/font.c
src/font.c
+2
-2
src/xdisp.c
src/xdisp.c
+18
-19
src/xfaces.c
src/xfaces.c
+5
-4
No files found.
src/dispextern.h
View file @
76da65a9
...
...
@@ -3464,7 +3464,8 @@ int face_at_buffer_position (struct window *, ptrdiff_t, ptrdiff_t *,
int
face_for_overlay_string
(
struct
window
*
,
ptrdiff_t
,
ptrdiff_t
*
,
ptrdiff_t
,
bool
,
Lisp_Object
);
int
face_at_string_position
(
struct
window
*
,
Lisp_Object
,
ptrdiff_t
,
ptrdiff_t
,
ptrdiff_t
*
,
enum
face_id
,
bool
);
ptrdiff_t
*
,
enum
face_id
,
bool
,
enum
lface_attribute_index
);
int
merge_faces
(
struct
window
*
,
Lisp_Object
,
int
,
int
);
int
compute_char_face
(
struct
frame
*
,
int
,
Lisp_Object
);
void
free_all_realized_faces
(
Lisp_Object
);
...
...
src/font.c
View file @
76da65a9
...
...
@@ -3781,7 +3781,7 @@ font_at (int c, ptrdiff_t pos, struct face *face, struct window *w,
if (STRINGP (string))
face_id = face_at_string_position (w, string, pos, 0, &endptr,
DEFAULT_FACE_ID, 0);
DEFAULT_FACE_ID,
false,
0);
else
face_id = face_at_buffer_position (w, pos, &endptr,
pos + 100, false, -1, 0);
...
...
@@ -3837,7 +3837,7 @@ font_range (ptrdiff_t pos, ptrdiff_t pos_byte, ptrdiff_t *limit,
: lookup_basic_face (w, f, DEFAULT_FACE_ID);
face_id = face_at_string_position (w, string, pos, 0, &ignore,
face_id, false);
face_id, false
, 0
);
}
face = FACE_FROM_ID (f, face_id);
}
...
...
src/xdisp.c
View file @
76da65a9
...
...
@@ -4130,7 +4130,8 @@ handle_face_prop_general (struct it *it, int initial_face_id,
&next_stop,
(IT_CHARPOS (*it)
+ TEXT_PROP_DISTANCE_LIMIT),
false, it->base_face_id, attr_filter);
false, it->base_face_id,
attr_filter);
}
else
{
...
...
@@ -4175,7 +4176,7 @@ handle_face_prop_general (struct it *it, int initial_face_id,
(IT_CHARPOS (*it)
+ TEXT_PROP_DISTANCE_LIMIT),
false,
from_overlay);
from_overlay);
}
else
{
...
...
@@ -4209,7 +4210,8 @@ handle_face_prop_general (struct it *it, int initial_face_id,
IT_STRING_CHARPOS (*it),
bufpos,
&next_stop,
base_face_id, false);
base_face_id, false,
attr_filter);
} /* !is_string. */
/* Is this a start of a run of characters with box face?
...
...
@@ -4379,12 +4381,9 @@ face_before_or_after_it_pos (struct it *it, bool before_p)
base_face_id = underlying_face_id (it);
/* Get the face for ASCII, or unibyte. */
face_id = face_at_string_position (it->w,
it->string,
charpos,
bufpos,
&next_check_charpos,
base_face_id, false);
face_id = face_at_string_position (it->w, it->string, charpos,
bufpos, &next_check_charpos,
base_face_id, false, 0);
/* Correct the face for charsets different from ASCII. Do it
for the multibyte case only. The face returned above is
...
...
@@ -7594,7 +7593,8 @@ get_next_display_element (struct it *it)
next_face_id
= face_at_string_position (it->w, base_string,
CHARPOS (pos), 0,
&ignore, face_id, false);
&ignore, face_id,
false, 0);
it->end_of_box_run_p
= (FACE_FROM_ID (it->f, next_face_id)->box
== FACE_NO_BOX);
...
...
@@ -25434,8 +25434,8 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
/* Initialize the iterator IT for iteration over STRING beginning
with index START. */
reseat_to_string (it, NILP (lisp_string) ? string : NULL, lisp_string,
start,
precision, field_width, multibyte);
reseat_to_string (it, NILP (lisp_string) ? string : NULL, lisp_string,
start,
precision, field_width, multibyte);
if (string && STRINGP (lisp_string))
/* LISP_STRING is the one returned by decode_mode_spec. We should
ignore its text properties. */
...
...
@@ -25450,7 +25450,7 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
it->face_id
= face_at_string_position (it->w, face_string, face_string_pos,
0, &endptr, it->base_face_id, false);
0, &endptr, it->base_face_id, false
, 0
);
face = FACE_FROM_ID (it->f, it->face_id);
it->face_box_p = face->box != FACE_NO_BOX;
}
...
...
@@ -31600,11 +31600,10 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
hlinfo->mouse_face_past_end = false;
hlinfo->mouse_face_window = window;
hlinfo->mouse_face_face_id = face_at_string_position (w, string,
charpos,
0, &ignore,
glyph->face_id,
true);
hlinfo->mouse_face_face_id =
face_at_string_position (w, string, charpos, 0, &ignore,
glyph->face_id, true, 0);
show_mouse_face (hlinfo, DRAW_MOUSE_FACE);
mouse_face_shown = true;
...
...
@@ -31997,7 +31996,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
hlinfo->mouse_face_window = window;
hlinfo->mouse_face_face_id
= face_at_string_position (w, object, pos, 0, &ignore,
glyph->face_id, true);
glyph->face_id, true
, 0
);
show_mouse_face (hlinfo, DRAW_MOUSE_FACE);
cursor = No_Cursor;
}
src/xfaces.c
View file @
76da65a9
...
...
@@ -6271,9 +6271,10 @@ face_for_overlay_string (struct window *w, ptrdiff_t pos,
int
face_at_string_position
(
struct
window
*
w
,
Lisp_Object
string
,
ptrdiff_t pos, ptrdiff_t bufpos,
ptrdiff_t *endptr, enum face_id base_face_id,
bool mouse_p)
ptrdiff_t
pos
,
ptrdiff_t
bufpos
,
ptrdiff_t
*
endptr
,
enum
face_id
base_face_id
,
bool
mouse_p
,
enum
lface_attribute_index
attr_filter
)
{
Lisp_Object
prop
,
position
,
end
,
limit
;
struct
frame
*
f
=
XFRAME
(
WINDOW_FRAME
(
w
));
...
...
@@ -6317,7 +6318,7 @@ face_at_string_position (struct window *w, Lisp_Object string,
/* Merge in attributes specified via text properties. */
if
(
!
NILP
(
prop
))
merge_face_ref (w, f, prop, attrs, true, NULL,
0
);
merge_face_ref
(
w
,
f
,
prop
,
attrs
,
true
,
NULL
,
attr_filter
);
/* Look up a realized face with the given face attributes,
or realize a new one for ASCII characters. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment