From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: cl-lib questions (was: Re: Screenshots, frame shots straight from Emacs) Date: Wed, 21 Jul 2021 23:44:45 +0200 Message-ID: <87mtqfuysy.fsf_-_@zoho.eu> References: <87sg1dgbbk.fsf@omarpolo.com> <87pmwhg843.fsf@omarpolo.com> <8735t96mxj.fsf@omarpolo.com> <87pmw961ox.fsf@zoho.eu> <874kcpxln9.fsf@logand.com> <87pmvcdgqg.fsf@t14.reltub.ca> <87a6mgwz17.fsf@logand.com> <87tukno4s8.fsf@t14.reltub.ca> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31221"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:QHt4kFyDmuDGBBRFs/IWdM919mg= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 21 23:46:28 2021 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 1m6K2u-0007wX-SE for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 21 Jul 2021 23:46:28 +0200 Original-Received: from localhost ([::1]:59110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6K2t-0006Tv-SY for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 21 Jul 2021 17:46:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33956) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6K1V-0006Sc-Py for help-gnu-emacs@gnu.org; Wed, 21 Jul 2021 17:45:01 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:35700) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6K1T-0001Si-Sl for help-gnu-emacs@gnu.org; Wed, 21 Jul 2021 17:45:01 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1m6K1O-0005ii-LB for help-gnu-emacs@gnu.org; Wed, 21 Jul 2021 23:44:54 +0200 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: 2 X-Spam_score: 0.2 X-Spam_bar: / X-Spam_report: (0.2 / 5.0 requ) HEADER_FROM_DIFFERENT_DOMAINS=0.248, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:131978 Archived-At: Stefan Monnier wrote: >> The byte compiler did not complain after making the change. >> I didn't investigate further, but suspect that the >> requirement is unneeded. > > Quite likely (unless it so happens that the package relies > on one of those `cl` features which were incorporated into > core when `cl-lib` was introduced, the main such feature > being `setf`). Can you perhaps say a couple of words on the intended use for `setf', I get it it is a generic function (macro) but is there in your mind say one or two typical use cases or something like that to exemplify? Also, what is the difference between setf and `setq' with respect to setting `let'/`let*' variables? E.g., (let ((x "the truth is out there")) (setf x "with a special flavor for YOU") x) (let ((x "the truth is out there")) (setq x "with a special flavor for YOU") x) both of which evaluate to "with a special flavor for YOU" ? Another cl-lib question is the type of clause usable with `cl-loop' that are described like this in the docstring: Accumulation clauses: collect/append/nconc/concat/vconcat/count/sum/maximize/minimize FORM [into VAR] The reason I ask this here is that I have tried to use that many times in order to not have setq/setf in loops, which you BTW said were virtually equivalent in that setting IIRC, so my question in, is it possible to use accumulation clauses instead, and if so, how, and if not, then when, for what purpose, and how are you supposed to use them? TIA -- underground experts united https://dataswamp.org/~incal