bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#26: marked as done (Consistent underline face end of line to edge ex


From: Emacs bug Tracking System
Subject: bug#26: marked as done (Consistent underline face end of line to edge extension on X)
Date: Sat, 27 Jun 2009 23:10:05 +0000

Your message dated Sat, 27 Jun 2009 19:03:21 -0400
with message-id <87my7ts2iu.fsf@stupidchicken.com>
and subject line Re: bug#26: Consistent underline face end of line to edge 
extension on X
has caused the Emacs bug report #26,
regarding Consistent underline face end of line to edge extension on X
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
26: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=26
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems
--- Begin Message --- Subject: Consistent underline face end of line to edge extension on X Date: Mon, 03 Mar 2008 00:05:04 +0000 User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)
Package: emacs
Version: 23.0.60
Severity: minor
Tags: patch

As per emacs-devel post [1]

On X displays, when an overlay's face has underline (or overstrike
or strikethrough) set, when it crosses line end, it is only extended
to window edge when a background different to the frame background is
also set in the face.  This is different behaviour to terminal displays.

It really only matters for "unconventional" uses of
underline/overline/strikethrough through, such as use in a "show old
window position" hack [2][3]

Easily "fixed", patch attached.

[1] http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg00071.html
[2] http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg03044.html
[3] http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg03045.html

Index: src/xdisp.c
===================================================================
RCS file: /sources/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1198
diff -u -r1.1198 xdisp.c
--- src/xdisp.c 29 Feb 2008 03:12:27 -0000      1.1198
+++ src/xdisp.c 2 Mar 2008 04:42:46 -0000
@@ -15968,6 +15968,9 @@
   if (FRAME_WINDOW_P (f)
       && it->glyph_row->displays_text_p
       && face->box == FACE_NO_BOX
+      && !face->underline_p
+      && !face->overline_p
+      && !face->strike_through_p
       && face->background == FRAME_BACKGROUND_PIXEL (f)
       && !face->stipple)
     return;
Index: src/xterm.c
===================================================================
RCS file: /sources/emacs/emacs/src/xterm.c,v
retrieving revision 1.980
diff -u -r1.980 xterm.c
--- src/xterm.c 1 Mar 2008 14:59:06 -0000       1.980
+++ src/xterm.c 2 Mar 2008 04:42:56 -0000
@@ -3024,7 +3024,7 @@
              XGetGCValues (s->display, s->gc, GCForeground, &xgcv);
              XSetForeground (s->display, s->gc, s->face->strike_through_color);
              XFillRectangle (s->display, s->window, s->gc, s->x, s->y + dy,
-                             s->width, h);
+                             s->background_width, h);
              XSetForeground (s->display, s->gc, xgcv.foreground);
            }
        }

--- End Message ---
--- Begin Message --- Subject: Re: bug#26: Consistent underline face end of line to edge extension on X Date: Sat, 27 Jun 2009 19:03:21 -0400
> Anyway, if you do consider it a bug that that extension happens, then
> just making underline and overline drawing use width rather than
> background_width (like overstrike) in src/xterm.c probably resolves
> that? (at least on bitmapped displays)

I've checked in this fix into the CVS trunk (independently arrived at
for Bug#489).

Thanks.

--- End Message ---

reply via email to

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