From unknown Fri Sep 12 22:55:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#14978: 24.3.50; `savehist-printable' implementation question for strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Jul 2013 23:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 14978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 14978@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.137505467211812 (code B ref -1); Sun, 28 Jul 2013 23:38:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Jul 2013 23:37:52 +0000 Received: from localhost ([127.0.0.1]:54971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V3aX9-00034R-AM for submit@debbugs.gnu.org; Sun, 28 Jul 2013 19:37:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34620) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V3aX6-000348-Hi for submit@debbugs.gnu.org; Sun, 28 Jul 2013 19:37:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3aWp-0005MO-Um for submit@debbugs.gnu.org; Sun, 28 Jul 2013 19:37:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-101.9 required=5.0 tests=BAYES_00, USER_IN_WHITELIST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48930) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3aWp-0005MI-RT for submit@debbugs.gnu.org; Sun, 28 Jul 2013 19:37:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36301) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3aWh-0005FP-8x for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2013 19:37:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3aWY-0005Kf-MH for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2013 19:37:23 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:45540) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3aWY-0005KY-FT for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2013 19:37:14 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r6SNbCtp027142 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 28 Jul 2013 23:37:13 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6SNbBsP017885 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 28 Jul 2013 23:37:12 GMT Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59]) by userz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6SNbBxK022364 for ; Sun, 28 Jul 2013 23:37:11 GMT MIME-Version: 1.0 Message-ID: <14cad2c9-96ba-4ab8-9151-04ae23d5ea61@default> Date: Sun, 28 Jul 2013 16:37:10 -0700 (PDT) From: Drew Adams X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] 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: -2.4 (--) 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: -2.4 (--) The code does this: ;; String without properties ((and (stringp value) (equal-including-properties value (substring-no-properties value)))) 1. Doesn't this do the same thing as that `equal-including-properties' test: (and (null (text-properties-at 0 value)) (=3D 0 (next-property-change 0 value))) If it does do the same thing, is it more efficient or less? (The reason I ask whether it does the same thing is for use in an older Emacs release where the functions in the original test are not available.) 2. Is it really necessary to exclude all text properties from a printed string in order for it to be Lisp-readable? If not, can we improve this code so it is not unnecessarily restrictive? I'm guessing that for #2 the answer is yes, it is necessary, because a text property can have any Lisp value, including a circular list value, but it's not clear to me what the problems are. In GNU Emacs 24.3.50.1 (i686-pc-mingw32) of 2013-07-21 on ODIEONE Bzr revision: 113485 lekktu@gmail.com-20130722012547-e3b7qxn1dba5vf20 Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D/c/Devel/emacs/binary --enable-checking=3Dyes,glyphs CFLAGS=3D-O0 -g3 LDFLAGS=3D-Lc:/Devel/emacs/lib CPPFLAGS=3D-Ic:/Devel/emacs/include' From unknown Fri Sep 12 22:55:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#14978: 24.3.50; `savehist-printable' implementation question for strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Jul 2013 02:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: 14978@debbugs.gnu.org Received: via spool by 14978-submit@debbugs.gnu.org id=B14978.13752378878536 (code B ref 14978); Wed, 31 Jul 2013 02:32:02 +0000 Received: (at 14978) by debbugs.gnu.org; 31 Jul 2013 02:31:27 +0000 Received: from localhost ([127.0.0.1]:59523 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4MCE-0002DX-Eo for submit@debbugs.gnu.org; Tue, 30 Jul 2013 22:31:26 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:46329) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4MCB-0002D0-US for 14978@debbugs.gnu.org; Tue, 30 Jul 2013 22:31:24 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFpZvt/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgaxH5AOkQoDklqSIIFegxM X-IPAS-Result: Av8EABK/CFFFpZvt/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgaxH5AOkQoDklqSIIFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="20221104" Received: from 69-165-155-237.dsl.teksavvy.com (HELO pastel.home) ([69.165.155.237]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 30 Jul 2013 22:31:11 -0400 Received: by pastel.home (Postfix, from userid 20848) id 8911466E5D; Tue, 30 Jul 2013 22:31:17 -0400 (EDT) From: Stefan Monnier Message-ID: References: <14cad2c9-96ba-4ab8-9151-04ae23d5ea61@default> Date: Tue, 30 Jul 2013 22:31:17 -0400 In-Reply-To: <14cad2c9-96ba-4ab8-9151-04ae23d5ea61@default> (Drew Adams's message of "Sun, 28 Jul 2013 16:37:10 -0700 (PDT)") 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.3 (/) 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.3 (/) > 1. Doesn't this do the same thing as that `equal-including-properties' > test: > (and (null (text-properties-at 0 value)) > (= 0 (next-property-change 0 value))) I think so, yes. > If it does do the same thing, is it more efficient or less? Yours might be more efficient because it avoids memory allocation. But they probably each are more efficient in some circumstances. > 2. Is it really necessary to exclude all text properties from a printed > string in order for it to be Lisp-readable? If not, can we improve > this code so it is not unnecessarily restrictive? You'd have to make sure all the properties are themselves readable. > I'm guessing that for #2 the answer is yes, it is necessary, because a > text property can have any Lisp value, That's right. > including a circular list value, Actually circular values should be handled fine; problems come when you bump into objects like markers, buffers, windows, processes, ... Stefan From unknown Fri Sep 12 22:55:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#14978: 24.3.50; `savehist-printable' implementation question for strings Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Jul 2013 04:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 14978@debbugs.gnu.org Received: via spool by 14978-submit@debbugs.gnu.org id=B14978.13752465876163 (code B ref 14978); Wed, 31 Jul 2013 04:57:01 +0000 Received: (at 14978) by debbugs.gnu.org; 31 Jul 2013 04:56:27 +0000 Received: from localhost ([127.0.0.1]:59721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4OSY-0001bK-Se for submit@debbugs.gnu.org; Wed, 31 Jul 2013 00:56:27 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:29304) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4OSX-0001au-1h for 14978@debbugs.gnu.org; Wed, 31 Jul 2013 00:56:25 -0400 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r6V4uHk9029119 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 31 Jul 2013 04:56:18 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6V4uGSx022339 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 31 Jul 2013 04:56:17 GMT Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68]) by userz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6V4uGVi022316; Wed, 31 Jul 2013 04:56:16 GMT MIME-Version: 1.0 Message-ID: <755c23ff-156e-4e11-a42f-b0d792347d23@default> Date: Tue, 30 Jul 2013 21:56:15 -0700 (PDT) From: Drew Adams References: <14cad2c9-96ba-4ab8-9151-04ae23d5ea61@default> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Spam-Score: -3.8 (---) 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: -3.8 (---) > > including a circular list value, >=20 > Actually circular values should be handled fine Yes, but only if you bind (or set) `read-circle' to non-nil when reading, no? Anyway, thanks for confirming my guesses. I have closed the bug. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 31 01:01:12 2013 Received: (at control) by debbugs.gnu.org; 31 Jul 2013 05:01:12 +0000 Received: from localhost ([127.0.0.1]:59728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4OX9-0001oH-Mf for submit@debbugs.gnu.org; Wed, 31 Jul 2013 01:01:11 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:18832) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4OX7-0001nu-4H for control@debbugs.gnu.org; Wed, 31 Jul 2013 01:01:09 -0400 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r6V512dI030240 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 31 Jul 2013 05:01:03 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6V511uq006554 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 31 Jul 2013 05:01:02 GMT Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6V511HU017899 for ; Wed, 31 Jul 2013 05:01:01 GMT MIME-Version: 1.0 Message-ID: <1793e91a-106b-4551-9730-32115d87ddb9@default> Date: Tue, 30 Jul 2013 22:01:00 -0700 (PDT) From: Drew Adams To: control@debbugs.gnu.org Subject: bug #14978: close X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Spam-Score: -3.8 (---) X-Debbugs-Envelope-To: control 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: -3.8 (---) close 14978 thanks From unknown Fri Sep 12 22:55:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#14978: 24.3.50; `savehist-printable' implementation question for strings Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Jul 2013 14:00:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: 14978@debbugs.gnu.org Received: via spool by 14978-submit@debbugs.gnu.org id=B14978.137527915228092 (code B ref 14978); Wed, 31 Jul 2013 14:00:04 +0000 Received: (at 14978) by debbugs.gnu.org; 31 Jul 2013 13:59:12 +0000 Received: from localhost ([127.0.0.1]:60965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4Wvn-0007J2-VI for submit@debbugs.gnu.org; Wed, 31 Jul 2013 09:59:12 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:54156) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V4Wvl-0007IX-QX for 14978@debbugs.gnu.org; Wed, 31 Jul 2013 09:59:10 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFpZvt/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDpHqBXoMT X-IPAS-Result: Av8EABK/CFFFpZvt/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCzQSFBgNJIgeBsEtkQoDpHqBXoMT X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="20243570" Received: from 69-165-155-237.dsl.teksavvy.com (HELO pastel.home) ([69.165.155.237]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 31 Jul 2013 09:58:57 -0400 Received: by pastel.home (Postfix, from userid 20848) id 30C2866EAF; Wed, 31 Jul 2013 09:59:03 -0400 (EDT) From: Stefan Monnier Message-ID: References: <14cad2c9-96ba-4ab8-9151-04ae23d5ea61@default> <755c23ff-156e-4e11-a42f-b0d792347d23@default> Date: Wed, 31 Jul 2013 09:59:03 -0400 In-Reply-To: <755c23ff-156e-4e11-a42f-b0d792347d23@default> (Drew Adams's message of "Tue, 30 Jul 2013 21:56:15 -0700 (PDT)") 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.3 (/) 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.3 (/) >> > including a circular list value, >> Actually circular values should be handled fine > Yes, but only if you bind (or set) `read-circle' to non-nil when > reading, no? That's right, except that it's non-nil by default. So it works unless you bind it to nil. Stefan