From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 24 17:11:45 2017 Received: (at submit) by debbugs.gnu.org; 24 Sep 2017 21:11:45 +0000 Received: from localhost ([127.0.0.1]:56635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwEBl-0003tY-FI for submit@debbugs.gnu.org; Sun, 24 Sep 2017 17:11:45 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50277) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwEBk-0003tN-JX for submit@debbugs.gnu.org; Sun, 24 Sep 2017 17:11:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dwEBe-0000NY-GA for submit@debbugs.gnu.org; Sun, 24 Sep 2017 17:11:39 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37230) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dwEBe-0000NT-Bw for submit@debbugs.gnu.org; Sun, 24 Sep 2017 17:11:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dwEBd-0005jS-9H for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2017 17:11:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dwEBZ-0000M9-7k for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2017 17:11:37 -0400 Received: from mail.ericabrahamsen.net ([50.56.99.223]:57362) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dwEBZ-0000K5-1f for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2017 17:11:33 -0400 Received: from localhost (71-35-182-76.tukw.qwest.net [71.35.182.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id E064EBFAF6 for ; Sun, 24 Sep 2017 21:11:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1506287485; bh=Jjg6QedR24HPVevqQEbRBpZoD/JAVMYVamtWOuAsdq8=; h=From:To:Subject:Date:From; b=P7YwEqmnw7ZAiNSykJ0cs2gvTBxAWVt45fYps8/ik/yPg+ybbVGZv+42+yS8W8YoW peoyLzc63Mp4VAxbXv0CwT4g/6O9ci7JM0cDbvy6bf5gDm70X5hD5I991CYEyL6fGW gaFfw6E+7EdEr6ngg7w48vmN7aBfG+Ypbq9744zE= From: Eric Abrahamsen To: bug-gnu-emacs@gnu.org Subject: 26.0.60; Don't write object name strings in object-write method Date: Sun, 24 Sep 2017 14:11:23 -0700 Message-ID: <87efqvg5tw.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) 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: -4.1 (----) --=-=-= Content-Type: text/plain If we're going to ignore them, we might as well not write them to begin with. Are there any other places that expect the presence of this name string? In GNU Emacs 26.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.21) of 2017-09-22 built on clem Repository revision: 908af46abdb2c19ff3c72543e4fadf8e0ed82d2b --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Do-not-print-object-name-string-in-object-write-meth.patch >From 77a270ec916854ecb7e9ccaca444fe8ccbeab843 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Sun, 24 Sep 2017 14:07:26 -0700 Subject: [PATCH] Do not print object name string in object-write method * lisp/emacs-lisp/eieio.el (object-write): The object name string is obsolete, might as well save some bytes. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): Check for presence of object name string, and ignore. --- lisp/emacs-lisp/eieio-base.el | 7 +++++-- lisp/emacs-lisp/eieio.el | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 6b39b4f262..4c6fbae12c 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -255,8 +255,11 @@ eieio-persistent-convert-list-to-object Note: This function recurses when a slot of :type of some object is identified, and needing more object creation." (let* ((objclass (nth 0 inputlist)) - ;; (objname (nth 1 inputlist)) - (slots (nthcdr 2 inputlist)) + ;; Earlier versions of `object-write' added a string name for + ;; the object, now obsolete. + (slots (nthcdr + (if (stringp (nth 1 inputlist)) 2 1) + inputlist)) (createslots nil) (class (progn diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 75f1097acf..448d5e6fe2 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -874,8 +874,6 @@ eieio-print-depth (princ (make-string (* eieio-print-depth 2) ? )) (princ "(") (princ (symbol-name (eieio--class-constructor (eieio-object-class this)))) - (princ " ") - (prin1 (eieio-object-name-string this)) (princ "\n") ;; Loop over all the public slots (let ((slots (eieio--class-slots cv)) -- 2.14.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 21 23:29:08 2017 Received: (at 28587) by debbugs.gnu.org; 22 Oct 2017 03:29:09 +0000 Received: from localhost ([127.0.0.1]:54838 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e66wm-0005A7-Nc for submit@debbugs.gnu.org; Sat, 21 Oct 2017 23:29:08 -0400 Received: from pmta11.teksavvy.com ([76.10.157.34]:14940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e66wk-00059k-H2 for 28587@debbugs.gnu.org; Sat, 21 Oct 2017 23:29:06 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2FiEAAUEOxZ/4AFNJ1cHQEFAQsBg15Eg?= =?us-ascii?q?Q6JLoYGjkoBgXkxAZgYhT8EAgKEO0QUAQIBAQEBAQEBA2gohR4BBAFWIwULCzQ?= =?us-ascii?q?SFBgNJIorCK0fixUBAQEBAQUCJoMuiDU1inoFkVCHIYh1oE+HRpc1NiKBWzQhC?= =?us-ascii?q?DJJgmWEeiSLGQEBAQ?= X-IPAS-Result: =?us-ascii?q?A2FiEAAUEOxZ/4AFNJ1cHQEFAQsBg15EgQ6JLoYGjkoBgXk?= =?us-ascii?q?xAZgYhT8EAgKEO0QUAQIBAQEBAQEBA2gohR4BBAFWIwULCzQSFBgNJIorCK0fi?= =?us-ascii?q?xUBAQEBAQUCJoMuiDU1inoFkVCHIYh1oE+HRpc1NiKBWzQhCDJJgmWEeiSLGQE?= =?us-ascii?q?BAQ?= X-IronPort-AV: E=Sophos;i="5.43,414,1503374400"; d="scan'208";a="7280167" Received: from 157-52-5-128.cpe.teksavvy.com (HELO pastel.home) ([157.52.5.128]) by smtp.teksavvy.com with ESMTP; 21 Oct 2017 23:29:00 -0400 Received: by pastel.home (Postfix, from userid 20848) id 96126606AA; Sat, 21 Oct 2017 23:29:00 -0400 (EDT) From: Stefan Monnier To: Eric Abrahamsen Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method Message-ID: References: <87efqvg5tw.fsf@ericabrahamsen.net> Date: Sat, 21 Oct 2017 23:29:00 -0400 In-Reply-To: <87efqvg5tw.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Sun, 24 Sep 2017 14:11:23 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.3 (/) > If we're going to ignore them, we might as well not write them to begin > with. Agreed. > --- a/lisp/emacs-lisp/eieio-base.el > +++ b/lisp/emacs-lisp/eieio-base.el > @@ -255,8 +255,11 @@ eieio-persistent-convert-list-to-object > Note: This function recurses when a slot of :type of some object is > identified, and needing more object creation." > (let* ((objclass (nth 0 inputlist)) > - ;; (objname (nth 1 inputlist)) > - (slots (nthcdr 2 inputlist)) > + ;; Earlier versions of `object-write' added a string name for > + ;; the object, now obsolete. > + (slots (nthcdr > + (if (stringp (nth 1 inputlist)) 2 1) > + inputlist)) > (createslots nil) > (class > (progn This looks good, feel free to install it into `master'. > diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el > index 75f1097acf..448d5e6fe2 100644 > --- a/lisp/emacs-lisp/eieio.el > +++ b/lisp/emacs-lisp/eieio.el > @@ -874,8 +874,6 @@ eieio-print-depth > (princ (make-string (* eieio-print-depth 2) ? )) > (princ "(") > (princ (symbol-name (eieio--class-constructor (eieio-object-class this)))) > - (princ " ") > - (prin1 (eieio-object-name-string this)) > (princ "\n") > ;; Loop over all the public slots > (let ((slots (eieio--class-slots cv)) This is more problematic since data generated with this hunk will be incompatible with an Emacs which doesn't have the other hunk applied. So I think this should be conditional on a defcustom and by default this defcustom should cause the code to still behave as before. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 15:03:32 2017 Received: (at 28587) by debbugs.gnu.org; 8 Nov 2017 20:03:32 +0000 Received: from localhost ([127.0.0.1]:58927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCWZP-00045N-7j for submit@debbugs.gnu.org; Wed, 08 Nov 2017 15:03:32 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:39227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCWZN-00045F-JW for 28587@debbugs.gnu.org; Wed, 08 Nov 2017 15:03:29 -0500 Received: from localhost (71-212-22-173.tukw.qwest.net [71.212.22.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 883B8C0087; Wed, 8 Nov 2017 20:03:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1510171408; bh=b+csTT+qudYJsW0KktwrcYEh0YHbazxKmlaM4S1tsik=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Pa5LNxeXy/h39v8v3Mea5rBCMColF8YifascHNKMdsijkc1c03NJXS8e8k/iUrnO1 yB9nmQQNZJXO5v7qtArqjYvcJZt6YinvWejwJRUNgyxwExU15zXMAVuccDZKpfOpd6 hci92GUrzmXl2WlJs4SQUj9H3RCYyvUdqoMj1nDc= From: Eric Abrahamsen To: Stefan Monnier Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method References: <87efqvg5tw.fsf@ericabrahamsen.net> Date: Wed, 08 Nov 2017 12:01:45 -0800 In-Reply-To: (Stefan Monnier's message of "Sat, 21 Oct 2017 23:29:00 -0400") Message-ID: <87o9octu8m.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.7 (/) --=-=-= Content-Type: text/plain On 10/21/17 23:29 PM, Stefan Monnier wrote: [...] > This is more problematic since data generated with this hunk will be > incompatible with an Emacs which doesn't have the other hunk applied. > So I think this should be conditional on a defcustom and by default this > defcustom should cause the code to still behave as before. So where we're at now is, the previous chunk has gone into both master and emacs-26. The next patch (below) would only go into master, so as to be more conservative about what's emitted. Everything defaults to current behavior. This patch does two things: permits omission of the object name strings, and permits shutting off indentation (which helps a lot for shrinking the file size). In a previous version I had `eieio-print-depth' do double duty as a boolean and an integer; this version has a separate defvar for controlling whether indentation is printed at all. `eieio-print-depth' still gets incremented; someone might find that useful. Eric --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Provide-more-control-over-writing-of-objects-in-obje.patch >From b75d0469dc986a73cbac6351537c30e535ce2890 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Wed, 8 Nov 2017 11:58:31 -0800 Subject: [PATCH] Provide more control over writing of objects in object-write * lisp/emacs-lisp/eieio.el (eieio-print-indentation, eieio-print-object-name): New variables controlling whether an object name is printed for each object, and whether an object's contents are indented or not. Object names are obsoleted; omitting indentation reduces the size of persistence files. --- lisp/emacs-lisp/eieio.el | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index ca91c5a871..e07392d8c9 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -847,7 +847,17 @@ 'constructor (princ (object-print object) stream)) (defvar eieio-print-depth 0 - "When printing, keep track of the current indentation depth.") + "The current indentation depth while printing. +Ignored if `eieio-print-indentation' is nil.") + +(defvar eieio-print-indentation t + "When non-nil, indent contents of printed objects.") + +(defvar eieio-print-object-name t + "When non-nil write the object name in `object-write'. +Does not affect objects subclassing `eieio-named'. Writing +object names is deprecated as of Emacs 24.4; consider setting +this to nil.") (cl-defgeneric object-write (this &optional comment) "Write out object THIS to the current stream. @@ -860,9 +870,10 @@ eieio-print-depth If optional COMMENT is non-nil, include comments when outputting this object." (when comment - (princ ";; Object ") - (princ (eieio-object-name-string this)) - (princ "\n") + (when eieio-print-object-name + (princ ";; Object ") + (princ (eieio-object-name-string this)) + (princ "\n")) (princ comment) (princ "\n")) (let* ((cl (eieio-object-class this)) @@ -871,11 +882,13 @@ eieio-print-depth ;; It should look like this: ;; ( ... ) ;; Each slot's slot is writen using its :writer. - (princ (make-string (* eieio-print-depth 2) ? )) + (when eieio-print-indentation + (princ (make-string (* eieio-print-depth 2) ? ))) (princ "(") (princ (symbol-name (eieio--class-constructor (eieio-object-class this)))) - (princ " ") - (prin1 (eieio-object-name-string this)) + (when eieio-print-object-name + (princ " ") + (prin1 (eieio-object-name-string this))) (princ "\n") ;; Loop over all the public slots (let ((slots (eieio--class-slots cv)) @@ -889,7 +902,8 @@ eieio-print-depth (unless (or (not i) (equal v (cl--slot-descriptor-initform slot))) (unless (bolp) (princ "\n")) - (princ (make-string (* eieio-print-depth 2) ? )) + (when eieio-print-indentation + (princ (make-string (* eieio-print-depth 2) ? ))) (princ (symbol-name i)) (if (alist-get :printer (cl--slot-descriptor-props slot)) ;; Use our public printer @@ -904,7 +918,7 @@ eieio-print-depth "\n" " ")) (eieio-override-prin1 v)))))))) (princ ")") - (when (= eieio-print-depth 0) + (when (zerop eieio-print-depth) (princ "\n")))) (defun eieio-override-prin1 (thing) @@ -923,14 +937,16 @@ eieio-list-prin1 (progn (princ "'") (prin1 list)) - (princ (make-string (* eieio-print-depth 2) ? )) + (when eieio-print-indentation + (princ (make-string (* eieio-print-depth 2) ? ))) (princ "(list") (let ((eieio-print-depth (1+ eieio-print-depth))) (while list (princ "\n") (if (eieio-object-p (car list)) (object-write (car list)) - (princ (make-string (* eieio-print-depth 2) ? )) + (when eieio-print-indentation + (princ (make-string (* eieio-print-depth) ? ))) (eieio-override-prin1 (car list))) (setq list (cdr list)))) (princ ")"))) -- 2.15.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 15:29:54 2017 Received: (at 28587) by debbugs.gnu.org; 8 Nov 2017 20:29:54 +0000 Received: from localhost ([127.0.0.1]:58954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCWyw-0004jG-AR for submit@debbugs.gnu.org; Wed, 08 Nov 2017 15:29:54 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:33809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCWyt-0004j6-SQ for 28587@debbugs.gnu.org; Wed, 08 Nov 2017 15:29:52 -0500 Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id vA8KTot2004730; Wed, 8 Nov 2017 15:29:51 -0500 Received: by lechazo.home (Postfix, from userid 20848) id DF707605C1; Wed, 8 Nov 2017 15:31:07 -0500 (EST) From: Stefan Monnier To: Eric Abrahamsen Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method Message-ID: References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> Date: Wed, 08 Nov 2017 15:31:07 -0500 In-Reply-To: <87o9octu8m.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Wed, 08 Nov 2017 12:01:45 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6154=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6154> : inlines <6166> : streams <1769725> : uri <2530500> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.3 (-) > So where we're at now is, the previous chunk has gone into both master > and emacs-26. Yay! > The next patch (below) would only go into master, so as to > be more conservative about what's emitted. Everything defaults to > current behavior. Looks good, except for: > + "When non-nil write the object name in `object-write'. > +Does not affect objects subclassing `eieio-named'. Writing > +object names is deprecated as of Emacs 24.4; consider setting > +this to nil.") AFAIK names are deprecated in calls to EIEIO constructors since Emacs-25 (rather 24.4), and it's only since Emacs-26 that they are optional in "eieio-presistent" written representations. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 16:01:38 2017 Received: (at 28587) by debbugs.gnu.org; 8 Nov 2017 21:01:38 +0000 Received: from localhost ([127.0.0.1]:58998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCXTd-0007CS-QD for submit@debbugs.gnu.org; Wed, 08 Nov 2017 16:01:38 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:56378) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCXTb-0007Ag-WA for 28587@debbugs.gnu.org; Wed, 08 Nov 2017 16:01:36 -0500 Received: from localhost (71-212-22-173.tukw.qwest.net [71.212.22.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 13514C0087; Wed, 8 Nov 2017 21:01:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1510174895; bh=2mqnHi7OLMxPGsWVIrfY+xIXHFNJybTgXGhD21Tvtqc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=MgiuLiVNMck4Y+a8ZjmH1Ut2xvDjqbrFZ+YSmZl+Va7nk41XMiI1rzYBnHzWbc+Ey crFMQyBXbQH5UAsMnSfLNkn+gFkVKliqtu59Q5iMsMfjgDzEFC6GAbARlihczNlY+0 sWe/YssJksg2BOodAZHWl3K5lpXSNGEfaNPouMoo= From: Eric Abrahamsen To: Stefan Monnier Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> Date: Wed, 08 Nov 2017 13:01:34 -0800 In-Reply-To: (Stefan Monnier's message of "Wed, 08 Nov 2017 15:31:07 -0500") Message-ID: <87d14sscwh.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.7 (/) On 11/08/17 15:31 PM, Stefan Monnier wrote: >> So where we're at now is, the previous chunk has gone into both master >> and emacs-26. > > Yay! > >> The next patch (below) would only go into master, so as to >> be more conservative about what's emitted. Everything defaults to >> current behavior. > > Looks good, except for: > >> + "When non-nil write the object name in `object-write'. >> +Does not affect objects subclassing `eieio-named'. Writing >> +object names is deprecated as of Emacs 24.4; consider setting >> +this to nil.") > > AFAIK names are deprecated in calls to EIEIO constructors since > Emacs-25 (rather 24.4), and it's only since Emacs-26 that they are > optional in "eieio-presistent" written representations. Okay I see, I got a little confused there. I checked the emacs 25 branch and it ignores an object name string (emacs 24 requires it), so maybe the only important thing is to say: "Note that prior to Emacs version 25 the object name is required." How's that? From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 17:04:31 2017 Received: (at 28587) by debbugs.gnu.org; 8 Nov 2017 22:04:31 +0000 Received: from localhost ([127.0.0.1]:59033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCYSV-0000cr-I7 for submit@debbugs.gnu.org; Wed, 08 Nov 2017 17:04:31 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:52927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCYST-0000ci-7w for 28587@debbugs.gnu.org; Wed, 08 Nov 2017 17:04:30 -0500 Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id vA8M4Sri020667; Wed, 8 Nov 2017 17:04:28 -0500 Received: by lechazo.home (Postfix, from userid 20848) id 4D872605EC; Wed, 8 Nov 2017 17:05:45 -0500 (EST) From: Stefan Monnier To: Eric Abrahamsen Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method Message-ID: References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> <87d14sscwh.fsf@ericabrahamsen.net> Date: Wed, 08 Nov 2017 17:05:45 -0500 In-Reply-To: <87d14sscwh.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Wed, 08 Nov 2017 13:01:34 -0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6154=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6154> : inlines <6166> : streams <1769732> : uri <2530539> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.3 (-) >> AFAIK names are deprecated in calls to EIEIO constructors since >> Emacs-25 (rather 24.4), and it's only since Emacs-26 that they are >> optional in "eieio-presistent" written representations. > Okay I see, I got a little confused there. I checked the emacs 25 branch > and it ignores an object name string (emacs 24 requires it), so maybe > the only important thing is to say: > "Note that prior to Emacs version 25 the object name is required." I think the only important part is that Emacs<26 requires it (tho only Emacs<25 makes actual use of it, and even then, this use is mostly irrelevant, except maybe in corner cases in the course of debugging). Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 17:10:31 2017 Received: (at submit) by debbugs.gnu.org; 8 Nov 2017 22:10:31 +0000 Received: from localhost ([127.0.0.1]:59047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCYYI-0000lp-OV for submit@debbugs.gnu.org; Wed, 08 Nov 2017 17:10:30 -0500 Received: from eggs.gnu.org ([208.118.235.92]:58451) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCYYH-0000lc-Ah for submit@debbugs.gnu.org; Wed, 08 Nov 2017 17:10:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCYYB-0006Bn-Bh for submit@debbugs.gnu.org; Wed, 08 Nov 2017 17:10:24 -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_20 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58397) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eCYYB-0006Bg-3s for submit@debbugs.gnu.org; Wed, 08 Nov 2017 17:10:23 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCYYA-0004QZ-4n for bug-gnu-emacs@gnu.org; Wed, 08 Nov 2017 17:10:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCYY6-0006AY-Mf for bug-gnu-emacs@gnu.org; Wed, 08 Nov 2017 17:10:21 -0500 Received: from [195.159.176.226] (port=49470 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eCYY6-0006AP-EU for bug-gnu-emacs@gnu.org; Wed, 08 Nov 2017 17:10:18 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1eCYXu-0003Rt-IS for bug-gnu-emacs@gnu.org; Wed, 08 Nov 2017 23:10:06 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Eric Abrahamsen Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method Date: Wed, 08 Nov 2017 14:08:07 -0800 Lines: 16 Message-ID: <87mv3wqv94.fsf@ericabrahamsen.net> References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> <87d14sscwh.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@blaine.gmane.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cancel-Lock: sha1:GG2malPeDpowIzwNoDZG7j5C0NM= 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: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.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 (-----) Stefan Monnier writes: >>> AFAIK names are deprecated in calls to EIEIO constructors since >>> Emacs-25 (rather 24.4), and it's only since Emacs-26 that they are >>> optional in "eieio-presistent" written representations. >> Okay I see, I got a little confused there. I checked the emacs 25 branch >> and it ignores an object name string (emacs 24 requires it), so maybe >> the only important thing is to say: >> "Note that prior to Emacs version 25 the object name is required." > > I think the only important part is that Emacs<26 requires it (tho only > Emacs<25 makes actual use of it, and even then, this use is mostly > irrelevant, except maybe in corner cases in the course of debugging). Right! Bah, I keep getting this wrong. Emacs<26 will fail without it. I'll make that note, and leave it at that. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 10 20:39:41 2017 Received: (at 28587) by debbugs.gnu.org; 11 Nov 2017 01:39:41 +0000 Received: from localhost ([127.0.0.1]:34528 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDKlp-000497-HK for submit@debbugs.gnu.org; Fri, 10 Nov 2017 20:39:41 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:57372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDKln-000491-UF for 28587@debbugs.gnu.org; Fri, 10 Nov 2017 20:39:40 -0500 Received: from localhost (71-212-22-173.tukw.qwest.net [71.212.22.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id AE147BF9C8; Sat, 11 Nov 2017 01:39:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1510364376; bh=clSqRfNZyLWe1CgxkA1JezZhzBcKU24Zbsfmir4BYV0=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=CsR1qwmPLdhBDcSuenUTKR5yTHnVeup/Uv7+QDcW/drNKVfFh7cn32jlHx7FNjAqw Sm0rv9/k/fYD8qBb6VeF9XBU3n7VAzazrq9JA8qdqvzX25HGuvHT2zqpJ/oZhG445+ F6TAJ3RPHuT9UN1D+Wk8s4AHNTTtG3dPhCJYpDC4= From: Eric Abrahamsen To: Stefan Monnier Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> <87d14sscwh.fsf@ericabrahamsen.net> Date: Fri, 10 Nov 2017 17:39:35 -0800 In-Reply-To: (Stefan Monnier's message of "Wed, 08 Nov 2017 17:05:45 -0500") Message-ID: <87po8pzj8o.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 28587 Cc: 28587@debbugs.gnu.org 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.7 (/) On 11/08/17 17:05 PM, Stefan Monnier wrote: >>> AFAIK names are deprecated in calls to EIEIO constructors since >>> Emacs-25 (rather 24.4), and it's only since Emacs-26 that they are >>> optional in "eieio-presistent" written representations. >> Okay I see, I got a little confused there. I checked the emacs 25 branch >> and it ignores an object name string (emacs 24 requires it), so maybe >> the only important thing is to say: >> "Note that prior to Emacs version 25 the object name is required." > > I think the only important part is that Emacs<26 requires it (tho only > Emacs<25 makes actual use of it, and even then, this use is mostly > irrelevant, except maybe in corner cases in the course of debugging). Okay, there it goes, with a modified docstring. Tests are passing here; if no one complains in the next couple days, I'll close this bug report. Eric From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 22 17:30:06 2017 Received: (at 28587-done) by debbugs.gnu.org; 22 Nov 2017 22:30:06 +0000 Received: from localhost ([127.0.0.1]:53179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHdWw-0002on-Is for submit@debbugs.gnu.org; Wed, 22 Nov 2017 17:30:06 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:35692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHdWv-0002oe-9l for 28587-done@debbugs.gnu.org; Wed, 22 Nov 2017 17:30:05 -0500 Received: from localhost (71-212-22-173.tukw.qwest.net [71.212.22.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 8FB24C0126 for <28587-done@debbugs.gnu.org>; Wed, 22 Nov 2017 22:30:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1511389804; bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=; h=From:To:Subject:References:Date:In-Reply-To:From; b=js4gB6bLozayFYD4ak1qysGhlM5FB1ouyJCYJkJID6awb6pRnFYuzyhVUjF7BkCu2 eLfoSzwO3hgjOqrfRiFxCrAh2djHqX8ebXbk1mM4gzRk5TzDT2TlzOyY2v3EUZpg73 GDGFP5RcVjF25RK6VQZQUAQGXzxnaqIsWnrV/www= From: Eric Abrahamsen To: 28587-done@debbugs.gnu.org Subject: Re: bug#28587: 26.0.60; Don't write object name strings in object-write method References: <87efqvg5tw.fsf@ericabrahamsen.net> <87o9octu8m.fsf@ericabrahamsen.net> <87d14sscwh.fsf@ericabrahamsen.net> Date: Wed, 22 Nov 2017 14:30:03 -0800 In-Reply-To: (Stefan Monnier's message of "Wed, 08 Nov 2017 17:05:45 -0500") Message-ID: <87zi7elzf8.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 28587-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: -0.7 (/) From unknown Mon Jun 23 07:48:12 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, 21 Dec 2017 12:24:05 +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