From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Identifying the face between STRETCH and right fringe. Date: Wed, 28 Nov 2018 08:03:34 +0200 Message-ID: <83y39dg2mh.fsf@gnu.org> References: <83h8gbis2d.fsf@gnu.org> <83zhu0f6tt.fsf@gnu.org> <83sgzrgb1f.fsf@gnu.org> <83r2fbg5bq.fsf@gnu.org> <83lg5jfs9o.fsf@gnu.org> <83a7luhnid.fsf@gnu.org> <838t1ehi6v.fsf@gnu.org> <831s76gxkq.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1543384892 3547 195.159.176.226 (28 Nov 2018 06:01:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 28 Nov 2018 06:01:32 +0000 (UTC) Cc: emacs-devel@gnu.org To: Robert Pluim Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 28 07:01:28 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRsud-0000nw-1y for ged-emacs-devel@m.gmane.org; Wed, 28 Nov 2018 07:01:27 +0100 Original-Received: from localhost ([::1]:46162 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRswj-0005nn-F0 for ged-emacs-devel@m.gmane.org; Wed, 28 Nov 2018 01:03:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRswd-0005nb-E9 for emacs-devel@gnu.org; Wed, 28 Nov 2018 01:03:32 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRswY-0001Zt-FW for emacs-devel@gnu.org; Wed, 28 Nov 2018 01:03:31 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51215) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRswX-0001ZZ-Et; Wed, 28 Nov 2018 01:03:25 -0500 Original-Received: from [176.228.60.248] (port=3325 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gRswW-0004ok-U3; Wed, 28 Nov 2018 01:03:25 -0500 In-reply-to: (message from Robert Pluim on Tue, 27 Nov 2018 20:38:05 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:231472 Archived-At: > From: Robert Pluim > Date: Tue, 27 Nov 2018 20:38:05 +0100 > > (showing my ignorance of redisplay) Everybody is "ignorant" about redisplay, including your truly. E.g., I learned just a couple of weeks ago something quite important about it that I succeeded to miss in the last 10 years I'm actively hacking that code: that try_window_id calls display update routines directly. > Is there a reason we need to compare with the background of the > frame rather than with the background of the default face of the > frame? Basically, because we clear rectangles on display using the frame's background color. Historically, once upon a time, the frame's background was not necessarily identical to that of the default face. And given that we already have the color recorded in the frame, it is less expensive to access that than look up the default face, which might involve accessing face-remapping-alist etc. Finally, the frame's face cache, which is where we look up faces, is reset from time to time, whereas the frame's background color is always valid.