From unknown Tue Aug 12 08:34:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#14568: 24.3.50; ring.el: Subtle issue with duplicate "value" entries Resent-From: Jambunathan K Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2013 17:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 14568 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 14568@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13705396114383 (code B ref -1); Thu, 06 Jun 2013 17:27:01 +0000 Received: (at submit) by debbugs.gnu.org; 6 Jun 2013 17:26:51 +0000 Received: from localhost ([127.0.0.1]:54695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Ukdxa-00018Z-Id for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:26:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49767) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UkdxY-00018I-9c for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:26:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UkdvI-00030H-9a for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:24:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-100.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID,USER_IN_WHITELIST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:35848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UkdvI-00030C-6B for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:24:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51477) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UkdvD-0000NP-7Q for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ukdv6-0002y8-GB for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:23 -0400 Received: from mail-pd0-f180.google.com ([209.85.192.180]:36221) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ukdv6-0002y2-9B for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:16 -0400 Received: by mail-pd0-f180.google.com with SMTP id 10so3636279pdi.39 for ; Thu, 06 Jun 2013 10:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=ODuJdDrhalyhjoIwkwtdEIJgmzlzCJ4YrF4OISUsIsw=; b=yNVc9NJh8Ld0MA5U0U5y/J9pY3THvxWzwDl+FVgpBQ38eQyxO7O1WwMUtakjV4ZLpw YKJ5eFfHoNzAFskDTU5IXTPr5pG4RNDofy+3QUrozNk8KfFw8Y8Anao40BYB8LRAfGRe whMcL4gtK4Zz3GpjRzs3GXnbn784prAnber/oDu8GM6DKXfzuw9axrlIzCyiGoH5hv40 l36GtyF0WJXHptytaKQyoNwJg5QPZOVX+AmbWMfba4RmjwQn/XLIST7cBEe1U1tdSNV3 SkQifMbRPjd79xPNL6NKWJv9gNrHvORy4JJwUjmkaH082TXOar1Q9aQMVXH4pihGmsjL MJ+g== X-Received: by 10.66.252.133 with SMTP id zs5mr39756410pac.47.1370539455282; Thu, 06 Jun 2013 10:24:15 -0700 (PDT) Received: from debian-6.05 ([115.241.37.197]) by mx.google.com with ESMTPSA id qi1sm78549063pac.21.2013.06.06.10.24.12 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Thu, 06 Jun 2013 10:24:14 -0700 (PDT) From: Jambunathan K Date: Thu, 06 Jun 2013 22:54:40 +0530 Message-ID: <87ip1rxicn.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -6.1 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) `search-mark-ring' is a variable that I have in my private library. This is a ring that is created using ring.el and is used to store markers. M-: search-mark-ring (0 5 . [ # # # # # nil nil nil nil nil nil nil nil nil nil nil]) M-: search-mark-ring-current # M-: (setq search-mark-ring-current (ring-next search-mark-ring search-mark-ring-current)) When the last form is repeatedly evaluated, you will see that there is no way I can hit the oldest marker - the one at 4503 - in the ring. This is because there are duplicate entries in 109654. Possible solutions: 1. `ring-member' should use `eq' instead of `equal'. 2. `ring-insert' should check for duplicate entries before insertion. I would prefer solution (1). ring.el is probably one of the oldest libraries and so (1) may break existing behaviours. Possible bugfix. 1. Augment the structure and allow for a predicate. 2. Check if the ring is a ring of markers and use `eq' instead of `equal'. ps: It is a requirement that ring be robust in presence of duplicate entries. In GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) of 2013-06-06 on debian-6.05 Bzr revision: 112866 acm@muc.de-20130605205709-0cwqswy801vgkyx8 Windowing system distributor `The X.Org Foundation', version 11.0.10707000 Important settings: value of $LANG: en_IN locale-coding-system: iso-latin-1-unix default enable-multibyte-characters: t Major mode: Emacs-Lisp From unknown Tue Aug 12 08:34:15 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jambunathan K Subject: bug#14568: closed (Re: bug#14568: 24.3.50; ring.el: Subtle issue with duplicate "value" entries) Message-ID: References: <87ppq2l0rs.fsf@gmail.com> <87ip1rxicn.fsf@gmail.com> X-Gnu-PR-Message: they-closed 14568 X-Gnu-PR-Package: emacs Reply-To: 14568@debbugs.gnu.org Date: Fri, 15 Nov 2013 04:59:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1384491542-7302-1" This is a multi-part message in MIME format... ------------=_1384491542-7302-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #14568: 24.3.50; ring.el: Subtle issue with duplicate "value" entries 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 14568@debbugs.gnu.org. --=20 14568: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D14568 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1384491542-7302-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 14568-done) by debbugs.gnu.org; 15 Nov 2013 04:58:23 +0000 Received: from localhost ([127.0.0.1]:53504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VhBU6-0001sf-Sd for submit@debbugs.gnu.org; Thu, 14 Nov 2013 23:58:23 -0500 Received: from mail-pb0-f52.google.com ([209.85.160.52]:43038) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VhBU4-0001sQ-Bg for 14568-done@debbugs.gnu.org; Thu, 14 Nov 2013 23:58:20 -0500 Received: by mail-pb0-f52.google.com with SMTP id wy17so1857668pbc.39 for <14568-done@debbugs.gnu.org>; Thu, 14 Nov 2013 20:58:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version:content-type; bh=J031GXewnaACqsprHRq7ZhAivpOG36ggI7TgI07VQ78=; b=ZGRMx8MJvWzFMWw1lYfxdRNBkIpxn3Up5hNxnA2uJ6v2bfdxfUIJU+olcP7oL+EmuF ZsYFBSxTppxr9Xta9TlBbOYv7mR9aWrO5sNKBqQT6fUjoNyOYK6FZJrXoSk8wqrhy3JN ovCsY1WZPP3DMCNCqpRltpDl9Vr7cFRTMDa+UaoTkYDyMY7VcmAgxqmQxTQERv1moXHc r3KLdndrIeSR3lWMvcyf5UvXgEzw03vMSnP8RylfG7kQSs6yBlGuCsBq/m0UWjodikxP 3okxYjTx7Hdpu2C8rVdt+kAJqVaDEVx3bViYQFzU8o+Me9YUudly4ZCa4mBQMg/Mab7f de7g== X-Received: by 10.66.228.38 with SMTP id sf6mr4994248pac.21.1384491494382; Thu, 14 Nov 2013 20:58:14 -0800 (PST) Received: from debian-6.05 ([115.241.27.214]) by mx.google.com with ESMTPSA id er3sm1507421pbb.40.2013.11.14.20.58.12 for <14568-done@debbugs.gnu.org> (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Thu, 14 Nov 2013 20:58:13 -0800 (PST) From: Jambunathan K To: 14568-done@debbugs.gnu.org Subject: Re: bug#14568: 24.3.50; ring.el: Subtle issue with duplicate "value" entries References: <87ip1rxicn.fsf@gmail.com> Date: Fri, 15 Nov 2013 10:27:59 +0530 In-Reply-To: <87ip1rxicn.fsf@gmail.com> (Jambunathan K.'s message of "Thu, 06 Jun 2013 22:54:40 +0530") Message-ID: <87ppq2l0rs.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 14568-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) OP here. Closed. ------------=_1384491542-7302-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 6 Jun 2013 17:26:51 +0000 Received: from localhost ([127.0.0.1]:54695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Ukdxa-00018Z-Id for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:26:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49767) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UkdxY-00018I-9c for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:26:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UkdvI-00030H-9a for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:24:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-100.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID,USER_IN_WHITELIST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:35848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UkdvI-00030C-6B for submit@debbugs.gnu.org; Thu, 06 Jun 2013 13:24:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51477) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UkdvD-0000NP-7Q for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ukdv6-0002y8-GB for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:23 -0400 Received: from mail-pd0-f180.google.com ([209.85.192.180]:36221) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ukdv6-0002y2-9B for bug-gnu-emacs@gnu.org; Thu, 06 Jun 2013 13:24:16 -0400 Received: by mail-pd0-f180.google.com with SMTP id 10so3636279pdi.39 for ; Thu, 06 Jun 2013 10:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=ODuJdDrhalyhjoIwkwtdEIJgmzlzCJ4YrF4OISUsIsw=; b=yNVc9NJh8Ld0MA5U0U5y/J9pY3THvxWzwDl+FVgpBQ38eQyxO7O1WwMUtakjV4ZLpw YKJ5eFfHoNzAFskDTU5IXTPr5pG4RNDofy+3QUrozNk8KfFw8Y8Anao40BYB8LRAfGRe whMcL4gtK4Zz3GpjRzs3GXnbn784prAnber/oDu8GM6DKXfzuw9axrlIzCyiGoH5hv40 l36GtyF0WJXHptytaKQyoNwJg5QPZOVX+AmbWMfba4RmjwQn/XLIST7cBEe1U1tdSNV3 SkQifMbRPjd79xPNL6NKWJv9gNrHvORy4JJwUjmkaH082TXOar1Q9aQMVXH4pihGmsjL MJ+g== X-Received: by 10.66.252.133 with SMTP id zs5mr39756410pac.47.1370539455282; Thu, 06 Jun 2013 10:24:15 -0700 (PDT) Received: from debian-6.05 ([115.241.37.197]) by mx.google.com with ESMTPSA id qi1sm78549063pac.21.2013.06.06.10.24.12 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Thu, 06 Jun 2013 10:24:14 -0700 (PDT) From: Jambunathan K To: bug-gnu-emacs@gnu.org Subject: 24.3.50; ring.el: Subtle issue with duplicate "value" entries Date: Thu, 06 Jun 2013 22:54:40 +0530 Message-ID: <87ip1rxicn.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -6.1 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) `search-mark-ring' is a variable that I have in my private library. This is a ring that is created using ring.el and is used to store markers. M-: search-mark-ring (0 5 . [ # # # # # nil nil nil nil nil nil nil nil nil nil nil]) M-: search-mark-ring-current # M-: (setq search-mark-ring-current (ring-next search-mark-ring search-mark-ring-current)) When the last form is repeatedly evaluated, you will see that there is no way I can hit the oldest marker - the one at 4503 - in the ring. This is because there are duplicate entries in 109654. Possible solutions: 1. `ring-member' should use `eq' instead of `equal'. 2. `ring-insert' should check for duplicate entries before insertion. I would prefer solution (1). ring.el is probably one of the oldest libraries and so (1) may break existing behaviours. Possible bugfix. 1. Augment the structure and allow for a predicate. 2. Check if the ring is a ring of markers and use `eq' instead of `equal'. ps: It is a requirement that ring be robust in presence of duplicate entries. In GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) of 2013-06-06 on debian-6.05 Bzr revision: 112866 acm@muc.de-20130605205709-0cwqswy801vgkyx8 Windowing system distributor `The X.Org Foundation', version 11.0.10707000 Important settings: value of $LANG: en_IN locale-coding-system: iso-latin-1-unix default enable-multibyte-characters: t Major mode: Emacs-Lisp ------------=_1384491542-7302-1--