From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: Is there already an alist function which gets all matching elements, not just the first? Date: Wed, 05 Oct 2022 18:16:43 +0000 Message-ID: <87y1tum8z8.fsf@posteo.net> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19762"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Oct 05 20:25:38 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 1og95O-0004vj-5X for ged-emacs-devel@m.gmane-mx.org; Wed, 05 Oct 2022 20:25:38 +0200 Original-Received: from localhost ([::1]:58572 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1og95M-0005Ex-P8 for ged-emacs-devel@m.gmane-mx.org; Wed, 05 Oct 2022 14:25:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1og8wu-0000XL-10 for emacs-devel@gnu.org; Wed, 05 Oct 2022 14:16:52 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:57689) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1og8wr-00069g-KL for emacs-devel@gnu.org; Wed, 05 Oct 2022 14:16:51 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 853FC24002A for ; Wed, 5 Oct 2022 20:16:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1664993806; bh=F0A0o4AHKlEMRlOcB0cSFHFhSIYJNaCU+i6QhqMbYKM=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=KpbEtwFp/cVZfzgLAfR2reh4q/O1luslpWQnzyIpuaaWnKCTuMeBep2kDs89ldUii 0gClpwQwnVib0Tm81ocw6Dd4YFjTEkxnefFt3LmwwItMmURJ9XYuqWcte2vjLDw/MS qo9BtfSBNaSXGkWhN3nzJENHTOitAr5BiFzV7pUnPxutgoFlKn6YJKQxvCV/hLlzWo dfsOk3EDCzhoUB4KKugpta583i8kfZT0S4b+4S1BSquKBgFGXrLNX1clwvIrwfQPru Z6/SUmqmCmGDgWHiVjC8Rq7C5uHfoYambcQ/+I1f3OgOwgEOobsJfdLb/BnOE35bEM 0LkhNV4nho1lA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MjN7d5fGsz6tqx; Wed, 5 Oct 2022 20:16:44 +0200 (CEST) In-Reply-To: (Alan Mackenzie's message of "Wed, 5 Oct 2022 10:00:10 +0000") Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:297000 Archived-At: Alan Mackenzie writes: > Hello, Emacs. > > I want to be able to get all matching elements from an alist (thinking > about extending imenu). Something like > > (assoc-all key list) > > which would return a list of matches. After all, we have functions > which _delete_ all matches from an alist. > > Does such a function already exist, perhaps in cl-*.el? This appears to do the right thing (map-filter (lambda (k _v) (eq k '3)) '((3 . 4) (2 . 4) (1 . 2) (3 . 1))) ;; => ((3 . 4) (3 . 1)) Perhaps a `map-member' could be implemented that would do something like what you are looking for? Or does this already exist by some other name (I don't really use map.el). I've certainly wanted something like this more than a few times. > Thanks!