GNU bug report logs - #52324
29.0.50; "Padded" mode line lacks uniform border

Previous Next

Package: emacs;

Reported by: Protesilaos Stavrou <info <at> protesilaos.com>

Date: Mon, 6 Dec 2021 08:59:02 UTC

Severity: normal

Found in version 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 52324 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 52324 <at> debbugs.gnu.org, info <at> protesilaos.com
Subject: Re: bug#52324: 29.0.50; "Padded" mode line lacks uniform border
Date: Sun, 12 Dec 2021 10:48:35 +0800
Po Lu <luangruo <at> yahoo.com> writes:

> The correct solution is to move this code:
>
>       /* Draw relief if not yet drawn.  */
>       if (!relief_drawn_p && s->face->box != FACE_NO_BOX)
> 	x_draw_glyph_string_box (s);
>
> To run before drawing the overline.  I tested and it works here, so if
> you have no objections I will make that change in xterm and on the other
> *terms as well.

BTW, the Haiku port has the same problem, but with a very different
cause, even though text decorations are already drawn after the box:
drawing the box on such glyphs sets a special kind of graphics clipping
that prevents anything from being displayed on top of the box
afterwards.

This is done for a variety of subtle reasons that are too complicated to
explain here.

To solve it there, I made the subroutine in charge of displaying the box
draw text decorations before setting the special clipping.  It's TRT, as
everything said clipping is supposed to prevent happens after it
returns.

So as a heads up, please don't take the changes made to the Haiku port
as representative of how to solve this problem.




This bug report was last modified 3 years and 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.