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: BIKESHED: completion faces Date: Sat, 09 Nov 2019 17:31:19 +0200 Message-ID: <83woc983so.fsf@gnu.org> References: <87zhhaxalt.fsf@gmail.com> <83bltpgffr.fsf@gnu.org> <83tv7gg9oz.fsf@gnu.org> <83r22kg8pa.fsf@gnu.org> <20191106205133.njij3ve7qqy7yh3q@Ergus> <83ftizg4nr.fsf@gnu.org> <8336ezg2vm.fsf@gnu.org> <83wocbelu1.fsf@gnu.org> <83imnvegcp.fsf@gnu.org> <83ftizeelw.fsf@gnu.org> <83bltne6oq.fsf@gnu.org> <87lfsrqs63.fsf@gmail.com> <838soqeuzr.fsf@gnu.org> <87ftiyn07t.fsf@gmail.com> <8336eycvpf.fsf@gnu.org> <83pni2bcws.fsf@gnu.org> <83imnubax9.fsf@gnu.org> <83h83eb8od.fsf@gnu.org> <83d0e2b32k.fsf@gnu.org> <83r22ha64z.fsf@gnu.org> <831ruh9siv.fsf@gnu.org> <83y2wp8cnq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="265262"; mail-complaints-to="usenet@blaine.gmane.org" Cc: spacibba@aol.com, emacs-devel@gnu.org, monnier@iro.umontreal.ca, dgutov@yandex.ru To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 09 16:31:36 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 1iTSi8-0016sn-On for ged-emacs-devel@m.gmane.org; Sat, 09 Nov 2019 16:31:36 +0100 Original-Received: from localhost ([::1]:37270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTSi7-0005mB-CC for ged-emacs-devel@m.gmane.org; Sat, 09 Nov 2019 10:31:35 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47034) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTSi1-0005m1-6Q for emacs-devel@gnu.org; Sat, 09 Nov 2019 10:31:30 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:40476) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iTSi0-0002Rv-OQ; Sat, 09 Nov 2019 10:31:28 -0500 Original-Received: from [176.228.60.248] (port=2975 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iTSi0-000436-6i; Sat, 09 Nov 2019 10:31:28 -0500 In-reply-to: (message from =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= on Sat, 9 Nov 2019 13:29:30 +0000) 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:242044 Archived-At: > From: João Távora > Date: Sat, 9 Nov 2019 13:29:30 +0000 > Cc: Ergus , Dmitry Gutov , > Stefan Monnier , emacs-devel > > > It's up to you, but I think an option that causes the matched part to > > be prominent and the next character to type not prominent (which is > > AFAIU what you want) is much easier and lightweight for users than > > loading a theme or customizing a face. > > I do believe loading a theme is much simpler than asking the > user to set an option for such a minute aspect. I load themes > because I trust many such good decisions of the theme's > author: I don't want to worry about individual ones. If I ever do, > I'll customize a face. Faces and variables that control > application of faces are, in my humble opinion of course, > crazy. Even for Emacs :-) I think you are looking at this from the implementation POV. From users' POV, an option (or a minor mode) is a better way when we are talking not just about changing colors and other face attributes, but about changing behavior in significant ways. In this case, what is implemented via faces changes the behavior, because a face prominently different from the default becomes like the default, and another face makes the reverse transformation. Think of this as a binary mode that makes either the first-difference or the common part prominent: flipping a variable is an easily understood and easily discovered way of getting each user the behavior he/she wants. By contrast, loading a theme or customizing 2 faces in coordinated way is much less discoverable and much more complex. So I think providing an option is better then telling users to customize themes or faces. It also has a clear and simple path for becoming the default in the future. Thus, it is IMO a compromise that should leave us happier than the all-or-nothing kind of solution that you are defending.