From unknown Sun Jun 22 00:24:07 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33731: 26.1; cl-make-random-state copying not working Resent-From: Xu Chunyang Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Dec 2018 21:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 33731 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 33731@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.154473557622946 (code B ref -1); Thu, 13 Dec 2018 21:13:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Dec 2018 21:12:56 +0000 Received: from localhost ([127.0.0.1]:46949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gXYHw-0005y1-FV for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:56 -0500 Received: from eggs.gnu.org ([208.118.235.92]:60846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gXYHu-0005xp-7L for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXYHo-0008MT-9N for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:48 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:56568) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXYHo-0008M3-4e for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42209) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXYHn-0002oN-3b for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXYHl-0008G0-1B for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:47 -0500 Received: from forward106p.mail.yandex.net ([2a02:6b8:0:1472:2741:0:8b7:109]:39824) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXYHk-00082f-DD for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:44 -0500 Received: from mxback7j.mail.yandex.net (mxback7j.mail.yandex.net [IPv6:2a02:6b8:0:1619::110]) by forward106p.mail.yandex.net (Yandex) with ESMTP id C9AAE1C80585 for ; Fri, 14 Dec 2018 00:12:40 +0300 (MSK) Received: from smtp4p.mail.yandex.net (smtp4p.mail.yandex.net [2a02:6b8:0:1402::15:6]) by mxback7j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id POLtpHhGYa-CeoCr33N; Fri, 14 Dec 2018 00:12:40 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xuchunyang.me; s=mail; t=1544735560; bh=8Das/IJD8SnxdqbCxPIaOUKmsEsPuiS7Jz9B318OYs0=; h=From:To:Subject:Date:Message-ID; b=EunaY+2pitMRd86r7PiZ7PGyixf7jF/CTaqXVuQrRNjl1IT2c+HksKuMGQT/NWHfb 7mf90lIYGFpU8kZ9VovljxaYlwkipMuxQj0o4qA0pun57pbKmb7oIRJC8pHSfAkvc3 w2McXdXTMEcdvAiCBzUQ5Q6RuJgZ5Ka5dopUJgyQ= Received: by smtp4p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id JSeY6mItij-CcVi3wmD; Fri, 14 Dec 2018 00:12:39 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xuchunyang.me; s=mail; t=1544735560; bh=8Das/IJD8SnxdqbCxPIaOUKmsEsPuiS7Jz9B318OYs0=; h=From:To:Subject:Date:Message-ID; b=EunaY+2pitMRd86r7PiZ7PGyixf7jF/CTaqXVuQrRNjl1IT2c+HksKuMGQT/NWHfb 7mf90lIYGFpU8kZ9VovljxaYlwkipMuxQj0o4qA0pun57pbKmb7oIRJC8pHSfAkvc3 w2McXdXTMEcdvAiCBzUQ5Q6RuJgZ5Ka5dopUJgyQ= Authentication-Results: smtp4p.mail.yandex.net; dkim=pass header.i=@xuchunyang.me From: Xu Chunyang Date: Fri, 14 Dec 2018 05:12:35 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.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: -5.0 (-----) Hi, I am reading (info "(cl) Random Numbers") on cl-make-random-state. I expect the following returns two equal numbers, because s should be a copy of cl--random-state thus two cl-random should use two equal state. (let ((s (cl-make-random-state))) (list (cl-random 10000) (cl-random 10000 s))) ;; => (6955 916) If I didn't misunderstand this, I think it is because cl-make-random-state uses copy-tree, however it doesn't work for cl-structure at least in Emacs 26.1, it doesn't copy at all. (eq (cl-make-random-state 123) (cl-make-random-state 123)) ;; => nil (let* ((s1 (cl-make-random-state 123)) (s2 (cl-make-random-state s1))) (eq s1 s2)) ;; => t From unknown Sun Jun 22 00:24:07 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Xu Chunyang Subject: bug#33731: closed (Fwd: 26.1; cl-make-random-state copying not working) Message-ID: References: <1098fd1b-37b1-b900-8cda-52396b70b837@cs.ucla.edu> X-Gnu-PR-Message: they-closed 33731 X-Gnu-PR-Package: emacs Reply-To: 33731@debbugs.gnu.org Date: Wed, 19 Dec 2018 22:29:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1545258542-22663-1" This is a multi-part message in MIME format... ------------=_1545258542-22663-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #33731: 26.1; cl-make-random-state copying not working which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 33731@debbugs.gnu.org. --=20 33731: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D33731 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1545258542-22663-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 33731-done) by debbugs.gnu.org; 19 Dec 2018 22:28:08 +0000 Received: from localhost ([127.0.0.1]:55239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gZkK0-0005rx-E9 for submit@debbugs.gnu.org; Wed, 19 Dec 2018 17:28:08 -0500 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:59626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gZkJy-0005rR-C6 for 33731-done@debbugs.gnu.org; Wed, 19 Dec 2018 17:28:06 -0500 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D66CF160A71 for <33731-done@debbugs.gnu.org>; Wed, 19 Dec 2018 14:28:00 -0800 (PST) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id I58IrUeHveVw for <33731-done@debbugs.gnu.org>; Wed, 19 Dec 2018 14:28:00 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id F047D160A6F for <33731-done@debbugs.gnu.org>; Wed, 19 Dec 2018 14:27:59 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id SecEJ8hnd811 for <33731-done@debbugs.gnu.org>; Wed, 19 Dec 2018 14:27:59 -0800 (PST) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D5DB6160942 for <33731-done@debbugs.gnu.org>; Wed, 19 Dec 2018 14:27:59 -0800 (PST) Subject: Fwd: 26.1; cl-make-random-state copying not working References: <69b9732f-97f5-d752-c899-3bdc21cd74e8@cs.ucla.edu> To: 33731-done@debbugs.gnu.org From: Paul Eggert Openpgp: preference=signencrypt Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= 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 uNcby4U= Organization: UCLA Computer Science Department X-Forwarded-Message-Id: <69b9732f-97f5-d752-c899-3bdc21cd74e8@cs.ucla.edu> Message-ID: <1098fd1b-37b1-b900-8cda-52396b70b837@cs.ucla.edu> Date: Wed, 19 Dec 2018 14:27:59 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <69b9732f-97f5-d752-c899-3bdc21cd74e8@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------D14AF6D48B9BC7112423CFF2" Content-Language: en-US X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 33731-done 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 (---) This is a multi-part message in MIME format. --------------D14AF6D48B9BC7112423CFF2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for reporting this bug; it is a regression introduced when we separated records from vectors. I installed the attached patch into the emacs-26 branch. --------------D14AF6D48B9BC7112423CFF2 Content-Type: text/x-patch; name="0001-cl-make-random-state-was-not-copying-its-arg.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-cl-make-random-state-was-not-copying-its-arg.patch" >From 78c883cc1c30ab82732eac02fb07bb747436854a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 19 Dec 2018 13:42:21 -0800 Subject: [PATCH] cl-make-random-state was not copying its arg Problem reported by Xu Chunyang (Bug#33731). * lisp/emacs-lisp/cl-extra.el (cl-make-random-state): Use copy-sequence, not copy-tree, so that the record is copied. * test/lisp/emacs-lisp/cl-extra-tests.el: (cl-extra-test-cl-make-random-state): New test. --- lisp/emacs-lisp/cl-extra.el | 2 +- test/lisp/emacs-lisp/cl-extra-tests.el | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 36b65f97b0..c38b4957fc 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -484,7 +484,7 @@ cl-make-random-state If STATE is t, return a new state object seeded from the time of day." (unless state (setq state cl--random-state)) (if (cl-random-state-p state) - (copy-tree state t) + (copy-sequence state) (cl--make-random-state (if (integerp state) state (cl--random-time))))) ;; Implementation limits. diff --git a/test/lisp/emacs-lisp/cl-extra-tests.el b/test/lisp/emacs-lisp/cl-extra-tests.el index baad8eb8e6..fe59703530 100644 --- a/test/lisp/emacs-lisp/cl-extra-tests.el +++ b/test/lisp/emacs-lisp/cl-extra-tests.el @@ -94,4 +94,9 @@ (should (equal (list lst3 (cdr lst3) (cddr lst3)) (cl-maplist fn3 lst lst2 lst3))))) +(ert-deftest cl-extra-test-cl-make-random-state () + (let ((s (cl-make-random-state))) + ;; Test for Bug#33731. + (should-not (eq s (cl-make-random-state s))))) + ;;; cl-extra-tests.el ends here -- 2.19.2 --------------D14AF6D48B9BC7112423CFF2-- ------------=_1545258542-22663-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 13 Dec 2018 21:12:56 +0000 Received: from localhost ([127.0.0.1]:46949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gXYHw-0005y1-FV for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:56 -0500 Received: from eggs.gnu.org ([208.118.235.92]:60846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gXYHu-0005xp-7L for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXYHo-0008MT-9N for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:48 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:56568) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXYHo-0008M3-4e for submit@debbugs.gnu.org; Thu, 13 Dec 2018 16:12:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42209) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXYHn-0002oN-3b for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXYHl-0008G0-1B for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:47 -0500 Received: from forward106p.mail.yandex.net ([2a02:6b8:0:1472:2741:0:8b7:109]:39824) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXYHk-00082f-DD for bug-gnu-emacs@gnu.org; Thu, 13 Dec 2018 16:12:44 -0500 Received: from mxback7j.mail.yandex.net (mxback7j.mail.yandex.net [IPv6:2a02:6b8:0:1619::110]) by forward106p.mail.yandex.net (Yandex) with ESMTP id C9AAE1C80585 for ; Fri, 14 Dec 2018 00:12:40 +0300 (MSK) Received: from smtp4p.mail.yandex.net (smtp4p.mail.yandex.net [2a02:6b8:0:1402::15:6]) by mxback7j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id POLtpHhGYa-CeoCr33N; Fri, 14 Dec 2018 00:12:40 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xuchunyang.me; s=mail; t=1544735560; bh=8Das/IJD8SnxdqbCxPIaOUKmsEsPuiS7Jz9B318OYs0=; h=From:To:Subject:Date:Message-ID; b=EunaY+2pitMRd86r7PiZ7PGyixf7jF/CTaqXVuQrRNjl1IT2c+HksKuMGQT/NWHfb 7mf90lIYGFpU8kZ9VovljxaYlwkipMuxQj0o4qA0pun57pbKmb7oIRJC8pHSfAkvc3 w2McXdXTMEcdvAiCBzUQ5Q6RuJgZ5Ka5dopUJgyQ= Received: by smtp4p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id JSeY6mItij-CcVi3wmD; Fri, 14 Dec 2018 00:12:39 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xuchunyang.me; s=mail; t=1544735560; bh=8Das/IJD8SnxdqbCxPIaOUKmsEsPuiS7Jz9B318OYs0=; h=From:To:Subject:Date:Message-ID; b=EunaY+2pitMRd86r7PiZ7PGyixf7jF/CTaqXVuQrRNjl1IT2c+HksKuMGQT/NWHfb 7mf90lIYGFpU8kZ9VovljxaYlwkipMuxQj0o4qA0pun57pbKmb7oIRJC8pHSfAkvc3 w2McXdXTMEcdvAiCBzUQ5Q6RuJgZ5Ka5dopUJgyQ= Authentication-Results: smtp4p.mail.yandex.net; dkim=pass header.i=@xuchunyang.me From: Xu Chunyang To: bug-gnu-emacs@gnu.org Subject: 26.1; cl-make-random-state copying not working Date: Fri, 14 Dec 2018 05:12:35 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi, I am reading (info "(cl) Random Numbers") on cl-make-random-state. I expect the following returns two equal numbers, because s should be a copy of cl--random-state thus two cl-random should use two equal state. (let ((s (cl-make-random-state))) (list (cl-random 10000) (cl-random 10000 s))) ;; => (6955 916) If I didn't misunderstand this, I think it is because cl-make-random-state uses copy-tree, however it doesn't work for cl-structure at least in Emacs 26.1, it doesn't copy at all. (eq (cl-make-random-state 123) (cl-make-random-state 123)) ;; => nil (let* ((s1 (cl-make-random-state 123)) (s2 (cl-make-random-state s1))) (eq s1 s2)) ;; => t ------------=_1545258542-22663-1--