From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Setting numecir values according to symbol Date: Mon, 31 Oct 2022 12:25:02 +0100 Message-ID: <87cza8dylt.fsf@dataswamp.org> References: <87sfj54g8w.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12859"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:bmQc5Lcnc4yNuFeA8uv/Ic+t8Oc= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 31 14:15:34 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1opUda-00036f-NA for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 31 Oct 2022 14:15:34 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opUcv-0006aE-LE; Mon, 31 Oct 2022 09:14:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opSuq-0004m2-9o for help-gnu-emacs@gnu.org; Mon, 31 Oct 2022 07:25:16 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opSuo-0003g6-Ja for help-gnu-emacs@gnu.org; Mon, 31 Oct 2022 07:25:16 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1opSuk-00024V-Qx for help-gnu-emacs@gnu.org; Mon, 31 Oct 2022 12:25:10 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 31 Oct 2022 09:14:49 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: "help-gnu-emacs" Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:140536 Archived-At: Heime wrote: > I did simplify this with the following "cl-case". > Am interested in seeing how a can implement the equivalent > using "pcase". > > (setq mbcomplt > (cl-case armg > ('auto 0) > ('icomplt-horz 1) > ('icomplt-vert 2) > ('ivy 3) > ('vertico 4) > ('helm 5))) Again, that's not a good idea to do, to just set one variable to something depending on some other, it's error-prone and it doesn't bring anything, really, the information is already there and does not increase from that (what you just did). Also, what you have done looks like an enumeration from C, actually I don't know if that is any better since its a variation of what I just said one shouldn't do, but if it's just a matter of doing that you can do (setq mbcomplt-armg (list 'auto 'icomplt-horz 'icomplt-vert 'ivy 'vertico 'helm) ) (cl-position 'auto mbcomplt-armg) ; 0 (cl-position 'icomplt-horz mbcomplt-armg) ; 1 ; etc Well, it's a little bit better since the information is "built-in", but the so-called position should still not be used unless the list has some order one has decided to uphold (and has some meaning). > Would this be all, as below? > > (setq mbcomplt > (pcase armg > ('auto 0) > ('icomplt-horz 1) > ('icomplt-vert 2) > ('ivy 3) > ('vertico 4) > ('helm 5))) Yes, but I don't see any reason to use `pcase' here, even less than `cl-case' ... -- underground experts united https://dataswamp.org/~incal