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: Defaulting faces to inherit deemed harmful [was: Stealing a default face from a non-ELPA package] Date: Sat, 05 Mar 2022 21:40:51 +0200 Message-ID: <83h78cgpbw.fsf@gnu.org> References: <87r17gkxvg.fsf@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24843"; mail-complaints-to="usenet@ciao.gmane.io" Cc: drew.adams@oracle.com, emacs-devel@gnu.org To: Tim Cross Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Mar 05 20:42:19 2022 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 1nQaIF-0006I4-CG for ged-emacs-devel@m.gmane-mx.org; Sat, 05 Mar 2022 20:42:19 +0100 Original-Received: from localhost ([::1]:52210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQaIE-0002Ea-4o for ged-emacs-devel@m.gmane-mx.org; Sat, 05 Mar 2022 14:42:18 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:51412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQaH4-0001Sg-Kz for emacs-devel@gnu.org; Sat, 05 Mar 2022 14:41:06 -0500 Original-Received: from [2001:470:142:3::e] (port=35000 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQaH4-0000Z6-6a; Sat, 05 Mar 2022 14:41:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=qprct32UQyRzNCey3Rj6iaC5ayfXQ58p3/RdpaDha0Q=; b=k5kzonRZhy2x 7bdWRzkq8z/eu6I+z0RNMS5KWm5X3ZWfc4E/E704GXYZg2pSA1MbukODkXvjT4+gPgCgwf/eH13Xr qeTO+/wen2RQhUgJMhjZ0zLFoUPHVSr8JsbNG2FTkPD4sF45q7G7jJIV1/BReYduU9NLUTeEK6M0e 1SMZIZ4olHWpoRy72xXivIZ/ukxHeKlAMZnK/J1Rc00NTIdQwRZqWSt7dGa97+DDCjINTR4D6W8aD FgMrse2lodZldtm/2A8k3IPpOT2tESBRLMuxWezF+ymGA/WL1njbqQ5wV13C5Bb8XwXePysXhGz4P dUcpPEFQSxcFbEGDZYhmeg==; Original-Received: from [87.69.77.57] (port=2216 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQaH3-0007QL-L1; Sat, 05 Mar 2022 14:41:05 -0500 In-Reply-To: <87r17gkxvg.fsf@gmail.com> (message from Tim Cross on Sun, 06 Mar 2022 05:38:55 +1100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:286843 Archived-At: > From: Tim Cross > Date: Sun, 06 Mar 2022 05:38:55 +1100 > Cc: emacs-devel > > The big use case your argument overlooks is the one I'm forced to deal > with all the time. I have very specific requirements for face colours > because of a vision impairment. Emacs is a constant frustration for me > because of the number of faces which are defined. For example, > list-display-faces shows over 1030 faces on my system! > > Without inheritance, this means I have to customise a majority of those > faces. I don't see how inheritance would have made your problem smaller. Are you assuming that the inheriting faces will never override the colors of their parent face? If they do define their own colors (and most faces do), inheritance won't help you to change any significant part of the faces in fewer steps than you need to do now. > Having over 1000 separate face definitions seems insane at one level, > but I guess it does allow the ability for users to have ultimate > customisation. However, if we are going to have so many faces, there > really needs to be a mechanism which allows customisation which avoids > having to have 1000 set-face-* or a huge set custom face block in your > init file. This doesn't have to be via inheritance, but that seems to be > a workable solution until someone suggests something better. I don't think I understand the problem for which you are looking for a solution. Would you please state it clearly? Or at least could you describe what kind of customizations of each and every face do you have to do for your specific requirements? Without a clear idea of the problem you are facing (pun intended), it is hard to say anything intelligent regarding possible solutions.