emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question about display engine


From: Eli Zaretskii
Subject: Re: Question about display engine
Date: Sat, 12 Oct 2019 21:29:00 +0300

> Date: Sat, 12 Oct 2019 20:16:18 +0200
> From: Ergus <address@hidden>
> Cc: address@hidden, address@hidden
> 
> Trying the next in current master I got the same issue: 
> 
> // ===============================
> 
> diff --git a/src/xdisp.c b/src/xdisp.c
> index 893ce9269c..af50dd0bcd 100644
> --- a/src/xdisp.c
> +++ b/src/xdisp.c
> @@ -21587,6 +21587,7 @@ extend_face_to_end_of_line (struct it *it)
>            || WINDOW_RIGHT_MARGIN_WIDTH (it->w) > 0))
>      return;
>  
> +  handle_face_prop (it);
>    /* Face extension extends the background and box of IT->face_id
>       to the end of the line.  If the background equals the background
>       of the frame, we don't have to do anything.  */
> 
> // ===============================

I don't understand why would we want to add a call to handle_face_prop
there.

> In gdb I saee that it goes in a very complex inf loop within the display
> engine functions and emacs becomes completely unresponsive (No C-g or
> ESC ESC ESC) the only solution is to kill it from outside.

Can you tell where it loops?  That is, describe the sequence of calls
and the return values for a single iteration through the loop?

> Could you give a look please?

Not sure what should I look at.  If you want me to run a GDB session,
I would need a recipe to reproduce the loop.  Note that I don't have
Magit installed, so loading it (if needed) would have be part of the
recipe.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]