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: [External] : Re: Testing whether a list contains at least one non-nil element Date: Wed, 26 Oct 2022 19:43:22 +0200 Message-ID: <87pmeea3b9.fsf@dataswamp.org> References: <87pmegm7lk.fsf@web.de> <878rl3re70.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="29408"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:OeL/7dG1FMZMY88SvWRADtYVzOY= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 26 21:11:27 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 1onloF-0007RB-2R for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 26 Oct 2022 21:11:27 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1onlmm-0001dO-Ua; Wed, 26 Oct 2022 15:09:56 -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 1onkRQ-00019u-HI for help-gnu-emacs@gnu.org; Wed, 26 Oct 2022 13:43:48 -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 1onkRD-0003fy-DV for help-gnu-emacs@gnu.org; Wed, 26 Oct 2022 13:43:48 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1onkR7-0005aI-Ny for help-gnu-emacs@gnu.org; Wed, 26 Oct 2022 19:43:29 +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: -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.249, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 26 Oct 2022 15:09:55 -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@gnu.org Xref: news.gmane.io gmane.emacs.help:140411 Archived-At: Drew Adams wrote: >>> (cl-member-if-not #'null toto) >> >> Close >> (cl-member-if-not #'null '(nil nil)) ; nil >> (cl-member-if-not #'null '(nil 2)) ; (2) >> >> But >> (cl-position-if-not #'null '(nil nil)) ; nil >> (cl-position-if-not #'null '(nil 2)) ; 1 > > The request was for a test of whether the input > list contains any non-nil elements. Right, I thought the question was identify the spot and loop the rest of the list from there, and the OP said something to that extend, but actually it's unclear what solution is best even then since one can iterate the rest of the list with `member' as well, and maybe that's even more idiomatic than to rely on an index to identify the starting point come think of it. Okay I was wrong ... https://www.youtube.com/watch?v=6WOYnv59Bi8 > Yes, both `cl-member-if-not' and `cl-position-if-not' can do > that. Or `cl-member-if' and `cl-position-if', passing > #'identity. > > There are lots of ways to do it. That's a good thing, but which way is the best way? -- underground experts united https://dataswamp.org/~incal