From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 24 20:52:14 2020 Received: (at submit) by debbugs.gnu.org; 25 Oct 2020 00:52:14 +0000 Received: from localhost ([127.0.0.1]:35537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWUGb-0005pZ-Vr for submit@debbugs.gnu.org; Sat, 24 Oct 2020 20:52:14 -0400 Received: from lists.gnu.org ([209.51.188.17]:52134) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWUGY-0005pQ-LK for submit@debbugs.gnu.org; Sat, 24 Oct 2020 20:52:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38240) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kWUGY-0007mJ-Bb for bug-gnu-emacs@gnu.org; Sat, 24 Oct 2020 20:52:10 -0400 Received: from mail-ej1-f54.google.com ([209.85.218.54]:35886) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kWUGW-0005jt-EI for bug-gnu-emacs@gnu.org; Sat, 24 Oct 2020 20:52:10 -0400 Received: by mail-ej1-f54.google.com with SMTP id w27so8189283ejb.3 for ; Sat, 24 Oct 2020 17:52:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=NfF3tqx5m8RmIgv1aOJFHt16IYrHX9tP4vFHtMGSfYE=; b=fVVQhZxigWKa793/B6LdyNXoBkdyUy74ovQmWNXj0RtQDTzeVwofV3iQ7Y+6upghfw RVd7g21dDwb5AfA6U23CHymh9pDFZtr9YDMajSDVRuRpQmgIsHOTYicLyKp6Qs6/g0n8 +tKVvRM+rOP+HaxUGpfu0BOCEzYh5Qxmi1hVYLbgREUxgfVj0JaTmlGOLOOFtu2BaX4y Ox/siWEFtriCPQSRP4ojnSHP/lU55+bl8sZF82JKhivzWNLYDbj/AdBCcE0Wn2FYTZGI PaakvyXS+l8Zaw6qqED3ILHi8GYr8P+8Kr4mzJg/DVad0LgmeDR+ntPoMe++v5mx5CLS 8a+Q== X-Gm-Message-State: AOAM530h+hRLotH+DeMtvOW8rYgiWL5j0aaSXLPJlKOA3iZFb8d8mRuT 1U0EcG9PVWP7I+jNqIuiBzQPEfq62MtDEHP/bgPlqZZu X-Google-Smtp-Source: ABdhPJyKvUz4Ucy2nXMhYKL0wskMHd8P9FChP3BbcYwY0u5x2rDqcUMpbwj9LN85oNCQc+FVi+ONyWp9zGbrlTLsNsQ= X-Received: by 2002:a17:906:bc91:: with SMTP id lv17mr9319858ejb.249.1603587125547; Sat, 24 Oct 2020 17:52:05 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 24 Oct 2020 17:52:04 -0700 From: Stefan Kangas MIME-Version: 1.0 Date: Sat, 24 Oct 2020 17:52:04 -0700 Message-ID: Subject: [PATCH] Add new function seq-remove-item To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000fc302c05b27438c9" Received-SPF: pass client-ip=209.85.218.54; envelope-from=stefankangas@gmail.com; helo=mail-ej1-f54.google.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/24 20:52:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I found myself reaching for a version of `seq-remove' where I don't have to supply a lambda but can just give an item. Ergo, the attached. (seq-remove-item 2 '(1 2 3)) => (1 3) I find it a whole lot nicer than: Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [209.51.188.17 listed in wl.mailspike.net] -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [209.51.188.17 listed in list.dnswl.org] 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different 2.0 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) --000000000000fc302c05b27438c9 Content-Type: text/plain; charset="UTF-8" I found myself reaching for a version of `seq-remove' where I don't have to supply a lambda but can just give an item. Ergo, the attached. (seq-remove-item 2 '(1 2 3)) => (1 3) I find it a whole lot nicer than: (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) Turns out it could already be used to simplify some code in tab-line.el, even if seq is arguably not yet very widely used in our sources. I did not yet add it to NEWS or the manual; I will do that if people agree that this is a good addition. Comments? --000000000000fc302c05b27438c9 Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Add-new-function-seq-remove-item.patch" Content-Disposition: attachment; filename="0001-Add-new-function-seq-remove-item.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: e31d60ea17bfb749_0.1 RnJvbSA2Mjg3NTNjMmZlMDNmODZmZWMzOWJiYTk3YzExMDAwYmMxY2NlMTMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogU3VuLCAyNSBPY3QgMjAyMCAwMjozMDoyNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBu ZXcgZnVuY3Rpb24gc2VxLXJlbW92ZS1pdGVtCgoqIGxpc3AvZW1hY3MtbGlzcC9zZXEuZWwgKHNl cS1yZW1vdmUtaXRlbSk6IE5ldyBmdW5jdGlvbi4KKiBsaXNwL2VtYWNzLWxpc3Avc2hvcnRkb2Mu ZWwgKHNlcXVlbmNlKTogRG9jdW1lbnQgaXQuCgoqIGxpc3AvdGFiLWxpbmUuZWwgKHRhYi1saW5l LXRhYnMtd2luZG93LWJ1ZmZlcnMpCih0YWItbGluZS1zZWxlY3QtdGFiLWJ1ZmZlcik6IFVzZSBz ZXEtcmVtb3ZlLWl0ZW0gaW5zdGVhZCBvZgpzZXEtcmVtb3ZlIHRvIHNpbXBsaWZ5IHRoZSBjb2Rl LgotLS0KIGxpc3AvZW1hY3MtbGlzcC9zZXEuZWwgICAgICB8ICA3ICsrKysrKysKIGxpc3AvZW1h Y3MtbGlzcC9zaG9ydGRvYy5lbCB8ICAyICsrCiBsaXNwL3RhYi1saW5lLmVsICAgICAgICAgICAg fCAxNiArKysrKysrKy0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbCBiL2xp c3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5kZXggNDY1NjI3N2VhMS4uODJkYWFlNmY0OCAxMDA2NDQK LS0tIGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVs CkBAIC0zMzEsNiArMzMxLDEzIEBAIHNlcS1yZW1vdmUKICAgKHNlcS1maWx0ZXIgKGxhbWJkYSAo ZWx0KSAobm90IChmdW5jYWxsIHByZWQgZWx0KSkpCiAgICAgICAgICAgICAgIHNlcXVlbmNlKSkK IAorOzs7IyMjYXV0b2xvYWQKKyhjbC1kZWZnZW5lcmljIHNlcS1yZW1vdmUtaXRlbSAoaXRlbSBz ZXF1ZW5jZSkKKyAgIlJldHVybiBhIGxpc3Qgb2YgYWxsIHRoZSBlbGVtZW50cyBpbiBTRVFVRU5D RSB0aGF0IGFyZSBub3QgSVRFTS4KK1RoZSBjb21wYXJpc29uIGlzIGRvbmUgdXNpbmcgYGVxdWFs Jy4gIgorICAoc2VxLWZpbHRlciAobGFtYmRhIChlbHQpIChub3QgKGVxdWFsIGl0ZW0gZWx0KSkp CisgICAgICAgICAgIHNlcXVlbmNlKSkKKwogOzs7IyMjYXV0b2xvYWQKIChjbC1kZWZnZW5lcmlj IHNlcS1yZWR1Y2UgKGZ1bmN0aW9uIHNlcXVlbmNlIGluaXRpYWwtdmFsdWUpCiAgICJSZWR1Y2Ug dGhlIGZ1bmN0aW9uIEZVTkNUSU9OIGFjcm9zcyBTRVFVRU5DRSwgc3RhcnRpbmcgd2l0aCBJTklU SUFMLVZBTFVFLgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3Nob3J0ZG9jLmVsIGIvbGlz cC9lbWFjcy1saXNwL3Nob3J0ZG9jLmVsCmluZGV4IGFjYzdkMTMxOTUuLjIwY2ZkNmUyOTUgMTAw NjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9zaG9ydGRvYy5lbAorKysgYi9saXNwL2VtYWNzLWxp c3Avc2hvcnRkb2MuZWwKQEAgLTczMCw2ICs3MzAsOCBAQCBzZXF1ZW5jZQogICAgOmV2YWwgKHNl cS1maWx0ZXIgIydudW1iZXJwICcoYSBiIDMgNCBmIDYpKSkKICAgKHNlcS1yZW1vdmUKICAgIDpl dmFsIChzZXEtcmVtb3ZlICMnbnVtYmVycCAnKDEgMiBjIGQgNSkpKQorICAoc2VxLXJlbW92ZS1p dGVtCisgICA6ZXZhbCAoc2VxLXJlbW92ZS1pdGVtIDMgJygxIDIgMyA0IDUpKSkKICAgKHNlcS1n cm91cC1ieQogICAgOmV2YWwgKHNlcS1ncm91cC1ieSAjJ2NsLXBsdXNwICcoLTEgMiAzIC00IC01 IDYpKSkKICAgKHNlcS1kaWZmZXJlbmNlCmRpZmYgLS1naXQgYS9saXNwL3RhYi1saW5lLmVsIGIv bGlzcC90YWItbGluZS5lbAppbmRleCA0NmJmODlmMTRlLi4yNmY1Zjc1MGI0IDEwMDY0NAotLS0g YS9saXNwL3RhYi1saW5lLmVsCisrKyBiL2xpc3AvdGFiLWxpbmUuZWwKQEAgLTM4NSwxMSArMzg1 LDExIEBAIHRhYi1saW5lLXRhYnMtd2luZG93LWJ1ZmZlcnMKIHZhcmlhYmxlIGB0YWItbGluZS10 YWJzLWZ1bmN0aW9uJy4iCiAgIChsZXQqICgod2luZG93IChzZWxlY3RlZC13aW5kb3cpKQogICAg ICAgICAgKGJ1ZmZlciAod2luZG93LWJ1ZmZlciB3aW5kb3cpKQotICAgICAgICAgKG5leHQtYnVm ZmVycyAoc2VxLXJlbW92ZSAobGFtYmRhIChiKSAoZXEgYiBidWZmZXIpKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAod2luZG93LW5leHQtYnVmZmVycyB3aW5kb3cpKSkKKyAg ICAgICAgIChuZXh0LWJ1ZmZlcnMgKHNlcS1yZW1vdmUtaXRlbSBidWZmZXIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2luZG93LW5leHQtYnVmZmVycyB3aW5kb3cp KSkKICAgICAgICAgIChuZXh0LWJ1ZmZlcnMgKHNlcS1maWx0ZXIgIydidWZmZXItbGl2ZS1wIG5l eHQtYnVmZmVycykpCi0gICAgICAgICAocHJldi1idWZmZXJzIChzZXEtcmVtb3ZlIChsYW1iZGEg KGIpIChlcSBiIGJ1ZmZlcikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICht YXBjYXIgIydjYXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2luZG93KSkpKQorICAgICAgICAgKHBy ZXYtYnVmZmVycyAoc2VxLXJlbW92ZS1pdGVtIGJ1ZmZlcgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydjYXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2lu ZG93KSkpKQogICAgICAgICAgKHByZXYtYnVmZmVycyAoc2VxLWZpbHRlciAjJ2J1ZmZlci1saXZl LXAgcHJldi1idWZmZXJzKSkKICAgICAgICAgIDs7IFJlbW92ZSBuZXh0LWJ1ZmZlcnMgZnJvbSBw cmV2LWJ1ZmZlcnMKICAgICAgICAgIChwcmV2LWJ1ZmZlcnMgKHNlcS1kaWZmZXJlbmNlIHByZXYt YnVmZmVycyBuZXh0LWJ1ZmZlcnMpKSkKQEAgLTYyMiwxMCArNjIyLDEwIEBAIHRhYi1saW5lLXNl bGVjdC10YWIKIAogKGRlZnVuIHRhYi1saW5lLXNlbGVjdC10YWItYnVmZmVyIChidWZmZXIgJm9w dGlvbmFsIHdpbmRvdykKICAgKGxldCogKCh3aW5kb3ctYnVmZmVyICh3aW5kb3ctYnVmZmVyIHdp bmRvdykpCi0gICAgICAgICAobmV4dC1idWZmZXJzIChzZXEtcmVtb3ZlIChsYW1iZGEgKGIpIChl cSBiIHdpbmRvdy1idWZmZXIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo d2luZG93LW5leHQtYnVmZmVycyB3aW5kb3cpKSkKLSAgICAgICAgIChwcmV2LWJ1ZmZlcnMgKHNl cS1yZW1vdmUgKGxhbWJkYSAoYikgKGVxIGIgd2luZG93LWJ1ZmZlcikpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydjYXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMg d2luZG93KSkpKQorICAgICAgICAgKG5leHQtYnVmZmVycyAoc2VxLXJlbW92ZS1pdGVtIHdpbmRv dy1idWZmZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2luZG93 LW5leHQtYnVmZmVycyB3aW5kb3cpKSkKKyAgICAgICAgIChwcmV2LWJ1ZmZlcnMgKHNlcS1yZW1v dmUtaXRlbSB3aW5kb3ctYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG1hcGNhciAjJ2NhciAod2luZG93LXByZXYtYnVmZmVycyB3aW5kb3cpKSkpCiAgICAg ICAgICA7OyBSZW1vdmUgbmV4dC1idWZmZXJzIGZyb20gcHJldi1idWZmZXJzCiAgICAgICAgICAo cHJldi1idWZmZXJzIChzZXEtZGlmZmVyZW5jZSBwcmV2LWJ1ZmZlcnMgbmV4dC1idWZmZXJzKSkp CiAgICAgKGNvbmQKLS0gCjIuMjguMAoK --000000000000fc302c05b27438c9-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 25 08:50:12 2020 Received: (at 44205) by debbugs.gnu.org; 25 Oct 2020 12:50:12 +0000 Received: from localhost ([127.0.0.1]:35938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWfTP-0000cG-R6 for submit@debbugs.gnu.org; Sun, 25 Oct 2020 08:50:12 -0400 Received: from quimby.gnus.org ([95.216.78.240]:58890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWfTN-0000bv-L1 for 44205@debbugs.gnu.org; Sun, 25 Oct 2020 08:50:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=OroRZKDi/8/fPPM5CLty7BlG8RCcOdLTgQeOip2Rbjc=; b=usLxF5w0XVQ3no+kSyvJXXyFv7 RPayXW6uXfg3w21j9jqvgRRWYgKhH/zzec8qIQthv3rhMiqw/8bBpk4+be9qgtV1Suh6T8X210Cyn JQKoxlol9OkioPlChP3h2QtsJUdP2a9AG4KMTK2sGwUtaZgW2TNUM0Xa2+sInqahLjuo=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kWfTA-0000fd-Kq; Sun, 25 Oct 2020 13:50:02 +0100 From: Lars Ingebrigtsen To: Stefan Kangas Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item References: Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAG1BMVEVHJR9AKixHJBtm gJus3PWsrq2/YCvjn2L///8rhcJvAAAAAWJLR0QIht6VegAAAAd0SU1FB+QKGQwsOD6J2dQAAAGX SURBVDjLdZRdbsMgDIBptAs0ygEI1d63LNrzopjxOk3QHmCFXCBprj+DIdA/S+0Dn2x/GAhjD2O3 Z+JhcPYEIBHtR4p9Xmc7JnrY4o1XrKo4q3ybFsDEgJGWKFoYXYweOlqLGTKBcwBYimgPCfzBUGyl auAzERjKfTRwdG5aQneZzN8Z4wf4ds5Is7lpbczYErDKZ+HP2aM5zc4NCLyWNUZarWCFWSkltfnF Hl5r1lJqrWfQYH21uYvAmJM5LiiwGLssk5yZB6glc+8QQxj7AdRmBGRbswimFePip1Wn/SFArZXi ck5jDEBoORFwFr4K4LVihgVsyzeAWrHWCiMvSr1moGVRCqelNgB1kZG11jlreWt/uiS2wE8B6HQD CVoZNFAjudHyE3jxxz5FUPYIpzvdaHnQepB8u6JUuI3Tja8IWjKuo2/SIgBph0vU2tHDaeB0N0Yh nkzrHnQZPBwj3W4tc/ehAFda0VckrbgTl7QIHEDmJ4pvfAPlox64yBn4GUgZeD95Aa6/IyVgVfjH N16JJxm0/g/Ah/XmIQnAfgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0xMC0yNVQxMjo0NDo1Nisw MDowMKjPrP4AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMTAtMjVUMTI6NDQ6NTYrMDA6MDDZkhRC AAAAAElFTkSuQmCC X-Now-Playing: Instant Life's _I turned my best friends into slaves_: "Sat Corp" Date: Sun, 25 Oct 2020 13:49:55 +0100 In-Reply-To: (Stefan Kangas's message of "Sat, 24 Oct 2020 17:52:04 -0700") Message-ID: <87v9eybhcc.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Stefan Kangas writes: > I found myself reaching for a version of `seq-remove' where I don't have > to supply a lambda but can just give an item. Ergo, the attached. > > (seq-remove-item 2 '(1 2 3)) => (1 3) > > I find it a [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Kangas writes: > I found myself reaching for a version of `seq-remove' where I don't have > to supply a lambda but can just give an item. Ergo, the attached. > > (seq-remove-item 2 '(1 2 3)) => (1 3) > > I find it a whole lot nicer than: > > (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) Isn't this just (remove 2 '(1 2 3)) => (1 3) though? I don't think seq.el needs to replicate the basic list functions... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 25 12:25:18 2020 Received: (at 44205) by debbugs.gnu.org; 25 Oct 2020 16:25:18 +0000 Received: from localhost ([127.0.0.1]:37452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWipZ-0004DR-TX for submit@debbugs.gnu.org; Sun, 25 Oct 2020 12:25:18 -0400 Received: from sonic304-22.consmr.mail.ir2.yahoo.com ([77.238.179.147]:45867) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWipW-0004D3-Nv for 44205@debbugs.gnu.org; Sun, 25 Oct 2020 12:25:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1603643103; bh=CFS9Et7l9kIc4aLr89oCfmHrwwU4GH2LfLrtwurmjbQ=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=Xs4HaVcL7wc6LW1x7VPs70U7VzQUVVTjdI76s7vcUys419DIozdyiSFBgshSJmp2C9+ARbVvWr2Ims2B437de7TLeUDw45xYgDYRlprTfEb+d6LWy4QtcvocqIF/LrnexeGDPHm0UjcsDhms9sx1PzYUoBSgu+XaGGoMRfEdytaIRgAHZe5upcN8ozxe4nkyEUT4kdCZlnoO2ExZeuVw/JF6aCiyodW5Z4DdWfAtCq2kT64vVNfrr8RjG+3q2Zh0qC27sGe68MGlfPm3pPCpNStFzFhgw8qoJPiz83PvUGeteDy3eX8rL8cbYdXDtdPo0oRxe8EeHiKcynyuwtfX2Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1603643103; bh=SoYQmwR0gWv214cqD3Go+CPBKnvaP0xnYqeDeHnPs5o=; h=From:To:Subject:Date; b=ts38PiZ3Phj9kTaIiRUc8M3MdQNxiP+o0w1a9DeJ0esiWGDyGCf839CilFSEiGwFUo/Rff/IBE/cMB7gnbuswUTzDjIzqD2WJ35Y2paAKOs7XWz7UuY1fjYh62KHoi61Qg0MtzHCggvX8TBHYij2rou/1M5aC1X/pIRF7lOQLRR421rfPhqw0MRb7T8wfMsI7NBicZJQAce1pLPPTfiPJDiUfvl1q14JS2TJq5s2WoubL7/pY6TAkcQXjpJa8hry5CgI1J6SgK6eP2NnUs2qpGLGsE3FwU8yG+591HJ72wWK+fyuc9Gj/w0Shj8Pf2ae8brqn77wahCjLmVZtMVBQg== X-YMail-OSG: j_Bdv5EVM1lKcw8GmeXVTUrbVIjqLu06ozngPDXIFw1G6JZ21tUQCZxQ8fC4dME gtl_cBKHhA6jL6vJKy2xrxqurmM3NpxD8Udm0o1JAzsLWPeTyNBcKGxwBcjbqVLfmJaiBDv9ghTD Vayskz.LYIe0f16fC7ZBHto3sHvKUtQyN8MC44mWCTn.aTmqgfofNaVeNiqiBx4RnLbqltrHHeRH 69mGUEigEdAEyBRP1ywMDn1Zr2xU9l0IazXnNF3e9Ij3KWZibB6AJLtd1mDRHKf_3D4HJ4ap0ZQn GI9FKqmbMIc3kQW06Zbbn11HGEONXOLZQksGQBTXtOurmshEGaWyPEMZHFbQBdz859gcuq4aRXA0 6p2JLs.WeLHLTIp6cBH5dI941EpV3MN42oDf7q2MzGExq0NPcGqCxTDtqefqRvO4EQFapked64ZH pTiHT._A7ySlD0iYfMzD_GXKBT7kVC4AT1Cb5eHEVs1yINAZBRjpzDSPnf.n8RPh8eYcQE.mRm1V 7ln2E7tJDQc_Lu56THErUhwO9z2sJJsf0SD1TuTlMcZiyZS1QCq4OAyfc6v3gsaSCmb88Bufq8Wv E2hRXYVWVmGC29wteTbjJ6FI04KOh3MkVNnN..W8eIMIqTPyDzhgMssJAjgrHbA_JsTvsSUIAPhg RLTvJOjgdyicVQ0tPQPAXReiGqN.2SIXcmliF8SyeBx_nGAz.g5AlGqjZxixZ0bzR4tvt3LXgzw9 7QgWQUDFvrzydEI9mposUDpgVnlAldCXwSvm8jfaION5C3gdr8TKExdwrt3jyKHtMxED9DFZtmDd mt0ORf_oCMFFxZkqX86M.SA17KmjyXpBEEjAeC1QJYLMlLh2UBb1aVvVx34yvEEyoHE5SNO1IKOw doHk1JA7u3puYv.iCOFUODO3.ABzd.LJfzjH0uOlJFX5Cej_Jzh3TFqIeJ_G176UxAzNvfvtAF4H yV8RtYxaMlZy9PIGmmlPF7Vy1uUnDLJMscpGdRbMPWH7cHEWWVN44t8_XaGrat6RjoHosfPLyqae SjFv3442ZuOV2yaZ9qoRV2pKnikQRKGTJ.6rGzu4aYd2_ZkvGEghCFiE.3OTmg3sColgkFqnIySx 79eGGQejyL2zPTp9Bf0pgPJtlnVIb8MO3B9CMvcs1ymVKSas.2DLryKdC_T_HH6H6l6KA6idHfTm QBs9r.4H.FEXzDx1xr8SGEo6A_IGMfvWfLTxzsY2rFjj6V7x0ajM5SzTtRRdhk0RVMYJoNJZDUWg __.eSfrrjP8P.4kTeaTMznPVdNIXCh8wyNEDabn2IEz_YFUtRloo0XOtNvEdwmFYNBiQA6b0QiFd XL_CN3qf4jQ2CsrpgGvsSQ5zy6vY7u75yub2qlkxVPt_LOcrPri5bhqDhl_3SlsTXcgpImZS0Ddt zeKy0uHCj_U04RdsZstnqAk9K09rQwXWJIFQET2fsdKoS9LPufBcsCLdWPlKl33Z0mwnWUwwLCaN kFAC8wvjotCz2uNZFYcx.yB7iyuVXVQBctYndfhhRCR8Uc5fxP7cqvirg_IP8zxpyrXGiKtvMZ28 y1CdHKDS2GWYg8jFtc_ppOMrqCCy5XcYvK1n_ljBCRlDrpfklCx89WBf9PRvj92cr72yZDjLbMGC F_Y1Wr1eP1Nkpr7.YJXRqXCOPxaQc07KFV5YGJM3z7s46N_IyMy8bnuo30CLJuw25FbgCY4cIT0L J6PP05_2_6Ex12.J1g23zE6CVgoh6AiVEL4KY7r4gOg.msJEaFXhWnpJnarwnI_oBVURvHlcaMk0 zshFE6g4twmZ8Zv5nELcFO3OpS5dbKWBK8O9FrAlOXLPOJ2jS66FFQw8UuKLNeoXH0xtqO48KdKo 8XzSfvX_g5ot8iAF5Bya7qzR.OrvRLtIvkeOPSL1ot_ERx0jwSMWCwmyx6XmOGQN5RCsN6fVDIKa TOcsl0zuNGFwdZxNuuhnraZhqQ4sp26CzNFGwzvw2HIyslLEPfeNoR13LmZNbs3Q84jmApYRPbWc B42qL.yCLDWnRdTEE4QRRuSu4dBXdSNoYI2i4C6F0INwr6QACBhk48NQiji17Q4.4Xhko_AmXaiC k22IM1uPU64O5M.X7bmtPTuQUahqYD2f16pnZ6mxmzvII3hbzOBqSZ8i7ntM4NIEjGjlATwKh6e5 .ZgL_xgfeR7ZHbR2vwRBdo.SbQ2KbFeHOJWuJcAKPikSlXymGZRYy58nfQMKEKl4G4Ks3PhoyXUw Log7SlCXU1YMM1K3pvWI0oqCo4ILlTtD_XT3dUTrID80wyIO6VGvve2OliZIBiiJYMJbMAvokPxh 3wuEM2Xa4jFGEhu2W9zWU8u.I2kpIO3y7aCb9Rhga4MOfX3pL4Fqu.3dkKMxaGLKbhQuxNZAaX2n joAhrHJGDtv6Ii7XFzdSMVq0JbKOQwN4SN4Q3LwkzcCHuqmv90sh9lBeFi47s_B5kiBUfudU8Up3 KmrOOBAGoN6.cHGurQTquhOHhoQGKPHWsMKmy.sImMUNarlN4TvR3Goz7kCNIRE4nk3dVkYq_IgC 8Na.k7YooFCSWMrCXZpwkJ4pkSv_T7v38tMIVUJ.9xXh2vLyP09FFwMm97UyBY0MGeFX8SQFCIMG DdGh0Wv3NQ_3UxJKWwTQFVnDkgJ32JhbddFtCHYhpL.PZbWHH1nX.GHeCP.lSaSfZ8467iI8Azh8 PHlJeBvLn8wAGQXseVw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ir2.yahoo.com with HTTP; Sun, 25 Oct 2020 16:25:03 +0000 Received: by smtp402.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 5ced5216239abf9eba747425d95053e7; Sun, 25 Oct 2020 16:25:02 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Stefan Kangas Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item References: Date: Sun, 25 Oct 2020 17:25:02 +0100 In-Reply-To: (Stefan Kangas's message of "Sat, 24 Oct 2020 17:52:04 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.16868 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) Content-Length: 1066 X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Stefan Kangas writes: > I found myself reaching for a version of `seq-remove' where I don't have > to supply a lambda but can just give an item. Ergo, the attached. > > (seq-remove-item 2 '(1 2 3)) => (1 3) > > I find it a whole lot nicer than: > > (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) > > Turns out it could already be used to simplify some code in tab-line.el, > even if seq is arguably not yet very widely used in our sources. > > I did not yet add it to NEWS or the manual; I will do that if people > agree that this is a good addition. > > Comments? I don't see a clear need for this new function, because there's already (delete 2 '(1 2 3)) -> Destructs the original list, compares with equal. (remove 2 '(1 2 3)) -> Keeps the original list, compares with equal. (delq 2 '(1 2 3)) -> Destructs the argument list, compares with eq. (remq 2 '(1 2 3)) -> Keeps the original list, compares with eq. Maybe we could add or improve cross-references in the documentation so that these functions are more discoverable? From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 25 15:13:06 2020 Received: (at 44205) by debbugs.gnu.org; 25 Oct 2020 19:13:06 +0000 Received: from localhost ([127.0.0.1]:37701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWlRy-0004BE-2k for submit@debbugs.gnu.org; Sun, 25 Oct 2020 15:13:06 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:58997) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWlRw-0004Aj-If for 44205@debbugs.gnu.org; Sun, 25 Oct 2020 15:13:05 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 19ABC240005; Sun, 25 Oct 2020 19:12:56 +0000 (UTC) From: Juri Linkov To: Stefan Kangas Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item Organization: LINKOV.NET References: Date: Sun, 25 Oct 2020 21:12:46 +0200 In-Reply-To: (Stefan Kangas's message of "Sat, 24 Oct 2020 17:52:04 -0700") Message-ID: <878sbuqho5.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > I found myself reaching for a version of `seq-remove' where I don't have > to supply a lambda but can just give an item. Ergo, the attached. > > (seq-remove-item 2 '(1 2 3)) => (1 3) There is no name 'item' used in function names of seq.el. The term used here is 'elt', so maybe 'seq-remove-elt' would be a better name. > I find it a whole lot nicer than: > > (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) > > Turns out it could already be used to simplify some code in tab-line.el, > even if seq is arguably not yet very widely used in our sources. The initial versions of tab-line.el used a more complex condition, but now a simpler remove/remq could be used instead. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 27 09:36:18 2020 Received: (at 44205) by debbugs.gnu.org; 27 Oct 2020 13:36:18 +0000 Received: from localhost ([127.0.0.1]:43326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXP98-0002GU-0c for submit@debbugs.gnu.org; Tue, 27 Oct 2020 09:36:18 -0400 Received: from mail-ed1-f52.google.com ([209.85.208.52]:42998) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXP95-0002GF-8X for 44205@debbugs.gnu.org; Tue, 27 Oct 2020 09:36:16 -0400 Received: by mail-ed1-f52.google.com with SMTP id v19so1444407edx.9 for <44205@debbugs.gnu.org>; Tue, 27 Oct 2020 06:36:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=euOcR6BMUlq09LJUKnDnZOLg0sM6OztmsKqXzaVGqQc=; b=l7jB6PNdhN7rqYVHKcatgvf7XbgQhz3NW0wzZ7uYbkZrIWbg5JyJnq+N/jMHU6zjgq M27xyNBt/xvQNs0qk9kuRRodIcuxSFAV7KYCRyz/7TCs6D/4n1YLgcT+lk2jAe5xXFQ9 de697XPBPM9hq4dG8h57x14Nd005O2KX1FFv9nM+Ph29iOzWcGLPEdJMcrGL0em4kysI 2tY6OOmG7suFf9vdZ4EENj32/IP3WlmoVnha1/kxBDZ5jxmroVtdnf2oHeaZ1Z9wUId7 2E1+EOkjsoOFBguXLg25/Oidy+BNZh7586lp/A5rprss8oPcB2MOBiB0d5NMyL0zlwcK wE/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=euOcR6BMUlq09LJUKnDnZOLg0sM6OztmsKqXzaVGqQc=; b=twpqqW/VBsQMv9n8lrnDCH6GWSDf/ZYXy6YEEQ58KphB09CYyt64nh2c6lEiZXQvuT fOFG3AeMdZOqHx9LBCS+HNh2+/SOHPFurBYbgQUI0RNIf6rttqOn306L/NodvXPbQqXN rfhTqVyzKgwBOcwYR//oqzqBDhO4jbyUHv20sBuR3xxDtdZXedTfCqWmxG+95n5a3OZz Tm5lnatL/hw2cFKy0lrB7aZSZCjQX7/1G/Qb643CaSGiVLKScQUJLmWa5d5F1myRyd1A 0BIGb1a6TdVmpEbT89v4ar8JpaewexZpNDTP/TOdG8yZIszZ+iPJ+wZeEF1Jhh/Ds6PS hufQ== X-Gm-Message-State: AOAM531FV9SqBcMkmoZIQ4FOtu91Qi9M4OTQie87NZM7Xcbqp4Q1br6P Yp7cWx62Hrt1XXkeW2Ip4ADbYQ== X-Google-Smtp-Source: ABdhPJxIH7oOpyFfFgi7HMXccpR+oj1VQw13nfT9HvAsvLAZSayA6tuP9vBKG2/xD3m8sSQJkcHSVw== X-Received: by 2002:a50:eb45:: with SMTP id z5mr2254608edp.144.1603805769181; Tue, 27 Oct 2020 06:36:09 -0700 (PDT) Received: from localhost ([51.37.250.4]) by smtp.gmail.com with ESMTPSA id h26sm981077edr.71.2020.10.27.06.36.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:36:08 -0700 (PDT) From: "Basil L. Contovounesios" To: Lars Ingebrigtsen Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item References: <87v9eybhcc.fsf@gnus.org> Date: Tue, 27 Oct 2020 13:36:07 +0000 In-Reply-To: <87v9eybhcc.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sun, 25 Oct 2020 13:49:55 +0100") Message-ID: <87v9evvliw.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org, Stefan Kangas X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Lars Ingebrigtsen writes: > Stefan Kangas writes: > >> I found myself reaching for a version of `seq-remove' where I don't have >> to supply a lambda but can just give an item. Ergo, the attached. >> >> (seq-remove-item 2 '(1 2 3)) => (1 3) >> >> I find it a whole lot nicer than: >> >> (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) > > Isn't this just > > (remove 2 '(1 2 3)) => (1 3) > > though? I don't think seq.el needs to replicate the basic list > functions... I think the idea is that seq.el functions are generic and can thus be extended to work with e.g. streams[1]. [1]: http://elpa.gnu.org/packages/stream.html -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 27 09:45:55 2020 Received: (at 44205) by debbugs.gnu.org; 27 Oct 2020 13:45:55 +0000 Received: from localhost ([127.0.0.1]:43351 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXPIR-0002Vr-GO for submit@debbugs.gnu.org; Tue, 27 Oct 2020 09:45:55 -0400 Received: from mail-ed1-f41.google.com ([209.85.208.41]:32778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXPIQ-0002Vc-H7 for 44205@debbugs.gnu.org; Tue, 27 Oct 2020 09:45:54 -0400 Received: by mail-ed1-f41.google.com with SMTP id w23so1510083edl.0 for <44205@debbugs.gnu.org>; Tue, 27 Oct 2020 06:45:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=uLzNNT6jV1bzq4EhenH2rBAGr3sx9B5Q90/ZU1KEuDA=; b=Mo8rqqOoXUCH5lBGpq/KvCNPq3nhspid/ZSsTXGFpXwoMYS3jmTRx88b+Bo2LoZO3h kop6HD9/aauRbk12/wMq5TaIjcveQD0pIEvarmZ0XX+JjRLn9nkId+S/SCZUuRuxNRdB FRLD8M9fWJmrKY1319PLMLSUcdnbQCoOn57x35tkK4R+YQxvRE6kftxQWYOi8mMrIlBl AyEkg1U1LdOOniSo36XIQYhK088ku7TZ/U0FDvx+zr3nR/cHHxiRtPTMdMhJ+H8RXIkM q3ViyBj5gm+oGzP/ez4ESKTclhYnpVcLWPtFAanKAiM18VEWUq02TttotwUuMnhhr9G3 qx5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=uLzNNT6jV1bzq4EhenH2rBAGr3sx9B5Q90/ZU1KEuDA=; b=kc2XOmk9aiFQmXhIvknlI8G0ryRBj4kfk3nL+EQn0ctNx1ORdmofMV8Em39eU1m/tL mm0VTX1V0Y8+oZUw6VKZRMOsnHE28LZCMBJ7VeyVbo+PV/dJ7H/ST98M1+kuM6eSV/RZ U1u47cL+KxE8zq+ou9ndcxo1z1eGzV7dtFCKDJk0zK+1OjZwRd4P5rPlhtX9iMA67nQ5 m4KorYEEXksFSjUduRbahAk7E8tkyiG0tuWChVaMLLNtvDzSoVMngh+uoHbPnT8pAcSN 9oeoMckrD3B2R2CzO8WGFDvfAx5oDz9TrTkEEhIDHEKTuX6HJsRb+Zj1rcIPbdsVZ9b6 Rygw== X-Gm-Message-State: AOAM530VBufyq7OFhpXWBroRoS+W8JlHjnYs/roheZsC6FgUPEM21bs8 yxnyPbjUzL7VSa61DnOttZeloCJ6oap4QAuV X-Google-Smtp-Source: ABdhPJxhbN+elZyty4genwMv4Jg6/eUM+6vyYn8+G93pbPVUlLhk6ZECd9Gr/1SOIscBajAomnOwLg== X-Received: by 2002:a50:a683:: with SMTP id e3mr2343062edc.33.1603806348487; Tue, 27 Oct 2020 06:45:48 -0700 (PDT) Received: from localhost ([51.37.250.4]) by smtp.gmail.com with ESMTPSA id z23sm1093522ejj.52.2020.10.27.06.45.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:45:47 -0700 (PDT) From: "Basil L. Contovounesios" To: Stefan Kangas Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item References: Date: Tue, 27 Oct 2020 13:45:46 +0000 In-Reply-To: (Stefan Kangas's message of "Sat, 24 Oct 2020 17:52:04 -0700") Message-ID: <87blgnvl2t.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Kangas writes: > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > index 4656277ea1..82daae6f48 100644 > --- a/lisp/emacs-lisp/seq.el > +++ b/lisp/emacs-lisp/seq.el > @@ -331,6 +331,13 @@ seq-remove > (seq-filter (lambda (elt) (not (funcall pred elt))) > sequence)) > > +;;;###autoload > +(cl-defgeneric seq-remove-item (item sequence) > + "Return a list of all the elements in SEQUENCE that are not ITEM. > +The comparison is done using `equal'. " > + (seq-filter (lambda (elt) (not (equal item elt))) > + sequence)) Why not replace seq-filter with seq-remove and do away with the 'not'? Is the indentation right here? > ;;;###autoload > (cl-defgeneric seq-reduce (function sequence initial-value) > "Reduce the function FUNCTION across SEQUENCE, starting with INITIAL-VALUE. > diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el > index acc7d13195..20cfd6e295 100644 > --- a/lisp/emacs-lisp/shortdoc.el > +++ b/lisp/emacs-lisp/shortdoc.el > @@ -730,6 +730,8 @@ sequence > :eval (seq-filter #'numberp '(a b 3 4 f 6))) > (seq-remove > :eval (seq-remove #'numberp '(1 2 c d 5))) > + (seq-remove-item > + :eval (seq-remove-item 3 '(1 2 3 4 5))) > (seq-group-by > :eval (seq-group-by #'cl-plusp '(-1 2 3 -4 -5 6))) > (seq-difference > diff --git a/lisp/tab-line.el b/lisp/tab-line.el > index 46bf89f14e..26f5f750b4 100644 > --- a/lisp/tab-line.el > +++ b/lisp/tab-line.el > @@ -385,11 +385,11 @@ tab-line-tabs-window-buffers > variable `tab-line-tabs-function'." > (let* ((window (selected-window)) > (buffer (window-buffer window)) > - (next-buffers (seq-remove (lambda (b) (eq b buffer)) > - (window-next-buffers window))) > + (next-buffers (seq-remove-item buffer > + (window-next-buffers window))) > (next-buffers (seq-filter #'buffer-live-p next-buffers)) > - (prev-buffers (seq-remove (lambda (b) (eq b buffer)) > - (mapcar #'car (window-prev-buffers window)))) > + (prev-buffers (seq-remove-item buffer > + (mapcar #'car (window-prev-buffers window)))) > (prev-buffers (seq-filter #'buffer-live-p prev-buffers)) > ;; Remove next-buffers from prev-buffers > (prev-buffers (seq-difference prev-buffers next-buffers))) > @@ -622,10 +622,10 @@ tab-line-select-tab > > (defun tab-line-select-tab-buffer (buffer &optional window) > (let* ((window-buffer (window-buffer window)) > - (next-buffers (seq-remove (lambda (b) (eq b window-buffer)) > - (window-next-buffers window))) > - (prev-buffers (seq-remove (lambda (b) (eq b window-buffer)) > - (mapcar #'car (window-prev-buffers window)))) > + (next-buffers (seq-remove-item window-buffer > + (window-next-buffers window))) > + (prev-buffers (seq-remove-item window-buffer > + (mapcar #'car (window-prev-buffers window)))) As others have pointed out, these would be better served by remq, and/or fusing multiple loops into a single one. Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 12 19:08:01 2020 Received: (at 44205) by debbugs.gnu.org; 13 Nov 2020 00:08:01 +0000 Received: from localhost ([127.0.0.1]:46091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kdMdF-00042h-1O for submit@debbugs.gnu.org; Thu, 12 Nov 2020 19:08:01 -0500 Received: from mail-ej1-f50.google.com ([209.85.218.50]:42174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kdMdC-00042N-BJ for 44205@debbugs.gnu.org; Thu, 12 Nov 2020 19:07:59 -0500 Received: by mail-ej1-f50.google.com with SMTP id i19so10672524ejx.9 for <44205@debbugs.gnu.org>; Thu, 12 Nov 2020 16:07:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=9SPEf0aVQvikSdskKoGEkf481oOyuM3BAF01EbUx7X4=; b=tM2i2MPCYtLs/L7fJLQLJ0oe0HbmKkB5IaOYERLa9Fvi/raukxwtGW0kXGR8ZsLgkk e0AFfK4pqlrBg6Sxv9MHoyK+KQThSce9toSZ2PEOMX8peLR34Oi7lD36bPcsXbPZXusl DlzHf57ZFMKrpdtx7ydDpJpjcVLrFCtocKj9vyeb3TWU4kLq/HOzJr6CRY8U3h7auCR6 Q5XePdsC10wKofBsqixx9hWHMzdvh2NkkDWIy5Zy0b6UH8/h/5T5KzNkDY/N+XruED94 4vIyungF2iCbtGMw6i1SSuDdOuOrppTZSCAisPI/oG5oROMttFnzvxdbM6AOI0QhRWkb lVfw== X-Gm-Message-State: AOAM533gYkR+tHP3XOSNv810JSg2AaZj2sFw/S1x3yQPiuVcWjoECmIb XMQ6ifvLXyi+jgTJwDLq9+np4Y1aBnZsXNcgKno= X-Google-Smtp-Source: ABdhPJxJD5djp34HCGE2sROzCNFeTBqlwN8WLGBPc/9qhKj7BlxJWP6iDPghNiTFU4vgbQhScOt91qHLUZ3mGXKqjBw= X-Received: by 2002:a17:906:4e90:: with SMTP id v16mr1854859eju.477.1605226072697; Thu, 12 Nov 2020 16:07:52 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 12 Nov 2020 19:07:52 -0500 From: Stefan Kangas In-Reply-To: <87v9evvliw.fsf@tcd.ie> References: <87v9eybhcc.fsf@gnus.org> <87v9evvliw.fsf@tcd.ie> MIME-Version: 1.0 Date: Thu, 12 Nov 2020 19:07:52 -0500 Message-ID: Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item To: "Basil L. Contovounesios" , Lars Ingebrigtsen Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) "Basil L. Contovounesios" writes: > Lars Ingebrigtsen writes: > >> Stefan Kangas writes: >> >>> I found myself reaching for a version of `seq-remove' where I don't have >>> to supply a lambda but can just give an item. Ergo, the attached. >>> >>> (seq-remove-item 2 '(1 2 3)) => (1 3) >>> >>> I find it a whole lot nicer than: >>> >>> (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) >> >> Isn't this just >> >> (remove 2 '(1 2 3)) => (1 3) >> >> though? I don't think seq.el needs to replicate the basic list >> functions... > > I think the idea is that seq.el functions are generic and can thus be > extended to work with e.g. streams[1]. That was the idea, yes. It is fairly minor even in my use, so I have no qualms with just closing this as wontfix if people think it's not worthwhile enough to add. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 18 12:18:02 2020 Received: (at 44205) by debbugs.gnu.org; 18 Nov 2020 17:18:02 +0000 Received: from localhost ([127.0.0.1]:36333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kfR5l-0001d4-3E for submit@debbugs.gnu.org; Wed, 18 Nov 2020 12:18:02 -0500 Received: from mail-ej1-f54.google.com ([209.85.218.54]:43265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kfR5k-0001cl-2n for 44205@debbugs.gnu.org; Wed, 18 Nov 2020 12:18:00 -0500 Received: by mail-ej1-f54.google.com with SMTP id k27so3811098ejs.10 for <44205@debbugs.gnu.org>; Wed, 18 Nov 2020 09:18:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:user-agent :mime-version:date:message-id:subject:to:cc; bh=r13vGfPx5B+gEVCaDLQQySIZ4ZV+36GUjo/dt7UNiDk=; b=mMZxjmgVP5dt8R+7/QSrjoaaOtxV8TvMQ+cfjsC3ENJCihR+QMwP51BM1avvS0fmhS 6r6A3jE8BP6EKu9cVA+yUMKAPiq+TQvg9cuK4QWOj1F+ldW8PqUqDaAWZ0LU4EhvgWwg w5Ne5BU1v3SjNMKCuJ/gVMM2LHcODdZhZgf3VUHD3ePryY9Jc3+Ty1BGFnAOBvPRjJ66 nGog3N2VlqZ6XyO5Lk+MJajNSgzd/PnTLg4MOElUdpiBFPkMGO3CORzizcYMLpG8Uwdu 1+7/y9dfsDMIiMcqC4CH1RRwJtuERAzEdJMHUpppprWTgTLo3f4eQ1TQK4xf0qWYzNo7 9Fyw== X-Gm-Message-State: AOAM533L0I8ZauE71nVoIlbv8YkI0v1Cd2xceJEO/AehtSB581LGGQw6 NC2GD1+5gWch6PrTyRVXJw/snOA/MMA5X0VucMU= X-Google-Smtp-Source: ABdhPJwMtyde2TtQdFZjS8/xh02sle4xj+iTqbYpjD/fS0vmGTSsw9y83PUWjYFTJZrdNrNSu2NVx37Fdmd7UOIs3wU= X-Received: by 2002:a17:906:1918:: with SMTP id a24mr1718464eje.432.1605719874265; Wed, 18 Nov 2020 09:17:54 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 18 Nov 2020 09:17:53 -0800 From: Stefan Kangas In-Reply-To: (Stefan Kangas's message of "Thu, 12 Nov 2020 19:07:52 -0500") References: <87v9eybhcc.fsf@gnus.org> <87v9evvliw.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Date: Wed, 18 Nov 2020 09:17:53 -0800 Message-ID: Subject: Re: bug#44205: [PATCH] Add new function seq-remove-item To: "Basil L. Contovounesios" Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 44205 Cc: 44205@debbugs.gnu.org, Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) tags 44205 wontfix close 44205 thanks Stefan Kangas writes: > "Basil L. Contovounesios" writes: > >> Lars Ingebrigtsen writes: >> >>> Stefan Kangas writes: >>> >>>> I found myself reaching for a version of `seq-remove' where I don't have >>>> to supply a lambda but can just give an item. Ergo, the attached. >>>> >>>> (seq-remove-item 2 '(1 2 3)) => (1 3) >>>> >>>> I find it a whole lot nicer than: >>>> >>>> (seq-remove (lambda (a) (= a 2)) '(1 2 3)) => (1 3) >>> >>> Isn't this just >>> >>> (remove 2 '(1 2 3)) => (1 3) >>> >>> though? I don't think seq.el needs to replicate the basic list >>> functions... >> >> I think the idea is that seq.el functions are generic and can thus be >> extended to work with e.g. streams[1]. > > That was the idea, yes. > > It is fairly minor even in my use, so I have no qualms with just closing > this as wontfix if people think it's not worthwhile enough to add. It seems like there was no great enthusiasm for this change. I'm therefore closing this bug report. From unknown Fri Jun 20 20:11:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 17 Dec 2020 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator