From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: face-attribute and face-remapping-alist Date: Wed, 31 Mar 2021 16:27:10 +0300 Message-ID: <838s63ihch.fsf@gnu.org> References: <834kgsjwdf.fsf@gnu.org> <8335wcjvzh.fsf@gnu.org> <83sg4bizbr.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7412"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Mar 31 15:27:38 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lRask-0001px-5X for ged-emacs-devel@m.gmane-mx.org; Wed, 31 Mar 2021 15:27:38 +0200 Original-Received: from localhost ([::1]:43236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lRasj-0001DG-5Y for ged-emacs-devel@m.gmane-mx.org; Wed, 31 Mar 2021 09:27:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lRas5-0000nM-TA for emacs-devel@gnu.org; Wed, 31 Mar 2021 09:26:57 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:59698) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lRas5-0001nZ-Ln; Wed, 31 Mar 2021 09:26:57 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2753 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lRas3-0006na-LB; Wed, 31 Mar 2021 09:26:56 -0400 In-Reply-To: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Wed, 31 Mar 2021 09:00:34 -0400) 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267218 Archived-At: > From: Clément Pit-Claudel > Date: Wed, 31 Mar 2021 09:00:34 -0400 > > On 3/31/21 2:58 AM, Eli Zaretskii wrote: > > Sure, but the only change needed in all the cases you described in > > order to return attributes that are aware of the remapping is to look > > up the face in face-remapping-alist, before calling face-attribute. > > You need to look it up recursively, which adds to the complexity. And it's more complicated than that if you use the "inherit" argument, since you need to check whether the default face is remapped as well, and merge that with the real default face. The issue described by the OP was of accessing the attribute's value, not merging face attributes. Merging faces is a separate issue. It is rare that an application should need to merge faces, as Emacs does that automatically.