From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Basil L. Contovounesios" Newsgroups: gmane.emacs.bugs Subject: bug#34852: 26.1; seq-intersection ignores nil as element Date: Thu, 21 Mar 2019 17:46:51 +0000 Message-ID: <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> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="167386"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: Michael Heerdegen , "Miguel V. S. Frasson" , 34852@debbugs.gnu.org, Stefan Monnier To: Nicolas Petton Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 21 18:57:20 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h71wL-000hNM-SY for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Mar 2019 18:57:17 +0100 Original-Received: from localhost ([127.0.0.1]:43944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h71wK-0006NS-PS for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Mar 2019 13:57:16 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35639) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h71rs-0002NN-FL for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 13:52:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h71nO-0000GN-By for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 13:48:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39998) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h71nN-0000G4-S5 for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 13:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h71nN-0002bQ-OQ for bug-gnu-emacs@gnu.org; Thu, 21 Mar 2019 13:48:01 -0400 X-Loop: help-debbugs@gnu.org 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 Original-Received: via spool by 34852-submit@debbugs.gnu.org id=B34852.15531904239941 (code B ref 34852); Thu, 21 Mar 2019 17:48:01 +0000 Original-Received: (at 34852) by debbugs.gnu.org; 21 Mar 2019 17:47:03 +0000 Original-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 Original-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 Original-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) Original-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) In-Reply-To: <87r2b1nub1.fsf@petton.fr> (Nicolas Petton's message of "Wed, 20 Mar 2019 21:51:30 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:156574 Archived-At: 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