From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Dec 2024 23:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, monnier@iro.umontreal.ca X-Debbugs-Original-To: bug-gnu-emacs@gnu.org, Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Stefan Monnier Received: via spool by submit@debbugs.gnu.org id=B.173516924429137 (code B ref -1); Wed, 25 Dec 2024 23:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Dec 2024 23:27:24 +0000 Received: from localhost ([127.0.0.1]:39353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tQami-0007Zs-2V for submit@debbugs.gnu.org; Wed, 25 Dec 2024 18:27:24 -0500 Received: from lists.gnu.org ([209.51.188.17]:34934) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tQamg-0007Zk-7r for submit@debbugs.gnu.org; Wed, 25 Dec 2024 18:27:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQamf-0006gA-MY for bug-gnu-emacs@gnu.org; Wed, 25 Dec 2024 18:27:22 -0500 Received: from mail-40133.protonmail.ch ([185.70.40.133]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQame-0002JT-2k for bug-gnu-emacs@gnu.org; Wed, 25 Dec 2024 18:27:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1735169236; x=1735428436; bh=RO98GxvQonDRL3UTmwq1t6Owo49fSGVRYN/hX+46xWY=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector: List-Unsubscribe:List-Unsubscribe-Post; b=CN2gTq5yo5f9jaTillpN1ZmLzqV2IKKyU9omIOtS7jaYbw5KE1pSPq9nEpSI9rZzw Y/IWnB6ouq1qDnbBmijSA85r4UoFmoVW6yzmslSWqGbUh5UQuZiVCeRXJAL2YrRe8w eFMo6eRQ4+n1P9mxhohsf1R8Giwff5OotG+Yank0f8M0uQrAd9+WtyjANYZkzMxnvD Gf895alD6cSBjkUfVHRr3A/CwaORGBKo3MUO6VIi+0W2pu5bOq/IVxlo7kVETO5FHm kYFFKCQdzsRw3x9bU7kvnOkKMX7doT4AQ2Ke05Y353dFL3lDA5lFl0js1u9CHpAF9g 3m80vXNteT+tQ== Date: Wed, 25 Dec 2024 23:27:09 +0000 From: Pip Cet Message-ID: <87seqb73aa.fsf@protonmail.com> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: bd07054c7c81eab97a4d3ebde771849147a8b2de MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.133; envelope-from=pipcet@protonmail.com; helo=mail-40133.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.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: -2.3 (--) The current behavior of (cl-random -1.0e+INF) is to return NaN with a probability of 1.1920928955078125e-07, and -1.0e+INF in the remaining cases. There are at least two reasonable things cl-random can return for a negative argument. cl-random implements both, returning a float with negative sign or a nonnegative integer. There are at least two reasonable things cl-random can do in response to a zero argument. cl-random implements three of them: (cl-random 0.0) is 0.0 (cl-random -0.0) is -0.0 (cl-random 0) throws an error While "(while (not (isnan (cl-random -1.0e+INF))))" is an interesting benchmark, its behavior may be somewhat surprising. As this behavior has been in place since at least 1993 (when the function was called random*), users may rely on it, and only the docstring should be changed. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 01 20:25:00 2025 Received: (at control) by debbugs.gnu.org; 2 Jan 2025 01:25:01 +0000 Received: from localhost ([127.0.0.1]:41129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tT9xM-0000Le-L1 for submit@debbugs.gnu.org; Wed, 01 Jan 2025 20:25:00 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:60416) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tT9xK-0000LI-Mf for control@debbugs.gnu.org; Wed, 01 Jan 2025 20:24:59 -0500 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5d3ecae02beso13345733a12.0 for ; Wed, 01 Jan 2025 17:24:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735781093; x=1736385893; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=IflqyKly3oz0cnp86egD4K5/AGE7P2IjE4KY2RbcTt0=; b=HQbycvt3WuGLNbGNP7rFPOYxdxsm9bvA7FxUyz+0IH7ejazwKtfJ2OYaRxXTrkSbZC 0SyMUe7t4EsxOEoh6pWqnk78xw65zPOqdZMWvF/H6Qy8xZ0U94Zn3Xf2k9HH9eRYUppL yby3omH+Z7hRZzUjm81sRE3m0C4fZ3ps9cbgiWkVxnBAaOo8ODjPHedPdouzc/qjl+Q9 ie//57VTr7Lbc8uKXgZ0DwHO5iK40kOS39duN29Im8BlliEycMJ5Wd9tTsjzoyGu0xbL 23gKfvpZUUdDb5wssRJS/83MPkmyB679UpWIhJ9aF/YJSE0lY6yXN/RsIvxxeDMovwiU r0Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735781093; x=1736385893; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=IflqyKly3oz0cnp86egD4K5/AGE7P2IjE4KY2RbcTt0=; b=LUsOTa3Pq4p3K83PhCTH4gKf/9JRnaLmX/GIFwyFI8n+hxWt8XtshP4rIfUMEWxBEE b7il18y86WAs/v79bK11DfqeruvK6npV9nO618OicW/vBn+magvwXwTXYHJ6TpciBdTM MhdJxq0zVshWAMq+fbEzdHxyP7r99RK6eYVGMEhtEiED9XRDBF2dT4mk9yqvQ66vSkQI Rzb5gblsdiou0ZaToVaB/ySdsuvBP8nn/9p6cghe69M5p8kHfQC9xRR24X7AowJFS8KL QgjKlKE4d+QG2NhyWtaib/SuHucI0VH54+9vQMxJRVvkI8eD9Kd6JX15f8+o6PANAmkE 6Ipw== X-Gm-Message-State: AOJu0Ywbn7EN5WJKoGG4T3s6O+0tYgnZXA5Jhg3XWM8WZDE0g+KjzuY4 t3oCOm/SnXv2gE2DjagBKV2xzCfehXDymqovG7vU2npfLxnP1N5l3quad+t48Sb+1iR2LmwZD9D hwqE5YH08C7Ej6CchcM82UhjEYRyw1Mka X-Gm-Gg: ASbGncv3dz/NY+NdZv/7tf5Lj4heJdY0ueL+G9HokVjwgUxCZy7Ik+bi57Nj/zd5t3Q 1Hdz4v0IdypF67RmVOmhe6PMiO4c/e4z46VAduQo2 X-Google-Smtp-Source: AGHT+IFpUzW5kDYxNloPLK0Q6J3b0/elMhIoCzXDWbMXRCDzOVtsUDvebLxeaV5bjPB+J0TRnDCXUla3Omr76Aya6I8= X-Received: by 2002:a05:6402:84c:b0:5d0:b925:a8a with SMTP id 4fb4d7f45d1cf-5d81dda80bemr43913367a12.16.1735781092544; Wed, 01 Jan 2025 17:24:52 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 1 Jan 2025 19:24:52 -0600 From: Stefan Kangas MIME-Version: 1.0 Date: Wed, 1 Jan 2025 19:24:52 -0600 Message-ID: Subject: control message for bug #75105 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (-) severity 75105 wishlist quit From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Feb 2025 00:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, monnier@iro.umontreal.ca X-Debbugs-Original-To: bug-gnu-emacs@gnu.org, 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, monnier@iro.umontreal.ca Received: via spool by submit@debbugs.gnu.org id=B.173966704719195 (code B ref -1); Sun, 16 Feb 2025 00:51:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Feb 2025 00:50:47 +0000 Received: from localhost ([127.0.0.1]:59035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tjSrv-0004zX-6f for submit@debbugs.gnu.org; Sat, 15 Feb 2025 19:50:47 -0500 Received: from lists.gnu.org ([2001:470:142::17]:56686) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tjSrs-0004z2-Cq for submit@debbugs.gnu.org; Sat, 15 Feb 2025 19:50:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tjSrR-0000va-Ap for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2025 19:50:20 -0500 Received: from mail-10629.protonmail.ch ([79.135.106.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tjSrM-0004MM-4A for bug-gnu-emacs@gnu.org; Sat, 15 Feb 2025 19:50:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739667007; x=1739926207; bh=6Kxq8NXjDcf/xvJMoPZeHoGyUw8IJCZxbfBUaLiR5AU=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=xH8M8ZL0zll4ib7PF4ah91FVbHfOmlT7pDGYMoEzVRMBe/qaypM8UvgiUJhP+b+Sz LbR8IUb6w32C7SV/kQgteNtd/9/L1l2VYseitAywL5PRx9IseAMH1xSpgGF5j1lbp9 2Dj/Z/S2/oLH7h74jykaAoTGb2lTzRB+R0oCtiO0Jq+3sDJ+oZe8w3jmb/0GNbw/Pl R4bk2khw1zkIsKTbDc+aBbOr/mkp2JNpxLa4fm9Yd4dDpTaxTULUmW+nBdiCMHUgu5 rrOaSOunYlN/c1uo9PDXryXbr3uc3030yObzNa5eJpxabWex2dQFOvp3w7aPZWZhm8 /Jk727A1NbqbA== Date: Sun, 16 Feb 2025 00:50:04 +0000 From: Pip Cet Message-ID: <87ikpahfxl.fsf@protonmail.com> In-Reply-To: <87seqb73aa.fsf@protonmail.com> References: <87seqb73aa.fsf@protonmail.com> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: de5ca5c2f784ec5486becb1cca964e20ce915fc2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=79.135.106.29; envelope-from=pipcet@protonmail.com; helo=mail-10629.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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 (/) "Pip Cet via \"Bug reports for GNU Emacs, the Swiss army knife of text edit= ors\"" writes: > The current behavior of (cl-random -1.0e+INF) is to return NaN with a > probability of 1.1920928955078125e-07, and -1.0e+INF in the remaining > cases. Okay, so maybe I was wrong and that should be fixed. This patch will make cl-random behave consistently, though one could argue about some cases: (cl-random 0) involves a division by zero, as it should (cl-random 1.0e+INF) returns 1.0e+INF, as it should (cl-random 0.0) returns 0.0, but one could argue it should throw (cl-random -0.0) should do the same as (cl-random -0.0) since negative zero is a myth. Updating the docstring would be nice, too. >From 22e59a481a7a1c2cbff349af0f6faa2f428981a8 Mon Sep 17 00:00:00 2001 From: Pip Cet Subject: [PATCH] Make cl-random behave consistently for unusual arguments (bug#75105) The old behavior was for (cl-random -1.0e+INF) to return NaN in about one of eight million calls, and -1.0e+INF otherwise. Other unusual arguments were handled inconsistently as well. * lisp/emacs-lisp/cl-extra.el (cl-random): Handle nonnegative arguments consistently, error for negative arguments. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-random): New test. --- lisp/emacs-lisp/cl-extra.el | 20 +++++++++++++------- test/lisp/emacs-lisp/cl-extra-tests.el | 10 ++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 09470457d93..8c218ff9d7e 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -494,13 +494,19 @@ cl-random (let* ((i (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-i sta= te))) =09 (j (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-j state))) =09 (n (aset vec i (logand 8388607 (- (aref vec i) (aref vec j)))))) - (if (integerp lim) -=09 (if (<=3D lim 512) (% n lim) -=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) -=09 (let ((mask 1023)) -=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) -=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state)))) -=09(* (/ n '8388608e0) lim))))) + (cond + ((natnump lim) +=09(if (<=3D lim 512) (% n lim) +=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) +=09 (let ((mask 1023)) +=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) +=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state))))) + ((< 0 lim 1.0e+INF) + (* (/ n '8388608e0) lim)) + ((< lim -0.0) + (error "negative limit supplied to cl-random")) + (t + lim))))) =20 ;;;###autoload (defun cl-make-random-state (&optional state) diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/= cl-extra-tests.el index 75533b36f29..d87c0bfec5d 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -348,4 +348,14 @@ cl-extra-test-tailp (should (cl-tailp l l)) (should (not (cl-tailp '(4 5) l))))) =20 +(ert-deftest cl-extra-test-random () + (should-error (cl-random -1)) + (should-error (cl-random -0.5)) + (should-error (cl-random -1.0e+INF)) + (should-error (cl-random 0)) + (should (eql (cl-random 1) 0))) + (should (eql (cl-random 0.0) 0.0)) + (should (=3D (cl-random -0.0) 0.0)) + (should (=3D (cl-random 1.0e+INF) 1.0e+INF)) + ;;; cl-extra-tests.el ends here --=20 2.48.1 From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Feb 2025 18:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org, 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173981580218281 (code B ref 75105); Mon, 17 Feb 2025 18:10:04 +0000 Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 18:10:02 +0000 Received: from localhost ([127.0.0.1]:48748 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tk5ZB-0004kh-Se for submit@debbugs.gnu.org; Mon, 17 Feb 2025 13:10:02 -0500 Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:43152) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tk5Z9-0004k3-Ea for 75105@debbugs.gnu.org; Mon, 17 Feb 2025 13:10:00 -0500 Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-30920855d5bso33592861fa.0 for <75105@debbugs.gnu.org>; Mon, 17 Feb 2025 10:09:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739815793; x=1740420593; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=bJ/KmK4N5ApMRMZOeEDEt75zI7vhPNc7Kyzez1pAHUjOYTuyAXjyFiM34f+yHepHfT lnjvXzd2kZ3JWSyaOW6KQhxqwAoJmv026fnOI+DC/GqSXmT+0QYLeWBjP8sioJbSYorV iTCjv1HOrIq0yJSn5KSNvZs+0cDcJHkYLmNwE3+OyvLOlcaseYagVVAuZMo3grrVE7Da bXMEDi6r2GHJ8lLC86/fFpct4UP69OCETXFEtXeF6MCcWxDy24qyDHsc/cuJeVIU150A 8pMFJvl/KH3GgzhASgO+bj9DqqGmksfZUs678/BgUMlGDwzXRJBlBIQrSHrZQGvmSWI5 fZbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739815793; x=1740420593; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=wP10mouz9anaxRnlABDn/aqMvEjqVdPyX0HDrPJr7lo=; b=xQ9XXDhfFLhNCone8f6JJr2zqOppXpKnOmZOssTINR/dhc9Upygenay1LWBc5E5PJG DKFKSQs99xuV4qMKScGmZvVTccdUkhdXJRepLUVGHQgz4YP8k8Wj9yz1Es1VwN6Sz19a x5mDX4meMwNiuojNhNOo81hiJWZ7UgQpvodIe1v8cf6WSHq7ho9fIbIbJzfqW77XHFH8 9+9hpawXTdDzTb1cWdlNjScMH9sRClhduPifrFP+KbwppDrwUgvEx7KFFLxPTR9Dj8qz 6xNoIxbwV4/QtetMIIWoFQM2K9BsYg/61Du2QG21S4J6NFZs6U7UOL8olP7lDBbqeieb DNvg== X-Forwarded-Encrypted: i=1; AJvYcCW8OObsxgZF88h8jcaRutuvSQ5efZYo0OatnTgg+RAyOnS0WmdNVirjULzSA40e2j7DqkKzmw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxVIRSMvptYzmIFNmCC//fE+n8svRo5yvR7TagkxaneVaNi2eSr j+Lh/r2/+QmRk5tByw3CUS8KE+cqBdu/VwOwFrwpK8UbQhSeELT4 X-Gm-Gg: ASbGnctE0moMGuLql1jUFxewILGKt+3C3r406r+zppndJpU0nDKxJKB68I8aO2KBPC2 FL/shqhtMF/GtyxoIJVI/A20SOSYQ1OW1ocEIv2LdH7zJGPGgqH6T7INcodaheYH9FDasZBuyXH P4lJd9/4di3gDMABb4I2hSwaBS2ZT3MwO0EDTh4eYvKeLTIRTSHaYc235J34GTevaNymanXLjy0 ZHmTooSdNRjUmey4ADuYOBG4etcCJBn7TNc8wqZmxQdz+w/XH4Lemmp/+dwuqJOtDSssoWqn5Qy ellXe5HknyxmynyAdMywo7VOFx/2t2IllWWZ+Pks28WcuFpk2XB5MTO2YpyfkeYs4nyYsvnnQGb qOvvuVQ== X-Google-Smtp-Source: AGHT+IHs9xUoHivXg3azu3VKUgAJWbhkzrG8ia0SDulP3wUdtA4YH6zpIqF5Q0yNTJ5rEzb1eatrQA== X-Received: by 2002:a2e:9616:0:b0:302:2cb3:bb1d with SMTP id 38308e7fff4ca-309288de1d3mr25925591fa.12.1739815792437; Mon, 17 Feb 2025 10:09:52 -0800 (PST) Received: from smtpclient.apple (c188-150-186-155.bredband.tele2.se. [188.150.186.155]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3091011ed8bsm17140091fa.56.2025.02.17.10.09.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Feb 2025 10:09:52 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <87ikpahfxl.fsf@protonmail.com> Date: Mon, 17 Feb 2025 19:09:51 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> X-Mailer: Apple Mail (2.3654.120.0.1.15) 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 (-) 16 feb. 2025 kl. 01.50 skrev Pip Cet : > (cl-random 0.0) returns 0.0, but one could argue it should throw It definitely should throw, but perhaps it's not worth the = incompatibility? Not sure, because existing code that passes 0.0 is = likely buggy anyway. Or we could say that it's just an ad-hoc extension, by vague analogy of = (car nil) =3D nil. From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Feb 2025 18:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org, 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com Received: via spool by submit@debbugs.gnu.org id=B.17398168083115 (code B ref -1); Mon, 17 Feb 2025 18:27:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 Feb 2025 18:26:48 +0000 Received: from localhost ([127.0.0.1]:48960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tk5pP-0000nz-DS for submit@debbugs.gnu.org; Mon, 17 Feb 2025 13:26:48 -0500 Received: from lists.gnu.org ([2001:470:142::17]:37344) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tk5pN-0000n1-9P for submit@debbugs.gnu.org; Mon, 17 Feb 2025 13:26:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tk5pC-0001RP-Lu for bug-gnu-emacs@gnu.org; Mon, 17 Feb 2025 13:26:34 -0500 Received: from mail-10630.protonmail.ch ([79.135.106.30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tk5p9-00083h-Jr for bug-gnu-emacs@gnu.org; Mon, 17 Feb 2025 13:26:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739816788; x=1740075988; bh=6DkSz+8BntsXfvojF0XLEKyzHV54A38Mc+KkSV6dkNA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=fghzMTBaK1RMutue/NjiAJKEpCz68A8khBsb2ABRVXZcYLQaJEq6X645pOZ8gR/Lb dePXTGFkaIHpSuP//TLodrupJM6Ujp975DXPFR6Z4bFUp4AxxQMjvy6YvhTLoUxOar WlVJGTetZBb7h28oSQXbH0u4X5L7uydUxjkjN4omLzt+Eu6fhoK7otgR5D9dZgbbb2 OfLAhT6w6QO7j89IbJ5qesrTuVlanMriwIDDjCU1A4pszf1zVe2nol50VEmCFT+BSg lSKPizLWCGWERogtxNH6+96UsEoRyr5RoG8xyFhbG+vM3CZCWfttLPtzly+kzPB2Cu OKGEpCO/sqyyA== Date: Mon, 17 Feb 2025 18:26:23 +0000 From: Pip Cet Message-ID: <87h64s8m3d.fsf@protonmail.com> In-Reply-To: References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 894797de20b05e7719047d7ab3e4c98bd269ee26 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=79.135.106.30; envelope-from=pipcet@protonmail.com; helo=mail-10630.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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 (/) Mattias Engdeg=C3=A5rd writes: > 16 feb. 2025 kl. 01.50 skrev Pip Cet : > >> (cl-random 0.0) returns 0.0, but one could argue it should throw > > It definitely should throw, but perhaps it's not worth the > incompatibility? Not sure, because existing code that passes 0.0 is > likely buggy anyway. Or we could say that it's just an ad-hoc > extension, by vague analogy of (car nil) =3D nil. On mathematical grounds, in my humble but correct opinion, the pseudo-algorithm should be: 1. find a random real number in the closed interval [0, a] 2. round it towards zero. IOW, that 'a' is never the result is a consequence of the rounding step, not of using a half-open interval in step 1. However, Common Lisp disagrees, and the cl- prefix kind of hints we should heed its opinions. And using (* x (cl-random 1.0)) if that's what you want seems easy enough (and, either way, you get bitten by the low precision, with only 8 million possible outcomes). Will modify the patch accordingly. Pip From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Feb 2025 22:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Pip Cet Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173983066629598 (code B ref 75105); Mon, 17 Feb 2025 22:18:02 +0000 Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 22:17:46 +0000 Received: from localhost ([127.0.0.1]:50590 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tk9Qw-0007hG-77 for submit@debbugs.gnu.org; Mon, 17 Feb 2025 17:17:46 -0500 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]:53613) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tk9Qs-0007ga-N9 for 75105@debbugs.gnu.org; Mon, 17 Feb 2025 17:17:43 -0500 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-abb999658fbso172153866b.3 for <75105@debbugs.gnu.org>; Mon, 17 Feb 2025 14:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739830656; x=1740435456; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=3GVuenMbxiH4ByrR8YEi25XX1zib/YgavbVpL0XUYJE=; b=BSVLs0vWKsGd3kr++dk0DhfrFVsk5RQnYEAF5zosnoiIhBVve2t7HcoClK3YggElaE 8E5E0fbPVUSV2bvRfju8ZW0Pg4A48QWwWRjXlPv8XjQX5Z3MUl6bm1PF6MlH9e11ELw/ 2RljoCKyyKHrNKjuoJ+NRBI0Gt8tgSigvlPx+6xxdpDGYIO+XMc2h574yHnJV9cEdy3G tI0PqYqEAafpej2GyazLkCGCoOfGXdPz5oIoqjV8BMJBuGQXT4/OwZSLrj7kjWR0MhPK ORUp1qTpdl6TeR9CEYCfQrNRBL5RT5KqW0Syqhlf6BWe9mbgqMSF5hzBr3dYELfjpUVN nrhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739830656; x=1740435456; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3GVuenMbxiH4ByrR8YEi25XX1zib/YgavbVpL0XUYJE=; b=KWgGMd3YIi6yw7ECuLxicdD+RrNZ/PZm1m/vh7tmAaEFwTc+B2f06Ky+2lnd5jCON2 2/6jRYcCrTJjDTsQm+2iuTMoF+5kFGxqRWfA7akIVq020sXMTzMIgjSZWLuZbbMJ8SSJ DF2g/HiA0E/Y2wutQ3rZdKoeYK7ONBqgVlYTquurcQcXJ3eYesEKv8MvCf8W/0cOEybm qEYPauS6+oyTh0VWY1EcDWtXiTkqNTDJicaPp0WBGNK0HOuyqGVZSIfDk5Nu0wTo99+u NGq3bjWT1ZKK+mpFIaq0JFKbzZTitnP3MpEZHWaJoN5iLSjT7/kj2JCpa2PJWEhujLTu UbLQ== X-Gm-Message-State: AOJu0YwEMt86OAMWGxePxzDcmoFTES9+kaHBu3moONADF+lfSgDtYapp wCwhKn8Ml8J2GHVze7YcBp61YCcl+CYFO3ydWZ8w1jxbwq2NKmLFb/HviP18JibaeWIwIce1pYi Fc9YoFkiPLPFNCKlUCusOZCSv9r8= X-Gm-Gg: ASbGncvMrnGBbC1rEHXSrccSmPAwOuDca7oAHzQlgGIcC33XWsoOKieCVyvMKF/QWLv NO552XH2SEDuZdwW5lF9GBwTcJiYH00jGPVDuVo/WxT4peFeagVUxQVdUM/PNMeiDGcuABrkUSY 4= X-Google-Smtp-Source: AGHT+IElKXM4CyBEN9tAJ0lWwJBQsQ9029RNGjnnAMRZYXQB/KTzok4wqVzceHCPRpLU34g5215xnpXNGAwWbOTyClM= X-Received: by 2002:a05:6402:4609:b0:5dc:5a51:cbfa with SMTP id 4fb4d7f45d1cf-5e035ff96f1mr29435455a12.6.1739830656134; Mon, 17 Feb 2025 14:17:36 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 17 Feb 2025 22:17:34 +0000 From: Stefan Kangas In-Reply-To: References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> MIME-Version: 1.0 Date: Mon, 17 Feb 2025 22:17:34 +0000 X-Gm-Features: AWEUYZk_cEEmlmVUR6Jg9Ifry83C8vhocMGLOADnnbWhlrSF0ZlKUtqRBV7WDjc 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 (-) Mattias Engdeg=C3=A5rd writes: > 16 feb. 2025 kl. 01.50 skrev Pip Cet : > >> (cl-random 0.0) returns 0.0, but one could argue it should throw > > It definitely should throw, but perhaps it's not worth the incompatibilit= y? Not sure, because existing code that passes 0.0 is likely buggy anyway. > Or we could say that it's just an ad-hoc extension, by vague analogy of (= car nil) =3D nil. FWIW, I'd lean towards fixing it, in the hope that very few packages out there will rely on this wrong behavior. From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Feb 2025 22:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173983107931990 (code B ref 75105); Mon, 17 Feb 2025 22:25:01 +0000 Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 22:24:39 +0000 Received: from localhost ([127.0.0.1]:50640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tk9Xa-0008Jt-IA for submit@debbugs.gnu.org; Mon, 17 Feb 2025 17:24:38 -0500 Received: from mail-10628.protonmail.ch ([79.135.106.28]:45745) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tk9XY-0008JL-5D for 75105@debbugs.gnu.org; Mon, 17 Feb 2025 17:24:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739831068; x=1740090268; bh=olE10h76evLNSzpR5w51isQsq7s9R2DE1Dz3UcPyeMk=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=T5L3jxt6HeMnBV5XVkMKKU2Mt5Eu0y1LS2eb3HxEca53M49vFyUYrvBP4ULdgLo1s YkLz6nh2RQU5mdDbHQGaLeaf8lfW/0uVdRcPe1MXogx+wnQU58fQNKsZThvm5d5SQE 5T2z1hbkOeX0YmmuVBz1jSA20zE3pN5Ul1figgrrStSQEFfT/e9nYKPNqcRiWDS67f uJVLPJQqB8jAA+7fTnP2W8Mq4TIFa5Bc7cup7ghH/2kRXJcN3jMC9Mcso3EbbS+K8K 9+Qldr2xgGvmrsa+FDgRNP6vca6Zg9nGxP0/78ZU/Q7rstZAbfs0bbKr4d+WAYH41a /BMo1Sbmd7bkw== Date: Mon, 17 Feb 2025 22:24:22 +0000 From: Pip Cet Message-ID: <87msek5hxu.fsf@protonmail.com> In-Reply-To: References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: b5361075d4819910e1251af0ba2df9474482b748 MIME-Version: 1.0 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 (-) "Stefan Kangas" writes: > Mattias Engdeg=C3=A5rd writes: > >> 16 feb. 2025 kl. 01.50 skrev Pip Cet : >> >>> (cl-random 0.0) returns 0.0, but one could argue it should throw >> >> It definitely should throw, but perhaps it's not worth the incompatibili= ty? Not sure, because existing code that passes 0.0 is likely buggy anyway. >> Or we could say that it's just an ad-hoc extension, by vague analogy of = (car nil) =3D nil. > > FWIW, I'd lean towards fixing it, in the hope that very few packages out > there will rely on this wrong behavior. Just to clarify, you think (cl-random 0.0) returning 0.0 is wrong behavior? If so, everyone agrees we should make it throw, if for different reasons (I think the 0.0 return value is mathematically correct but not important enough for us to deviate from the standard, so I changed my mind after reading that). Pip From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Feb 2025 23:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173983408116252 (code B ref 75105); Mon, 17 Feb 2025 23:15:02 +0000 Received: (at 75105) by debbugs.gnu.org; 17 Feb 2025 23:14:41 +0000 Received: from localhost ([127.0.0.1]:50926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkAJt-0004DH-RE for submit@debbugs.gnu.org; Mon, 17 Feb 2025 18:14:41 -0500 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]:44401) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tkAJr-0004CX-Cc for 75105@debbugs.gnu.org; Mon, 17 Feb 2025 18:14:32 -0500 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5de63846e56so9492883a12.1 for <75105@debbugs.gnu.org>; Mon, 17 Feb 2025 15:14:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739834065; x=1740438865; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=kFO9aOquANP1fhWJA8+sdjGuq2Tv49YwJdJRLGojd9k=; b=Fbr2dRofX4BgMzb3sUnxYsBrFpOTg3+MTaNHsoBDsCT5JaWtQ5BhSa4X1R+YJA7Ar9 azOlNaaLSspO3MuYZHnAxsOja9TkmWdlyPDxvxzCR2eS9loojYjfJakMVfKz2YL35RUq GB29p4sPf20OPuMcMtGbmvAzii++V7DCiFzZMoAILZGwpfErGtWvRXWC85lxPakz2qUH ryZEoIT9tX2VpY+UjvCcBvXNVZ1nhUNq9WtyHLTEIEmt8DXVISjYSWuGMGBrO30chqqp YOf5NJ/fa/F1mcvVpn7NGsjAvhdGeBS8996DaYQCAXzgtop1d2W2DA4kAQToPHhC4U9c y4zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739834065; x=1740438865; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kFO9aOquANP1fhWJA8+sdjGuq2Tv49YwJdJRLGojd9k=; b=X25K90DIHPQlpPTsuEhsut/eaE1cVCAvmWDsX21eU/K0njV5mTHPR14PEHgPEiVpnb QXTRaf8J6k3tH/NTpGbjZhIJshGdQFcVMUn0Lm1IOCbwOAm651uNCZRqEDfP5VqG4VJH 31QVXwDW12b1Uf2riZNSIb3tfsAyD1chyF7kYqtGgrpWF5QrQi+a27pDzkAyLHWrQckI /HjBMrakfjh2AhFybMg6VOrznWlRb8Lg58+tDrssTSUPcWABpY65yexuNqQb+pJVNNh+ t9SbqUIE3I0KyeC0TNIc8Kky0YpkSBZGrVDvd5MbTYcWicIEK4hVErvF//1x5KvqyMqN xGyA== X-Forwarded-Encrypted: i=1; AJvYcCVIQJkO4Dw/PzCvmgnyS+6O3wTIyUszKk8DW+Hj5EcaOTUcDCJQw1CJQNuJDvFQ/tB29ru2Mg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxSc90v47H47F5egNYnnpngczApYUqZwCAFhglhZdDEnH8FfGtc iHNTqI1ttUvk9MCi0TsYt1aPwYr7BF8ATeRl+eUGZgxEcO5acjqGJ9No9qP5lgOSoJy8UkGyRk3 aMO4pa+jHpvsB56t96GkkfIH0+Lo= X-Gm-Gg: ASbGncvxysdrLOBUdiyOUSmdlUOURpswB21gfAHZpQbHS7kzEFypyQRQkz7MAhKkh1X I+FgeWDR0IdHuXzNOpGxNY2r1gZnAZEQGXrpL6aBxnAYivwBW24DZN6l5AOJQkjAguOT9l0qUbH U= X-Google-Smtp-Source: AGHT+IHYuVtB5E1diClKt8SJHjDPe+/dVlgL4k+fv3NGH0ufV+FjlVlLMRjj7gPL5e4/6HhkhkxeGb1iFCNBc//qwI0= X-Received: by 2002:a05:6402:27d3:b0:5d0:ed71:3ce4 with SMTP id 4fb4d7f45d1cf-5e036049b1fmr12931077a12.6.1739834065035; Mon, 17 Feb 2025 15:14:25 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 17 Feb 2025 15:14:24 -0800 From: Stefan Kangas In-Reply-To: <87msek5hxu.fsf@protonmail.com> References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <87msek5hxu.fsf@protonmail.com> MIME-Version: 1.0 Date: Mon, 17 Feb 2025 15:14:24 -0800 X-Gm-Features: AWEUYZkO0-d9TDzgTYUcKG8aZyi1IdJJNU4eRjfyuxnq7yxss62wyLeZ0DNDoFA 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 (-) Pip Cet writes: > "Stefan Kangas" writes: > >> Mattias Engdeg=C3=A5rd writes: >> >>> 16 feb. 2025 kl. 01.50 skrev Pip Cet : >>> >>>> (cl-random 0.0) returns 0.0, but one could argue it should throw >>> >>> It definitely should throw, but perhaps it's not worth the incompatibil= ity? Not sure, because existing code that passes 0.0 is likely buggy anyway= . >>> Or we could say that it's just an ad-hoc extension, by vague analogy of= (car nil) =3D nil. >> >> FWIW, I'd lean towards fixing it, in the hope that very few packages out >> there will rely on this wrong behavior. > > Just to clarify, you think (cl-random 0.0) returning 0.0 is wrong > behavior? Yes, sorry for not being more clear. > If so, everyone agrees we should make it throw, if for > different reasons (I think the 0.0 return value is mathematically > correct but not important enough for us to deviate from the standard, so > I changed my mind after reading that). Right. From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Feb 2025 12:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, pipcet@protonmail.com, monnier@iro.umontreal.ca Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173988262624963 (code B ref 75105); Tue, 18 Feb 2025 12:44:02 +0000 Received: (at 75105) by debbugs.gnu.org; 18 Feb 2025 12:43:46 +0000 Received: from localhost ([127.0.0.1]:56136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkMx0-0006UZ-6O for submit@debbugs.gnu.org; Tue, 18 Feb 2025 07:43:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36728) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkMww-0006Tw-2Q for 75105@debbugs.gnu.org; Tue, 18 Feb 2025 07:43:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tkMwp-0001Ee-Nv; Tue, 18 Feb 2025 07:43:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=pdLOA2pu19wWDCeEMJrqvJx1P6U4TjbUj7Qf1xh2cTw=; b=S6Q5KXlffqXMhemMMRLO N6XL/jCYpcqtLLso5l2BPPl0Uj/5lUyVPfG0cy38R4KedKgDwughQxCjle8XSc9eSFVycY4HxMFfZ uc81iEuBHa9nQQbz0w4OEQ94mlp6/PtaZEQ7S5ebDdt4qNjBniSsokWvwnoMJKR/0Dxx08HDrWwCJ INjpIua15tilJ+6t7nAl75kq3JCNCB5xH9JhKJgd2iLcY+gCPVoq8fi35dUY66HSFXmdunS1BoGZn BEDwptV1BEEEpJIVPNuMtAFT088h/COmYrlHNnNWi/YNwSRcHvcYEVw8WW3FyGheyUOtrGJ4hoAPZ wSrlXJeZjU/3eg==; Date: Tue, 18 Feb 2025 14:43:32 +0200 Message-Id: <86ikp7a0ej.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Kangas on Mon, 17 Feb 2025 22:17:34 +0000) References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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 (---) > Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com > From: Stefan Kangas > Date: Mon, 17 Feb 2025 22:17:34 +0000 > > Mattias Engdegård writes: > > > 16 feb. 2025 kl. 01.50 skrev Pip Cet : > > > >> (cl-random 0.0) returns 0.0, but one could argue it should throw > > > > It definitely should throw, but perhaps it's not worth the incompatibility? Not sure, because existing code that passes 0.0 is likely buggy anyway. > > Or we could say that it's just an ad-hoc extension, by vague analogy of (car nil) = nil. IMO, signaling an error is only justified if the call (cl-random 0.0) cannot keep the contract of the function according to its doc string. I don't think the value 0.0 it returns breaks the contract. > FWIW, I'd lean towards fixing it, in the hope that very few packages out > there will rely on this wrong behavior. Fix it how? From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Feb 2025 12:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173988273725894 (code B ref 75105); Tue, 18 Feb 2025 12:46:02 +0000 Received: (at 75105) by debbugs.gnu.org; 18 Feb 2025 12:45:37 +0000 Received: from localhost ([127.0.0.1]:56150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkMym-0006jX-74 for submit@debbugs.gnu.org; Tue, 18 Feb 2025 07:45:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51598) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkMyj-0006im-Bw for 75105@debbugs.gnu.org; Tue, 18 Feb 2025 07:45:34 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tkMyd-0001bm-S1; Tue, 18 Feb 2025 07:45:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=vQAhaVcECRTpFFFgaem07wXGnqSWD5huFf/2GS3tPoA=; b=N72cFjcoVelTbXAM9jor tHHE0s7S+R6iufZ1nyUq2TC0Cbgp0No0W+Yiw0m9tsjuoenIWz95NQYfhW/VtmLj0eoMK2kUFk0V+ tZOrdf+1UVMaxhMv+elPBo7CKbu78hLL2IuyOEjbrnOp/0RtWLAygNLAfr6qYgTYx/ekqaCdCSBiE QhVzsQQ8qxms7JvAFqAtUY2IyNReblYZq/fD0uCv9fpVTD1sL9cC/f3xhF0tKg51XNkjhRgYd2+1U Xc+dk3mfkCZotU41++JWNOrDL0fYdTImQLeo5SMSHB9YQ2Prj66gLDOnktXg5LzcbdJIKgSyOT1Yy szeeFzlHTC4viw==; Date: Tue, 18 Feb 2025 14:45:24 +0200 Message-Id: <86h64ra0bf.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87msek5hxu.fsf@protonmail.com> (bug-gnu-emacs@gnu.org) References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <87msek5hxu.fsf@protonmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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 (---) > Cc: Mattias Engdegård , > 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com > Date: Mon, 17 Feb 2025 22:24:22 +0000 > From: Pip Cet via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > "Stefan Kangas" writes: > > > Mattias Engdegård writes: > > > >> 16 feb. 2025 kl. 01.50 skrev Pip Cet : > >> > >>> (cl-random 0.0) returns 0.0, but one could argue it should throw > >> > >> It definitely should throw, but perhaps it's not worth the incompatibility? Not sure, because existing code that passes 0.0 is likely buggy anyway. > >> Or we could say that it's just an ad-hoc extension, by vague analogy of (car nil) = nil. > > > > FWIW, I'd lean towards fixing it, in the hope that very few packages out > > there will rely on this wrong behavior. > > Just to clarify, you think (cl-random 0.0) returning 0.0 is wrong > behavior? I don't. From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Feb 2025 12:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, Stefan Kangas , monnier@iro.umontreal.ca Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173988312227983 (code B ref 75105); Tue, 18 Feb 2025 12:52:02 +0000 Received: (at 75105) by debbugs.gnu.org; 18 Feb 2025 12:52:02 +0000 Received: from localhost ([127.0.0.1]:56194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkN4z-0007HB-Cp for submit@debbugs.gnu.org; Tue, 18 Feb 2025 07:52:01 -0500 Received: from mail-10628.protonmail.ch ([79.135.106.28]:52649) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkN4s-0007GI-Q6 for 75105@debbugs.gnu.org; Tue, 18 Feb 2025 07:51:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739883107; x=1740142307; bh=Dvrnu2VKPuVOCQaZeSiEDtEf7QchZbXimiIX6ASJZds=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=a5nhAVI2M8hxbdw10lHlbEVY8NzbFO099/EyQgDrVCeqbyW5v5qY1SeLLK/eFh+Nl yE3nSOgQuD8z3gdyvnu899BJNJESxFgD77LIdv6OTCjly02JGL3vHFez24n/OtV89g Z8xg/TrSzMsAONTd9xfdd3WH5iis+Y7uynwR7hz2JmLHq8/ARkJN/Rm1kmMmZaaKgF JznJFQI8KudN7XatOQ7zv3c8A1LYcMdVlRHy5xHueId6VNZFQBxDExNXnUugOhNWtp 69mLsEHm3fwPl4KUsRofLZZ0i2+ytg2Wfz9irQqw1cpCDTidHnyXkd5u26QIO3pG4s vT85cteK8oUfg== Date: Tue, 18 Feb 2025 12:51:45 +0000 From: Pip Cet Message-ID: <8734gb5sco.fsf@protonmail.com> In-Reply-To: <86ikp7a0ej.fsf@gnu.org> References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <86ikp7a0ej.fsf@gnu.org> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 19c76e21d2f2f5407ae12f17c00d79cc7bc28b4c MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: -1.0 (-) "Eli Zaretskii" writes: >> Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gm= ail.com >> From: Stefan Kangas >> Date: Mon, 17 Feb 2025 22:17:34 +0000 >> >> Mattias Engdeg=C3=A5rd writes: >> >> > 16 feb. 2025 kl. 01.50 skrev Pip Cet : >> > >> >> (cl-random 0.0) returns 0.0, but one could argue it should throw >> > >> > It definitely should throw, but perhaps it's not worth the incompatibi= lity? Not sure, because existing code that passes 0.0 is likely buggy anywa= y. >> > Or we could say that it's just an ad-hoc extension, by vague analogy o= f (car nil) =3D nil. > > IMO, signaling an error is only justified if the call (cl-random 0.0) > cannot keep the contract of the function according to its doc string. > I don't think the value 0.0 it returns breaks the contract. "Return a pseudo-random nonnegative number less than LIM, an integer or f= loat. Optional second arg STATE is a random-state object." How is 0.0 a "nonnegative number less than 0.0"? 0.0 isn't less than 0.0. While most users will expect (cl-random 0.0) to return 0.0, which is the mathematically sensible thing to do for "a random number between 0.0 and 0.0, rounded down", that's not what the docstring currently describes. We'll just have to hope that no one "optimizes" (* x (cl-random 1.0)) to (cl-random x) and breaks existing code. Pip From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Feb 2025 13:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, mattiasengdegard@gmail.com, Stefan Kangas , monnier@iro.umontreal.ca Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173988393032660 (code B ref 75105); Tue, 18 Feb 2025 13:06:02 +0000 Received: (at 75105) by debbugs.gnu.org; 18 Feb 2025 13:05:30 +0000 Received: from localhost ([127.0.0.1]:56288 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkNI1-0008Ue-19 for submit@debbugs.gnu.org; Tue, 18 Feb 2025 08:05:29 -0500 Received: from mail-4316.protonmail.ch ([185.70.43.16]:30499) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkNHo-0008Nq-Rf for 75105@debbugs.gnu.org; Tue, 18 Feb 2025 08:05:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1739883910; x=1740143110; bh=QBReztDF/J/PgoB3FUOSMpAGsaKgrkqWSbk7YZZZuFQ=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=BWTrQrv8SZTAy9mxvANHWaYBLiVD0VWBYkT/psTNlePzaEIoWXJtYf9Y/RUxJ8RlK //FfVZBlijFO04Frk0eyv3jyOjA/Iz9FeyhHcoGHG9Nanf07VcAgxew4n5aLm4UC69 CR13eBqN2qQEx2G9OzICRo/U+Hbc8ZLzvEUqVeW3WAWbpmccnDyp1Z7m7756BdzwfF /zxkbGLZ8o6ZEu1eTXz62K+Byyf87gJPz6IcS/cYTB3EL3InoDLh+KSxgj3awLcFNl xdvUX253Rv2UB+eopgM0X1d5YKzWba+TLMvzQRCHwtvIPatk65pVP2ZzRiXe6NapUk +fgW+ljLISn9w== Date: Tue, 18 Feb 2025 13:05:03 +0000 From: Pip Cet Message-ID: <87wmdn4d62.fsf@protonmail.com> In-Reply-To: <86ikp7a0ej.fsf@gnu.org> References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <86ikp7a0ej.fsf@gnu.org> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 4e96d847866b0e7ca7d3c01fb22e6247ca44ba47 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: -1.0 (-) Pip Cet writes: > "Eli Zaretskii" writes: > >>> Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@g= mail.com >>> From: Stefan Kangas >>> Date: Mon, 17 Feb 2025 22:17:34 +0000 >>> >>> Mattias Engdeg=C3=A5rd writes: >>> >>> > 16 feb. 2025 kl. 01.50 skrev Pip Cet : >>> > >>> >> (cl-random 0.0) returns 0.0, but one could argue it should throw >>> > >>> > It definitely should throw, but perhaps it's not worth the incompatib= ility? Not sure, because existing code that passes 0.0 is likely buggy anyw= ay. >>> > Or we could say that it's just an ad-hoc extension, by vague analogy = of (car nil) =3D nil. >> >> IMO, signaling an error is only justified if the call (cl-random 0.0) >> cannot keep the contract of the function according to its doc string. >> I don't think the value 0.0 it returns breaks the contract. > > "Return a pseudo-random nonnegative number less than LIM, an integer or= float. > Optional second arg STATE is a random-state object." > > How is 0.0 a "nonnegative number less than 0.0"? 0.0 isn't less than > 0.0. > > While most users will expect (cl-random 0.0) to return 0.0, which is the > mathematically sensible thing to do for "a random number between 0.0 and > 0.0, rounded down", that's not what the docstring currently describes. > > We'll just have to hope that no one "optimizes" (* x (cl-random 1.0)) to > (cl-random x) and breaks existing code. > > Pip Okay for master? >From de403aa6aaf7525d8523fe620374bcc955cd4b79 Mon Sep 17 00:00:00 2001 From: Pip Cet Subject: [PATCH] Make cl-random behave consistently for unusual arguments (bug#75105) The old behavior was for (cl-random -1.0e+INF) to return NaN in about one of eight million calls, and -1.0e+INF otherwise. Other unusual arguments were handled inconsistently as well. * lisp/emacs-lisp/cl-extra.el (cl-random): Handle positive finite arguments consistently, error for nonpositive or infinite arguments. * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-random): New test. --- lisp/emacs-lisp/cl-extra.el | 18 +++++++++++------- test/lisp/emacs-lisp/cl-extra-tests.el | 10 ++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index ab06682cf93..32b9dfd1aa0 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -494,13 +494,17 @@ cl-random (let* ((i (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-i sta= te))) =09 (j (cl-callf (lambda (x) (% (1+ x) 55)) (cl--random-state-j state))) =09 (n (aset vec i (logand 8388607 (- (aref vec i) (aref vec j)))))) - (if (integerp lim) -=09 (if (<=3D lim 512) (% n lim) -=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) -=09 (let ((mask 1023)) -=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) -=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state)))) -=09(* (/ n '8388608e0) lim))))) + (cond + ((natnump lim) +=09(if (<=3D lim 512) (% n lim) +=09 (if (> lim 8388607) (setq n (+ (ash n 9) (cl-random 512 state)))) +=09 (let ((mask 1023)) +=09 (while (< mask (1- lim)) (setq mask (1+ (+ mask mask)))) +=09 (if (< (setq n (logand n mask)) lim) n (cl-random lim state))))) + ((< 0 lim 1.0e+INF) + (* (/ n '8388608e0) lim)) + (t + (error "Limit %S not supported by cl-random" lim)))))) =20 ;;;###autoload (defun cl-make-random-state (&optional state) diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/= cl-extra-tests.el index c524f77f2bb..1ca661cdc07 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -348,4 +348,14 @@ cl-extra-test-tailp (should (cl-tailp l l)) (should (not (cl-tailp '(4 5) l))))) =20 +(ert-deftest cl-extra-test-random () + (should-error (cl-random -1)) + (should-error (cl-random -0.5)) + (should-error (cl-random -1.0e+INF)) + (should-error (cl-random 0)) + (should-error (cl-random 0.0)) + (should-error (cl-random -0.0)) + (should-error (cl-random 1.0e+INF)) + (should (eql (cl-random 1) 0))) + ;;; cl-extra-tests.el ends here --=20 2.48.1 From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Feb 2025 15:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.173989242529901 (code B ref 75105); Tue, 18 Feb 2025 15:28:02 +0000 Received: (at 75105) by debbugs.gnu.org; 18 Feb 2025 15:27:05 +0000 Received: from localhost ([127.0.0.1]:59138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkPV2-0007m7-3q for submit@debbugs.gnu.org; Tue, 18 Feb 2025 10:27:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53504) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tkPUx-0007lE-QT for 75105@debbugs.gnu.org; Tue, 18 Feb 2025 10:27:00 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tkPUs-0007jO-9n; Tue, 18 Feb 2025 10:26:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=J1co2iidNUXCr2pq2ncZytR5HqqDv2VlHvpqJ3W61EY=; b=W/5cuSQEIvsnx9DLOoHT 29uv4LOudwfh+r+k+ifl4uLNlAdTPVMY9NS29FzYWfiI/57KyS+lXAivwiH75a10QXrYv8rvzj3Gx IHGUaEXDJBMEC3bmq6Dddw4BVgl90nk56P+MbJcYTqYKyzJ8IbJynEee8JphKmfFiK7/nduKlzJ5r NI508kRzhjSwrbMv1NrCO9Hvb9GZG3V3p4dWY9PTK/NULhsHpUbkebxiof87/sUD8eFuO/SQkay+a kmMkO3EfSx/yGkpUqhSWuIbgSgcx6/JC78HY7k5FRq6mAw/5dIX2nri3HK5DAGlNqNrvW/+V+fFej G+8jAOP2n/oxOA==; Date: Tue, 18 Feb 2025 17:26:49 +0200 Message-Id: <86r03v8e9y.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <8734gb5sco.fsf@protonmail.com> (message from Pip Cet on Tue, 18 Feb 2025 12:51:45 +0000) References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <86ikp7a0ej.fsf@gnu.org> <8734gb5sco.fsf@protonmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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 (---) > Date: Tue, 18 Feb 2025 12:51:45 +0000 > From: Pip Cet > Cc: Stefan Kangas , mattias.engdegard@gmail.com, 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com > > "Eli Zaretskii" writes: > > >> Cc: 75105@debbugs.gnu.org, monnier@iro.umontreal.ca, mattiasengdegard@gmail.com > >> From: Stefan Kangas > >> Date: Mon, 17 Feb 2025 22:17:34 +0000 > >> > >> Mattias Engdegård writes: > >> > >> > 16 feb. 2025 kl. 01.50 skrev Pip Cet : > >> > > >> >> (cl-random 0.0) returns 0.0, but one could argue it should throw > >> > > >> > It definitely should throw, but perhaps it's not worth the incompatibility? Not sure, because existing code that passes 0.0 is likely buggy anyway. > >> > Or we could say that it's just an ad-hoc extension, by vague analogy of (car nil) = nil. > > > > IMO, signaling an error is only justified if the call (cl-random 0.0) > > cannot keep the contract of the function according to its doc string. > > I don't think the value 0.0 it returns breaks the contract. > > "Return a pseudo-random nonnegative number less than LIM, an integer or float. > Optional second arg STATE is a random-state object." > > How is 0.0 a "nonnegative number less than 0.0"? 0.0 isn't less than > 0.0. > > While most users will expect (cl-random 0.0) to return 0.0, which is the > mathematically sensible thing to do for "a random number between 0.0 and > 0.0, rounded down", that's not what the docstring currently describes. If the problem is with the doc string, a fix should be easy. From unknown Tue Jun 17 22:19:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#75105: (cl-random -1.0e+INF) Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Feb 2025 15:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: Eli Zaretskii , 75105@debbugs.gnu.org, Stefan Kangas , Stefan Monnier Received: via spool by 75105-submit@debbugs.gnu.org id=B75105.17399792135913 (code B ref 75105); Wed, 19 Feb 2025 15:34:02 +0000 Received: (at 75105) by debbugs.gnu.org; 19 Feb 2025 15:33:33 +0000 Received: from localhost ([127.0.0.1]:49174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tkm4q-0001XG-HP for submit@debbugs.gnu.org; Wed, 19 Feb 2025 10:33:32 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:52570) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tkm4n-0001WH-LD for 75105@debbugs.gnu.org; Wed, 19 Feb 2025 10:33:30 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-5452ca02bdbso5096043e87.1 for <75105@debbugs.gnu.org>; Wed, 19 Feb 2025 07:33:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739979203; x=1740584003; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject :date:message-id:reply-to; bh=ed7wSEY0V7EFg4LVI7G++TcdBGKvkFibDk00UhYkE40=; b=Jb1/w6QaybadCPG63s/pzJ4Fv8jSmTO/MoKWmkHksuz/xT+s7Gf/ZPYAKWUaOysJIt zcUt210wxnyfRbI2MLaA6edmAaL6OXMJBC+BY1O8KVs70CSU7pEhaEIGDZ8w/8N6Tkuw RqaZToFDYsoriOc7JA/OjkWSsSW6/NM7+DQ390baEUGHnk15xPGDKKXI9eUAfcMv9bjH 4abf1mhK5XYRg1HusxwB1M8a3i2S/eYi4lOM7mSy6uqPUsH3MX0SBG6RgSlZCH2gGdcm B0KON/SpblsZ+TlzFVswBCRc4xYCSn+9j3xEPOLxxAVLo1h6xg8dq3DLzWf35xzYZ6dR tHuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739979203; x=1740584003; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ed7wSEY0V7EFg4LVI7G++TcdBGKvkFibDk00UhYkE40=; b=rZU5BCY2NCZU6r/9U9BIAh1Fe8SFYZe8eZQQspLGm9h3ICgdtKmtzwnB9e2Z3nvDof DHixEHNH45Y9qi4BzZDN5m5U1Anu2fcoAF2f9rQQPuYAAKd3n2WotOWwwRseVBd4b+x8 pKsFcEKT5+ERO+I7CLUHA/ON0Oa4IomA71ZgD9JstFiQFlHCVSFoeWdMJpkuKDx3wc6n D94RymHi7CWzBVmgdS399Yy/Gkpd1lnMxb4Kb40XonILfN+cQ8mrvGnyYxuVopPSnpVY JUwFiyW3Oy7ATfC8+9tgBS/+jYMQahJQH2vAllXRzsuDfX42Ct+tL8d0mFtMHLjZYpb2 2y8Q== X-Forwarded-Encrypted: i=1; AJvYcCX8WLAzeHTeTjjT85F0IWD59/iMsCQss/9wsf16Mqn9U3UrUFf+Bz91MeNS295sFw12BjWTAQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzzZWVM6FJfniRAsElO4rQrb1Ff1oRDyn/KBvcdeyvNUZ6ignM7 KisTRwVAzvQY/qokHWmdbdEUGLjwkBI2+sB3xspjoM4ouQLj+dDF X-Gm-Gg: ASbGnctqEH4qV+iGvfuMN3q4rFVgOGdAF0Q2dDK3cxe7LnHCQCWikHY0kXs6zRNJG5e XeslE5er8ejJtG7stqC2uAZJu4K/B13svnE+NQ5fXB9ZZOfadg1accDyq8ajvBFIGFl6D5DID7e sxGNoORkDKKGoI3KHqGOkXa+bVQb23D41hSePmn7GHbU5CXSZZTieVAhdYWerPquMoR6iaJyIJF Pp8ZVMyIRnGG6PLF+Yra8jXNT6BuWMYXkSqM8SkuPCgfaVRcCByPu5Y9nk5rFT+UaLtOW03AtYy r+GWFq8q1aL77qmk7DqXwNqOhOy0LJDLVkIyFXji3u6kxsfF7OPZHhl1MTIxoK5EpT8Ajr/jqbK hKWz3Ow== X-Google-Smtp-Source: AGHT+IEaXTxXLkK2LA9jBuRYX9Ho0IJU4TkVjq0PPb3c9v2t+jIz13/W2YXAxcrxsUy+JNLykpBj3g== X-Received: by 2002:a05:6512:2815:b0:545:8c5:44cb with SMTP id 2adb3069b0e04-5452fe67216mr7264720e87.31.1739979202903; Wed, 19 Feb 2025 07:33:22 -0800 (PST) Received: from smtpclient.apple (c188-150-186-155.bredband.tele2.se. [188.150.186.155]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54531951303sm1477534e87.210.2025.02.19.07.33.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Feb 2025 07:33:22 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <87wmdn4d62.fsf@protonmail.com> Date: Wed, 19 Feb 2025 16:33:21 +0100 Content-Transfer-Encoding: 7bit Message-Id: <9BA128F0-A377-4A0D-A00F-A0D6589830E2@gmail.com> References: <87seqb73aa.fsf@protonmail.com> <87ikpahfxl.fsf@protonmail.com> <86ikp7a0ej.fsf@gnu.org> <87wmdn4d62.fsf@protonmail.com> X-Mailer: Apple Mail (2.3654.120.0.1.15) 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 (-) 18 feb. 2025 kl. 14.05 skrev Pip Cet : > Okay for master? Looks fine.