unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@stupidchicken.com>
To: gerd@gnu.org, emacs-devel@gnu.org
Subject: Re: Mouse highlighting and fonts
Date: Sat, 24 May 2008 22:01:21 -0400	[thread overview]
Message-ID: <87hccn9m6m.fsf@stupidchicken.com> (raw)
In-Reply-To: <87tzgog5kd.fsf@stupidchicken.com> (Chong Yidong's message of "Fri, 23 May 2008 15:53:54 -0400")

Chong Yidong <cyd@stupidchicken.com> writes:

> Under certain circumstances, the area to the left and/or right of the
> physical cursor doesn't acquire the proper mouse-face.
>
> This appears to be a long-standing bug, but one that didn't show up
> until the new font code.  That's because it arises as follows: when the
> cursor glyph has a nonzero lbearing or rbearing (i.e., it overlaps with
> its neighbors), the neighboring glyphs are redrawn, and this can
> overwrite the mouse-face highlight.  See xdisp.c:19934. 

According to the comments, this code is supposed to redraw glyphs that
are overwritten because of the left/right overhang of the specified
glyph string.  But I've never noticed overlapping glyphs in Emacs.
Under what circumstances can overlapping glyphs occur?

In other words, would there be any effect from simply turning off the
overlap-compensation code, as indicated?  Anyone know?

(Gerd, do you recall why you wrote this code?)

*** trunk/src/xdisp.c.~1.1213.~	2008-05-24 18:34:24.000000000 -0400
--- trunk/src/xdisp.c	2008-05-24 21:25:06.000000000 -0400
***************
*** 19928,19933 ****
--- 19928,19934 ----
    else
      x_reached = x;
  
+ #if 0
    /* If there are any glyphs with lbearing < 0 or rbearing > width in
       the row, redraw some glyphs in front or following the glyph
       strings built above.  */
***************
*** 20015,20020 ****
--- 20016,20022 ----
  	    s->clip_tail = clip_tail;
  	  }
      }
+ #endif
  
    /* Draw all strings.  */
    for (s = head; s; s = s->next)




  parent reply	other threads:[~2008-05-25  2:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-23 15:09 Mouse highlighting and fonts Chong Yidong
2008-05-23 19:53 ` Chong Yidong
2008-05-24 23:02   ` Stephen Berman
2008-05-25  2:01   ` Chong Yidong [this message]
2008-05-25  4:46     ` YAMAMOTO Mitsuharu
2008-05-25  8:21       ` Gerd Möllmann
2008-05-27  8:58     ` Johan Bockgård
2008-05-27  3:26   ` Chong Yidong
2008-05-27 13:24     ` Stephen Berman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hccn9m6m.fsf@stupidchicken.com \
    --to=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=gerd@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).