From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Question about display engine Date: Thu, 29 Aug 2019 21:28:55 +0300 Message-ID: <831rx3bzbs.fsf@gnu.org> References: <20190826043145.pm5aplrxna5hwcso@Ergus> <83y2zgfjzs.fsf@gnu.org> <20190826081819.cuhm3tpw3lq3m5jh@Ergus> <83mufwfe8o.fsf@gnu.org> <20190827222025.p2cbjwak4ysi3ept@Ergus> <3ea328a6-2b35-5a01-77a1-bbf9ff7f16f2@gmx.at> <83lfvdd5f7.fsf@gnu.org> <20190828163142.kds3mfnyrjvxxxcj@Ergus> <83v9uhb3ud.fsf@gnu.org> <20190828181958.364qto4kv3hsqtqt@Ergus> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="46748"; mail-complaints-to="usenet@blaine.gmane.org" Cc: rudalics@gmx.at, emacs-devel@gnu.org To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 29 20:30:13 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i3PBU-000C1c-Uq for ged-emacs-devel@m.gmane.org; Thu, 29 Aug 2019 20:30:13 +0200 Original-Received: from localhost ([::1]:53318 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3PBT-0006c4-QX for ged-emacs-devel@m.gmane.org; Thu, 29 Aug 2019 14:30:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45093) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3PA8-0005wm-Tw for emacs-devel@gnu.org; Thu, 29 Aug 2019 14:28:49 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:43692) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1i3PA8-0007kz-Jl; Thu, 29 Aug 2019 14:28:48 -0400 Original-Received: from [176.228.60.248] (port=2607 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1i3PA7-0004Y0-Cz; Thu, 29 Aug 2019 14:28:48 -0400 In-reply-to: <20190828181958.364qto4kv3hsqtqt@Ergus> (message from Ergus on Wed, 28 Aug 2019 20:19:58 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:239686 Archived-At: > Date: Wed, 28 Aug 2019 20:19:58 +0200 > From: Ergus > Cc: rudalics@gmx.at, emacs-devel@gnu.org > > >> 1) Base face sets background and extend; and face sets only background. > > > >The background of the base face will be extended. > > > > But AFAIU the actual merging rules now will create a new face (if not > there already) that will have the new background No. At the point which we are discussing, only background of faces which have the :extend bit set get merged. So the background of a face without that bit will simply not get merged. You will probably need to write a variant of merge_face_ref (or add an extra argument to the existing function) such that background color attribute of a face is not merged unless the :extend bit of the face is set; and similar for underline and other relevant attributes we discussed.