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: Faces: How to clear an attribute while continuing to inherit other attributes? Date: Thu, 10 Oct 2019 11:09:05 +0300 Message-ID: <83tv8hrpi6.fsf@gnu.org> References: Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="255423"; mail-complaints-to="usenet@blaine.gmane.org" Cc: deego3@gmail.com, emacs-devel@gnu.org To: Dave Goel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 10 10:09:29 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 1iITVp-0014Hk-2S for ged-emacs-devel@m.gmane.org; Thu, 10 Oct 2019 10:09:29 +0200 Original-Received: from localhost ([::1]:34868 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iITVn-0004zG-Ub for ged-emacs-devel@m.gmane.org; Thu, 10 Oct 2019 04:09:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55112) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iITVh-0004yr-GY for emacs-devel@gnu.org; Thu, 10 Oct 2019 04:09:22 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35001) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iITVh-0008CP-Cv; Thu, 10 Oct 2019 04:09:21 -0400 Original-Received: from [176.228.60.248] (port=2178 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iITVg-0005yb-S0; Thu, 10 Oct 2019 04:09:21 -0400 In-reply-to: (message from Dave Goel on Wed, 9 Oct 2019 22:42:50 -0400) 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:240820 Archived-At: > From: Dave Goel > Date: Wed, 9 Oct 2019 22:42:50 -0400 > > Emacs allows us to set a's foreground to nil (instead of 'unspecified), but it magically becomes 'unspecified > when queried. That's not what I was aiming for. That is because 'unspecified means actually rendering face 'a > would yield yellow, the color inherited from 'b instead of the default foreground. > > Here's a test: > > (progn > (defface a nil "") > (defface b nil "") > (set-face-attribute 'b nil :foreground "yellow") > (set-face-attribute 'a nil :inherit 'b) > (set-face-attribute 'a nil :foreground nil) > ;; let's chase how 'a would render: > (face-attribute 'a :foreground nil t)) > > => "yellow" > > We expected either "white", the default foreground. What do you mean by "default foreground" here? is that the foreground of the default face, or the foreground of whatever other face(s) that are merged to produce the appearance of a character on display?