From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#37400: Patch for bug in cl-reduce: function called with no arguments when list is empty Date: Fri, 13 Sep 2019 11:18:27 -0400 Message-ID: <85ef0ki5rw.fsf@gmail.com> References: <18F2BFD9-81BA-4D56-8148-EC0FFA76A1AE@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="223095"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.92 (windows-nt) Cc: 37400@debbugs.gnu.org To: =?UTF-8?Q?Adri=C3=A0?= Garriga Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Sep 13 17:28:41 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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i8nV3-000vvf-En for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Sep 2019 17:28:41 +0200 Original-Received: from localhost ([::1]:45256 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8nV1-0001Ab-F1 for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Sep 2019 11:28:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52192) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8nLj-0007tW-9d for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 11:19:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i8nLi-0000PL-2V for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 11:19:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36673) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i8nLh-0000PH-VK for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 11:19:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i8nLh-0000IT-Ob for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 11:19:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Sep 2019 15:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37400 X-GNU-PR-Package: emacs Original-Received: via spool by 37400-submit@debbugs.gnu.org id=B37400.15683879161099 (code B ref 37400); Fri, 13 Sep 2019 15:19:01 +0000 Original-Received: (at 37400) by debbugs.gnu.org; 13 Sep 2019 15:18:36 +0000 Original-Received: from localhost ([127.0.0.1]:45494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i8nLI-0000Hf-E0 for submit@debbugs.gnu.org; Fri, 13 Sep 2019 11:18:36 -0400 Original-Received: from mail-io1-f41.google.com ([209.85.166.41]:46061) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i8nLH-0000HJ-9K for 37400@debbugs.gnu.org; Fri, 13 Sep 2019 11:18:35 -0400 Original-Received: by mail-io1-f41.google.com with SMTP id f12so63268364iog.12 for <37400@debbugs.gnu.org>; Fri, 13 Sep 2019 08:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=F+6F8q4evzelqugb3Vc/Vb+CoQBANNlwUAAaJoNykB0=; b=kRcGHiB8aHwOyG2DjONaQ6Zq9lbh+E0sqJIltIGuUKeV49l5MehqbfChna4WcmtZxs XFt+NYObImdTU1CJ64iOzSAW5AGO/0yUU+sI7J2H1azZgNnjb7RugESg3OGwIarKnIX3 HqUr+56MVi3V8NAZC4r2Hd0RGyUbFqWhWDYy56X5rlk0CK9XWl3Gt+KzpvO0+yKfxQl3 4FzpHzglAU/6vHMIrT2gSt1EKT/HZkdttS6JydeZRcc1g5HGg4/RvEqN9pH4T3FRtHb5 097bFi1iXcO7ypCF1jIZ0yWslmnwEYC3RMwY5SMtKIyuWcvaRSiNy5g6v95EkmOEi4T3 mw4w== 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:content-transfer-encoding; bh=F+6F8q4evzelqugb3Vc/Vb+CoQBANNlwUAAaJoNykB0=; b=CqzayTZbN5WRgyWH7R8v39P1+JQ78DUePKUHxAqmVSI1TtvT2fNOkAIr3Cf3Cy7pXH oYHPIV7LYXdmikzjvWzToh9mRCqd8y25+9yT2T6AsHjElSFaZWwa3sK4AYlmUxBqfmtO Nc0hsVHWIpDodtupNkL3IB4URxR6CjIyoEETyzEBJtOC9os6g0hxjUvumR1ytu9iJu7t QaglgNzNjJer31CjULPY0+3J2/lT7pWA5kZTlb8JJC0ndQmQyTuH0FdkYssJN01WRa+p 4pSZxQ9pYZVrMcmgQzhJX94eDWhmaH5sahKwYVb7R1oJlMT7SvoGRvh0xryAiHmP4tgT nDHQ== X-Gm-Message-State: APjAAAW4q069LznnkZ13GbUq1Dv3wONPu7ngOGFCyDb+B0PTZNena9ot OouD4GdwRqnw86TuIHX9UhvOA/0S X-Google-Smtp-Source: APXvYqwohpgnuFHWufF487UGDhW5l8kseYsTtNSTlvV3DIOAZv40FHx8Xqh31xISnrqJvrrdgDanrA== X-Received: by 2002:a6b:6d08:: with SMTP id a8mr362107iod.40.1568387909557; Fri, 13 Sep 2019 08:18:29 -0700 (PDT) Original-Received: from vhost2 (CPE001143542e1f-CMf81d0f809fa0.cpe.net.cable.rogers.com. [99.230.38.42]) by smtp.gmail.com with ESMTPSA id p5sm22964954iom.50.2019.09.13.08.18.28 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Sep 2019 08:18:29 -0700 (PDT) In-Reply-To: <18F2BFD9-81BA-4D56-8148-EC0FFA76A1AE@gmail.com> ("=?UTF-8?Q?Adri=C3=A0?= Garriga"'s message of "Fri, 13 Sep 2019 09:50:39 +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:166406 Archived-At: Adri=E0 Garriga writes: > +(ert-deftest cl-seq-reduce () > + (let ((bad-add (lambda (x y) (+ x y)))) > + (should-not (cl-reduce bad-add nil)) Actually, I think it's a docstring bug. The Common Lisp Hyperspec says: If the subsequence is empty and no initial-value is given, then the function is called with zero arguments, and reduce returns whatever function does. This is the only case where the function is called with other than two arguments. It looks like Emacs' current implementation is correct, but the docstring doesn't explain it accurately. https://www.cs.cmu.edu/Groups/AI/html/hyperspec/HyperSpec/Body/fun_reduce.h= tml