summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/NEWS7
-rw-r--r--src/xdisp.c10
-rw-r--r--src/xfaces.c2
3 files changed, 14 insertions, 5 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 680ac038533..59237267f09 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -385,10 +385,11 @@ simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex'
to 'completion-styles' or 'completion-category-overrides' to use it.
+++
-** There is a new face attribute :extend to use the face attributes to
+** New face attribute ':extend' to control face extension at EOL.
+There is a new face attribute :extend to use the face attributes to
extend after the end of the line until the end of the window. Such
-:extend is set to nil by default in all faces except for `hl-line` and
-`region` because those extend until the end of the window by default.
+:extend is set to nil by default in all faces except for 'hl-line' and
+'region' because those extend until the end of the window by default.
** Connection-local variables
diff --git a/src/xdisp.c b/src/xdisp.c
index 45462c5ac59..6c0b1f88488 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -442,7 +442,7 @@ fill_column_indicator_column (struct it *it, int char_width)
? BVAR (current_buffer, fill_column)
: Vdisplay_fill_column_indicator_column);
- /* The stretch width needs to considet the latter
+ /* The stretch width needs to consider the latter
added glyph in append_space_for_newline. */
if (RANGED_FIXNUMP (0, col, INT_MAX))
{
@@ -21691,6 +21691,9 @@ extend_face_to_end_of_line (struct it *it)
&& indicator_column < it->last_visible_x)
{
+ /* Here we substract char_width because we want the
+ column indicator in the column INDICATOR_COLUMN, not
+ after it. */
const int stretch_width =
indicator_column - it->current_x - char_width;
@@ -21851,6 +21854,11 @@ extend_face_to_end_of_line (struct it *it)
default_face->id : face->id);
/* Display fill-column indicator if needed. */
+ /* We need to subtract 1 to the indicator_column here because we
+ will add the indicator IN the column indicator number, not
+ after it. We compare the variable it->current_x before
+ producing the glyph. When FRAME_WINDOW_P we substract
+ CHAR_WIDTH calculating STRETCH_WIDTH for the same reason. */
const int indicator_column =
fill_column_indicator_column (it, 1) - 1;
do
diff --git a/src/xfaces.c b/src/xfaces.c
index cc65527fe61..5a741ae8cc6 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -2284,7 +2284,7 @@ filter_face_ref (Lisp_Object face_ref,
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
+ lface[merge_face_ref] is non-nil. To merge unconditionally set this
value to 0.
FACE_REF may be a single face specification or a list of such