Commit be3b66e7 authored by Jimmy Aguilar Mena's avatar Jimmy Aguilar Mena

Document new :extend face attribute in manuals.

Some stylistic corrections too.
parent 06d35c2d
......@@ -23,6 +23,11 @@ When the mark is active, we say also that the region is active; Emacs
indicates its extent by highlighting the text within it, using the
@code{region} face (@pxref{Face Customization}).
This is one of the few faces that has the @code{:extend t} attribute
by default, which implies that the same face is used to highlight the
text and space between end of line and the window border. To
highlight only the text you could set this attribute to @code{nil}.
@cindex deactivating the mark
After certain non-motion commands, including any command that
changes the text in the buffer, Emacs automatically @dfn{deactivates}
......@@ -2482,6 +2482,17 @@ faces (@pxref{Displaying Faces}). If the face to inherit from is
never merges @code{:inherit} attributes. If a list of faces is used,
attributes from faces earlier in the list override those from later
@item :extend
Whether or not this face will be extended until the end of the window.
The value should be @code{t} to extend until end of the window using
this face or @code{nil} fill the space between the end of the line and
the end of the window with the default face. When a face is conformed
by merging multiple other faces; only those with @code{:extend t} will
be merged to conform a new face to extend until end of window. By
default only @code{region} and @code{hl-line} have this attribute set
to @code{t}.
@end table
@defun font-family-list &optional frame
......@@ -2840,6 +2851,11 @@ This sets the @code{:inverse-video} attribute of @var{face} to
@deffn Command invert-face face &optional frame
This swaps the foreground and background colors of face @var{face}.
@end deffn
@deffn Command set-face-extend face extend &optional frame
This sets the @code{:extend} attribute of @var{face} to
@end deffn
The following functions examine the attributes of a face. They
......@@ -2900,6 +2916,12 @@ This function returns non-@code{nil} if face @var{face} specifies
a non-@code{nil} @code{:inverse-video} attribute.
@end defun
@defun face-extend-p face &optional frame
This function returns non-@code{nil} if face @var{face} specifies
a non-@code{nil} @code{:extend} attribute.
@end defun
@node Displaying Faces
@subsection Displaying Faces
@cindex displaying faces
......@@ -20310,7 +20310,7 @@ append_space_for_newline (struct it *it, bool default_face_p)
const int local_default_face_id =
lookup_basic_face (it->w, it->f, DEFAULT_FACE_ID);
struct face* default_face =
FACE_FROM_ID (it->f, local_default_face_id);
FACE_FROM_ID_OR_NULL (it->f, local_default_face_id);
if (FRAME_WINDOW_P (it->f))
......@@ -20444,7 +20444,7 @@ append_space_for_newline (struct it *it, bool default_face_p)
g->ascent = it->max_ascent;
g->descent = it->max_descent;
it->override_ascent = -1;
it->constrain_row_ascent_descent_p = false;
it->current_x = saved_x;
......@@ -20630,8 +20630,6 @@ extend_face_to_end_of_line (struct it *it)
/* Restore the face after the indicator was generated. */
/* If there is space after the indicator generate an
extra empty glyph to restore the face. Issue was
observed in X systems. */
......@@ -2282,7 +2282,7 @@ filter_face_ref (Lisp_Object face_ref,
of ERR_MSGS). Use NAMED_MERGE_POINTS to detect loops in face
inheritance or list structure; it may be 0 for most callers.
attr_filter is the index of a parameter that conditions the merging
ATTR_FILTER is the index of a parameter that conditions the merging
for named faces (case 1) to only the face_ref where
lface[merge_face_ref] is non-nil. To merge unconditionally set this
value to 0.
......@@ -6039,7 +6039,7 @@ compute_char_face (struct frame *f, int ch, Lisp_Object prop)
which a different face is needed, as far as text properties and
overlays are concerned. W is a window displaying current_buffer.
attr_filter is passed merge_face_ref.
ATTR_FILTER is passed merge_face_ref.
REGION_BEG, REGION_END delimit the region, so it can be
......@@ -6122,7 +6122,8 @@ face_at_buffer_position (struct window *w, ptrdiff_t pos,
/* Optimize common cases where we can use the default face. */
if (noverlays == 0 && NILP (prop))
if (noverlays == 0
&& NILP (prop))
return default_face->id;
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