From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 02:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 34852@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15525301989482 (code B ref -1); Thu, 14 Mar 2019 02:24:01 +0000 Received: (at submit) by debbugs.gnu.org; 14 Mar 2019 02:23:18 +0000 Received: from localhost ([127.0.0.1]:42663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4G1d-0002Ss-Q7 for submit@debbugs.gnu.org; Wed, 13 Mar 2019 22:23:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48544) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4G1c-0002Sf-1E for submit@debbugs.gnu.org; Wed, 13 Mar 2019 22:23:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:49080) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4G1W-0000W6-Ln for submit@debbugs.gnu.org; Wed, 13 Mar 2019 22:23:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34572) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4G1V-0002Kv-Kc for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2019 22:23:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4FvW-0006Xa-C6 for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2019 22:16:59 -0400 Received: from mail-it1-x12a.google.com ([2607:f8b0:4864:20::12a]:35648) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h4FvW-0006Wy-5D for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2019 22:16:58 -0400 Received: by mail-it1-x12a.google.com with SMTP id 188so2201009itb.0 for ; Wed, 13 Mar 2019 19:16:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=wfNtVJ9pNnEEaPAZAGiAUpjF/CU7TumWhYf5V4iPzbA=; b=JNM5JrL3DrX+pE2RJRuVxBi3iKGFx3Ews8vrwj8q9QzcbBldQ4WX1lemf8xkJeb1W2 jJ8ObAiW1N7LLNpZ9UhOcPwPzA1NS6xpjo8/T5heX20NkEIH2l5p43XgS9VQ0Yl0QljU S8ECABZIySyst7nKjfdULJ+x3HkHfRaPX193zL2QEjlG97YANT5hFU+zGx6kGN0Of5lS 8QRc2skg7SQ2SwIV/fzTYIDzF2UztsemH96DJ/0tXyEUEu37doJ+5PCyOFXdPi8Wwdm2 qTxg6eixE9WZZzABlEdUZRJxqFsxsV0vm6tUhG4fixw8WSbSzTGYE6ubh1P60LeqalaX 5sGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=wfNtVJ9pNnEEaPAZAGiAUpjF/CU7TumWhYf5V4iPzbA=; b=WpG/B2MCp6gl+Y5/8L5RIyGMIqr9ECidDU30nGD+4j2zNSkfo2blz6xkaGTgSXGK6u hKxCwCsrSWiRNkYDhLqgZxRj8mjUYdNnTjG2EDS+8wXwJlz6N830ZqHs3RYh1D+poG0H +eXarFycNd+23JlfH+Z0uBjcOSm3dgYdAgRJ+WtQoTCvSYUB05UNCNcsPOLVZFj13gUG UvlzccFRNizbxJ6HFASfVzxuWoJhFcewQLxLxRaVDlm0d8OqhgyDKprS8VMMRKgGNxmR VTh8OiieZrLIxo2TYevaIWCUKuJ5OxKQs48fjzoTldwFXFfGXcpQw+Ac16wykOzl0qWI NZAQ== X-Gm-Message-State: APjAAAX/0lAhp3r6IduUkBl/q/fopVfkUzs9J46sq269T1+fakLuANYD MAWRdaoEF61dQ3mj+yhJ2c29kPMEqiICHavGrzHUZIt4 X-Google-Smtp-Source: APXvYqzN87a7W/ujsJMlOe8chUFJnsgxoKzkEMEyGBX+p5cixfkKL3L+3k+aNoVpfl/tBouF95oucTMAe4AVCBX36Co= X-Received: by 2002:a24:75c7:: with SMTP id y190mr705267itc.108.1552529816515; Wed, 13 Mar 2019 19:16:56 -0700 (PDT) MIME-Version: 1.0 From: "Miguel V. S. Frasson" Date: Wed, 13 Mar 2019 23:16:30 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::12a X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.0 (+) 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.0 (/) Hi. seq-intersection skips nil as common element, so returns wrong result. Reproducing from emacs -Q: In *scratch* buffer, eval the expressions (progn (require 'seq) (seq-intersection '(1 2 nil) '(1 nil) 'eq)) -> (1) (seq-intersection '(1 2 nil) '(1 nil) 'equal) -> (1) Expected result in both cases: (1 nil) Cheers Miguel Frasson -- In GNU Emacs 26.1 (build 1, i686-w64-mingw32) of 2018-05-30 built on CIRROCUMULUS Repository revision: 07f8f9bc5a51f5aa94eb099f3e15fbe0c20ea1ea Windowing system distributor 'Microsoft Corp.', version 10.0.17134 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. seq Configured using: 'configure --without-dbus --host=i686-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS LCMS2 Important settings: value of $LANG: PTB locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib elec-pair time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 8 96961 9032) (symbols 32 20186 1) (miscs 32 38 140) (strings 16 29656 2096) (string-bytes 1 766583) (vectors 12 14052) (vector-slots 4 507930 10192) (floats 8 52 289) (intervals 28 263 59) (buffers 536 12)) -- Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 12:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155256525018600 (code B ref 34852); Thu, 14 Mar 2019 12:08:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 12:07:30 +0000 Received: from localhost ([127.0.0.1]:43062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4P90-0004pv-Jk for submit@debbugs.gnu.org; Thu, 14 Mar 2019 08:07:30 -0400 Received: from mout.web.de ([212.227.15.3]:36409) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4P8x-0004ph-R4 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 08:07:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552565241; bh=Pw3KQp5ERUYfnU5WBjOp0cjSidBEwhWej+ikQc37OwA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=idR+sgeg2AigHnfbzGzstTq9JiDMuHHa7akStZlfdVOs3xI+PjfVp2zLAJfX1bXmc u7XnMBRUEk4dwWgRpEYmzxjbEvg90Dbyj1zfEMKbtR0KCWv4NlYeCJ1sbNYm0c2cJV CTZXCb86teIuXQ5/nj5HHChz2tb66BGhJBUtF+XE= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0LfRyz-1ggg1h3kXR-00p7Tq; Thu, 14 Mar 2019 13:07:21 +0100 From: Michael Heerdegen References: Date: Thu, 14 Mar 2019 13:07:19 +0100 In-Reply-To: (Miguel V. S. Frasson's message of "Wed, 13 Mar 2019 23:16:30 -0300") Message-ID: <871s39oe14.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:w+IXjhfjxR8el7R1wU7DEn21Ub+g2SwzGPPdBYdQTv0HW2AfnRp LUBfkDBd6ttVPjQ5QDvhBrnFtscvv9iujd4FRFEEObkeWVqTzji7iwydhkwLexzxTuedYO0 YmMZaJfBM+K9Q5C3k/NQ80GQFOPnT+aWZiCnisMeIvoxWvHzoYuBtsP2b/sYtxnb5n7BlSl QYOMTnFl3yNUNnZxm0XVg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:btYW4VQgNMU=:gldaEuWC4dmC7XxxihIkMi cE9h462gO/vC9TCb+anHHUBJahYcq6kexws2E19YPMf3wm5vvCcF9T/w5x/39yPa+Fu10yD40 CmtXfkg7rHzcmhQPPbTKrIX/BINHsA4yeLez7i5smzof8kFSQ42k3pO27NBM+/LUVMYJ0R9Gl dnumQs8viv0+1/7OC+dBtkdqKX+pKqpYTow1VPaUHrZdXUMFoLRxH75FafqVDNgOUvpl1BXyU AHoy4+T40lMT1AHR5DYGlAUP5rTJRwh9wLlMxaMW6g1nYG7UolMftB7vClfh+romJdkuMA/EH BTe+7QwbHXZ9I9WaeoesT5Bs2m0bDwcsDsbqdCiDm91c1STuZySjQbg07tRlpQH30e8exdGZi uyg93/ytcxU0Rg9n5mMYScYeUoSlLLplq7mrxTyrcri9hY8ASBVQQLO19QbDtDopoKY/MNSoe YxXH28FZW4veMPy9OEwEQWk0My5bV3fV7daagXtcUhHvx5XmykG/Kf6UlN1PMs0IC+i51bfQN tCORXv+67hcwvXvm6j5DsV/EyAwotxO/6zIWSgxLz83Ngx8cGDXbfmZozVn3wXB+AwSidMBCA R5ubGz8vbJ0lxgnCL+Uc/jML3ewcmrPvAfRUqSDMqXTU3fwVY5eu2UKOBCy+5BkU2/YPPpXq9 +93fYBDegWxAnWr16emRR37oWhVvVZIUviSqQtyIQaoexK5Xu+p+DjE/nFMD/SKVSSAHqXNRb 0jezg7u7KWORrfLAege4CrOMNQN9v4DhFVg7TS18b5mWsMeVGLSiu9xI0WC2uPEBs43pYCXOL +V7XnvWFGbUqYjyXdumUy6CpVhmhP2dVOX12bNQqNZjhUkHEvfU6h53/JzOcPkwSd36zaQrW/ 2eKNWbKl7/5T1GKK4HwAzSOyEzdZcDwhIQe4MDIXJ+rE93jTMyBKiMgHOfZduDiTmKKpjvhn7 nmmhJyOENsQ== X-Spam-Score: -0.7 (/) 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.7 (-) "Miguel V. S. Frasson" writes: > seq-intersection skips nil as common element, so returns wrong result. > > Reproducing from emacs -Q: > > In *scratch* buffer, eval the expressions > > (progn > (require 'seq) > (seq-intersection '(1 2 nil) '(1 nil) 'eq)) > > -> (1) > > (seq-intersection '(1 2 nil) '(1 nil) 'equal) > > -> (1) > > Expected result in both cases: (1 nil) Indeed. Nicolas, can you have a look? We probably can't use `seq-contains' in the implementation. Thanks, Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 12:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155256617120260 (code B ref 34852); Thu, 14 Mar 2019 12:23:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 12:22:51 +0000 Received: from localhost ([127.0.0.1]:43067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4PNq-0005Gh-Ux for submit@debbugs.gnu.org; Thu, 14 Mar 2019 08:22:51 -0400 Received: from mail-ed1-f53.google.com ([209.85.208.53]:40246) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4PNo-0005GS-7j for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 08:22:49 -0400 Received: by mail-ed1-f53.google.com with SMTP id r23so4419014edm.7 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 05:22:48 -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=flEyVJn1Zef5nRHP7cCJFz5sT92t8Lk4H77Y+wmsrjU=; b=mF6aRndhlkt3j4y/4jsUbaVxbbXQWrPRnSrdT3vrJ9liFXbBBRordrZBR3+KVpJhPF 0jYHI+v27Kl81rTlNqHIQtDOmzfjZ4soqhWmlKUrnZPsnGCpo0HAMMF/KriXTJa4s3V7 fwQqhyQaVvdT3Q+a+qtHri5t1e9a7kURCokTd5j4CG8pj2RWOxH4BOgZfFnNFRpc0krB JbV9jFZtCvlve0GB3z73pW3chwocwYK0eoSIlEFl8KeJ1L95SLTT79DX/CpHzRA01Sg6 nDfRyzndVMCNRgT73iX2VmOLLn5WxIf4YzfO993M5JvNjGcl5pJnRZWJFgD7Q+qAMh/P MxoA== 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=flEyVJn1Zef5nRHP7cCJFz5sT92t8Lk4H77Y+wmsrjU=; b=dIZFX1q20vCRecTJvgNXou1VXHxfzfKiXwrLeflFAKB3Tp5enJyJ69RzAls2GoMUvy nOIgSDvIjy+zL8REXmXgTmxcEBxM144t8OtFgpId7EAkeU065HAV2WIx5Wt89rNe10Dw v8nzjhpLmcRsQrPCVtIJiaBfT7SYr8oF8dKfWGcqOnAlHNLuSkLq8NkMMgCd4kHWAHmx c+lAofioOWXy7ZXCd0gpnL6ssiMnYG3GHCb+CNxK2tJNWQyDQtD3wB0xTzM1JCeKbLj2 7HQmG6aGVJ3qRllvKS1Xwr9Uwie4HiG+ouh3Kp6Fe1QnAzsiJR5qlAFNu6iYTys5GpNZ mwRA== X-Gm-Message-State: APjAAAW7+Zhe+nDat4EWgCv7GaxTUV/5GnuDJk8E6CMyZEgxQDqu1BFO YI3wv0zYf0kityS+gUtem8oyDQ== X-Google-Smtp-Source: APXvYqymXaSV/EahZQ5NGsoDtDJ9nsacYF9WLsXVUv6TRJ9U9CuQTsLMlCv8aTtPZwAHDPsBPrIkdQ== X-Received: by 2002:a05:6402:1807:: with SMTP id g7mr11321776edy.184.1552566162391; Thu, 14 Mar 2019 05:22:42 -0700 (PDT) Received: from localhost ([2a02:8084:20e2:c380:20c2:134e:4f3a:683a]) by smtp.gmail.com with ESMTPSA id g20sm1066163ejk.72.2019.03.14.05.22.41 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 05:22:41 -0700 (PDT) From: "Basil L. Contovounesios" References: Date: Thu, 14 Mar 2019 12:22:40 +0000 In-Reply-To: (Miguel V. S. Frasson's message of "Wed, 13 Mar 2019 23:16:30 -0300") Message-ID: <87zhpxabn3.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) 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 (-) --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Do-not-use-seq-contains-as-a-predicate-bug-34852.patch >From afddf78a703b73729ec7b5562747ebeb5077966d Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Thu, 14 Mar 2019 12:10:28 +0000 Subject: [PATCH] Do not use seq-contains as a predicate (bug#34852) * doc/lispref/sequences.texi (Sequence Functions): * lisp/emacs-lisp/seq.el (seq-contains): Document unsuitability of seq-contains as a predicate. (seq-position): Document return value when needle not found. (seq-set-equal-p, seq-uniq, seq-intersection, seq-difference): Use seq-position instead of seq-contains as a predicate. * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-should-return-the-elt): (test-seq-position): Test case when needle is nil. --- doc/lispref/sequences.texi | 7 +++++++ lisp/emacs-lisp/seq.el | 21 ++++++++++++--------- test/lisp/emacs-lisp/seq-tests.el | 14 +++++++++----- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 0c3c4e3b28..e33944a2dd 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -787,6 +787,9 @@ Sequence Functions @var{elt}. If the optional argument @var{function} is non-@code{nil}, it is a function of two arguments to use instead of the default @code{equal}. +Note that this function is not suitable as a predicate since its value +depends on that of @var{elt}, which may be @code{nil}. + @example @group (seq-contains '(symbol1 symbol2) 'symbol1) @@ -796,6 +799,10 @@ Sequence Functions (seq-contains '(symbol1 symbol2) 'symbol3) @result{} nil @end group +@group +(seq-contains '(symbol1 nil) nil) +@result{} nil +@end group @end example @end defun diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 4a811d7895..de8456eb79 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -357,7 +357,9 @@ seq-sort-by (cl-defgeneric seq-contains (sequence elt &optional testfn) "Return the first element in SEQUENCE that is equal to ELT. -Equality is defined by TESTFN if non-nil or by `equal' if nil." +Equality is defined by TESTFN if non-nil or by `equal' if nil. +Note that this function is not suitable as a predicate since its +value depends on that of ELT, which may be nil." (seq-some (lambda (e) (when (funcall (or testfn #'equal) elt e) e)) @@ -366,12 +368,13 @@ seq-sort-by (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn) "Return non-nil if SEQUENCE1 and SEQUENCE2 contain the same elements, regardless of order. Equality is defined by TESTFN if non-nil or by `equal' if nil." - (and (seq-every-p (lambda (item1) (seq-contains sequence2 item1 testfn)) sequence1) - (seq-every-p (lambda (item2) (seq-contains sequence1 item2 testfn)) sequence2))) + (and (seq-every-p (lambda (item1) (seq-position sequence2 item1 testfn)) sequence1) + (seq-every-p (lambda (item2) (seq-position sequence1 item2 testfn)) sequence2))) (cl-defgeneric seq-position (sequence elt &optional testfn) "Return the index of the first element in SEQUENCE that is equal to ELT. -Equality is defined by TESTFN if non-nil or by `equal' if nil." +Return nil if no such element is found. Equality is defined by +TESTFN if non-nil or by `equal' if nil." (let ((index 0)) (catch 'seq--break (seq-doseq (e sequence) @@ -385,7 +388,7 @@ seq-sort-by TESTFN is used to compare elements, or `equal' if TESTFN is nil." (let ((result '())) (seq-doseq (elt sequence) - (unless (seq-contains result elt testfn) + (unless (seq-position result elt testfn) (setq result (cons elt result)))) (nreverse result))) @@ -410,7 +413,7 @@ seq-sort-by "Return a list of the elements that appear in both SEQUENCE1 and SEQUENCE2. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-reduce (lambda (acc elt) - (if (seq-contains sequence2 elt testfn) + (if (seq-position sequence2 elt testfn) (cons elt acc) acc)) (seq-reverse sequence1) @@ -420,9 +423,9 @@ seq-sort-by "Return a list of the elements that appear in SEQUENCE1 but not in SEQUENCE2. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-reduce (lambda (acc elt) - (if (not (seq-contains sequence2 elt testfn)) - (cons elt acc) - acc)) + (if (seq-position sequence2 elt testfn) + acc + (cons elt acc))) (seq-reverse sequence1) '())) diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el index d8f00cfea4..417606d9d7 100644 --- a/test/lisp/emacs-lisp/seq-tests.el +++ b/test/lisp/emacs-lisp/seq-tests.el @@ -183,7 +183,9 @@ test-sequences-oddp (ert-deftest test-seq-contains-should-return-the-elt () (with-test-sequences (seq '(3 4 5 6)) - (should (= 5 (seq-contains seq 5))))) + (should (= 5 (seq-contains seq 5)))) + (should-not (seq-contains '(1 2 nil) nil)) + (should-not (seq-contains [1 2 nil] nil))) (ert-deftest test-seq-every-p () (with-test-sequences (seq '(43 54 22 1)) @@ -384,12 +386,14 @@ test-sequences-oddp (ert-deftest test-seq-position () (with-test-sequences (seq '(2 4 6)) - (should (null (seq-position seq 1))) + (should-not (seq-position seq 1)) + (should-not (seq-position seq nil)) (should (= (seq-position seq 4) 1))) - (let ((seq '(a b c))) - (should (null (seq-position seq 'd #'eq))) + (let ((seq '(a b c nil))) + (should-not (seq-position seq 'd #'eq)) (should (= (seq-position seq 'a #'eq) 0)) - (should (null (seq-position seq (make-symbol "a") #'eq))))) + (should (= (seq-position seq nil #'eq) 3)) + (should-not (seq-position seq (make-symbol "a") #'eq)))) (ert-deftest test-seq-sort-by () (let ((seq ["x" "xx" "xxx"])) -- 2.20.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Return-boolean-instead-of-element-in-seq-contains.patch >From 7b8d5672db306e3bb52196b04c74eb7098ec32a3 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Thu, 14 Mar 2019 11:19:55 +0000 Subject: [PATCH] Return boolean instead of element in seq-contains * lisp/emacs-lisp/seq.el: Bump major version. (seq-contains): Return non-nil instead of needle if it is found in the sequence. (bug#34852) * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains): Add check for nil as an element. (test-seq-contains-should-return-the-elt): Remove, replacing with... (test-seq-contains-return-non-nil): ...this new test. * doc/lispref/sequences.texi (Sequence Functions): * etc/NEWS: Document change to seq-contains. --- doc/lispref/sequences.texi | 9 +++++---- etc/NEWS | 3 +++ lisp/emacs-lisp/seq.el | 7 +++---- test/lisp/emacs-lisp/seq-tests.el | 9 +++++---- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 0c3c4e3b28..b0c65fe526 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -783,14 +783,15 @@ Sequence Functions @defun seq-contains sequence elt &optional function - This function returns the first element in @var{sequence} that is equal to -@var{elt}. If the optional argument @var{function} is non-@code{nil}, -it is a function of two arguments to use instead of the default @code{equal}. + This function returns non-@code{nil} if an element in @var{sequence} +is equal to @var{elt}. If the optional argument @var{function} is +non-@code{nil}, it is a function of two arguments to use instead of +the default @code{equal}. @example @group (seq-contains '(symbol1 symbol2) 'symbol1) -@result{} symbol1 +@result{} t @end group @group (seq-contains '(symbol1 symbol2) 'symbol3) diff --git a/etc/NEWS b/etc/NEWS index 410c1821ae..b41ff89613 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -383,6 +383,9 @@ buffers. New convenience functions 'seq-first' and 'seq-rest' give easy access to respectively the first and all but the first elements of sequences. ++++ +*** 'seq-contains' now returns a boolean rather than the element found. + --- ** Follow mode In the current follow group of windows, "ghost" cursors are no longer diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 4a811d7895..73cb985b85 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Petton ;; Keywords: sequences -;; Version: 2.21 +;; Version: 3.0 ;; Package: seq ;; Maintainer: emacs-devel@gnu.org @@ -356,11 +356,10 @@ seq-sort-by count)) (cl-defgeneric seq-contains (sequence elt &optional testfn) - "Return the first element in SEQUENCE that is equal to ELT. + "Return non-nil if an element in SEQUENCE is equal to ELT. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-some (lambda (e) - (when (funcall (or testfn #'equal) elt e) - e)) + (funcall (or testfn #'equal) elt e)) sequence)) (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn) diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el index d8f00cfea4..fee31e7f8f 100644 --- a/test/lisp/emacs-lisp/seq-tests.el +++ b/test/lisp/emacs-lisp/seq-tests.el @@ -176,14 +176,15 @@ test-sequences-oddp (ert-deftest test-seq-contains () (with-test-sequences (seq '(3 4 5 6)) (should (seq-contains seq 3)) - (should-not (seq-contains seq 7))) + (should-not (seq-contains seq 7)) + (should-not (seq-contains seq nil))) (with-test-sequences (seq '()) (should-not (seq-contains seq 3)) (should-not (seq-contains seq nil)))) -(ert-deftest test-seq-contains-should-return-the-elt () - (with-test-sequences (seq '(3 4 5 6)) - (should (= 5 (seq-contains seq 5))))) +(ert-deftest test-seq-contains-return-non-nil () + (should (seq-contains '(1 2 nil) nil)) + (should (seq-contains [1 2 nil] nil))) (ert-deftest test-seq-every-p () (with-test-sequences (seq '(43 54 22 1)) -- 2.20.1 --=-=-= Content-Type: text/plain "Miguel V. S. Frasson" writes: > seq-intersection skips nil as common element, so returns wrong result. > > Reproducing from emacs -Q: > > In *scratch* buffer, eval the expressions > > (progn > (require 'seq) > (seq-intersection '(1 2 nil) '(1 nil) 'eq)) > > -> (1) > > (seq-intersection '(1 2 nil) '(1 nil) 'equal) > > -> (1) > > Expected result in both cases: (1 nil) This is actually due to seq-contains returning the element found, rather than a boolean indicating whether the element was found: (seq-contains '(nil) nil) ; => nil The nature of seq-contains as a predicate-ish has been discussed in the past[1], and Stefan recently fixed a similar problem with map-contains-key[2]. [1]: https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01256.html [2]: * lisp/emacs-lisp/map.el: Make the functions generic 2018-12-11 17:54:13 -0500 https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=1691a51094d35ac4b2c311fa407c6b77eea7a105 One solution is to leave seq-contains as it is, and switch to using seq-position (or some new predicate) as a predicate instead. Another is to make seq-contains return a boolean instead of the needle found, which would be a backward-incompatible change similar to that for map-contains-key. I attach a patch for each of these respective solutions; WDYT? -- Basil --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 12:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155256796122991 (code B ref 34852); Thu, 14 Mar 2019 12:53:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 12:52:41 +0000 Received: from localhost ([127.0.0.1]:43080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Pqj-0005yl-63 for submit@debbugs.gnu.org; Thu, 14 Mar 2019 08:52:41 -0400 Received: from mail-io1-f65.google.com ([209.85.166.65]:47003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Pqg-0005yV-Na for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 08:52:39 -0400 Received: by mail-io1-f65.google.com with SMTP id k21so4894059ior.13 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 05:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=OPlL4Z0MQ+jAJKvjscSoZDv3iSyKZ0ORqNPVoL2dG5M=; b=UhjJezah2VSOSJvtz3Eo3vuonmB0gMutzXBj7WgrdfsimvzeggcXyrTitPY5JAk1Z9 FjBFHUSTkUpGMx/zkCBQv0MBoBGvlOdEs+s8M3LU0eqQphxBVmXAVKS2wrQv3QL47YVB pQxE0xLES2rhvOJrUKdNgqWzZy9vb3AXzVU3IwiJn2qgMcpUTrvYMp6918mlnYSVJNbD qOXXhcPnjz2CsbYWhUvSfKTnGMbzXa4UACxAdOGKHSgue52R5QSpDumvfaMriXK8MrBI MUJ9UFymRkabG0x/gsQ6MdqjGEe27YyWjjUqI4S/1n0c7hv2MnLRBuLLxqxlFuvVhj5B lhSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=OPlL4Z0MQ+jAJKvjscSoZDv3iSyKZ0ORqNPVoL2dG5M=; b=aj6Rx63hRYX9NUY6BMu+cLp6KIhdlaK3VjbLPBaOdokTkQ8vyHuQ+yRPxIEZfAQasT UZrPj8m3i3FdW/MTSF4RFpK/qDWVg7KGqEiGG/F1W6HwLRH/Sssaj08vgSoHtGvPeBky dkj6FOkOQth64Dh+xwf45DAykfaGvrAOp8YH+nolnceThUU4ngAug6gKa20duHxorDis u57w4oj6cHwRXrADOO1z7Q0fpknMEJGOGOlWH1M8mPaMRezrXit5yRk7OzN7ysri8k+I kTCyZat+sxFVOZzaUtA9eIglFHr4hzDaGZOQeXe+j48C3rADq4zWjxQdqkYrinZk6h2m Tswg== X-Gm-Message-State: APjAAAUCxhNWCUaPM67GxRo4GR5t+HpN/Oc0fBV+yy4fpODAqOHvJOjy 99BqsCgLNxM3PHo35m6a0uHMTx4Mj/HfMkJpKyg= X-Google-Smtp-Source: APXvYqzsaU9FUePej2G5el4yp6ARjzsSLUggfrOLlzcU40B4bzSfh2EVccxBOw2wnaZcEXnE6/OACbENf3VrG7XPogc= X-Received: by 2002:a5e:c901:: with SMTP id z1mr11098480iol.304.1552567951926; Thu, 14 Mar 2019 05:52:31 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> In-Reply-To: <87zhpxabn3.fsf@tcd.ie> From: "Miguel V. S. Frasson" Date: Thu, 14 Mar 2019 09:52:06 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Hi. In https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01256.html it is mentioned that: > I believe `seq-contains' was introduced for convenience: > it is used elsewhere in seq.el and map.el. so there may be problems in map.el as well if it is used as a predicate there, or even in more files. Miguel. Em qui, 14 de mar de 2019 =C3=A0s 09:22, Basil L. Contovounesios escreveu: > > > "Miguel V. S. Frasson" writes: > > > seq-intersection skips nil as common element, so returns wrong result. > > > > Reproducing from emacs -Q: > > > > In *scratch* buffer, eval the expressions > > > > (progn > > (require 'seq) > > (seq-intersection '(1 2 nil) '(1 nil) 'eq)) > > > > -> (1) > > > > (seq-intersection '(1 2 nil) '(1 nil) 'equal) > > > > -> (1) > > > > Expected result in both cases: (1 nil) > > This is actually due to seq-contains returning the element found, rather > than a boolean indicating whether the element was found: > > (seq-contains '(nil) nil) ; =3D> nil > > The nature of seq-contains as a predicate-ish has been discussed in the > past[1], and Stefan recently fixed a similar problem with > map-contains-key[2]. > > [1]: https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01256.html > [2]: * lisp/emacs-lisp/map.el: Make the functions generic > 2018-12-11 17:54:13 -0500 > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=3D1691a51094d35a= c4b2c311fa407c6b77eea7a105 > > One solution is to leave seq-contains as it is, and switch to using > seq-position (or some new predicate) as a predicate instead. Another is > to make seq-contains return a boolean instead of the needle found, which > would be a backward-incompatible change similar to that for > map-contains-key. I attach a patch for each of these respective > solutions; WDYT? > > -- > Basil --=20 Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 13:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155256898124673 (code B ref 34852); Thu, 14 Mar 2019 13:10:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 13:09:41 +0000 Received: from localhost ([127.0.0.1]:43095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Q7B-0006Ps-DF for submit@debbugs.gnu.org; Thu, 14 Mar 2019 09:09:41 -0400 Received: from mout.web.de ([212.227.17.12]:40525) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Q78-0006Pd-W0 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 09:09:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552568958; bh=JvDiOVvM5r/1ooGTJj75cFpHyjbEsMqS62HznXnHSxo=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=EP/HDGVefvOP78GeNETKr6ZIGY8J+OHngKBGqtTug1ZWNGEx1FfdNBVbSQdUE2tiB /fLzO0axRyeJJcOM/t+BDYV5Er+qEJYZmYkay1B4AdDwZ9wVpSjgFggBrtuKg56zuT I5fD5rW9S7ODpHnaxdQPlkja806kOpoAoXMbqCOY= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MdLwN-1hLfqP26HT-00IS7n; Thu, 14 Mar 2019 14:09:18 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> Date: Thu, 14 Mar 2019 14:09:15 +0100 In-Reply-To: <87zhpxabn3.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 14 Mar 2019 12:22:40 +0000") Message-ID: <87va0lmwlg.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:174J9YOXcHE5gfdqp+dBeSK3/ytCg1/MYGvEcW9FkomqkspQVAW qYB5Vz/g0i6oPa5pyXNrfB3/NqM8ykOoHbtOwhHNXNdBsrScGA2zJCTfxWxYe23Un3bklEr f/pvU0lEhMqSAQaxIhTyfitOPMBkGCf8ykJZ0XkjXW1wh2i1RGFeGCB/kA8zuCWCrFA6oBv tu+DqrdhBbROdVOU4xf9Q== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:r4FkKcAH7fA=:jUN4NRf02I6rLc2ZZBvzyB UoXqcqNAqMaz01c77kb6lfuOMom6DXihmkuF8v3SXAffS3wIy8U+USY40wH+G8+Fd3BGwEsnl /UHUyCPsuYTc+Qy3ZbqXKQFfMEP/Tu2COsXXE1InoBV7Bgpmbg1scUYpd8wgrlcYAdGSsIHWA wwveybx6wYiOi2mDqZHv+WFEF7kvGQpI+4BLcHTqX5u9uEGiS6ZXe2fVTsGEvsYmemXhwuUjH L/bl1lnnYdTtgmyWZ6CKdHYu8DKH4DkxtO0SJdKlk2dvP8BMSImcWmoJN4GWBput2wY9D1vJ7 nLudHG//3jPeBhfRJj5hHtEJC6cEe8Dv4WjlhXMbKHkIb6EThAxvm0p/1RGxAbv02e5ZyAuFi kCYqTGQ6HCgYZ6heGWpayfFyS/d2iwljz1d154fjjJFLeAfHD8npvMIPPduqseSOwkE9Enx6V PUhAlFzOq7FcyxKNDNYtaHUwMNp8rgvJ9Q7RysfKcb1hKD7FEnuxnwIb1GGaHofTiLRGEUlV6 se8GsoCgYbYCg2xVdZy56SSzYNDnP5pY/Jpf0X/GZe7KBfO7T5IcY0bheoBmVw+SY/LPBB3nb YcqpkiR+gaCXJMhHjzye2SDSWF2YggNV6tw3Vh5tmquhyuBH0nmKyweb3AIDp4e5Cc3Jxl2qw xRCOlRBBGEq9tLqkFmjymqoEVKwFKL6ZqQMrwHrn0q562JzndWINVIRWmpJUNuJ6hDU4rtBbg FP8WO/vo16Ji1Ve3IFsDZFqOUcFrzNG+/bv3bZ1tic7vz8Fl+60YxDmkC3JyVN3rHSGOEZTyr SIkwwi12GJORwMUyCRjeJ8g60ou5bMUOrgi2LSFMNzrmAlSgQNEDs/0AN2LsTMBocEJQ86FO2 iDIHzqIwQ93OLn6RgQzZjMYnYQUcrIlE0hlZGyWxn53acaSetsFMYAnnPvWPXW6XJi5Xo5eFJ mjW7IQaRcwQ== X-Spam-Score: -0.7 (/) 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.7 (-) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > One solution is to leave seq-contains as it is, and switch to using > seq-position (or some new predicate) as a predicate instead. Another is > to make seq-contains return a boolean instead of the needle found, which > would be a backward-incompatible change similar to that for > map-contains-key. I attach a patch for each of these respective > solutions; WDYT? We also have `seq-some' which can be used as a contain predicate, e.g. to fix this bug: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Fix-seq-intersection-with-nil.patch Content-Transfer-Encoding: quoted-printable =46rom c53a80c29e696ab64d4279ca6f495c8e0e1b16b4 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Thu, 14 Mar 2019 13:55:41 +0100 Subject: [PATCH] Fix seq-intersection with nil =2D-- lisp/emacs-lisp/seq.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 4a811d7895..5718343a8f 100644 =2D-- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -409,12 +409,13 @@ seq-sort-by (cl-defgeneric seq-intersection (sequence1 sequence2 &optional testfn) "Return a list of the elements that appear in both SEQUENCE1 and SEQUEN= CE2. Equality is defined by TESTFN if non-nil or by `equal' if nil." - (seq-reduce (lambda (acc elt) - (if (seq-contains sequence2 elt testfn) - (cons elt acc) - acc)) - (seq-reverse sequence1) - '())) + (let ((testfn (or testfn #'equal))) + (seq-reduce (lambda (acc elt) + (if (seq-some (apply-partially testfn elt) sequence2) + (cons elt acc) + acc)) + (seq-reverse sequence1) + '()))) (cl-defgeneric seq-difference (sequence1 sequence2 &optional testfn) "Return a list of the elements that appear in SEQUENCE1 but not in SEQU= ENCE2. =2D- 2.20.1 --=-=-= Content-Type: text/plain (probably needed in more places as you did in one of your patches) So I think we don't necessarily need something new or a backward incompatible change. Michael. --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 13:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen , "Miguel V. S. Frasson" Cc: 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155256901324759 (code B ref 34852); Thu, 14 Mar 2019 13:11:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 13:10:13 +0000 Received: from localhost ([127.0.0.1]:43099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Q7g-0006RH-Q7 for submit@debbugs.gnu.org; Thu, 14 Mar 2019 09:10:12 -0400 Received: from petton.fr ([89.234.186.68]:46968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Q7d-0006Qe-N6 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 09:10:11 -0400 From: Nicolas Petton In-Reply-To: <871s39oe14.fsf@web.de> References: <871s39oe14.fsf@web.de> Date: Thu, 14 Mar 2019 14:09:58 +0100 Message-ID: <87wol1ppp5.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1552569002; bh=zWpuJIuCQ9yeOSsltZkPeDcaaXRoFfvhRhjj8tPNrbA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=YQhbWS93VK0jXQnsaZMKHvPd5Cyn2vTUun1Ka9VosZ0oqsiT1gnjafkLrsUSaVmELOBzJoE5kY2S/H3r+BEJF0IVz0llU1FXddAIY5IDwCLeB+utDP6M8dsoTF6vEosIfxqpjnekFyE/qqxs3a8FTtOvwOH/f9Cdc2aDaehoOZM= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain Michael Heerdegen writes: > Indeed. > > Nicolas, can you have a look? We probably can't use `seq-contains' in > the implementation. Yes, I will. Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyKUqYACgkQ6LzXhmr8 +Xiusgf9HH79UcF0dr0Nvl8fIiSbBzdJv271ms2O2Nog0ZxktODWZ8QoGbJeO0b4 X6FNCvE5dPqvHxkMO2ylC4AmalpdznGDj7FF0RHqpE4oA/DMq8CAv+WditelWNak ZPadu/rNJm1RClqYU+pItL9VpHxz9OfqCpH142m+MpxenMavl9q7chhWHFvHmnVP JYE2fS/97PRF7Z4VFL5JqBzZp5V5kQW+0fimlOPaWWTTeE4No8NWqwgMv2gaVuHh yznqn2XKuu2LeKfxwSGxtOcLBx+ymuX++dsqXuDp2FU5K0drXx4/NtcOSpyBi4zd QoaVIvMN566aqOxtk7op6uRCzHRmgw== =RPMB -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 13:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155257045427238 (code B ref 34852); Thu, 14 Mar 2019 13:35:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 13:34:14 +0000 Received: from localhost ([127.0.0.1]:43113 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4QUv-00075F-W8 for submit@debbugs.gnu.org; Thu, 14 Mar 2019 09:34:14 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:45694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4QUs-000754-2j for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 09:34:12 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x2EDY8T3006526; Thu, 14 Mar 2019 09:34:08 -0400 Received: by pastel.home (Postfix, from userid 20848) id F0E7A6AB6A; Thu, 14 Mar 2019 09:34:07 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 09:34:07 -0400 In-Reply-To: <87va0lmwlg.fsf@web.de> (Michael Heerdegen's message of "Thu, 14 Mar 2019 14:09:15 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6503=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6503> : inlines <7033> : streams <1815684> : uri <2812597> X-Spam-Score: -2.3 (--) 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: -3.3 (---) Yet another approach might be to make an exception in seq-contains if the returned element is nil (and return something else in that case). E.g. diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 4a811d7895..d2398eb588 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -360,7 +360,7 @@ seq-sort-by Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-some (lambda (e) (when (funcall (or testfn #'equal) elt e) - e)) + (or e t))) sequence)) (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn) -- Stefan From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258022211097 (code B ref 34852); Thu, 14 Mar 2019 16:18:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:17:02 +0000 Received: from localhost ([127.0.0.1]:43919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T2T-0002sZ-1w for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:17:02 -0400 Received: from mail-ed1-f49.google.com ([209.85.208.49]:44234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T2R-0002sL-1l for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:17:00 -0400 Received: by mail-ed1-f49.google.com with SMTP id x10so1967404edh.11 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 09:16:59 -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=awKT7bAG3gl1L+OsTxNP+0zTnU6iiwZPTgxLdnwGh/Y=; b=WX0QWdnxv8R1XHbut9WBb1pYRyN7Ug30tECUteQS22SU1NkIGtR0R7Baop8sKdfvFy zqlh1/kOjEcA5wpf2ukrrw/oG9IUvCAobIpUwvsBbK1lFGgPFL8Gw9caFSeqAJlTyuAp DS68OHrzgq4rzBYxRceziF5YITegAb7/jhxkNJGdlgrmcmQbFSYEXvPjj8vSxDZr1gMD i+Cobh16xB8MPfu1X8UgoJUK7hSMX+j5IAp/eyD7M63ZMH7qrddm/kkXFMyz20ErVOfg 1Q+ooevOJeqf31ge9zFYEyUnoFNBSinjONt46brejld0orT8hSZWtWHxCXiCyoeuXQuW PyMw== 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=awKT7bAG3gl1L+OsTxNP+0zTnU6iiwZPTgxLdnwGh/Y=; b=NCKGKITGfTuHTj6o4UPNqt2YdKnklbqgwccQ+vjpUVquwIqMgoDxDThtGexhByCmQ9 oHe3zDT6ZGJxrJH3wwSU38LDG/BGtajQ7XOAxRUGFE8VmjssouzHl3zaP4975JTUowKZ vbMpBLiaUfI/85zcr5z9SbvA/xsKBlpzkmA1MsEEra/pjIVYX6fdzobB+uQ1fEEm4xkm bU3C1W4LOKMRNyxSilrXgoW8yQB37Vh0U39VBwHVDgLnz8CdNKHVtbXVLwP1M5kXwjMp tCDkLiwF+n8L+TLQe3vTllAz9RjIVah8LtZClUU1rzUUuPnOfjz7il0USm9PVVDJxBua 7/uw== X-Gm-Message-State: APjAAAXyI5MugUuEqBzSojsMde25AHjARoQeMqkF4gYiX6SE2CjqXFNc /BmZzZZSlo5LrtsD5erxSfAEEg== X-Google-Smtp-Source: APXvYqwUKLZb9jcLlLHJqv5a1VgxDzovkwj/WzQWFjDZN2Nd347ny/luEnYDrcocKuD3yT0zbF6EKA== X-Received: by 2002:a50:bb21:: with SMTP id y30mr11649698ede.156.1552580213155; Thu, 14 Mar 2019 09:16:53 -0700 (PDT) Received: from localhost ([134.226.214.246]) by smtp.gmail.com with ESMTPSA id k19sm1188994eja.60.2019.03.14.09.16.51 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 09:16:52 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> Date: Thu, 14 Mar 2019 16:16:51 +0000 In-Reply-To: (Miguel V. S. Frasson's message of "Thu, 14 Mar 2019 09:52:06 -0300") Message-ID: <87y35hctxo.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) "Miguel V. S. Frasson" writes: > In https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01256.html > it is mentioned that: > >> I believe `seq-contains' was introduced for convenience: >> it is used elsewhere in seq.el and map.el. > > so there may be problems in map.el as well if it is used as a > predicate there, or even in more files. All occurences of seq-contains I could find in emacs.git are addressed in the two patches. Thanks, -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258025711159 (code B ref 34852); Thu, 14 Mar 2019 16:18:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:17:37 +0000 Received: from localhost ([127.0.0.1]:43925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T33-0002tv-4N for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:17:37 -0400 Received: from mail-ed1-f43.google.com ([209.85.208.43]:34347) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T31-0002tj-M3 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:17:36 -0400 Received: by mail-ed1-f43.google.com with SMTP id a16so5149865edn.1 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 09:17:35 -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=PQBHAfVMSKbXup+ds3KF+4q598KqHgCL0cLu2zp/AD8=; b=ZBFlAOVpLAfMFdlupYnZM4cNhcqKrQ2exOXUvufCB9y7WdFS9MM1J6sdh+exLLxDCw 68EAXFWk965U2nnawfP5iwzLhnShkn2wMmOEbGxViRTGfY7PlZZfiNL/e++TKUz4APkR C5GP3jUqLOVgsQ7Pn/cKYZjq4zDzOfPkLw4ObGwKoO/Xk/GslFwIZOAiseK6DXvXB3Jx lFRNF0sYI48/mBWKNWnJreAleRqXGxcJAK8o7tk/6DGi7b9YjE+PEtb8SzcvviDvZ0ma RypK2KCIz6B6Rp3gl5XSKrxDDsOfZdmF6ErUYPIr5x3msNL18N1s4J8oJXKPMGBSBcs+ SSGQ== 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=PQBHAfVMSKbXup+ds3KF+4q598KqHgCL0cLu2zp/AD8=; b=ny71y6FcZ4gxQYHRBsRrxKAPfw2DTh+YENAFFNOcEMgWxvaFlLR+K7r4lyZeVBLc1J 0neswJoBVAYaRnYbo4fPneuDk+0hXeDPVWSAFXJutdgf6ks6eSGN+UeGDuakMrUPsMKO wCQR3s2HK7AjJlMAo7U2VKIzIflu7yorS0UE4vHdwy+UGOV1szw+h1fUcC3DKe+x+71x Qyk4mNpMOJJ+n4JBjyhnK7pBuSRo6tCgIWjvZlROBW51JwSMHWbdN+lhlIsnlXtTKVot HsTqTtzc1oJm4XjubMy7z1bg8YUZKqA5AkxMMLgSQl8ps/QBLRCiNOAe5mg6XPgWcPcz nMeg== X-Gm-Message-State: APjAAAVa5xhllhnS28lNvdquGbDEAp7UkZYJ/TTkowowAey2wihKeE/L ovxvIFOyNFfShNLrElvf3GasRA== X-Google-Smtp-Source: APXvYqzKdpPQAhRoDzRkO4G94Q9rVbcTGrALtGGtJ+ve3P2JeJxm95ZBGP0634RVX29ieVF76HCZCw== X-Received: by 2002:a17:906:7045:: with SMTP id r5mr10196391ejj.147.1552580249886; Thu, 14 Mar 2019 09:17:29 -0700 (PDT) Received: from localhost ([134.226.214.246]) by smtp.gmail.com with ESMTPSA id g32sm333829ede.78.2019.03.14.09.17.29 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 09:17:29 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 16:17:28 +0000 In-Reply-To: <87va0lmwlg.fsf@web.de> (Michael Heerdegen's message of "Thu, 14 Mar 2019 14:09:15 +0100") Message-ID: <87va0lctwn.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Michael Heerdegen writes: > "Basil L. Contovounesios" writes: > >> One solution is to leave seq-contains as it is, and switch to using >> seq-position (or some new predicate) as a predicate instead. Another is >> to make seq-contains return a boolean instead of the needle found, which >> would be a backward-incompatible change similar to that for >> map-contains-key. I attach a patch for each of these respective >> solutions; WDYT? > > We also have `seq-some' which can be used as a contain predicate, > e.g. to fix this bug: > > From c53a80c29e696ab64d4279ca6f495c8e0e1b16b4 Mon Sep 17 00:00:00 2001 > From: Michael Heerdegen > Date: Thu, 14 Mar 2019 13:55:41 +0100 > Subject: [PATCH] Fix seq-intersection with nil > > --- > lisp/emacs-lisp/seq.el | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > index 4a811d7895..5718343a8f 100644 > --- a/lisp/emacs-lisp/seq.el > +++ b/lisp/emacs-lisp/seq.el > @@ -409,12 +409,13 @@ seq-sort-by > (cl-defgeneric seq-intersection (sequence1 sequence2 &optional testfn) > "Return a list of the elements that appear in both SEQUENCE1 and SEQUENCE2. > Equality is defined by TESTFN if non-nil or by `equal' if nil." > - (seq-reduce (lambda (acc elt) > - (if (seq-contains sequence2 elt testfn) > - (cons elt acc) > - acc)) > - (seq-reverse sequence1) > - '())) > + (let ((testfn (or testfn #'equal))) > + (seq-reduce (lambda (acc elt) > + (if (seq-some (apply-partially testfn elt) sequence2) > + (cons elt acc) > + acc)) > + (seq-reverse sequence1) > + '()))) > > (cl-defgeneric seq-difference (sequence1 sequence2 &optional testfn) > "Return a list of the elements that appear in SEQUENCE1 but not in SEQUENCE2. > -- > 2.20.1 > > > (probably needed in more places as you did in one of your patches) > > So I think we don't necessarily need something new or a backward > incompatible change. My first patch makes an analogous backward-compatible change using the more efficient seq-position in place of seq-some. Thanks, -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258035211335 (code B ref 34852); Thu, 14 Mar 2019 16:20:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:19:12 +0000 Received: from localhost ([127.0.0.1]:43931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T4a-0002wk-IT for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:19:12 -0400 Received: from mail-ed1-f53.google.com ([209.85.208.53]:34557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4T4Y-0002wX-GC for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:19:11 -0400 Received: by mail-ed1-f53.google.com with SMTP id a16so5154576edn.1 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 09:19:10 -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=OWlDL+BSl8ZBQZuO5E88Mgj4rj2leAiMknQpuZHAHSo=; b=zyqEuu2wf6Z8ON/LXZa18DY36vEN8zUMBaPwaAoTQNhAKHcRe3XSxc6EsgScWZC/VI I9dNMkt43ralPFhmNsEcC9V1KHMw8InD6Hy73JCT1Oj3yVdbf6M68l9/58qai84CHUYT DLmsSx7qtMhm8wdhPgE2PVYdlfZWnyW2T0shRrNsX5/E+QGl0UuspakWS9rDplbf8ks0 qPglp+tsc3auHGHfLgTnYLxcyrPVvFeSL/WhrSoAutLQWFf5Ibv9u/ZG/C1NKm109O5S uoEzJvQ2KzBhvHX6g4uSBL/BbJZ+g9uwub+N/hWrsVrGlayXoBpyQpRrATJdunLixTpA Lr0w== 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=OWlDL+BSl8ZBQZuO5E88Mgj4rj2leAiMknQpuZHAHSo=; b=bR/rVjwua8FzZwlkvU8hLUGfC4qJNjLNPuaSrANcFeruyTwd67bbDPw11fXP99C4Jr 7WczQKqkZaTarT6zKfnVyeqoryV0cni+HRorrFi7vpGRu65MzdoGH2rHu0cr6FIjTOXq 2CopUvyXkqCnbBVTAJKvOJpULuOHexaL0JzhEPNwXlRzXYAhdltjuFAPwbLZxyqzCuBh 8dQ8I5ACXq0gmyp23ArSipY6lW2xcRcVMu4BGetL6OiI+y2jUDT5CWMe40zOZW21S0an F1C8TaM701w1Ahsfq4O/Ickq9moQxAj8ZFjs4/BPSRYNPQ1EA8jopdglqueR615hRryy LN1g== X-Gm-Message-State: APjAAAXG9t9roCsrJsuc5lb8SYX5Aetiu4X9EpTCN1yp2qXtazTRMW6T o2/02UA9muNIsq3ai0dSnCMVrA== X-Google-Smtp-Source: APXvYqwz9nKrqvnWIod8OcVyeBYpc1vLw9Yr6CZUjTTQt+PclaH7+LkjdHj2TNlOaZt0ErGFGojZTA== X-Received: by 2002:a50:d5cd:: with SMTP id g13mr11443108edj.136.1552580344674; Thu, 14 Mar 2019 09:19:04 -0700 (PDT) Received: from localhost ([134.226.214.246]) by smtp.gmail.com with ESMTPSA id a9sm1187187eje.37.2019.03.14.09.19.03 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 09:19:04 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 16:19:03 +0000 In-Reply-To: (Stefan Monnier's message of "Thu, 14 Mar 2019 09:34:07 -0400") Message-ID: <87tvg5ctu0.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 Monnier writes: > Yet another approach might be to make an exception in seq-contains if > the returned element is nil (and return something else in that case). > E.g. > > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > index 4a811d7895..d2398eb588 100644 > --- a/lisp/emacs-lisp/seq.el > +++ b/lisp/emacs-lisp/seq.el > @@ -360,7 +360,7 @@ seq-sort-by > Equality is defined by TESTFN if non-nil or by `equal' if nil." > (seq-some (lambda (e) > (when (funcall (or testfn #'equal) elt e) > - e)) > + (or e t))) > sequence)) > > (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn) This is both backward-incompatible and inconsistent. If we agree to make a backward-incompatible change, I would rather turn seq-contains into a proper predicate, as per my second patch. Besides, returning the element found isn't particularly useful to begin with, as the caller already has access to that value. Either way, we can install the backward-compatible first patch (which uses seq-position in place of seq-contains) to fix this bug, and later discuss any backward-incompatible changes to seq-contains. Thanks, -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258133112896 (code B ref 34852); Thu, 14 Mar 2019 16:36:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:35:31 +0000 Received: from localhost ([127.0.0.1]:43940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TKN-0003Lw-BM for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:35:31 -0400 Received: from mout.web.de ([212.227.17.12]:49719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TKK-0003Ld-GF for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:35:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552581311; bh=YDqZyG50rbTSNiChcS+Kar6HB/euLPgAa/4/X49v+RA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=O4iFlHSt/z/NhxV1YYIXMLkR3u/6iA588QjbP1hMQcmH8kJjdJ7JAuk4dyjKMTgKZ Bt4dKGoZrCR/UI/GtxXYBX9tqtmPOfayeXLHzop7PFPTCG1T7/1Mj+e9IWO0HFuZe+ pzo4s1UOUFMgG3QvJdfl+zpDKcbK7vJ0hlEpcpWk= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MSrl3-1hWLzm1nJF-00Rrof; Thu, 14 Mar 2019 17:35:11 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87va0lctwn.fsf@tcd.ie> Date: Thu, 14 Mar 2019 17:35:08 +0100 In-Reply-To: <87va0lctwn.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 14 Mar 2019 16:17:28 +0000") Message-ID: <87tvg55s8z.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:ZUGgZLs2Xhc7MIQ8Ex9zSSRtxCUcvF1NbL1ZD7ILoktEFU62ArM fjQK/qB7VtolivzW0OFGPJRV4rkNz6sm4aA24IUaAw29RnPxhju3bnfls59WHODpGrGo8Am ankjWnb5NTIAtEA1c8WJcarAEYo1NM0ahv55kVXjhAta+I3t2XaF7Hw4l/F42jLbSIv7IvJ SEn53zV+CPH5LIUPaLkqA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:6ZnKrr4JExw=:uUxymyQD9Pjq0TjRbdZp7s O4wZxdzmJVbXrcENApCroTvk8j+fhtFXSjYOLEFu3ktNqkQhXwEugJDY72z8kzr/jAkIF0/96 v7c6CfASYd67l/Gf0CqYF51g/86HmQCJYnDP7LSQBkipH4qtHy9pONmS5k9M+xSiqqlj8X+23 T9Gu4QlWUwxbvQFcVOYEVEfkWf8dMWasIudiFZbcVSJ/baF5Jzfc2gRVVYGbeoEVfH/peFn77 RqQy9aT7wHBYRD5ISIk4Fi6LsVJ7hKEOX2Cm+CK+2/1VZFEP1CTKdDQK/IWBXHEl5+5ZAThB5 y5SAaiU+O0oN9hIZDuXbKBTxnUijfxbN7eqQTjThscIlC+Pf6gbBDfWtq0QBjNspf6WVWu8wS XqoGmGtNemzDDsKl8LsR/MxlYC0b0oHgXjNLlp7BE4DZ0N0OuEzFyg98dvwYBvTbtAvBHv2Yt LFipJUWbWJyBfaDEsS/JE8RVU/4TKpTSI9dvfPMLEEhD4zVwdb6m2F3bjQU9n1XbRB4i+iWRj 01u8EwiUng0J7nEvm/VwMPQ8wDtQJvgcqDK5BNwxaY1DvhZYdSTQhxQJ/zWpTuHeY8D+HsVO9 fHfcgjwLvtts4K6EYTY2R29U/oW2sf5u0svYLChJOPkn0daHZFcvd6ZYRk3m/tfiECRLtqwv3 HM2tFPBGBNqXSO9Yka6u7Lc8cpWtQN+SmWnnPr/lMXUoZG8GquqM9cd8N1sy0n5Wy7lbZKEAV UxFXAPuNSMlOiF3udqy3gLu2xIP0rgBFyJjYZ6JAe9woLuq+NMf5ZwAnb1cqvdEEgr8zZj37l SRoXG/3S07oc56hH9xhs+gVKmGImVBASUNMLJgGtWtVK01IB79z5DpZoF4vNbAcSXnaCPVI9B i4kOEmON0TUttcbscvW1oMdZdtpL82IpqcRaywVd50wNnTvPsX1VwfcLr0GjlQCrn5c8LjJSB f8zHcsO7DBg== X-Spam-Score: -0.7 (/) 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.7 (-) "Basil L. Contovounesios" writes: > My first patch makes an analogous backward-compatible change using the > more efficient seq-position in place of seq-some. Why is it more efficient? The implementations are more or less analogue, with the exception that seq-position additionally increments a counter. Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen , "Basil L. Contovounesios" Cc: 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258192813813 (code B ref 34852); Thu, 14 Mar 2019 16:46:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:45:28 +0000 Received: from localhost ([127.0.0.1]:43944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TU0-0003aj-DN for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:45:28 -0400 Received: from petton.fr ([89.234.186.68]:45658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TTy-0003aU-Bv for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:45:27 -0400 From: Nicolas Petton In-Reply-To: <87va0lmwlg.fsf@web.de> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 17:45:16 +0100 Message-ID: <87d0mtpfqb.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1552581919; bh=dKXLWG6nZLNpN5vYFu9IrydwwrVVa01TGgCoAoaWGMQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=ssQyHz+3QB7uzIxv3qVVYg1lqTyvbZAEzj4I7o865b4Q/Vzq16wST6I0HbZlzV5Pu89X+vTVrQ8kv6dlYhrIdHRanTWc6O73coYmm3koIhe2QNNVbR5MmbzKJYzBKDfou0DG/3qUHU8FN0xcLG/ZhhtlWEWSz+5np7HoH87z0bY= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain Michael Heerdegen writes: Hi Michael, > We also have `seq-some' which can be used as a contain predicate, > e.g. to fix this bug: Using seq-contains was wrong, and I think seq-some should have been used instead, so I like your patch better (it's IMO better to use seq-some used as a predicate than seq-position). Unless somebody disagrees, I'll install your patch. Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyKhRwACgkQ6LzXhmr8 +XhU6wf/VqqKn+at7QEkld8hTOgrnWGvhxbcp4FWrB2Wd3fsEdbwsBx+hH3yBqGy mxWRrbp/tSbZiwrLLHXXMzib8khfGP2TUDvi14lnmkbMzkEPwA1KvJ6TySqY53RE f+D3IVOIFK8OHSsPZGmAMGXYcXZHF6naAKjRjYhVDKvI4Ev0pSnp/dzOijlNnpAu DBKjdZ07uslHyuh67w5jMouEPBKj0fVa4gvuRW5NjNNB9EwKSRX4fY0d7NT8ZDlG rWGzoQ3E1WxB0OXqg2y1XRoPLBhLhMHEAYz3zrqjJEMrU6UHfBk3hnG3bcaqODCY ofo4WVPTM6dOQJkjFaOo6/V9Eeej5w== =pY5c -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 16:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: 34852@debbugs.gnu.org, Nicolas Petton , Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258195213875 (code B ref 34852); Thu, 14 Mar 2019 16:46:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 16:45:52 +0000 Received: from localhost ([127.0.0.1]:43950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TUO-0003bi-5x for submit@debbugs.gnu.org; Thu, 14 Mar 2019 12:45:52 -0400 Received: from mout.web.de ([212.227.17.11]:34369) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TUM-0003bN-BY for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 12:45:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552581935; bh=WLd+3eMgafcp1yp3v3kXIrsHwmIJPFDd62cKNnS8v/M=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=JP61XMHhXnyh6YdMANeVbEbt1iHLudPIvbWQuPBe4LV97OcOeFQ2mHtfq+cthpJ1w YRldjZjNOWCrmk51lEKG2MF/HWO+jXDrP3t6qlho44krybWXZTSVtLkE+5QpIAmEid TKwQG44FsToIzKmiLJzVLPzqAXHuavaYCSkpz/6c= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MGzba-1hHB3k3jVK-00DnIS; Thu, 14 Mar 2019 17:45:35 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87tvg5ctu0.fsf@tcd.ie> Date: Thu, 14 Mar 2019 17:45:30 +0100 In-Reply-To: <87tvg5ctu0.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 14 Mar 2019 16:19:03 +0000") Message-ID: <87pnqt5rrp.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:QSewzVYyvZkA80IzbNlWAraQub1VWgtf67jVq3uftds+mfRABY3 f0FqT1uhlaA8opaYWSua8ozF4en5zVVpTcVSqqsC3DYcyJ6kgZS/QmWKUgFAof0sEqTdr71 SwCgNMARrvnp1y9XyfbBrqpSKilbnvX/H/kwIuV4205YjJZ+NJtusN5cPprNW5ACXGTdbim aU/huWRwJ0m1p+E2L2iqw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Dy0wWag/37k=:4S+d+L8ZopJXovJRFCBade jGSz4JqhPha9KD8MFytXAxfim79zE+CTmiLwHVLQwbEqcSjuCRdZVBnxPdEu38NBjiOhknZlI kGSyIYRCRcKaYBbw2BuWZF0S3HD8J6b1RT5r/YcT5Bo3yXuVuRzaM13EREUabqtbYt9NgWgGJ sNLPC1PZilrmZE8BzmSHKM/BClyoyAj5r2NAz0eXQ3IdzoRzqzcEAWtjR5P8U4ZFzwoJnn2Ip lhrXWtCHr6YRgT0wdF0RB+YDOrkcwoJrIvRHJRhDYBdDdUvMCViHgtkqN7ELkXR99GFbL5kzX hZDdA1qWTgjtKslExe0GryVBfm4D9Gzp8kRhAyQx7QL9AKmtmCdk50Pj3bv0p3hMHhrbXfmy4 TQh7q9sUXtcqgzsxWSYMazhOKb9LyoEVtRooEqGGf6YhDW2wnQiI7fz6/bRUZlafeD8kkmjCs wYjBguheC2rduDzAL6CtbMlz+OSytIg8OhBSOK+Oa/EofiFVWomB+K7fjApEOQlV4PS2VJ1Ac swE9684iUNWEVtujK8mpU0+XA9P2Z3O9pkTGEkov+kMePHV4fo0ySR0U6nr/rMDl+KJlUlrRh ax8+n+p7DCFk1jQdJU3xpwdiSRQg3/eGsoBpcpR6pVUdv059tc+OA5bB8Ges3i99D8ckOLyAe +ji7B0t6gym3btIBWbvsP4A/Fql8TdMDwMxaLOF3YTE+d1EbMRbOTsvsystsOkYNIdM8vTfGr 2GYEKhp2DT9cWTXPqyCwC7FMKf4P62ngpyWN+svBC+igUd1ACdzDvZpSfNWfrYSodZ7VUdOl7 H9ke7F3G9X0RdRvVD5khiUOqcKk8SQ77gayMWSHDA0tfzOMBNd008JGlKfhqTY2LvKJLQ6oTp ZvevKRMRArKkAbjsbAItC6UkHS+RYAfZeA/KZBREO0YsitiSPimAE5OiMTU9KTZxIDfpbsltS FHBGnwkhFPw== X-Spam-Score: -0.7 (/) 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.7 (-) "Basil L. Contovounesios" writes: > Besides, returning the element found isn't particularly useful to > begin with, as the caller already has access to that value. Depends on the TESTFN. You could use seq-contains as a replacement for alist-get, for example, when you make TESTFN look at the sequence's car's. This is more or less the same as using :key in cl-member, so people might be doing this and there is some change that we break existing code. Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 17:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258295115445 (code B ref 34852); Thu, 14 Mar 2019 17:03:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 17:02:31 +0000 Received: from localhost ([127.0.0.1]:43960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TkV-000412-1i for submit@debbugs.gnu.org; Thu, 14 Mar 2019 13:02:31 -0400 Received: from mail-ed1-f47.google.com ([209.85.208.47]:45608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4TkT-00040p-Gt for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 13:02:30 -0400 Received: by mail-ed1-f47.google.com with SMTP id d21so3812011edx.12 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 10:02:29 -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=s+pNf28f5LuXcIYB7/R2TAEmojJVbfvFFpQP6daJ5hg=; b=0ZSfzL+H114108wokCRJ+QhaOt0e6Qu8LyLFjSVuW7hhnptaWO3DcJYhblKXwymGHM DDZqU/dbTjzQdCXEXOORn3XGSSCst7ECUYxKj4t2eL7VYu/Jv4r0ssYj6i1xkP2/EtfP Ny1hvU54oCWOczhfD0nGgnSs2SU57luCdB9cXMTPRBdRUFhhes1qYxuzDpYV8afqVrXc hvPDKXvNFOPcZUD4WV7IQQzN9gn4f0tiwQbzl/u547p0EvzlkygZ6GtjU+j4vJPd8b4p lswny6ZiN9sMmpXJrNijy+hG1o/pqQJmh4CU2uFKS4vbCYOIsOLl8nn0hxpBZWiUntwm o6Uw== 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=s+pNf28f5LuXcIYB7/R2TAEmojJVbfvFFpQP6daJ5hg=; b=LFqWjlUKnr+XCBRGVBDGwouZk+gR5mU+9pBsrlJxTIhhmDY0ibZ1BQmogdIvrGRy6t B9sU6yzj0srkaLW1g0brjVSzxk5e9skBkOmRCeH+wpQzF9yl5L/Ige8NKtMg2jwg8aCA 3QKJSVmWAqIG/1BHYN5X24zeaSzePcm/cLSGm005d/YKvMBlAqm2pB/AaHCYRr50VixF GrnxrUlRnT5+jc2Bzch3IbDwDm3FqvRyZT7cvbUTXIMDvX15b1jjASzVBFS92z4pWD0E +jhk9NDTWfneZuxiWYcZgdDuzDG0cSzcxRVHnGA6NpVV+Z3G1oO1hng8TNDJ+NIy492S MQYw== X-Gm-Message-State: APjAAAXf5VwPBfuIqeWymQE0Y2u6KLcONdJsFK+9L9GXEmK039+7MB82 FOxjB0rfuR7tS3qu5t/YgPw3cg== X-Google-Smtp-Source: APXvYqytDpZuQQqNQ7SvVuGFabUjSYY/s6/EcqqqYdOnqVOg7A6pPpn9Xjo/y0/YQQ1eCC+E9hO57w== X-Received: by 2002:aa7:c243:: with SMTP id y3mr5031226edo.283.1552582943637; Thu, 14 Mar 2019 10:02:23 -0700 (PDT) Received: from localhost ([134.226.214.253]) by smtp.gmail.com with ESMTPSA id bs21sm1204573ejb.11.2019.03.14.10.02.22 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 10:02:22 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87va0lctwn.fsf@tcd.ie> <87tvg55s8z.fsf@web.de> Date: Thu, 14 Mar 2019 17:02:22 +0000 In-Reply-To: <87tvg55s8z.fsf@web.de> (Michael Heerdegen's message of "Thu, 14 Mar 2019 17:35:08 +0100") Message-ID: <87o96dcrtt.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Michael Heerdegen writes: > "Basil L. Contovounesios" writes: > >> My first patch makes an analogous backward-compatible change using the >> more efficient seq-position in place of seq-some. > > Why is it more efficient? The implementations are more or less > analogue, with the exception that seq-position additionally increments a > counter. Because seq-some involves an additional level of function indirection. This is confirmed by profiling and the attached mini-benchmark, when run as follows: emacs -batch -f batch-byte-compile bench.el emacs -script bench.elc A call to seq-position is also less verbose than one to seq-some for the purpose of finding an element of a sequence. Having said that, the differences are obviously very small. -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 17:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nicolas Petton Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258334516030 (code B ref 34852); Thu, 14 Mar 2019 17:10:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 17:09:05 +0000 Received: from localhost ([127.0.0.1]:43964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Tqq-0004AU-Qn for submit@debbugs.gnu.org; Thu, 14 Mar 2019 13:09:05 -0400 Received: from mail-ed1-f45.google.com ([209.85.208.45]:37314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Tqo-00049v-H9 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 13:09:03 -0400 Received: by mail-ed1-f45.google.com with SMTP id m12so5288014edv.4 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 10:09:02 -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=7TCYwgDIdrrN4iU2xauXuCbGxxn4MulbcUpbIg+pl6o=; b=ycZpToRGP4zx5rRXm03FBKHIdcr/ub6mtR1fTRbVuTDU6+Od21lUY33kmwR0nYO4R9 Qso8QKc6lm95IE2k4L6MQwEndA8voZoLz1r9Aaxp+SBZiNiqKlrjXsZIV37FZFrWG4Yc FzhFxl5HqYlpYjZ0yFJn6qDBBaCraThMwLwK77Twu11D/W7gsrOI4c25qbAVXeWClDn1 XESGM1bU51R+h6KwQlMIClaf9+KvfHOAs7PE9vCBmwAA3GcaBwHGd/g7+Sb0i7n0wm/J lqfPd1aRJuYh1Y0wpzHWu0J8gGlftEHiYqsa9qTTXdhTI9lEQr+IRkyLFJUjXFvUg/H+ W7Uw== 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=7TCYwgDIdrrN4iU2xauXuCbGxxn4MulbcUpbIg+pl6o=; b=I6Fjk0KcSp2X1OagFuiU41ldnS9h8HCUlgdIuHoZ5796SANGKL4dfj7MU+3PMhJr4g IZS8ZTMLdq82Nm5PnQk5RCIK5+6GHZDz6qLRvOoqiDypuTLcE2VVgO4mFtlsQ502w/wV 6DKaKTD6LHSliOH2+UczozIOQwswTe6dET7DfJUkzNEM+yTlKKMYhmQcJDJtJGgKvRQ1 OgmhKn3BK2h7ceVYgEWmxkgSudsxQh4ZedU8ze0GIWFLhXXsw5xAUiayo+PK0v8QZesJ 4lNio2egGycfw7+AZCh3SlAeF+24jCptJ7Ght3ctiUr2DHhLyswLIEkPzg2dRG1m3N+L 4ESg== X-Gm-Message-State: APjAAAU3GqQGMz1U3PtXcvxyQu8zU8NdjzTw7S9Bs10xRJJTMzpZT9eM 0iFLcEnNHqPDDASpbMmojo0uFg== X-Google-Smtp-Source: APXvYqyxVvCTx7ZI51Fw2qGjj6APw/ShP4uMwflwmZL4kc3M2KuUPk8+WSUa+XUVTUOKiUW+nl4FBA== X-Received: by 2002:a50:f411:: with SMTP id r17mr2179812edm.262.1552583336777; Thu, 14 Mar 2019 10:08:56 -0700 (PDT) Received: from localhost ([134.226.214.253]) by smtp.gmail.com with ESMTPSA id b22sm1672392edb.5.2019.03.14.10.08.55 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 10:08:56 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> Date: Thu, 14 Mar 2019 17:08:55 +0000 In-Reply-To: <87d0mtpfqb.fsf@petton.fr> (Nicolas Petton's message of "Thu, 14 Mar 2019 17:45:16 +0100") Message-ID: <87k1h1criw.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Nicolas Petton writes: > Michael Heerdegen writes: > > Hi Michael, > >> We also have `seq-some' which can be used as a contain predicate, >> e.g. to fix this bug: > > Using seq-contains was wrong, and I think seq-some should have been used > instead, so I like your patch better (it's IMO better to use seq-some > used as a predicate than seq-position). > > Unless somebody disagrees, I'll install your patch. If you go with the seq-some patch then please edit it to avoid using apply-partially, which is quite inefficient. The implementations of seq-set-equal-p, seq-uniq, and seq-difference will also need to be updated, in addition to that of seq-intersection. -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 17:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 34852@debbugs.gnu.org, Nicolas Petton , Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258366216520 (code B ref 34852); Thu, 14 Mar 2019 17:15:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 17:14:22 +0000 Received: from localhost ([127.0.0.1]:43975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Tvy-0004IO-7l for submit@debbugs.gnu.org; Thu, 14 Mar 2019 13:14:22 -0400 Received: from mail-ed1-f52.google.com ([209.85.208.52]:43048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Tvw-0004IB-CY for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 13:14:20 -0400 Received: by mail-ed1-f52.google.com with SMTP id m35so5284653ede.10 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 10:14:20 -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=RQOhbyTOPuQz5Jdn+T0WLktPpqlOZgDW4Egh4+tKKoA=; b=N2/rRCtXpBKOzV2VlnV99XIsncMW8IjqkK4c54KFuYf9ezFP3UkXOJVpHbgKUObNq8 YVbTBWruQrcGfLqdGIDg+fb8XK3md7IXhEHkZSQ4Xo7wTulH5JNPey1Pq6YNpWicxHKa ByG8lF/O3kIhYk1+91fo6OY0d7H+CylOu/v08nuoz9bkPzxUm3ZYhqzCOLZU6m9eYqGD mM/SoqGwzNp6pgu2PRLrKmVmu5aN9YN+aDdKT8VKLx0pID26rtARiq/Af3FGUKrrRfMt OUXJEoe0zeXqkW/eWbUNtAYvYiFIrRgNSGa3mUhGpirrch0YxHr7lwXTgq42J9aRbpH8 duHg== 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=RQOhbyTOPuQz5Jdn+T0WLktPpqlOZgDW4Egh4+tKKoA=; b=XKK62SmxZqQ1Mg34Hvv7MgFR1C+sO5fqbd8nrAFQfEf1U2mUsfRxawuLXO2VE59fbz VnRz/zmhBRpnEk0jWlJmRx9feV26cffw0BrVKm1P0YowroIH1CBAfhELrJw802uqo6Rd ifU3nWKyRLhV1slMcI6JeIaeT1Abc1kzRqzNTlv3kDVUk4lv6Q5ID+8wULkvQFzGnDqI Gf8EZEp0nBsByNaYXJVulRNYy1wS29qtTsG8aqn3i5dxacmyoZSqxccABHZ6ItFbI06R KAuq2GYbhXa2QycLbUHOeqbh0I23+nZRdzVHs2s5DT/GSW326DtGloDsYu/86IesVAxh cIlw== X-Gm-Message-State: APjAAAWddRsQBIxTb5ZRcEirsjlTP7tSsFdmL+cuvIO1Sev/RkPNmoRv 5jh25LEi8E4VlE/l/+MojU7LqQ== X-Google-Smtp-Source: APXvYqwYxkfDc/sq8jb9BpjaiM/9zOfoQAnE02q9fG0JhngnhVq3oLTPzAAUWCRBpKLQU6V2wfBdIA== X-Received: by 2002:a05:6402:74d:: with SMTP id p13mr3685057edy.245.1552583654551; Thu, 14 Mar 2019 10:14:14 -0700 (PDT) Received: from localhost ([134.226.214.247]) by smtp.gmail.com with ESMTPSA id w48sm1611842eda.88.2019.03.14.10.14.13 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 10:14:13 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87tvg5ctu0.fsf@tcd.ie> <87pnqt5rrp.fsf@web.de> Date: Thu, 14 Mar 2019 17:14:13 +0000 In-Reply-To: <87pnqt5rrp.fsf@web.de> (Michael Heerdegen's message of "Thu, 14 Mar 2019 17:45:30 +0100") Message-ID: <87ftrpcra2.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Michael Heerdegen writes: > "Basil L. Contovounesios" writes: > >> Besides, returning the element found isn't particularly useful to >> begin with, as the caller already has access to that value. > > Depends on the TESTFN. You could use seq-contains as a replacement for > alist-get, for example, when you make TESTFN look at the sequence's > car's. This is more or less the same as using :key in cl-member, so > people might be doing this and there is some change that we break > existing code. Fair enough, though I'd be interested to see an example of such logic that can't be written in a less contrived way. Thanks, -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 17:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: Nicolas Petton , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155258419217382 (code B ref 34852); Thu, 14 Mar 2019 17:24:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 17:23:12 +0000 Received: from localhost ([127.0.0.1]:43988 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4U4W-0004WI-2i for submit@debbugs.gnu.org; Thu, 14 Mar 2019 13:23:12 -0400 Received: from mail-ed1-f43.google.com ([209.85.208.43]:43015) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4U4T-0004W5-UI for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 13:23:10 -0400 Received: by mail-ed1-f43.google.com with SMTP id m35so5308241ede.10 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 10:23:09 -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=LZt/xZIL7ybOG4sxddHsNLDyAxYfuof08B2v18gOf7M=; b=lRS3FmvIjsQndIcfmiXC+5I4ZIepsMXcbbFOt9T+ANv88x2dAFJuBZ1ey8TystRqXJ o4dpmN6khF6ZwoHX15kQ2tHUueS6Y2MlpC1py6tsLjQeSHSXATgJr4hpF/4sstB35Kz6 1lr4u7G2df0QfwtwkKGNhWSKGibOwZR98GQhlZry5QTgJEXhW6hLCDcH2cVJLAY5ELLw NBfochAjNjpNent/QR9dmFdKoV1CSzxFEbTI4Uq/7R46NmNKdaYWm5SkvAQni65iyLcR 0v5tcZqiusXo3Xmt+aZk7XiHjdIIS4uo+ZuTy9wMw9LE+9yTz4w7nhvmtRd+Wfce+5yV Buxw== 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=LZt/xZIL7ybOG4sxddHsNLDyAxYfuof08B2v18gOf7M=; b=hj0fQLqSVeAprhcfcWrlmyOsuQTSo6AB2cEgcYMkAEQcujpVbwwt8dzR8FHFwG3UZD xZsTjZs1NfHSAoX55ABzF2B0TvrRBbgflD0Hzt2LzpLmZpa9ss26AiNa9lCgMtoPdfaZ fDm1CB+wPWCqWiXRfU0GVeX3wnpJ60yPnIr9t8RPQ1+aS1IA7rwF9wExV2bgIuxoJ/ga DaMPC8ZFEJWBR0X558ju7uneePNNqKqe26mMK3MSGoZ5H+OjBbrBLFd5u9g5lDBGGx2+ BfOwIV6otOqtDQjGcJxBCvCCggBlB0NJM0VMzDZO75QHVroHzcKm0AxuPV7KrTOZkM8m PyiQ== X-Gm-Message-State: APjAAAWbooX97c88z4ccnrGKY1Flv4ih5X/MYvBcqqdAdX/kqVJrOJaT mJ3CrkSYR+J5iJcVmNxdLUz0Ug== X-Google-Smtp-Source: APXvYqx3L9mkwI2A40ULyjUfQnaIG7avnbaxeCiHyncA7YWcz4LRllGIG8Tgk/C59nY2incqHkJdfw== X-Received: by 2002:a17:906:1b05:: with SMTP id o5mr16438418ejg.30.1552584183988; Thu, 14 Mar 2019 10:23:03 -0700 (PDT) Received: from localhost ([134.226.214.253]) by smtp.gmail.com with ESMTPSA id z9sm1190160ejg.36.2019.03.14.10.23.03 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 14 Mar 2019 10:23:03 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87va0lctwn.fsf@tcd.ie> <87tvg55s8z.fsf@web.de> <87o96dcrtt.fsf@tcd.ie> Date: Thu, 14 Mar 2019 17:23:02 +0000 In-Reply-To: <87o96dcrtt.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 14 Mar 2019 17:02:22 +0000") Message-ID: <87a7hxcqvd.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) 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 (-) --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=bench.el Content-Transfer-Encoding: quoted-printable ;; -*- lexical-binding: t -*- (require 'seq) (defun my-contains-some (sequence elt &optional testfn) (or testfn (setq testfn #'equal)) (seq-some (lambda (e) (funcall testfn elt e)) sequence)) (defun my-contains-posn (sequence elt &optional testfn) (seq-position sequence elt testfn)) (let* ((reps 10000) (needle 50) (haystack (number-sequence 1 needle))) (dolist (fn '(my-contains-posn my-contains-some)) (garbage-collect) (message "%s: %s" fn (benchmark-run reps (funcall fn haystack needle))))) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > Michael Heerdegen writes: > >> "Basil L. Contovounesios" writes: >> >>> My first patch makes an analogous backward-compatible change using the >>> more efficient seq-position in place of seq-some. >> >> Why is it more efficient? The implementations are more or less >> analogue, with the exception that seq-position additionally increments a >> counter. > > Because seq-some involves an additional level of function indirection. > This is confirmed by profiling and the attached mini-benchmark, when run > as follows: > > emacs -batch -f batch-byte-compile bench.el > emacs -script bench.elc Oops, forgot to attach. -- Basil --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 19:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155259055027594 (code B ref 34852); Thu, 14 Mar 2019 19:10:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 19:09:10 +0000 Received: from localhost ([127.0.0.1]:44048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Vj4-0007Az-0U for submit@debbugs.gnu.org; Thu, 14 Mar 2019 15:09:10 -0400 Received: from mail-it1-f175.google.com ([209.85.166.175]:54239) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Vj2-0007Ak-1m for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 15:09:08 -0400 Received: by mail-it1-f175.google.com with SMTP id o76so3322401ita.3 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 12:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+ExudVTDohnnReU/OlrwfEiV1FFP2mFBoBAUVP2wKGU=; b=Owugmsmqq29FrfS4qU51lHpjvN36Smnkv+wdkAQJH3igw+nVJElsuSha6v9enndG6W H+HcivqYW1Kwk6H2OJzyDXclilmkPSDNFu2S/qQddB9NK8zgEIq7FWJ6UZjMD6b418zv vh7tk5Ce3fK2Srxkuwb0LcMEsu0NbJSoHLP4mf27397ztUIgcErgAmQF5CkC2+mcrfk5 f1pA9geH6HT5rIAyjfSdkbT/aSyJ+v9ZOd8vNvypZJlzgGEhZuczkkHvYE6rIRWkyyNx 8jVkbYlk1EAtWmrdHBY+05A3etzIgAvovths8RshGfDw5MLhYCIGFyH3xjJxwjICrSwn Yeyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+ExudVTDohnnReU/OlrwfEiV1FFP2mFBoBAUVP2wKGU=; b=VJWnGpef1b+np6QChfNLBOJV2lwBBjQuHR1sFvvTkxi/UElUX0Gu8H0V9oiTnmPDD1 qwKO4kG5aVs2cBfAv/2LjrcBqmZgocoL5TfypsccC8OuHiDSSkZnO8ehvFR5BApUvce2 HS7GzRTABFQYsD9z0tA5VoNmcvx5jccCnngi8XRS3V2IwDpji60sMynM0hGnQ4+4vIJt +vlGDrpY5I/J1jU/ibxbJYAZzk0DDXTSP/JUsFjSZZft7XO2K5/+KBs5KxlZ0pxEs/Yr RdjxYdby6O6Al3oeeaodH2iAI/YMgTVMSYdsINjnTyVkBu5dAwH+CUdqMzQJjQH73ts0 hX9w== X-Gm-Message-State: APjAAAW+DiZ0nCp3xMUZp0d9GKyX/bj/WSZ7wALqYXHrYFSbUFg3IWRr lVK7/duEWBuWS4wG6nuDA6qZxq+KW8r3WZwUSmk= X-Google-Smtp-Source: APXvYqw5i7YFG9r6Iju07LW6kUe+1nmeeDSMOi52ZYsdorWhDsEGVs6R+sA8Wsl6g1cnJ9DGZnnPN8l0zA+TaJP1LPo= X-Received: by 2002:a24:1309:: with SMTP id 9mr3782itz.163.1552590542159; Thu, 14 Mar 2019 12:09:02 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> In-Reply-To: From: "Miguel V. S. Frasson" Date: Thu, 14 Mar 2019 16:08:36 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Hi In any case, of another implementation for seq-intersection or not, I think that the solution from Stefan should be implemented anyway because * it makes seq-contains provide a useful return value when ELT=3Dnil, so it is a good exception; If ELT=3Dnil, seq-contains currently returns nil anyway; * it makes seq-contains become a real predicate function, making it more us= eful; * since seq-contains has been used as predicate before, it is unpredictable which code uses it out of official repositories, so this fix potentially fixes other code. Cheers Miguel Em qui, 14 de mar de 2019 =C3=A0s 10:34, Stefan Monnier escreveu: > > Yet another approach might be to make an exception in seq-contains if > the returned element is nil (and return something else in that case). > E.g. > > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > index 4a811d7895..d2398eb588 100644 > --- a/lisp/emacs-lisp/seq.el > +++ b/lisp/emacs-lisp/seq.el > @@ -360,7 +360,7 @@ seq-sort-by > Equality is defined by TESTFN if non-nil or by `equal' if nil." > (seq-some (lambda (e) > (when (funcall (or testfn #'equal) elt e) > - e)) > + (or e t))) > sequence)) > > (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn= ) > > > -- Stefan --=20 Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 21:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155259980210463 (code B ref 34852); Thu, 14 Mar 2019 21:44:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 21:43:22 +0000 Received: from localhost ([127.0.0.1]:44133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Y8I-0002ih-9z for submit@debbugs.gnu.org; Thu, 14 Mar 2019 17:43:22 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:43481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Y8F-0002iU-NU for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 17:43:20 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x2ELhHWu015159; Thu, 14 Mar 2019 17:43:17 -0400 Received: by pastel.home (Postfix, from userid 20848) id C6C5F6AB89; Thu, 14 Mar 2019 17:43:16 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 17:43:16 -0400 In-Reply-To: (Miguel V. S. Frasson's message of "Thu, 14 Mar 2019 16:08:36 -0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.1 X-NAI-Spam-Rules: 3 Rules triggered GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV6503=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6503> : inlines <7034> : streams <1815716> : uri <2812842> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > If ELT=nil, seq-contains currently returns nil anyway; That's true when `testfn` is nil, but not if you provide your own `testfn`. Stefan From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260497218699 (code B ref 34852); Thu, 14 Mar 2019 23:10:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:09:32 +0000 Received: from localhost ([127.0.0.1]:44171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZTg-0004rW-0b for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:09:32 -0400 Received: from mail-it1-f178.google.com ([209.85.166.178]:52369) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZTd-0004rJ-BY for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:09:30 -0400 Received: by mail-it1-f178.google.com with SMTP id g17so7472321ita.2 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 16:09:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fiFyhIrHgcNL95IsoSx7L5afhgKtYj+0UzqpamRpCrg=; b=Z212vs5Iir99M8nxmGkwM+3pnXlMzRhiyfWcOYd3H9aqmDslpmx6m/y6gR5mErfgfC 02+ZWr6r6wrRANwzfsqyMlmqfvbIiUJCA29PkNvHj0TJI8Qs+/1BxFxmpGBW/oo/NO2H eU2Ow/nYDWI46RIhCnsYybfqkePftNBnv1wtAIFrlZznR6cSruhKAUeRSyv2PBaGwj1D piCmpD9KHg7fjyf/tGfjib1z7ULbTFzvipZQTA2zQNYwWyLohlVHffhFRx6SQPCdpBOT Gue1ZHVc3sftQiNoDBK5CykdGLlXhfJbs3FVvbin66/F0Ih2rFdtA0J4qzvM+3BSKuad V9JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fiFyhIrHgcNL95IsoSx7L5afhgKtYj+0UzqpamRpCrg=; b=Sncgiyp6g5GH+GB2+w0x4i9Z07Q0+gMmwmml9JdHkWzUUvaE8SaXflluiaPGYL45Vd tf4bVsZX9vajqf7pEdAw8Jn+04fbzViCyRfbuUGXw36/wFqwHswLbIpa3npNR/P/YDPW hD+MtqMpOJSsYvB0wzZjdwlgpGPjdZicztYK2PIUSPWOBCfV2zSfFqtF4WBy92/FqJmm B8oZ4hL/FbfkL5dNqnWmXVKMsS99fbxmaZjAh/PWImTddaxdD2M8pZl9XowGbNA0HKiT dTjPR89V9s/gVrbNtX+ukhiOgGDAw/pcUVzYF1WulpDZYAh6Ep8p/KCDAMQkXGrubIfy 8DdA== X-Gm-Message-State: APjAAAV29+6tqpf1hhH0+FYnP7sqD8Mh7HdezFEe2SyKU6eWgiKvLwam K4u52iyN685lslH17kfkB+M+mUhMzbQx7B/qPXw= X-Google-Smtp-Source: APXvYqxfTfr8uB7jaVhKe7HhxyESSNP97c/V1sKX7MOE9DJ9IBWi+lCgM8s0P1UofOyt0roIRf9KcEshFHrOQQ9HVJU= X-Received: by 2002:a24:1309:: with SMTP id 9mr87100itz.163.1552604963512; Thu, 14 Mar 2019 16:09:23 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> In-Reply-To: From: "Miguel V. S. Frasson" Date: Thu, 14 Mar 2019 20:08:57 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) 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 (-) Hi Em qui, 14 de mar de 2019 18:43, Stefan Monnier escreveu: > > > If ELT=nil, seq-contains currently returns nil anyway; > > That's true when `testfn` is nil, but not if you provide > your own `testfn`. Not really. (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. Miguel From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260526819127 (code B ref 34852); Thu, 14 Mar 2019 23:15:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:14:28 +0000 Received: from localhost ([127.0.0.1]:44175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZYR-0004yR-Qv for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:14:28 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:32975) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZYQ-0004yJ-1p for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:14:27 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x2ENENZH025433; Thu, 14 Mar 2019 19:14:24 -0400 Received: by pastel.home (Postfix, from userid 20848) id 986266AB89; Thu, 14 Mar 2019 19:14:23 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Thu, 14 Mar 2019 19:14:23 -0400 In-Reply-To: (Miguel V. S. Frasson's message of "Thu, 14 Mar 2019 20:08:57 -0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6503=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6503> : inlines <7034> : streams <1815722> : uri <2812881> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil > It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. Just because it sometimes does doesn't mean it always does: (seq-contains '(0 3 4) 1 #'<) returns 3 Stefan From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: "Basil L. Contovounesios" , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260534619268 (code B ref 34852); Thu, 14 Mar 2019 23:16:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:15:46 +0000 Received: from localhost ([127.0.0.1]:44179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZZi-00050i-5u for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:15:46 -0400 Received: from mout.web.de ([217.72.192.78]:40679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4ZZe-00050T-UU for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:15:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552605322; bh=pqNRLnJ4iuzZ9ex2PYSJ3fsanxem9DtBzr6bEsEc7U8=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=fsCzI/yKpezUu8ZludanOhzQoNT05ZsPrr5eZz2JtZXea100hBfLXZDZLT3704sxP 8ajui5/mDZfM1KT/1pQPW0dYKyXrYX0cF6+BmAGaj3rG524UTB2j7OLNWBSnR2kDM4 BcOoOslFXRi1yN3J9kU9yxmd79sPwMD3k7zPb9Yc= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MLPRu-1h41bU0mTy-000Zs1; Fri, 15 Mar 2019 00:15:22 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Fri, 15 Mar 2019 00:15:20 +0100 In-Reply-To: (Miguel V. S. Frasson's message of "Thu, 14 Mar 2019 16:08:36 -0300") Message-ID: <87d0mt59pz.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:WQRIyntEH06yxwgq8jOnSeC4bYA3VHyKgLyBHazxiAU2S6Ty88C dEXGwMx7ZW45Kll/l9m/6LR5jJs2J9GlTjEJQGHTYjj/kyF4u/+VuLVxgWW+fQq7h5jZUlD xm5vbnt6VM81p3Xec+7gzWlWBckVEPFggvAePWNHV6WQ6yR8z3mDHrQCTiZxyK/0emOrcVJ YJYlHng+rWdRPNDFleVkA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:kwXPiH/HF6I=:GK2mR6onHlBXSebpVwqp4V ezgg9WPtxvphOolCpz8RATtD0BKfBfG6Qe+LqBcINZ7RLn1Vvn8MGztlTOpsynOzfyBeyHzs0 HHyEvu3gdo3Sav6ItTqTJDMQZFVYc3rbWzvTiVE/FfzWipNYgmal/po5Z6lbeK4p+qEe2npOn xgiygN+x0tFjgPqcHZ3AuMp5o6QtC/6IUqAPAGtP50ysr59bZyOzpxuEZI8s88BNcTz9KTJmz MBZOF0enNpb1hxEekHc+RbtlQvbKRyEVLKB8HekOUT44LZY9GUauFwrnPox27Zi1qeIDYMYJ3 dJItOmaAIFzbdVcpiZJjnOs2QM602a1pP86EednJC5VyJwSgh9eCYEy0gT4HKG3QjnJhzvsg6 d9nNwXWHLMKMce8UN+DAIfG+kOsdx7l74SMQclXgYOEZJCtosgEU0q75P0ZZaFW6BKsL7BNG6 0FWqNhXe+fNT5be4RcZs0f861aPp7ROSLhOz377x9ij3M6bS+Vft0UJmnN7n+Us93QhCLhzpa kx+w+2Dho517G3QTH3d9PG487Ww459bcvm/IwPFv0f2zTiv9zAQeU8N2sfFSQUC5qeCG+Dro+ quhWRKVukE2U5Sl1DGdVkM9/Vhh9bCorvjLEKLt1X7AnYubr2ZH4asaZqWcoEiaVx/WkHinnj 0d8WLvXmU2X5LWi6qcxtLHEutnUBD7zPoWlGBIXXMP/Mr1om1/fw1moxOGFfLY55Zs9JzD/yX LBI129thb33dAECx8kq/4OY/WwI71Up50ma+B++VF+2GAoRaFV0trsuqWXy+2XDatotfMPxtf 0J+Gf8G2TWfAOSKhYOxDs3mwKQXSHyIfMSPvP4Rcxd7TQcq1uA/UlugM43nUKlJIJvoGpvIc8 cwODwsKZvmA+eSjflByWokNkyGoISU0kLSmZeP4xuSTIJl6xIY7NWkZxZGVsxBEKgs6gnfWs5 ucSioXB8YBQ== X-Spam-Score: -0.7 (/) 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.7 (-) "Miguel V. S. Frasson" writes: > Hi > > In any case, of another implementation for seq-intersection or not, I > think that the solution from Stefan should be implemented anyway > because > > * it makes seq-contains provide a useful return value when ELT=nil, so > it is a good exception; If ELT=nil, seq-contains currently returns nil > anyway; > > * it makes seq-contains become a real predicate function, making it > more useful; > > * since seq-contains has been used as predicate before, it is > unpredictable which code uses it out of official repositories, so this > fix potentially fixes other code. BTW, another (alternative) alternative would be to make it return (list ELT). That would be a bit less backward-compatible, but a bit more consistent. Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260573619858 (code B ref 34852); Thu, 14 Mar 2019 23:23:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:22:16 +0000 Received: from localhost ([127.0.0.1]:44183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Zfz-0005AE-V2 for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:22:16 -0400 Received: from mail-io1-f53.google.com ([209.85.166.53]:34357) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4Zfy-0005A2-6z for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:22:14 -0400 Received: by mail-io1-f53.google.com with SMTP id n11so6841274ioh.1 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 16:22:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=BAVp36iaSjt684Q1CHL8KG1+MYbBar90oK459YiV3bQ=; b=WAnzGLZ3H8edC9RC6Ma1YSCnuGSfWjdawx7wSt0W+AR42mbbpa2N7/QnmiJ0fDGp2L 9qIh3zgtkVSLQqDZVu8I4xpf2yl32fFpMIMOULEIETzJaOYGCLOONICVkdBuSEE9T8WY OLd+yxPdg9dKLzlYpk5wEDA3PabXydnlgS//BdGbY86P6YTQXeMlyHcXRwIrXQ8Iwev6 OQ84/F1AT96YTyigqUJzeeT25PbZJ8czZvVKBZaFmgKvDOMFb4fJ4tsNPoNsl3OarV4f NCYMrsO1tKqPEpf/wGFTd0NRhrsfkIBIjm/eUBnGWbow4NKswkdGSs1YyVoV98iww4un 7kKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=BAVp36iaSjt684Q1CHL8KG1+MYbBar90oK459YiV3bQ=; b=Y++luYTVvmc6JIMWG04dYYbtScX1G3dj1ElAcOTD0UoIMUwlMRADZVchXaMTzDlngb miGKk4+V3uuJmd3EKhHz7Aw0cCHjHdqgHLzFHprY6kmJQ/swDHco63JqoXw3qYSqCX4I ge84GGoFj7UbRQ+SLOwa337mBdOxqAhpRKZ6IdJ2ASBfnWpQNAImOn9MXbQ1gk8EDd8o mdfKu81cTL3JPJnOZKKObcNYurBHqyCWhqIqrMUDVtEMp4qRt4+VDbCJU6QU3ighezun yu0QH1u69I20SfpbaRtDS1F45qSJK6HVQebQ3IDCF0PJYa0Cl+oppUcJ0HmsQCidVwIq hpqg== X-Gm-Message-State: APjAAAXWmgEhzEj+vegoee/MMpmyt1y7NKDe31YpFCHPfivpEXr83c+I c6AAoEFSbNe2eSqgiS8ucOuxr+wWt9DSKsXEa8s= X-Google-Smtp-Source: APXvYqwKHVOGqzQSovrRClmW8K1qw2Y81OY3pSWpYmFh4X9uLQo16xKCH8xphfqWQO+DH9nktbkKQ9PoNIMgnQLXZTA= X-Received: by 2002:a5d:8b8c:: with SMTP id p12mr391664iol.121.1552605727620; Thu, 14 Mar 2019 16:22:07 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> In-Reply-To: From: "Miguel V. S. Frasson" Date: Thu, 14 Mar 2019 20:21:41 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) You are right. Em qui, 14 de mar de 2019 =C3=A0s 20:14, Stefan Monnier escreveu: > > > (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil > > It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. > > Just because it sometimes does doesn't mean it always does: > > (seq-contains '(0 3 4) 1 #'<) > > returns 3 > > > Stefan --=20 Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260697921751 (code B ref 34852); Thu, 14 Mar 2019 23:43:02 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:42:59 +0000 Received: from localhost ([127.0.0.1]:44197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4a03-0005el-GL for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:42:59 -0400 Received: from mout.web.de ([217.72.192.78]:50859) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4a01-0005eY-Rn for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:42:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552606963; bh=9CiEJGwpQp3xeCtK/4/f7j3U7EXV4pZBD9Bboeb3Li4=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=cJ0pHsYDiizkDrigsD7vFEqUVKRw8qphiUQ1xxjLHQIkRWFnvzkH+CljFOTiRTSoV +2oPd+18iH/UlKDA6wcFl+31E2StABaPp0iwhWcrRErkIbH1hVCcozrfVDCzOnDtjV KoO0oE1GY+romD/jLwC+cj+42HRPpqOqDV+n/zcE= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MRl5x-1hSxX13NTV-00SwJ0; Fri, 15 Mar 2019 00:42:42 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Fri, 15 Mar 2019 00:42:39 +0100 In-Reply-To: (Stefan Monnier's message of "Thu, 14 Mar 2019 19:14:23 -0400") Message-ID: <8736np58gg.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:z3AgDuYN98e44b8rCAsMTdA5X6tomMq7BOdzMBrbaa+6FeTNmC4 jRT/NsOmX6GY9/l/VNb+ZmRqbtI+m8ItRA8+TvWD9AmUxhyO3WNjJMqy9xWgQi/u3E2ZpFk 7eA+9/8TQkv8W6Vvs+qPowg9AmgmIY6cCs0hsPiPzlUeQj2ml72BsXcT1RUhdj69DHtrU0J CEaKaVLKSs+8eWgGU3r6A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:6sAz0U2XNm0=:tqj2Se8E1i1WTXLJgYfdy3 imo+AWzokMHQMGVLM8GTUqS/Bd2hOgKxMSAyAWjQhDs+hLVOJta3jDDaWSqX8CMfOVzDHYhmR TS6IscumvgFkw4kTutOdRlPHWq5z+bV0YMFxbHkRX3mmyVTDoAjUzZwK8iD+RqxgT74Ysi+Gh rnKdPL1zUrW0xpTWFCr09qlEqMiHIzhkwte/9uXQtLEZ9ESaVWYOzKVzBQWhOYkpxfQNI+6ws tWzNxz0Iuhlqu950jY720UrM/5Fvxkj3QymFenEW5mPJq1UDvW0qjIowOdzWvWkaiiobGcgqw PK0p/1KY3UtaBVTSTcXEdaZXqo+XjEMrCVQ47SrfDMjX+MO4qGCmtTQjWK1iTtJjtJpwrSNKe AIPGNPqG1NLgxxzuKyylWKxkPqXK4izQgE39SbWiecvO1WpjaKWJD3nL0s+MnpTi3LuVQNWYt cNhEz85r0XWX2fZj7bjxeMATrpsMIsdRWwGSzrGu/eAw0PthgNhxTpxflAQt7mcbp+1K5hTct wMyj/o0enhYr1T0Ixns71Rk0ICAWCLw1DU/1G/JseX2m8AQ8bJU8XuETUJEzoF7Fb31CrHhfv S8zlz0syuHQJJtNlUGN3kxQ+tnimxL3oQghPloUW3+binPd+KJ/YsFPgPFgwC0y50eMbYwWWD wtZa18qT1ZVN8fhYxgfw8/xdJWHCRFh/5GmCNa541zRbxREJA3ITHae2+8WfC0W2curkWo9X5 Q+AmwD1gjGLq02Ays9kl4hR5D6TqxYI9atASbq/c4FUmhSZdqGjWe8te54ku65aypyVIl4BX9 DZSxyxxC0U4MkbVmhquSsBnzEQZxX8CyRx8yg+PgytCAqXe/QF72khzGFVWpt72wrLDu42Dyn OeXZUcdZWaMzQPpQdjhk+xwAwhz50OMi3FT4sAGJnCxAHYQdngAgLsxoBxDX16I832w9G5CxM 6EQNu7Sxd4A== Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) 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.7 (-) Stefan Monnier writes: > > (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil > > It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. > > Just because it sometimes does doesn't mean it always does: > > (seq-contains '(0 3 4) 1 #'<) > > returns 3 Maybe it's too late here, but why is that a counterexample for > If ELT=3Dnil, seq-contains currently returns nil anyway;" The first element is returned for that the test succeeds, what's special about it? < is not symmetrical, though, so it's a weird kind of equality test. Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Mar 2019 23:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155260717722099 (code B ref 34852); Thu, 14 Mar 2019 23:47:01 +0000 Received: (at 34852) by debbugs.gnu.org; 14 Mar 2019 23:46:17 +0000 Received: from localhost ([127.0.0.1]:44201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4a3F-0005kM-0P for submit@debbugs.gnu.org; Thu, 14 Mar 2019 19:46:17 -0400 Received: from mail-it1-f196.google.com ([209.85.166.196]:34919) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4a3B-0005k6-U0 for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 19:46:15 -0400 Received: by mail-it1-f196.google.com with SMTP id 188so8078779itb.0 for <34852@debbugs.gnu.org>; Thu, 14 Mar 2019 16:46:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=d3nYnU714FSBgLEF3yQLwCt+8CMwr4DpCXMH6b513Xo=; b=L3/hF+vuUUr2+lEzcP5DZtBS/fdPIMhrQSp4NFOnRf8ZcnW/sNUwllzhjeHhgLxDjU QFqHWVI8jiG04Xkf3igdV3IvY6V+q05PQz45SeASLUNh8VC0f72/7FdiLeDBy3PoLo2S ag+17SO0SMUNbtTLrJNEHxsLYuD1f511xPAhcPW2ylgvZ0V2ab3DzA2hwoS4i4D/YJKc Tm9WZTyuMP9cuKzD/dZcXmBzf8MXahiFZKE9JS6jDMGhXNd6+2l7CQOCjZ8wRDgCCM+7 iqd5Z3VHugqLp3rXeAokoni7kfHe4gkVGPRNhVpoadQBIbVNdKyjjw+1U7fcG3bUlxTW tGuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=d3nYnU714FSBgLEF3yQLwCt+8CMwr4DpCXMH6b513Xo=; b=qB70kEIo4KwXMymvrRjt7+DD8xRjvv/QEEf2L+J+N2Dx6Whyev+nKAQ50A2Tlc/tLM vNXUM7stcY5gsKO7/Q1PQjsdekdfIR1+wl3UpvQD9O47SAP8G08TW0Q4r/OFpqyVfiGs pPhrKME7QRQWTZ0N12SkpnL7ZhxVefJo/DJ4jzvWXnpPFiQHpsVwkYU9Zk3JUautPUCQ SZLjxYObycLuuxEJYKeD5PYXxi0F1k/aikPpTcYIh1alcFc6oFxUrvEg1wYhLgkSUvBY 8LqFnGZIacYUIiu3kFN+Vl0eRTXPWtv6CuCh+IRMPTIMbyh7cGKvmHdkXq85+rS2ejbS 9dIQ== X-Gm-Message-State: APjAAAWggjikkw6u9m/SlLNm1rgGjMDxFZzW56Rt458PT/PKbWxILi6G NT7/TjO7XIwtLSPjtOTgV9EEathn4nIzY4vWQbg= X-Google-Smtp-Source: APXvYqyGkcDdAwmNctJDgs0s/mzgUpZIYiboCl0PpDEYaGpLQZ6Iboe8U52wxDKrewfvqjbIS1CfRcTNsoVzvH75xC0= X-Received: by 2002:a02:9141:: with SMTP id b1mr635914jag.80.1552607168089; Thu, 14 Mar 2019 16:46:08 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> In-Reply-To: From: "Miguel V. S. Frasson" Date: Thu, 14 Mar 2019 20:45:55 -0300 Message-ID: Content-Type: multipart/alternative; boundary="000000000000bad41b058416864c" X-Spam-Score: 0.0 (/) 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 (-) --000000000000bad41b058416864c Content-Type: text/plain; charset="UTF-8" Please ignore this e-mail of mine. Em qui, 14 de mar de 2019 20:08, Miguel V. S. Frasson escreveu: > Hi > > Em qui, 14 de mar de 2019 18:43, Stefan Monnier > escreveu: > > > > > If ELT=nil, seq-contains currently returns nil anyway; > > > > That's true when `testfn` is nil, but not if you provide > > your own `testfn`. > > Not really. > > (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil > > It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. > > Miguel > --000000000000bad41b058416864c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Please ignore this e-mail of mine.=C2=A0

Em qui, 14 de mar= de 2019 20:08, Miguel V. S. Frasson <mvsfrasson@gmail.com> escreveu:
Hi

Em qui, 14 de mar de 2019 18:43, Stefan Monnier
<monnier@iro.umontreal.ca> escreveu:
>
> > If ELT=3Dnil, seq-contains currently returns nil anyway;
>
> That's true when `testfn` is nil, but not if you provide
> your own `testfn`.

Not really.

(seq-contains nil '(nil t foo) (lambda (x) t))=C2=A0 ->=C2=A0 nil
It returns *nil* if testfn fails, or *nil* (ELT) if it succeds.

Miguel
--000000000000bad41b058416864c-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 02:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15526176366620 (code B ref 34852); Fri, 15 Mar 2019 02:41:02 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 02:40:36 +0000 Received: from localhost ([127.0.0.1]:44281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4clw-0001ii-Hy for submit@debbugs.gnu.org; Thu, 14 Mar 2019 22:40:36 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:59850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4clq-0001iW-JN for 34852@debbugs.gnu.org; Thu, 14 Mar 2019 22:40:35 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x2F2eSrG017513; Thu, 14 Mar 2019 22:40:28 -0400 Received: by pastel.home (Postfix, from userid 20848) id 01E086AB89; Thu, 14 Mar 2019 22:40:27 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <8736np58gg.fsf@web.de> Date: Thu, 14 Mar 2019 22:40:27 -0400 In-Reply-To: <8736np58gg.fsf@web.de> (Michael Heerdegen's message of "Fri, 15 Mar 2019 00:42:39 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6503=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6503> : inlines <7034> : streams <1815736> : uri <2812972> X-Spam-Score: -2.3 (--) 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: -3.3 (---) >> > (seq-contains nil '(nil t foo) (lambda (x) t)) -> nil >> > It returns *nil* if testfn fails, or *nil* (ELT) if it succeds. >> Just because it sometimes does doesn't mean it always does: >> (seq-contains '(0 3 4) 1 #'<) >> returns 3 > Maybe it's too late here, but why is that a counterexample for >> If ELT=nil, seq-contains currently returns nil anyway;" Duh, sorry, I lost sight of the goal along the way. A short real counter example is (seq-contains '(1) nil #'list) but it's admittedly contrived. A more real counter example is the one alluded to by Nicolas earlier: (seq-contains '((t 1) (nil 2)) nil (lambda (x y) (equal x (car y)))) > The first element is returned for that the test succeeds, what's special > about it? < is not symmetrical, though, so it's a weird kind of > equality test. The test doesn't need to be an equality test. IOW seq-contains is very close to seq-find. Stefan From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 12:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15526528005740 (code B ref 34852); Fri, 15 Mar 2019 12:27:01 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 12:26:40 +0000 Received: from localhost ([127.0.0.1]:44441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4lv6-0001UW-9Z for submit@debbugs.gnu.org; Fri, 15 Mar 2019 08:26:40 -0400 Received: from mout.web.de ([212.227.17.11]:52737) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4lv4-0001UI-Uw for 34852@debbugs.gnu.org; Fri, 15 Mar 2019 08:26:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552652779; bh=LR3eBC5rb1WSi4IKkzckFLm9bvZ3JyIAmhu6pi7W8tA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=AwePAqJtrta6TSTjUGcEddwnHW+jD1bq0dlTLkHa0cwq9gUfoc2nZdCGBd2Migm85 eFMz0p/0EQ+tUqRFw3lm1VkKRRw7dPVPYYK7M/wRaccV9lZuynkWh6IPXg5ujSYJjA 4w4FvU64PomFfpkyOQk48+u/k+FEAKz+aWhVm7EE= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MBkPj-1hDsz745wd-00AqPS; Fri, 15 Mar 2019 13:26:19 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <8736np58gg.fsf@web.de> Date: Fri, 15 Mar 2019 13:26:18 +0100 In-Reply-To: (Stefan Monnier's message of "Thu, 14 Mar 2019 22:40:27 -0400") Message-ID: <87tvg4493p.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:0gA9ieY/utvv5iiUwSEPJMhCjUoH8qObHF3ohKbV/r7Qw00SqWD JTDEmZdCvGFiU67IRgzebl/lX6VqFRhLLxiCXYfuyj78sCSOsgY7UqGtCCikT1nUgvO5kWg yAVHNAeMlFIowRvzhoRZ9eFxkriKSL18Q9UQ1I9bHpJDLAN/c/cvPJh4WRaPVGb434KAdhX sTigzPiR/5WoogoZs6nAA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:InQBAOvfByg=:+bJvMUEwPV/VrV2Q7aLgtm dyWJfUFQw+C4OseJBK42EMX4+Omo36ah/5XPXFx2ddnzM9A4N3BKm669R2uGw9VbysNVQ1ZVb CXecHGaG9xecapySQmoxA6IOtyo2uOaFjIQHy/TOs/soYotIMSTZ84YLp7WVmy+uofIcJM9r0 35hvoXzxWZLJ5xVeOm0OtC0Vr5adPYal5NQsT+djzR/AGTzqrIUVYltZHt+wWenZra1GqG9Zr emANncjZdTaNE3yDgzi7x3WHfNLYd4bBOofvL3YImYreJe0JDHwIiSnq6du6sa1SA60FdXqI1 SHrGGypID1E8bfJstFADTSFHZkrxoXZ8BWa4E4VoQmh0LGrIID15gAefJDPnKPJl/ow1Rm1HR wTMzI6KGNpbwXC+OF/Z6ERrfOyfP0R65XrORenaPBWOeZXp9vkghSOKHsPzXIh5p8a93+UHIJ /Y11bvNks/g/fnaHoQX5Ppe4j1X524fMphZ/uSBTaFVJ1wgoOFpCbuim40/Nz0ZZkKIUCw6aJ vDn9Y6pYFr5yp0PiJwayro1zCD4AABWYnEHW3qzoHItJfTL7j7XK2O4ovBllpdufSJPjdXEy0 MBzEvripFueP5W4yKBr3ycBnaajRd0mZZG7UqdWJKzRpEG/P8WDRNg0hTKcgOx1FzqRbSq9SD ic0kQKI1iR9akPwVdZCEoYAS1Jz0LhZ8mfK+fmnFPPJsUpikPbtlMwAotDbbZUuCLtbLJE+oH GN5poG7fIpSNxRfLGpdPPJYcvVdcassN50P947poqF3lwRfWIpyJ5GgW0cYqphhowLEZo8X8E Xbys68aDeOYY1Vvcdnjf2cvSNoK57ABaXcWSCR/bc/iqcoMm/ypoPj12Wz0/ilRdeWf1p1oHl GhFWls+jihw6pGmaOo4q3CeJn8/VnGS5wTfgXI423nUflJW4RCUUxqPyPnJA3qPx/1yI1shVt nwynFlSdoeg== X-Spam-Score: -0.7 (/) 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.7 (-) Stefan Monnier writes: > The test doesn't need to be an equality test. The doc doesn't specify in which order the args are delivered to the TESTFN, so the behavior is unspecified. For asymmetric TESTFNs I would rather go with `seq-some'. Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 14:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: "Basil L. Contovounesios" , Nicolas Petton , 34852@debbugs.gnu.org, "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155266122719902 (code B ref 34852); Fri, 15 Mar 2019 14:48:02 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 14:47:07 +0000 Received: from localhost ([127.0.0.1]:45345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4o70-0005Aw-Vc for submit@debbugs.gnu.org; Fri, 15 Mar 2019 10:47:07 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:42134) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4o6x-0005Al-9u for 34852@debbugs.gnu.org; Fri, 15 Mar 2019 10:47:05 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x2FEl1F5005577; Fri, 15 Mar 2019 10:47:01 -0400 Received: by pastel.home (Postfix, from userid 20848) id 5F59C6AB8D; Fri, 15 Mar 2019 10:47:01 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <8736np58gg.fsf@web.de> <87tvg4493p.fsf@web.de> Date: Fri, 15 Mar 2019 10:47:01 -0400 In-Reply-To: <87tvg4493p.fsf@web.de> (Michael Heerdegen's message of "Fri, 15 Mar 2019 13:26:18 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.1 X-NAI-Spam-Rules: 3 Rules triggered GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV6504=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6504> : inlines <7034> : streams <1815784> : uri <2813285> X-Spam-Score: -2.3 (--) 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: -3.3 (---) >> The test doesn't need to be an equality test. > The doc doesn't specify in which order the args are delivered to the > TESTFN, so the behavior is unspecified. Indeed, that's another problem with seq-contains. Stefan From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Michael Heerdegen , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155266536926434 (code B ref 34852); Fri, 15 Mar 2019 15:57:02 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 15:56:09 +0000 Received: from localhost ([127.0.0.1]:45392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pBo-0006sI-Nt for submit@debbugs.gnu.org; Fri, 15 Mar 2019 11:56:09 -0400 Received: from mail-wr1-f41.google.com ([209.85.221.41]:43456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pBm-0006ri-Un for 34852@debbugs.gnu.org; Fri, 15 Mar 2019 11:56:07 -0400 Received: by mail-wr1-f41.google.com with SMTP id d17so10096800wre.10 for <34852@debbugs.gnu.org>; Fri, 15 Mar 2019 08:56:06 -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=aacI+iy1RXZzseII74H2ogsttGJ1SAiiB6mwzlVAV8A=; b=v2IAiCaL7/j6cyBdP2E6MEmaLZWZcfUfXTw1gmRJsIMuBpKdpq/vb3o0skulydOYND ubRjOYuWZH7fuN9oVN5oTOi3JfH2hu6pQuCGjLpPnNUf0BVVDHf2Zw43bMPXKmnqMFnd rfZXkYMqP0FK0Ap6dr6hoQgOB1QlYOh8KYUd87A55Mgkz7qkGaAvD6ksCyM82IuMQm9P 31C94mv09jl+VqZUyZILLKJL8a2BuA8kS6nx+l8tosfA5DoKdwbo0gQHGxVnFve3pgBi tC7prndgqX9rBV1muSierFk3AjRsJxZUM00Dj79KcnLQdUuFtXtC7KmZMQdymepMr/BS M97Q== 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=aacI+iy1RXZzseII74H2ogsttGJ1SAiiB6mwzlVAV8A=; b=AKas2U/jbRIakiIAnJ2HLx5ZpeK4yfmJ7p4jgz/7V5al4YZsJDLeTskhv1SmNvlQgh BkN+OTWE4EQBBnnudtBwcGOKciEbrD8X7Wpmj+4MowNFB3cyJLry3AimD60ErDT3Z6P8 32qK8YcorB2tXL/s3BJJHHi5v2kXzKtlIIuQdHbICOwf885plOjBESe5ksAxbeyHQrO6 BxmuTM08H/UQeKupwKgeHkaELSZpFZ1nLn5XKYjDeC/KMORvfqiHzk9iKbVqlNeRDIhg 6zPSh94cnRLpIwYVrkXezUZ8auxK6xt3SVdsQJ/gYJeUk5liu/N8M+u3eMMKAYTEVGIE roog== X-Gm-Message-State: APjAAAWd8UssK7pyigDDtwiQ6+HKFhGtm75M13HVGDtdRCSgEfn4apfo sXU/rN6nt508IYNHj5lbZv/FkA== X-Google-Smtp-Source: APXvYqzGS53C3T//zASyWvMlyJ1Rw8s8AEFZJfxKU0wEjIOyzc7AeUvxrG1NJVR+7QMCNvr0lFYoTw== X-Received: by 2002:a5d:4750:: with SMTP id o16mr2898113wrs.238.1552665361035; Fri, 15 Mar 2019 08:56:01 -0700 (PDT) Received: from localhost ([163.172.211.46]) by smtp.gmail.com with ESMTPSA id 3sm4130167wrk.68.2019.03.15.08.56.00 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 15 Mar 2019 08:56:00 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> Date: Fri, 15 Mar 2019 15:55:58 +0000 In-Reply-To: (Miguel V. S. Frasson's message of "Thu, 14 Mar 2019 16:08:36 -0300") Message-ID: <877ed0rv1t.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) "Miguel V. S. Frasson" writes: > In any case, of another implementation for seq-intersection or not, I > think that the solution from Stefan should be implemented anyway > because > > * it makes seq-contains provide a useful return value when ELT=nil, so > it is a good exception; If ELT=nil, seq-contains currently returns nil > anyway; Special-casing nil invalidates any benefits of returning the element found, as it conflates nil and t and is inconsistent with other non-nil values. If seq-contains is to be made a proper predicate that continues returning the element found, then the best proposal so far has been Michael's[1], namely to return (list ELT). The alternative is to simply return a boolean, rather than the element found, but this is lossier than Michael's suggestion. [1]: https://debbugs.gnu.org/34852#68 -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 34852@debbugs.gnu.org, Nicolas Petton , Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155266539026477 (code B ref 34852); Fri, 15 Mar 2019 15:57:02 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 15:56:30 +0000 Received: from localhost ([127.0.0.1]:45395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pCA-0006sy-3M for submit@debbugs.gnu.org; Fri, 15 Mar 2019 11:56:30 -0400 Received: from mail-wm1-f45.google.com ([209.85.128.45]:38439) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pC8-0006sj-2P for 34852@debbugs.gnu.org; Fri, 15 Mar 2019 11:56:28 -0400 Received: by mail-wm1-f45.google.com with SMTP id a188so6514611wmf.3 for <34852@debbugs.gnu.org>; Fri, 15 Mar 2019 08:56:27 -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=/kcecNz6QxY7R3dbzRbhDkYdi1XSP1qQ0wdgEn9x5I8=; b=NB0aqpcTqVGG2Vf4iGWycGY/DW1kID+j3aVWDRgAZ+VLeyfk9ZufQRN3XdcxaZBgvH Ia6Jxd2uml4sJg93qSavc+SwDCPHxlAfP+K4pX5g3ccjlMD0uCRF87/zKdNLAO3p6nyN 8FGkhkNRQZ86sPjKyBGogUrl6FOO4zu6qnTVFV1CtHrh/IGtQLaTpuf8fNeMBcOJiPtb OsnpRArhcjj+RWmi5R3xVq2wEY2cpZcTpp2FuhjlRf4pLoXSQSp26e+FQMZ64Yxttx/5 2b/CCEQG99ADn7btRo2L3pRGDMoseX4LPRQtWRFwndRy5es9Ht1D4IEG3W/bLRxNa8KP /EtA== 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=/kcecNz6QxY7R3dbzRbhDkYdi1XSP1qQ0wdgEn9x5I8=; b=POliRb3qny69hFnO07+fvVnNAZzfcR2AUINyAvhEq9rcBs78M0wvJo2SH/f0++w5FL Rhok/O4LFHYSBjVHMfwr1mEkW485Cf5U+55aR/R32Tngqc6BKYCpDmj1wcE/AEkNV3o0 Nu/Cy5doDk/APRzk0a8Z8PrX4meiNxxgrmVtOI7DkOkQlZDp5t/U105+DonJzuWzb2cN ICSXs4MnJoMl1SkYSgjW7/9fh68DvmIY55HuGG4GkCay3yWLrSpJxUUtIAJd+L6UXCNz KsS0tlkXw20CICHRwSFcNTmPmTqmm9RNQHKfv1kuxxMJG2XrLO6cPx8s4yh+cmCa4EPi ZdOg== X-Gm-Message-State: APjAAAU8op2k2uGyZFyCHffQei1+30i5kOKyyolL0sN+rWndNou/bFRI BZkkR831dfcMR6/MQkBJH6bljw== X-Google-Smtp-Source: APXvYqxv0Ee/ti6Xq2XRZyJ0p5KdzgJgqGs31qQvW9KPwBIkjxzDa8rQatlsU8GywDdKH7BpY3uPCw== X-Received: by 2002:a1c:2dd1:: with SMTP id t200mr2586566wmt.148.1552665382159; Fri, 15 Mar 2019 08:56:22 -0700 (PDT) Received: from localhost ([163.172.211.46]) by smtp.gmail.com with ESMTPSA id j128sm2525964wmb.43.2019.03.15.08.56.21 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 15 Mar 2019 08:56:21 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mt59pz.fsf@web.de> Date: Fri, 15 Mar 2019 15:56:19 +0000 In-Reply-To: <87d0mt59pz.fsf@web.de> (Michael Heerdegen's message of "Fri, 15 Mar 2019 00:15:20 +0100") Message-ID: <875zskrv18.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Michael Heerdegen writes: > "Miguel V. S. Frasson" writes: > >> In any case, of another implementation for seq-intersection or not, I >> think that the solution from Stefan should be implemented anyway >> because >> >> * it makes seq-contains provide a useful return value when ELT=nil, so >> it is a good exception; If ELT=nil, seq-contains currently returns nil >> anyway; >> >> * it makes seq-contains become a real predicate function, making it >> more useful; >> >> * since seq-contains has been used as predicate before, it is >> unpredictable which code uses it out of official repositories, so this >> fix potentially fixes other code. > > BTW, another (alternative) alternative would be to make it return > (list ELT). That would be a bit less backward-compatible, but a > bit more consistent. +1, either this or returning a boolean is fine with me. -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Mar 2019 16:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155266615128022 (code B ref 34852); Fri, 15 Mar 2019 16:10:02 +0000 Received: (at 34852) by debbugs.gnu.org; 15 Mar 2019 16:09:11 +0000 Received: from localhost ([127.0.0.1]:45412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pOQ-0007Hu-U1 for submit@debbugs.gnu.org; Fri, 15 Mar 2019 12:09:11 -0400 Received: from mail-it1-f182.google.com ([209.85.166.182]:36127) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h4pOO-0007Hd-SQ for 34852@debbugs.gnu.org; Fri, 15 Mar 2019 12:09:09 -0400 Received: by mail-it1-f182.google.com with SMTP id h9so11682374itl.1 for <34852@debbugs.gnu.org>; Fri, 15 Mar 2019 09:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hCzL0Km28HA/wI9FhGXiMg7OwIQTUYdkbysTbV1FScw=; b=YM5QuttuvFUb+wcJxeC+3hyWeEb9dYr51P716CDvAMDQrZ85M9bxmUPh+Ekx2s97rB NXTWI5M2rd0VMmyrmeWPRcGtZN1Wj9+Stc6nlSk2fC+7TECcmONSzFonwbPtr6GCusn2 V2cc+kIHDsf4RZigi1aqdegZFJ5PtMbNIR2HSAwrNCw48n/bDerchoBd16yOVGBUSWYy CiQFcwzHr7ZnYj3WurQmcLTz2SkZldiIoRO/l1spcWMBxGQ61+YZGWrsXbiN3HoNcNAs 4TXDDsU6+mPLOC2YLAK697GMATNPIjojd+ydxd0p6fjFfF283yRudy7rXNgQoxtjzKt0 ifpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hCzL0Km28HA/wI9FhGXiMg7OwIQTUYdkbysTbV1FScw=; b=Xd9bqiweBCUZJlbzFosaxA+R5hrgkYFDuz+89cccyID2VEJ7myfQuWadQgMgudhlZn 58plm743JvEQdlpQCXIW4ZoI02LD84xfC1hDXMrzbo2lM1UqmHU9aJ1Fxr3oXmiWMyOp ET/ZBImsGVuqsNam5YkWQBptDr2FUDKD8Aa1KNjBt6QBk0QmWrSRhmqrTYfTp32DAq2u 6/Qn6CvpGprGH2JZVR2IrPyBAgDId3AKqakBFvZqQNXWrxDE2mOQa+b/f+IJ1gHFxNme gnLG1jDWdLLToDIncU41ueIXCN+afemIcYPdWT9nADUpofdDxFR2vSv82LewrpB/+Y8W H1cQ== X-Gm-Message-State: APjAAAXVJ1hqbzxA/p1G5i857nDwqN5ZTcgRrLwqHioepY8ORtrhnIxo deG5ObTZwTFQOKNDdyAWjGOXgiSNh6by5HkfSNo= X-Google-Smtp-Source: APXvYqzs01DGfYEYbIS01cJ2Lwhiyo14lSZrtZcnTsKwxzQYcUIZR2SlzHYX0jTmL4OKqKxGnKiF49a6xZOcisjtv1M= X-Received: by 2002:a05:6638:158:: with SMTP id y24mr2799730jao.15.1552666141790; Fri, 15 Mar 2019 09:09:01 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mt59pz.fsf@web.de> <875zskrv18.fsf@tcd.ie> In-Reply-To: <875zskrv18.fsf@tcd.ie> From: "Miguel V. S. Frasson" Date: Fri, 15 Mar 2019 13:08:50 -0300 Message-ID: Content-Type: multipart/alternative; boundary="000000000000d6158d0584244159" X-Spam-Score: 0.0 (/) 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 (-) --000000000000d6158d0584244159 Content-Type: text/plain; charset="UTF-8" Hi I was convinced by the discussions here that changing seq-contains is a bad idea. I had the false premise that ELT=nil makes seq-contains return nil. If I could make a suggestion, it would be include an &optional NOT-FOUND to be the value returned in case of not finding any element matching TESTFN. Cheers Miguel Em sex, 15 de mar de 2019 12:56, Basil L. Contovounesios escreveu: > Michael Heerdegen writes: > > > "Miguel V. S. Frasson" writes: > > > >> In any case, of another implementation for seq-intersection or not, I > >> think that the solution from Stefan should be implemented anyway > >> because > >> > >> * it makes seq-contains provide a useful return value when ELT=nil, so > >> it is a good exception; If ELT=nil, seq-contains currently returns nil > >> anyway; > >> > >> * it makes seq-contains become a real predicate function, making it > >> more useful; > >> > >> * since seq-contains has been used as predicate before, it is > >> unpredictable which code uses it out of official repositories, so this > >> fix potentially fixes other code. > > > > BTW, another (alternative) alternative would be to make it return > > (list ELT). That would be a bit less backward-compatible, but a > > bit more consistent. > > +1, either this or returning a boolean is fine with me. > > -- > Basil > --000000000000d6158d0584244159 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

I was con= vinced by the discussions here that changing seq-contains is a bad idea.

I had the false premise th= at ELT=3Dnil makes seq-contains return nil.

If I could make a suggestion, it would be include an &a= mp;optional NOT-FOUND to be the value returned in case of not finding any e= lement matching TESTFN.

= Cheers=C2=A0

Miguel=C2= =A0

Em sex, 15 de mar de 2019 12:56, Basil L. Contovounesios <contovob@tcd.ie> escreveu:
michael_heerdegen@web.d= e> writes:

> "Miguel V. S. Frasson" <mvsfrasso= n@gmail.com> writes:
>
>> In any case, of another implementation for seq-intersection or not= , I
>> think that the solution from Stefan should be implemented anyway >> because
>>
>> * it makes seq-contains provide a useful return value when ELT=3Dn= il, so
>> it is a good exception; If ELT=3Dnil, seq-contains currently retur= ns nil
>> anyway;
>>
>> * it makes seq-contains become a real predicate function, making i= t
>> more useful;
>>
>> * since seq-contains has been used as predicate before, it is
>> unpredictable which code uses it out of official repositories, so = this
>> fix potentially fixes other code.
>
> BTW, another (alternative) alternative would be to make it return
> (list ELT).=C2=A0 That would be a bit less backward-compatible, but a<= br> > bit more consistent.

+1, either this or returning a boolean is fine with me.

--
Basil
--000000000000d6158d0584244159-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Mar 2019 20:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155276842732661 (code B ref 34852); Sat, 16 Mar 2019 20:34:01 +0000 Received: (at 34852) by debbugs.gnu.org; 16 Mar 2019 20:33:47 +0000 Received: from localhost ([127.0.0.1]:46756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5G02-0008Uj-Jg for submit@debbugs.gnu.org; Sat, 16 Mar 2019 16:33:46 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:35946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5Fzz-0008UT-Ss for 34852@debbugs.gnu.org; Sat, 16 Mar 2019 16:33:44 -0400 Received: by mail-io1-f68.google.com with SMTP id f6so11180612iop.3 for <34852@debbugs.gnu.org>; Sat, 16 Mar 2019 13:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=pAbjpiq1CR+oFAuZ8zkKNQ+6x0YWSD81HzzlERjRIwA=; b=dtivPoHJnMNALOUzrBT0K1fbyDjwORLEzy523y+Uio6n8INGPd4nyPEC70jA+bGG5o p6wmd05DDAgAF/cYEzBnNWBb2ybGhqv6o+TgMB3ahBOT1KozKqNBcoZ5KI6+LoDc4wKM M0uX/0PSwNE/sdCkwXeVI/+QcBmpwqkOnUQ9VGY93Lmz9z6biCoWXoxGamMTQ9tv0fyv fVTDBVQkf8tlQ30oTfoNtS9xzedd6DWUi3QxwzLzFnmgDJmTAkEA97tnwHYU3RqKW/AH 9FgIJePxHX+SPWqir+qh5hvaXYfwJXbPZSda8N5eEzokMvPCscsekE72BqF8pPSLsZj+ QJOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=pAbjpiq1CR+oFAuZ8zkKNQ+6x0YWSD81HzzlERjRIwA=; b=PZV9DuvQtPtXN8wBuW/RYVO9GaNRL0/bsOt4uY7/ddkYmpks7aOEy4K18fAIVBrPbJ 4vEp2YWQ21TevK3CoGk5L1DgGGZwqeze78d5eJv3QHcEuBlMGeOOxvj7FoFx3zDoMOmd szTuKhjsjnbpwVP5Saj9ucghXEDbYDpn9/a/y2GWpmpcqXA2Kx2zabK7PnBW5Q/R3WXZ FkRCmKTHb0O1DOBFuZLdsULsBklLyimd4zlEWNwfw/NZJXvu0Q0kU3+r4nrJ7QHYjd/Y nvYkX4v72LCgbOukaoJf5Q9Z6O5yQFtujpx2pgDRIu5BDnULH0YoWbMo2gG83d4XGQTv cDew== X-Gm-Message-State: APjAAAWCggi1oT4Ei1h/q3oYaJp7jCSlzh157z93n8WeKWW8h48NJmTK 5b/+yj2UcD+1Ga0ORIKg6UDpmvm0L57lS2HgC1k= X-Google-Smtp-Source: APXvYqyy1p8LbE2vqVQ8UMZt9YLHzXl+oQdcI3HcRouyAOB7GIv7Qp4hu6kpWeMf5Z0QGY0TDP9gpfLiHQ0R35KBvc8= X-Received: by 2002:a5d:8b8c:: with SMTP id p12mr6559527iol.121.1552768417949; Sat, 16 Mar 2019 13:33:37 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mt59pz.fsf@web.de> <875zskrv18.fsf@tcd.ie> In-Reply-To: From: "Miguel V. S. Frasson" Date: Sat, 16 Mar 2019 17:33:10 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Hi Maybe this is the same bug, now with seq-difference (seq-difference '(nil) '(1 nil) #'eq) -> (nil) (In my applications, nil is a frequent element of my lists) Is this fixed by the proposed patches? Cheers. Miguel Em sex, 15 de mar de 2019 =C3=A0s 13:08, Miguel V. S. Frasson escreveu: > > Hi > > I was convinced by the discussions here that changing seq-contains is a b= ad idea. > > I had the false premise that ELT=3Dnil makes seq-contains return nil. > > If I could make a suggestion, it would be include an &optional NOT-FOUND = to be the value returned in case of not finding any element matching TESTFN= . > > Cheers > > Miguel > > Em sex, 15 de mar de 2019 12:56, Basil L. Contovounesios escreveu: >> >> Michael Heerdegen writes: >> >> > "Miguel V. S. Frasson" writes: >> > >> >> In any case, of another implementation for seq-intersection or not, I >> >> think that the solution from Stefan should be implemented anyway >> >> because >> >> >> >> * it makes seq-contains provide a useful return value when ELT=3Dnil,= so >> >> it is a good exception; If ELT=3Dnil, seq-contains currently returns = nil >> >> anyway; >> >> >> >> * it makes seq-contains become a real predicate function, making it >> >> more useful; >> >> >> >> * since seq-contains has been used as predicate before, it is >> >> unpredictable which code uses it out of official repositories, so thi= s >> >> fix potentially fixes other code. >> > >> > BTW, another (alternative) alternative would be to make it return >> > (list ELT). That would be a bit less backward-compatible, but a >> > bit more consistent. >> >> +1, either this or returning a boolean is fine with me. >> >> -- >> Basil --=20 Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Mar 2019 20:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Miguel V. S. Frasson" Cc: Michael Heerdegen , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15527693731726 (code B ref 34852); Sat, 16 Mar 2019 20:50:02 +0000 Received: (at 34852) by debbugs.gnu.org; 16 Mar 2019 20:49:33 +0000 Received: from localhost ([127.0.0.1]:46760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5GFJ-0000Rm-5b for submit@debbugs.gnu.org; Sat, 16 Mar 2019 16:49:33 -0400 Received: from mail-ed1-f46.google.com ([209.85.208.46]:43444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5GFG-0000RX-77 for 34852@debbugs.gnu.org; Sat, 16 Mar 2019 16:49:31 -0400 Received: by mail-ed1-f46.google.com with SMTP id m35so10405290ede.10 for <34852@debbugs.gnu.org>; Sat, 16 Mar 2019 13:49:30 -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=bR4yIWl3rT/nb35Uh1P7fy6DQi7sLb47whyWNg0mQVI=; b=PoXdsqtBoBzLNVzybIFgIEvvB8c8GU99qwmJyAgJsQt9y9HR6YURwKleU8imBlpCfm Vwau/YywkFiT3gadieEb2E3fcfBgwR+4wOUqU+vRBjk1QdnZ6RI61G3w4ZhhccHlRap4 OcJZa66urY7wNqd+bGlOwP5Jpi8+v3uOkM0HKZFHS2HSVS8fnm2AGqEUb7YQl+TPq8dy Ahv7khm5J5W+Ino+ALHj/hQ+ySg7tCDLt3PpFiLI5nBYt03oQhi3fYyLMJ1iqecC2bTw dPaBCkcFVuBw01VuINnaXm8taUwNZmd13ziqMDDKmGQfn/XIukg6DFtgVE3RRBWEiVlK 07eA== 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=bR4yIWl3rT/nb35Uh1P7fy6DQi7sLb47whyWNg0mQVI=; b=he/liAN6/NeqYPKVY4GeiVM4TypN9xcWvfE6ckwX7ve0TSo7Ny6SOeSuhkRnWhdSid DJz97vFTB/K4fnt2ulqK02Hj4Usbeu/iFdIGC8DauJn2IVmtq97EA6hI70Ju4cbR+GkS +qkY3UFfJXeXfG3LoyBo27JAqCn4Lh/lj3lQMDtOSQuwa/NMn94wGpuxhh1g/ecStdhJ QyM8yKncf0vzJezHy8YohjJBgmnKvARzPHJ5otD5nuCP1l8OvqUoWh2TlMvBAVxFfRYY ATf/CzwjyfX3hegZSl9krS2zijpIBG8LoDw/XdW9pzZwfUTzsLSJg501BLwsWxO6Q4Vr hu0Q== X-Gm-Message-State: APjAAAXK03fpU/LkbPBWiR8qCqbpUCMdI/1qcZxxiPNQxRmvkdZUBkY3 XEDf9mAFW3KbHYludl+gbwrd0A== X-Google-Smtp-Source: APXvYqxdoZNWmui583XU9j30wyG7wRPgAMIRUDK0gaavPk5AUtcA2zxYN0vDHpiEHZz+uTnXGtCq+g== X-Received: by 2002:a17:906:919:: with SMTP id i25mr1800756ejd.139.1552769364346; Sat, 16 Mar 2019 13:49:24 -0700 (PDT) Received: from localhost ([2a02:8084:20e2:c380:f786:805d:f4ab:1006]) by smtp.gmail.com with ESMTPSA id c6sm1787755edw.33.2019.03.16.13.49.23 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sat, 16 Mar 2019 13:49:23 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mt59pz.fsf@web.de> <875zskrv18.fsf@tcd.ie> Date: Sat, 16 Mar 2019 20:49:22 +0000 In-Reply-To: (Miguel V. S. Frasson's message of "Sat, 16 Mar 2019 17:33:10 -0300") Message-ID: <871s36fstp.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) "Miguel V. S. Frasson" writes: > Maybe this is the same bug, now with seq-difference > > (seq-difference '(nil) '(1 nil) #'eq) > -> (nil) > > (In my applications, nil is a frequent element of my lists) It is indeed the same bug. > Is this fixed by the proposed patches? Yes. -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Miguel V. S. Frasson" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Mar 2019 21:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , Nicolas Petton , Stefan Monnier , 34852@debbugs.gnu.org Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15527719635805 (code B ref 34852); Sat, 16 Mar 2019 21:33:01 +0000 Received: (at 34852) by debbugs.gnu.org; 16 Mar 2019 21:32:43 +0000 Received: from localhost ([127.0.0.1]:46774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5Gv5-0001VZ-6A for submit@debbugs.gnu.org; Sat, 16 Mar 2019 17:32:43 -0400 Received: from mail-it1-f174.google.com ([209.85.166.174]:35207) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5Gv3-0001VM-Fe for 34852@debbugs.gnu.org; Sat, 16 Mar 2019 17:32:42 -0400 Received: by mail-it1-f174.google.com with SMTP id 188so16182524itb.0 for <34852@debbugs.gnu.org>; Sat, 16 Mar 2019 14:32:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mgYO9bKlGrsnB7QkHONZ2rJ3M2X7/q0e1UmYDWdC3Jc=; b=ovDiqkYeJu8ubKKEnHfc4R/03sGoF1USNTkPIV4uQ8CLN9IzzK0TtsZ7a2KglBHwh5 TJuY/1rEkBDfYBy9TPrgKqai5NR/jDOKKKfLT/PDU8T7/NJp3oifdkyUgn8SRr+J/nrr L2zB00IxzOtyZjFzSoZ6Mla7v1RIZiwcSHx/QYpWrteBAzn6mC803IOjRiIqNDL6zCoj pc1I4MlRbKcdsnJzdkroD3yQ2JI6w9Ofs3NGzz9yeCmVoFtYb0BTM/qdK79JeUW2Mriz 8e/T84nry9k9SE5yWTH38jg1GGHa2vSxA3LeQ0DB+57fvBHzHmu0RyRfUO0GtbXgsoZ7 2bMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mgYO9bKlGrsnB7QkHONZ2rJ3M2X7/q0e1UmYDWdC3Jc=; b=jLU6w34aeDMEPPHS/Mxe2LosuWjygl4fwMzUVtvC9jViLTLmVvsoTu6/msLTZBK2mI 6lN8c5DciZKiWNp0apmOqtq3iJb9zduZWDAVsuq5UK5h5/f2mU6puTroac67Uq1aA5Zz I2otQlbumHmDv9Hh++oJItGrbBnS8GbkhVYF9a18y7thJeHjjLGAyg0Edfvqd47OUzmx zmdce6VvgH2OpWFaXiB9FErCxGy2AyJUYyT8Z0zPv/2PY2I4huGbS1tKLN6TkQtimhYJ xZMNghScGF8cKS/Wx/SaP15FP9GIYajIEdsvSQcbhi7d5ZrNTW69dOZVTmJZpw/c2SBa HZxQ== X-Gm-Message-State: APjAAAUVYlS1CfUpkgZdb6lmt0XLnuRvOtaDaDmbJPOSADyrtGIk04Rd X3TqwLlBUcrVhjfC8FAdzMTVLxE6ZaOqGmQeJ0o= X-Google-Smtp-Source: APXvYqwlUHembxAL9gHiEelWCtapsv84HfEUVSNHKPcIz04z0+QG0K8JH6LpBMyCoR4VluKC2k64XbpUTwpG1Vc5DCQ= X-Received: by 2002:a24:ac58:: with SMTP id m24mr5964290iti.129.1552771955608; Sat, 16 Mar 2019 14:32:35 -0700 (PDT) MIME-Version: 1.0 References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mt59pz.fsf@web.de> <875zskrv18.fsf@tcd.ie> <871s36fstp.fsf@tcd.ie> In-Reply-To: <871s36fstp.fsf@tcd.ie> From: "Miguel V. S. Frasson" Date: Sat, 16 Mar 2019 18:32:09 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Thanks, Basil. Em s=C3=A1b, 16 de mar de 2019 =C3=A0s 17:49, Basil L. Contovounesios escreveu: > > "Miguel V. S. Frasson" writes: > > > Maybe this is the same bug, now with seq-difference > > > > (seq-difference '(nil) '(1 nil) #'eq) > > -> (nil) > > > > (In my applications, nil is a frequent element of my lists) > > It is indeed the same bug. > > > Is this fixed by the proposed patches? > > Yes. > > -- > Basil --=20 Miguel Vinicius Santini Frasson mvsfrasson@gmail.com From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Mar 2019 11:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155291012426180 (code B ref 34852); Mon, 18 Mar 2019 11:56:02 +0000 Received: (at 34852) by debbugs.gnu.org; 18 Mar 2019 11:55:24 +0000 Received: from localhost ([127.0.0.1]:48159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5qrT-0006oB-Jo for submit@debbugs.gnu.org; Mon, 18 Mar 2019 07:55:23 -0400 Received: from petton.fr ([89.234.186.68]:60254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5qrR-0006ny-6e for 34852@debbugs.gnu.org; Mon, 18 Mar 2019 07:55:22 -0400 From: Nicolas Petton In-Reply-To: <87k1h1criw.fsf@tcd.ie> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> Date: Mon, 18 Mar 2019 12:55:11 +0100 Message-ID: <87h8c0mm74.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1552910114; bh=OraDm04Aw8j4KONahSyvrJLAfHY7YLjWvmsGmWAzWOA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=sXevc6NLmk6nZ4jQLA+x2wXFJN1wlId+/RIGx5l48VHYvLxtnds/TbrZFQsinkOPVMT6JUriM69PPQryiWU7stuMNoQEIzVt7ejxK3jfZ1qq3kcyukVBNjI96xd8hJUiCModgkQAxWefr+0MUKpiNcWROhNfXxVOPBBf0eXm8qY= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: >> Unless somebody disagrees, I'll install your patch. > > If you go with the seq-some patch then please edit it to avoid using > apply-partially, which is quite inefficient. Yes, will do. > The implementations of seq-set-equal-p, seq-uniq, and seq-difference > will also need to be updated, in addition to that of seq-intersection. Yes, thank you. I'm now thinking about introducing a proper predicate to be used instead of seq-contains for such cases, I would name it `seq-includes-p'. Here are my reasons: - seq-some takes a predicate function, but we'd like a function that takes an elt to be tested. - seq-contains returns the element found on purpose, it is not a predicate. I think it has its use-cases, and I don't want to change it into a predicate now (I would have to rename it anyway). Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyPhx8ACgkQ6LzXhmr8 +XgOyQf/doZ+ivltGKEDw5tvB0XQXoTMBTRCqWYkVVZ/LXWBJkm2t3fRWCUuOEhO tJRT0lEEARuyFBcRWjNROEnYVl3hNpjkhDafY3RKPZaDuQgkbOLwlJlvn4n9cl1w WAdNewx3H8lXo2FvTEBr9yknNHIXCYWnbxynmW9eNlBDU0KLmjnQiwucsboO0hPK EfHCChEugLdn6O/8SzFW0vBtjiQvqB42TpQ8kiGuoqheZpQUFuEJwxA5X2/i0Po0 sESod/clpJsyQ66JNdQkyigCJlMWrYE0VCrh95az1UZOUlad6irnaKVO6JG+cLwd v8mp5tRFezif2P2BioLTYBVHLsvZkQ== =KRVb -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Mar 2019 19:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nicolas Petton Cc: "Basil L. Contovounesios" , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155293603311816 (code B ref 34852); Mon, 18 Mar 2019 19:08:01 +0000 Received: (at 34852) by debbugs.gnu.org; 18 Mar 2019 19:07:13 +0000 Received: from localhost ([127.0.0.1]:49204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5xbM-00034U-Qz for submit@debbugs.gnu.org; Mon, 18 Mar 2019 15:07:13 -0400 Received: from mout.web.de ([212.227.15.3]:49639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5xbK-00034C-FF for 34852@debbugs.gnu.org; Mon, 18 Mar 2019 15:07:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552936012; bh=8JtRpy+gS5glOKs72rRTn1CqaMcElVCPfD8dI7sqYUY=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=m6WjNqPxSy9zmnnRPivKnWkRoyBJfDV/KbdvnffmlGcflSqco8j+GweUSi2amo+X1 VN3kk/7oTH8G+VbLDir7ArtO/KK1SCTvUrv0ucWhNk372wySF/TjwAxXFKHa3GWBOe GKXI1uBrgyp52xBrn9gkSsK+rcZpmOZvhw/1ZkSM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MK233-1h4a9R0vCv-001TJI; Mon, 18 Mar 2019 20:06:52 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> Date: Mon, 18 Mar 2019 20:06:49 +0100 In-Reply-To: <87h8c0mm74.fsf@petton.fr> (Nicolas Petton's message of "Mon, 18 Mar 2019 12:55:11 +0100") Message-ID: <87va0gq9x2.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:OaH1dRbjkUMzXWfUrIpMriHo9yFa+t5xaCiT2D7AQSuOwHAm96t HwhlgaFjCNF1j7CgpiQgNpM61egyEHluijk9K2r8D03SDb8NBfzFSto1a2y0d5QSu9ryOfN Sy7+dgvcsqJrkIJIEI4o+CIBQlwqLRN7lZYKBVQlbN7Vh1uA78oJUk3I3b4Dn3U+bDSiaXv fIFWoVWz3X0+BP9wB2YRg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:w3mOtU9wZAo=:Hfm+Kkn+N6vJ9HRwDTSAmQ m+BMwxy3BK1XQ4PKAXEMN6xbLe0jlOxAmAP6nU7BxO7iisy4pJnaXo2M0Q/aFehkaQyzeciE4 YDpghGb2ALpKiV9FBY1ctHvjOqgVhOD7CSh8qbW65mC2YAs/fTnevB4tDEAPXeBiwkdqMjuvC NTWyjrzjxPs4FMiS9d0Qu3NnR4NNPoxIKEMFkYxYQDE5jhgJFqe9flzLDJgp/MySF3nVihaVY cFyn3mh+KzfUHy1mlkVjUbIEj2aWfXQZ2d1KD3MDmimb5yObz3n/03Fj6ZViJatah7oHE0M/O 06jS3aPVBEVj+GKCJes8m/S2yyHuhYe+xdAkLJPfEgcCHQysdGNekqKI7oPbq3w0KS+h+3fLx wBifInV1tZ/cZKPusW2GdwfOi80tHp4GGL2ziEJhxjLG8GNDcOlyYyPDC2/fPk19gvQhZi97c DInhZl9EUUX0hCDiP1jbZtNvNABVMa+GbwgMYaQcyRk4w4mOB8FltLiCUa8xhzpmMLoTR6h7p WJM3rJSVdMO1vWlheiCA+eAqCuKOItx3Dalfy81dk0AQ0vrP0gLqqMG0bgzQc3tCQkj0sJ441 yEVzQFlxQMbO8PvtzjOiQbiu83jOML8DmjnEEmTcwIWUQaJIaLNesuWxnoS7qg0IefOI5qoSx SbxCMY91saCy9wknkVDqbP+2SAhboOwEwZURl8XQQVD+WCDMdj+rPNQCaclqiTwfVRg/Xn2yi Ms+eJtecZznLJzL+UugCOzAPq7aOOZ8guYHt2ny3WRlc/HZfFelM+isvpVk27DS95YcWHVXKK kXR8RtlzWjSnxtEnNj79MhIQZY1NxUOVYsDBFnxlHeZBtlmoopaxp1kw4w/gpxGsuRyIB82k7 hhtAseapMvy7kD3ZYVMlqRZzkPu40FgciYvMaD836gY87H1eNoWwDbopQ/viWlrnF0OujC5F3 M5TdvCS+zDA== X-Spam-Score: -0.7 (/) 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.7 (-) Nicolas Petton writes: > - seq-contains returns the element found on purpose, it is not a > predicate. I think it has its use-cases, and I don't want to change > it into a predicate now (I would have to rename it anyway). I think most current appearances are using it as a predicate, however. What do you intend - obsolete seq-contains? I don't think we should have an additional function - seq-contains already overlaps with seq-some. Why would you have to rename it btw? To add a -p (I ask because seq-some also doesn't end with -p)? Just pondering... Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Mar 2019 20:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: "Basil L. Contovounesios" , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155294008218282 (code B ref 34852); Mon, 18 Mar 2019 20:15:01 +0000 Received: (at 34852) by debbugs.gnu.org; 18 Mar 2019 20:14:42 +0000 Received: from localhost ([127.0.0.1]:49228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5yeg-0004ko-1k for submit@debbugs.gnu.org; Mon, 18 Mar 2019 16:14:42 -0400 Received: from petton.fr ([89.234.186.68]:56382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h5yed-0004kV-7s for 34852@debbugs.gnu.org; Mon, 18 Mar 2019 16:14:40 -0400 From: Nicolas Petton In-Reply-To: <87va0gq9x2.fsf@web.de> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87va0gq9x2.fsf@web.de> Date: Mon, 18 Mar 2019 21:14:27 +0100 Message-ID: <87y35cgct8.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1552940072; bh=B9T6fDTjVcAQv0iHC/Gw4F0CnI9lfJl+gK4z1jfIXz0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=nW1O51fTfGMFzvGsVyszsxO0uSc3hEzHgkopUfDDn6aCQ9AmTh/moW/Up1fU+Ky1YTxuqDeR2i/CgFmXnmBW2isyrMEyLNfQ85CTdiF0t+tzurTUlbPKkmMSRNbsAGk2Xi6MqsbHDk3s7oovFmCWCg8JiiG9BAXKhodDWXjmaJU= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain Michael Heerdegen writes: > I think most current appearances are using it as a predicate, however. You have a point and we also have `seq-find' which returns the element found. > What do you intend - obsolete seq-contains? I don't think we should > have an additional function - seq-contains already overlaps with > seq-some. I didn't think about it, obsoleting `seq-contains' would work as well, and it can actually make sense. I would then name the new function `seq-contains-p'. > Why would you have to rename it btw? To add a -p (I ask because > seq-some also doesn't end with -p)? Yes, to add a -p suffix. Nicolas --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyP/CMACgkQ6LzXhmr8 +XiACQgAhkznXmQjVn6VOWX9Nkukbf41joNCxQXDkt1eRnhUj+SwQu9+5dG8DSaB 3OsVU1j4RIDPUtqsrWNXb1+TRyUtSvjLvDNWJuY+MTZx6f43yEh+ihLHQnlj8DVJ uhje8VFLzWsg0VsLPWEEL+1nTYJrzxv4L2FotbbKYzytDjkYBBf+OfFthchaxcoT kO/xHvSTGCzOXYFoVMxU0PEq5ajFEOs+HNlpjIlkg422qu50XJ3yTtHeLnQCeTTB xH+d8Srp22Qc3mor2utw4B5fB07SgizOJbovnwrFeSDRYbUKbNR4ZIqGjsnXXlYF R7bJ4oZVIOXyNGK0Da4+N7YqS7V3Qg== =R3OQ -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Mar 2019 20:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155311510618117 (code B ref 34852); Wed, 20 Mar 2019 20:52:01 +0000 Received: (at 34852) by debbugs.gnu.org; 20 Mar 2019 20:51:46 +0000 Received: from localhost ([127.0.0.1]:52233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6iBe-0004i9-7X for submit@debbugs.gnu.org; Wed, 20 Mar 2019 16:51:46 -0400 Received: from petton.fr ([89.234.186.68]:58048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6iBb-0004ht-Hk for 34852@debbugs.gnu.org; Wed, 20 Mar 2019 16:51:44 -0400 From: Nicolas Petton In-Reply-To: <87h8c0mm74.fsf@petton.fr> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> Date: Wed, 20 Mar 2019 21:51:30 +0100 Message-ID: <87r2b1nub1.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1553115095; bh=Niupp7HBbtt4NXGLLaArGVUa5NshH6Z3A2ytJSATAIM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=OiCm138fpTywz6g357vcLTaOxy63tayvyro/S5Sb/MMVRgJwVj5gc6y/nrIvptXxYU06vR2V0KsZrvbbnWQlpgseq91C50FNnb4vV7dFyuqgtf/h9mFnAjMko8DKei4uoMhC1OTIy+uwiZLlWIkDvCmM4phjFJm7Jbo+FttdSzk= X-Spam-Score: -0.0 (/) 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 (-) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Hi, Here's a patch for master. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-New-seq-contains-p-predicate-Bug-34852.patch Content-Transfer-Encoding: quoted-printable From=20985aa028f05a418dddfd6394b739f42c32b01345 Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Wed, 20 Mar 2019 21:44:01 +0100 Subject: [PATCH] New seq-contains-p predicate (Bug#34852) * lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function. It is a replacement for seq-contains which cannot be used as a predicate when a sequence contains nil values as it returns the element found. (seq-contains): Make obsolete. * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p): (test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil, test-difference-with-nil): Add regression tests. * doc/lispref/sequences.texi (Sequence Functions): Document seq-contains-p. =2D-- doc/lispref/sequences.texi | 9 +++++---- lisp/emacs-lisp/seq.el | 20 +++++++++++++++----- test/lisp/emacs-lisp/seq-tests.el | 21 +++++++++++++++++++++ 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 0c3c4e3b28..a7f270c068 100644 =2D-- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -782,10 +782,11 @@ Sequence Functions @end defun =20 =20 =2D@defun seq-contains sequence elt &optional function =2D This function returns the first element in @var{sequence} that is equa= l to =2D@var{elt}. If the optional argument @var{function} is non-@code{nil}, =2Dit is a function of two arguments to use instead of the default @code{eq= ual}. +@defun seq-contains-p sequence elt &optional function + This function returns non-@code{nil} if at least one element in +@var{sequence} is equal to @var{elt}. If the optional argument +@var{function} is non-@code{nil}, it is a function of two arguments to +use instead of the default @code{equal}. =20 @example @group diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 4a811d7895..39c93e25ed 100644 =2D-- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -356,6 +356,7 @@ seq-sort-by count)) =20 (cl-defgeneric seq-contains (sequence elt &optional testfn) + (declare (obsolete "Use `seq-contains-p' instead." "27.1")) "Return the first element in SEQUENCE that is equal to ELT. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-some (lambda (e) @@ -363,11 +364,20 @@ seq-sort-by e)) sequence)) =20 +(cl-defgeneric seq-contains-p (sequence elt &optional testfn) + "Return non-nil if SEQUENCE contains an element equal to ELT. +Equality is defined by TESTFN if non-nil or by `equal' if nil." + (catch 'seq--break + (seq-doseq (e sequence) + (when (funcall (or testfn #'equal) e elt) + (throw 'seq--break t))) + nil)) + (cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn) "Return non-nil if SEQUENCE1 and SEQUENCE2 contain the same elements, re= gardless of order. Equality is defined by TESTFN if non-nil or by `equal' if nil." =2D (and (seq-every-p (lambda (item1) (seq-contains sequence2 item1 testfn= )) sequence1) =2D (seq-every-p (lambda (item2) (seq-contains sequence1 item2 testfn= )) sequence2))) + (and (seq-every-p (lambda (item1) (seq-contains-p sequence2 item1 testfn= )) sequence1) + (seq-every-p (lambda (item2) (seq-contains-p sequence1 item2 testfn= )) sequence2))) =20 (cl-defgeneric seq-position (sequence elt &optional testfn) "Return the index of the first element in SEQUENCE that is equal to ELT. @@ -385,7 +395,7 @@ seq-sort-by TESTFN is used to compare elements, or `equal' if TESTFN is nil." (let ((result '())) (seq-doseq (elt sequence) =2D (unless (seq-contains result elt testfn) + (unless (seq-contains-p result elt testfn) (setq result (cons elt result)))) (nreverse result))) =20 @@ -410,7 +420,7 @@ seq-sort-by "Return a list of the elements that appear in both SEQUENCE1 and SEQUENC= E2. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-reduce (lambda (acc elt) =2D (if (seq-contains sequence2 elt testfn) + (if (seq-contains-p sequence2 elt testfn) (cons elt acc) acc)) (seq-reverse sequence1) @@ -420,7 +430,7 @@ seq-sort-by "Return a list of the elements that appear in SEQUENCE1 but not in SEQUE= NCE2. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-reduce (lambda (acc elt) =2D (if (not (seq-contains sequence2 elt testfn)) + (if (not (seq-contains-p sequence2 elt testfn)) (cons elt acc) acc)) (seq-reverse sequence1) diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-t= ests.el index d8f00cfea4..6522def423 100644 =2D-- a/test/lisp/emacs-lisp/seq-tests.el +++ b/test/lisp/emacs-lisp/seq-tests.el @@ -185,6 +185,14 @@ test-sequences-oddp (with-test-sequences (seq '(3 4 5 6)) (should (=3D 5 (seq-contains seq 5))))) =20 +(ert-deftest test-seq-contains-p () + (with-test-sequences (seq '(3 4 5 6)) + (should (eq (seq-contains-p seq 3) t)) + (should-not (seq-contains-p seq 7))) + (with-test-sequences (seq '()) + (should-not (seq-contains-p seq 3)) + (should-not (seq-contains-p seq nil)))) + (ert-deftest test-seq-every-p () (with-test-sequences (seq '(43 54 22 1)) (should (seq-every-p (lambda (elt) t) seq)) @@ -436,5 +444,18 @@ test-sequences-oddp (should (equal (seq-rest lst) '(2 3))) (should (equal (seq-rest vec) [2 3])))) =20 +;; Regression tests for bug#34852 +(progn + (ert-deftest test-seq-intersection-with-nil () + (should (equal (seq-intersection '(1 2 nil) '(1 nil)) '(1 nil)))) + + (ert-deftest test-seq-set-equal-p-with-nil () + (should (seq-set-equal-p '("a" "b" nil) + '(nil "b" "a")))) + + (ert-deftest test-difference-with-nil () + (should (equal (seq-difference '(1 nil) '(2 nil)) + '(1))))) + (provide 'seq-tests) ;;; seq-tests.el ends here =2D-=20 2.20.1 --=-=-= Content-Type: text/plain Nico --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlySp9IACgkQ6LzXhmr8 +XgvZwgAxPAWBfJLufyv0eeoqyM5eJ8TTdVeCkmMxAqXBKHpYZWeJtsF7bUbmCWF bXVP4kgQL+M8gtYxNOhqi3/qjENoTD2gn9p3nyJBVoHxrBly4WZhQRH9Fc1cagaQ GDsyq5LOavAOW9fGMSbnvm2MNr+oJ6SqkuhJsPGLhNBuYEnH1gEsy1x7i6OQQ9cb zPw62FYUiaYh0tr1k1ke4W5bBWoEY+N7fZm3wCfC7jplO2dzJO18Oyf3CBlR6T5t enkgOzVbNvznEmEy3ocdz8HQ7aOqYfrp8TUytOuqJyKYVKDVJskctD++EWLumeHh bc6DFTsG6DkQceKt12LvFMQH22FwLw== =WBIm -----END PGP SIGNATURE----- --==-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Mar 2019 22:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nicolas Petton Cc: "Basil L. Contovounesios" , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155312122910509 (code B ref 34852); Wed, 20 Mar 2019 22:34:02 +0000 Received: (at 34852) by debbugs.gnu.org; 20 Mar 2019 22:33:49 +0000 Received: from localhost ([127.0.0.1]:52307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6jmO-0002jR-KC for submit@debbugs.gnu.org; Wed, 20 Mar 2019 18:33:48 -0400 Received: from mout.web.de ([212.227.17.11]:47285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6jmM-0002jA-G5 for 34852@debbugs.gnu.org; Wed, 20 Mar 2019 18:33:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1553121204; bh=LKP25KDnDQKxM7va+ACBhCKR2lDP/ZbrSzyRmKO9lpc=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=OxfK3yoNxP6rW8zDXTLU/QDMK2PlnMzhW7k/IidP7TE6K+zpX7fkYtcrwHZDJ6KzR l+rtmcvVGuPQUTw7XokZdWg4HmxV9xydSE/JUf3g+L7uuGtSKxPhRh2SKCWM74LQfT UtoH546XDgmPe29Ve+jHd+UDKNG4JyTuTUI162dc= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MXpdL-1hTZR51kaF-00WjOV; Wed, 20 Mar 2019 23:33:24 +0100 From: Michael Heerdegen References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87r2b1nub1.fsf@petton.fr> Date: Wed, 20 Mar 2019 23:33:18 +0100 In-Reply-To: <87r2b1nub1.fsf@petton.fr> (Nicolas Petton's message of "Wed, 20 Mar 2019 21:51:30 +0100") Message-ID: <87r2b1qiq9.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:jQV2grucbHghGk0vXxEXtPQpeuouI4A1sM55tNtkIwI0xi0JHuX pU+vwwbbe8Gb5Q+wkZmHDmIHfKmKKQkiyeV8bm0ilV9abdiFP6Ohzzv6re8EL0zMN0sF/Lr AIk6MWjIFq1hR8FFRJE6n1GTzQ2VKG7nqvS6pQYHZsiRoRQX9h64gvDGTqQuR4g/WjyVV8S mrjz7XYPGRk5qj+ZEBWUQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:wbao1rItRiA=:0+428QM2ii9iHESt+9zauq qaTim3xXS9qCPgZFmrmKqLpdp/4zfBJyDmTWAJmHNRIgh+OirIxeCJUvo7spq5WktIoUM8LsN 8aQipSRpCAkZDWfIfPhCzSO+32PxEagShtBqgYOvSt0AA1NjOLmOkUG9ou3BKQUEFXDctBmK+ bWMqal3xlYmD0fQ3CteTFIz4nQ7MbccaFY61iSCOHtAM13HjttuAhjc/nnviQPbP5Q0Cg1QlE aghmC5cXxmY/k9xDyZvzJSHVZKzWk5OIRNQJzT1hsM5llpQeMIy4th+Hqm2Z/HCBxMQvvOn7d ss5Hb5/l8bM0CV2P0HTStlwJgCzeE4hznUn9GCrm7m92L+FJWtg730iTExucHhcYkRBtnLQus /65ssb3voUEUWA/A72MhlchkK0aTk6n0lVqVT0c7rTl1xpLR2jlLuQG1rkgThitO4wyP4YUJg rAipibMOMXk7KP/QYfHqzBhFdkBBLroGnUX5LxpzUt6M4U0NfVOcunkYTr2WzbJ7w55bPxqxz TjGAzyxMaE+q7pAqgHrWETRw0XHF+s7thSX2nC8MHzq09Kt9419SmGb+lvHKlEtnJEj0iAKPd xccKsoOVEWTB93xZT3449/BWBcWHlr5bvdF7zY5nkapQhUoEr9p/1MkFmWIu8W2eJ5kvHTfNY wmsTsgCmoV+3PM+kW5CLJo98W/e3v+ToF7bh4gaf02eg4GBK73MqWtcgL05DdPFqbNk6jB44K 6IbMUIVjKegt9kPI21u+dEe4vLYgdCn3WsWDM1ItoRA2UOl1uOn+hrLz3Jyy1tjBQQsnKCmsf NafeaK8mjCzZsdip5PYe/vY0FjR8GLOHQoPtSyxrd4BNajcGRq3ziyRah8zU/uiDsEerbXqFA o/GTW2LF9POfCohEA2696nHh87zP6ZoCetchTtRygfEF+efeYFc5UDF8iA4MfIYvdu3BdpcIk UKPOkA9MiOg== X-Spam-Score: -0.7 (/) 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.7 (-) Nicolas Petton writes: > +(cl-defgeneric seq-contains-p (sequence elt &optional testfn) > + "Return non-nil if SEQUENCE contains an element equal to ELT. > +Equality is defined by TESTFN if non-nil or by `equal' if nil." > + (catch 'seq--break > + (seq-doseq (e sequence) > + (when (funcall (or testfn #'equal) e elt) > + (throw 'seq--break t))) > + nil)) A detail: could you factor out the result of (or testfn #'equal) so that `or' is not called repeatedly in the loop? Michael. From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Mar 2019 08:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: "Basil L. Contovounesios" , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15531553919180 (code B ref 34852); Thu, 21 Mar 2019 08:04:02 +0000 Received: (at 34852) by debbugs.gnu.org; 21 Mar 2019 08:03:11 +0000 Received: from localhost ([127.0.0.1]:52639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6sfP-0002O0-JL for submit@debbugs.gnu.org; Thu, 21 Mar 2019 04:03:11 -0400 Received: from petton.fr ([89.234.186.68]:50586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h6sfM-0002Nh-Nl for 34852@debbugs.gnu.org; Thu, 21 Mar 2019 04:03:10 -0400 From: Nicolas Petton In-Reply-To: <87r2b1qiq9.fsf@web.de> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87r2b1nub1.fsf@petton.fr> <87r2b1qiq9.fsf@web.de> Date: Thu, 21 Mar 2019 09:02:56 +0100 Message-ID: <87imwcodsf.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1553155382; bh=G93twdz85HIic5k0WHSwhz3aGkCqJPHCCiFcQCykf9Y=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=KzbpvYL1+PcVEmqVepBuVEFgWuUTeNNwJoPM8iScsYzWg+ePPWvFfBuQQ650A7VYGUnHczeRuWnplNHdNA6zY+jrs+r8gyhFWmqts9YWRZtiRg1XY8J0X/4/1G/5xdEAVRfWz4hx0jz1iGUKo0XQ5UhJ/bEqKaZEp+AEJJk/VIE= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain Michael Heerdegen writes: > A detail: could you factor out the result of (or testfn #'equal) so that > `or' is not called repeatedly in the loop? Yes, and I'll do that elsewhere as well. Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyTRTAACgkQ6LzXhmr8 +Xi/vggAmdBjOekBPlSG1Aq3IsegDwXBcEHYH1XFVqUgiM8kIYoif9HJE42HEO8R iQkwwel9EaODa5NaoPgRSJOaqSCcxHkG8rXj+dl4oHSkYYI1HMOl8qgH08CZ2DfI I3xCrIQdd/PRaQv+2nxZL+fiqenjDZNR9dneC2YYSiZuF+az/LIIj6kJjA3K5ttG bMXltko329Z/RmDPTN565y7+zeTBqFhESB200DLFB8SVYR36/WllGTPUZVgeMB2J YsVNynWB0YZC/UjcNqSu3Esr8sR2VeNIvj0chpsYAjX4ZfSkKEr10dTpOQSJBMyt NXRgTsjPJyORJqjMhH/lwElalAO7PQ== =zp/b -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Mar 2019 17:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nicolas Petton Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15531904239941 (code B ref 34852); Thu, 21 Mar 2019 17:48:01 +0000 Received: (at 34852) by debbugs.gnu.org; 21 Mar 2019 17:47:03 +0000 Received: from localhost ([127.0.0.1]:53542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h71mQ-0002aG-NK for submit@debbugs.gnu.org; Thu, 21 Mar 2019 13:47:02 -0400 Received: from mail-ed1-f41.google.com ([209.85.208.41]:42277) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h71mO-0002Zl-6i for 34852@debbugs.gnu.org; Thu, 21 Mar 2019 13:47:01 -0400 Received: by mail-ed1-f41.google.com with SMTP id j89so5709541edb.9 for <34852@debbugs.gnu.org>; Thu, 21 Mar 2019 10:47:00 -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=LorpoBCatTpOhKZE7dldOJqmc6V8ashBbz7ikl+p5yE=; b=Qt7Jqj1PPsBaJaALGGU3UcvMPlQE066kp11h88cAR65/402ddPg5EQPfhqwMLuBDAm mmXeVq+w/xPsRvI+BsKr+CGT2xjPoJHdeuOQm8zemLiYn2rh4tZo1Tjcu13fXVWhvzFV dVACzepa3pEuw6vHwjSIZvcgZEnK9yfCCFARWYTBvlugmiK/xqLCshoHHcSjBKY7NSAd KEkRTOQXlD+6snyqtRWP75ovPPAOm2AeBFeLsXZEQlPsG0WhY47hBTK9OMokC9P2T9Id n7vmJkZT8PvYSzCAERcL5BSLAUth7Sa527l1i5ln8+DQdcFriPiVnkKcqXtMLJt05Re1 UeDw== 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=LorpoBCatTpOhKZE7dldOJqmc6V8ashBbz7ikl+p5yE=; b=lJweVJqmrEX7nSYv1uqhJZlus3jts6HbHjBW+eIcO5rIBdv+qu//TfihoCLh+fZokI 4atj7Xi1H9MpWfYQRY3p04uPoMoI3kqkNOVMsWwO10PKmD2pHBxstXsaaK4Be3B7Wbyl m3UWyXl6jsWkJNQyyEA8uDjSMI1bs6E4sHbo4R2hRewPt687IuLzSAqEScHyGS7Eva/y ujtDFnXSe8clLMzH/q15oHL+yazF1rBtOQocBpWfnjXv0M+qGQ8IzDZx/tGriH1lZmG1 2YjRe2OFqnM9OHruvI8I2O+V3JE2+N7BfxQCCEqwgrWb39pVRS14iUOp1bYZ5RcwQe20 k5EQ== X-Gm-Message-State: APjAAAUfOZKaWoZde2MPc8kcO3PgrGGpe96Fp9XQsVuUB2ZDhVqdGgQT hL2x2NIYFWh81GOCgDKCWODTjw== X-Google-Smtp-Source: APXvYqyGXYgxKqEic0Y08k08A/IkVf/2pHlW4hmHOCWTPZ2jg/HG5/kUHP/7LXN+mZxbAXvZ1ODuFA== X-Received: by 2002:a50:f5f8:: with SMTP id x53mr3415869edm.2.1553190414352; Thu, 21 Mar 2019 10:46:54 -0700 (PDT) Received: from localhost ([134.226.214.210]) by smtp.gmail.com with ESMTPSA id i20sm1207790ejv.26.2019.03.21.10.46.53 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 21 Mar 2019 10:46:53 -0700 (PDT) From: "Basil L. Contovounesios" References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87r2b1nub1.fsf@petton.fr> Date: Thu, 21 Mar 2019 17:46:51 +0000 In-Reply-To: <87r2b1nub1.fsf@petton.fr> (Nicolas Petton's message of "Wed, 20 Mar 2019 21:51:30 +0100") Message-ID: <87mulojf1w.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 (-) Nicolas Petton writes: > Here's a patch for master. Thanks, I have only some minor comments: > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > index 4a811d7895..39c93e25ed 100644 > --- a/lisp/emacs-lisp/seq.el > +++ b/lisp/emacs-lisp/seq.el > @@ -356,6 +356,7 @@ seq-sort-by > count)) > > (cl-defgeneric seq-contains (sequence elt &optional testfn) > + (declare (obsolete "Use `seq-contains-p' instead." "27.1")) According to make-obsolete, "use instead" strings should not start with a capital letter, but even better is (obsolete seq-contains-p "27.1"), which adds a link to seq-contains-p in the *Help* buffer. > @@ -420,7 +430,7 @@ seq-sort-by > "Return a list of the elements that appear in SEQUENCE1 but not in SEQUENCE2. > Equality is defined by TESTFN if non-nil or by `equal' if nil." > (seq-reduce (lambda (acc elt) > - (if (not (seq-contains sequence2 elt testfn)) > + (if (not (seq-contains-p sequence2 elt testfn)) > (cons elt acc) > acc)) Is there any harm in inverting this conditional structure, so that it reads positively? > diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el > index d8f00cfea4..6522def423 100644 > --- a/test/lisp/emacs-lisp/seq-tests.el > +++ b/test/lisp/emacs-lisp/seq-tests.el > @@ -185,6 +185,14 @@ test-sequences-oddp > (with-test-sequences (seq '(3 4 5 6)) > (should (= 5 (seq-contains seq 5))))) > > +(ert-deftest test-seq-contains-p () > + (with-test-sequences (seq '(3 4 5 6)) > + (should (eq (seq-contains-p seq 3) t)) > + (should-not (seq-contains-p seq 7))) > + (with-test-sequences (seq '()) > + (should-not (seq-contains-p seq 3)) > + (should-not (seq-contains-p seq nil)))) > + I think there should also be an explicit nil membership check: (should (seq-contains-p [nil] nil)) (should (seq-contains-p '(nil) nil)) -- Basil From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Mar 2019 20:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155319853030519 (code B ref 34852); Thu, 21 Mar 2019 20:03:02 +0000 Received: (at 34852) by debbugs.gnu.org; 21 Mar 2019 20:02:10 +0000 Received: from localhost ([127.0.0.1]:53665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h73tC-0007wB-IN for submit@debbugs.gnu.org; Thu, 21 Mar 2019 16:02:10 -0400 Received: from petton.fr ([89.234.186.68]:39524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h73tB-0007vq-9S for 34852@debbugs.gnu.org; Thu, 21 Mar 2019 16:02:10 -0400 From: Nicolas Petton In-Reply-To: <87mulojf1w.fsf@tcd.ie> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87r2b1nub1.fsf@petton.fr> <87mulojf1w.fsf@tcd.ie> Date: Thu, 21 Mar 2019 21:01:55 +0100 Message-ID: <87y358knd8.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1553198521; bh=1je1uVvG3AbRhBRseo6rXGo9hElBQDWCluRUg7ZQv3Q=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=stcxqZMrwfaJdOfMXSpG6gJIPKgJKM8/FgN8X0J/J8WnYkNuFoTpO/1psdPlMyUiO2svl1HeYxYEjXRECyqdWHimn1WJDnI/UF9DDw2a6ZPZvbcnsu9qX34S47pBlwa0gRb20DXkdx5eG1NMHG76oEqC1xhCFMqJJcUeOpA7VtE= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > Nicolas Petton writes: > >> (cl-defgeneric seq-contains (sequence elt &optional testfn) >> + (declare (obsolete "Use `seq-contains-p' instead." "27.1")) > > According to make-obsolete, "use instead" strings should not start with > a capital letter, but even better is (obsolete seq-contains-p "27.1"), > which adds a link to seq-contains-p in the *Help* buffer. Indeed, that's better, thank you. >> @@ -420,7 +430,7 @@ seq-sort-by >> "Return a list of the elements that appear in SEQUENCE1 but not in SEQUENCE2. >> Equality is defined by TESTFN if non-nil or by `equal' if nil." >> (seq-reduce (lambda (acc elt) >> - (if (not (seq-contains sequence2 elt testfn)) >> + (if (not (seq-contains-p sequence2 elt testfn)) >> (cons elt acc) >> acc)) > > Is there any harm in inverting this conditional structure, so that it > reads positively? It's not the purpose of this patch, but I can commit it separately. >> +(ert-deftest test-seq-contains-p () >> + (with-test-sequences (seq '(3 4 5 6)) >> + (should (eq (seq-contains-p seq 3) t)) >> + (should-not (seq-contains-p seq 7))) >> + (with-test-sequences (seq '()) >> + (should-not (seq-contains-p seq 3)) >> + (should-not (seq-contains-p seq nil)))) >> + > > I think there should also be an explicit nil membership check: > > (should (seq-contains-p [nil] nil)) > (should (seq-contains-p '(nil) nil)) Good idea! Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyT7bQACgkQ6LzXhmr8 +XimvAf/ejvLLKRDKEQZg48x6yiXyuguThuKiQ/lFCih3yAZxW9MZ0G0w1PV0yRn lb5rmidqC0T1BzCEfr9MqCEoN0UBw4HMf1TxPdhk+JTxszcTFj9vkPcRYNa9l73A Vb+b1dynE1KgSWrXN2y1tvpHiOVrtrNtIZEL67DZrbRrGgGFG/X4hd7nUPJoptyb 4pOxYfdmLt7ZqB1k/wG7geuuogvEAioCpNNF5IM69t7a6N+1MBExxHTDE495pD38 jCk3xjxe5OVf8cRyZ6RU0Ek6xQGW00DKPESQcx8AJjEwqX4ksQDiJW/Rxz9FXoZV YhyqNMuPpHPXcw9tstKe/2xbn3G+Ag== =Z24X -----END PGP SIGNATURE----- --=-=-=-- From unknown Fri Jun 20 07:22:11 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34852: 26.1; seq-intersection ignores nil as element Resent-From: Nicolas Petton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Mar 2019 20:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Basil L. Contovounesios" Cc: Michael Heerdegen , 34852@debbugs.gnu.org, Stefan Monnier , "Miguel V. S. Frasson" Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.155319938731846 (code B ref 34852); Thu, 21 Mar 2019 20:17:01 +0000 Received: (at 34852) by debbugs.gnu.org; 21 Mar 2019 20:16:27 +0000 Received: from localhost ([127.0.0.1]:53680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h7471-0008HY-KR for submit@debbugs.gnu.org; Thu, 21 Mar 2019 16:16:27 -0400 Received: from petton.fr ([89.234.186.68]:44050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h746z-0008HJ-Q8; Thu, 21 Mar 2019 16:16:26 -0400 From: Nicolas Petton In-Reply-To: <87mulojf1w.fsf@tcd.ie> References: <87zhpxabn3.fsf@tcd.ie> <87va0lmwlg.fsf@web.de> <87d0mtpfqb.fsf@petton.fr> <87k1h1criw.fsf@tcd.ie> <87h8c0mm74.fsf@petton.fr> <87r2b1nub1.fsf@petton.fr> <87mulojf1w.fsf@tcd.ie> Date: Thu, 21 Mar 2019 21:16:14 +0100 Message-ID: <87va0ckmpd.fsf@petton.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1553199379; bh=l6ALIvBt3pJk5Xvo5MLk8SClN2LwDHg0WVTaRrQoq/Y=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=gJBL6moop2qKmh4o3fLwdI+ZJWMDjt1otE7kd2Fg0ta/rVbcKLwHh8UZfNpYnly4rSg3XKALqVShoxL/9aEUgkHiXDM9o01GZp6nusss3iMxq8I82ygCABygvIPEBel8Ups/MH5qNpH8W7EymtZWXxp1cILiq1XanrMbjhjLd84= X-Spam-Score: -0.0 (/) 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 (-) --=-=-= Content-Type: text/plain tags 34852 fixed close 34852 27.1 thanks "Basil L. Contovounesios" writes: > Nicolas Petton writes: > >> Here's a patch for master. I pushed a revised patch to master, so I'm closing this issue. Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE1AWqLIYsVPF+7mvg6LzXhmr8+XgFAlyT8Q4ACgkQ6LzXhmr8 +XhF+QgAu8ESvj9/MXSc82bPTz/Bshpq9OJiHKprNLeUVtHpxd0RJ/Azi5ckExoQ h7Jxz4unzVkp+/LdtnSFrtumqz8fc6GqrholqNY9gujaots/cn4pnTbiOwBIH550 gTTUO74ImWgLUmVWgW55xGBJQzAjEzgOb4biLw9i4Hw7TxbsKb6W3ai2MFv2ir0f NvSTdfEQWh2phhBm93px2P7DvBoiTGWZMw4/6HWyoWaIMrJjSl33JTMjyQyf/KtP JYjR+9niTa/hlRKoGX1vSe5PQZnJUZPUPFG3YNIVmBv/UiL3DyP+i+A9Nvb6HE35 t/pg33mdymIqVpJVY3FSzyydlhZrqg== =SmNx -----END PGP SIGNATURE----- --=-=-=--