mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-15 21:11:25 +00:00
Fix face extension when Org narrows the buffer
* src/xdisp.c (extend_face_to_end_of_line): Make sure glyph rows at ZV use the default face for extension. (Bug#59065)
This commit is contained in:
parent
6a132f9b52
commit
24e5abdc06
1 changed files with 9 additions and 10 deletions
19
src/xdisp.c
19
src/xdisp.c
|
|
@ -23153,10 +23153,15 @@ extend_face_to_end_of_line (struct it *it)
|
|||
this is called when redisplaying a non-selected window, with
|
||||
point temporarily moved to window-point. */
|
||||
specbind (Qinhibit_quit, Qt);
|
||||
const int extend_face_id = (it->face_id == DEFAULT_FACE_ID
|
||||
|| it->s != NULL)
|
||||
? DEFAULT_FACE_ID
|
||||
: face_at_pos (it, LFACE_EXTEND_INDEX);
|
||||
/* The default face, possibly remapped. */
|
||||
struct face *default_face =
|
||||
FACE_FROM_ID_OR_NULL (f, lookup_basic_face (it->w, f, DEFAULT_FACE_ID));
|
||||
const int extend_face_id =
|
||||
(it->face_id == default_face->id || it->s != NULL)
|
||||
? it->face_id
|
||||
: (it->glyph_row->ends_at_zv_p
|
||||
? default_face->id
|
||||
: face_at_pos (it, LFACE_EXTEND_INDEX));
|
||||
unbind_to (count, Qnil);
|
||||
|
||||
/* Face extension extends the background and box of IT->extend_face_id
|
||||
|
|
@ -23193,14 +23198,8 @@ extend_face_to_end_of_line (struct it *it)
|
|||
if (!ASCII_CHAR_P (it->c))
|
||||
it->face_id = FACE_FOR_CHAR (f, face, 0, -1, Qnil);
|
||||
|
||||
/* The default face, possibly remapped. */
|
||||
struct face *default_face =
|
||||
FACE_FROM_ID (f, lookup_basic_face (it->w, f, DEFAULT_FACE_ID));
|
||||
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
if (default_face == NULL)
|
||||
error ("extend_face_to_end_of_line: default_face is not set!");
|
||||
|
||||
if (FRAME_WINDOW_P (f))
|
||||
{
|
||||
/* If the row is empty, add a space with the current face of IT,
|
||||
|
|
|
|||
Loading…
Reference in a new issue