From unknown Sat Aug 09 15:53:19 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#33731 <33731@debbugs.gnu.org> To: bug#33731 <33731@debbugs.gnu.org> Subject: Status: 26.1; cl-make-random-state copying not working Reply-To: bug#33731 <33731@debbugs.gnu.org> Date: Sat, 09 Aug 2025 22:53:19 +0000 retitle 33731 26.1; cl-make-random-state copying not working reassign 33731 emacs submitter 33731 Xu Chunyang severity 33731 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 13 16:12:56 2018 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 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 19 17:28:08 2018 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-- From unknown Sat Aug 09 15:53:19 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 17 Jan 2019 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator