Received: (at 29220) by debbugs.gnu.org; 30 May 2019 22:50:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 30 18:50:45 2019 Received: from localhost ([127.0.0.1]:34292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hWTsi-0006Tx-Sc for submit <at> debbugs.gnu.org; Thu, 30 May 2019 18:50:45 -0400 Received: from mail-io1-f41.google.com ([209.85.166.41]:42072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1hWTsg-0006Tk-Pr for 29220 <at> debbugs.gnu.org; Thu, 30 May 2019 18:50:43 -0400 Received: by mail-io1-f41.google.com with SMTP id g16so6551678iom.9 for <29220 <at> debbugs.gnu.org>; Thu, 30 May 2019 15:50:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=17/X34QGEDYKoYG6EUXhOQezIOvoTMh1NJEMB4KTxWk=; b=E7L7sXO0kdxjLZTx4bANS9SjGbLrW5uQLJmRvdLENjeWQhRZCcNuHBCgz8YYTCN9qZ 7haqQanhX97+I+FHmoLXq8jIM0oevx15JZ4ilqck6/JSHfxVd/xKemsAmMC6TvCxEW8m e7yi0rLA6FlLnW6cdOrFJaH9jdgTsW35x/jtXVzPdqJA6p50HLttoSx9eTf3Ul70uwGL DnJc+SoKrRVvYoh7nzUdh56YnXQRuh4zmRipzQr8/yTCHpKGRK2wRxzx2hFN2sZZocpY 7ghvGgUxYgtlJsdT9EwmYTzrhgN89WVJ9G9l4ZDlIevFT+lonDi2SER9YAVKAIeEV6bS hx0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=17/X34QGEDYKoYG6EUXhOQezIOvoTMh1NJEMB4KTxWk=; b=jK2FVO9jucsibIYUVQB3VW241nokxFQies1Lwa7aI/pmuqMXxv/EJAzdbbabON/VX2 6CTPAf/3Sw3vJPpVG+axX/h7sX2lOqSc48mLW/ud102+xi9sTi7lENluDMIXoZVTCMwl cI1AaE0+Bt/BKvF3+g6rzYZvA0cPuTk4Dstxp1LFMBW3aEyNguUdkCJsDIKi/8KWz/BL rxF+SbObmdA7aujpO0JdWtA/ldqYaSuaS/7K70rwQgYDyK//ZRdFu8I744l1PH7eVW6f ILQnoVkLzpl7lSwrsir/y261KOxEsRBVBSn3Nn48ML/DxbFCQj0BSut2m8pmvNNiGo4N 2PjA== X-Gm-Message-State: APjAAAV2u+o9B7RDSztnMni7Fg652XEZMhqtU6m4ht6SCxbgJ/Og4OTO 48buFH4BteO2uNFHsDkRmcY= X-Google-Smtp-Source: APXvYqwnyidsRIu3LzgxvkFn3Ji8H4jhi08F/+QD4aVdlqDb27IDIkqMGYPboS+5AxR2c8Rm3OXDYg== X-Received: by 2002:a5d:9f46:: with SMTP id u6mr4323941iot.297.1559256636944; Thu, 30 May 2019 15:50:36 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id s2sm1405084ioj.8.2019.05.30.15.50.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 30 May 2019 15:50:35 -0700 (PDT) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> <87sh9qufb2.fsf@HIDDEN> <87muzx52l7.fsf@HIDDEN> <87h8q4uc8x.fsf@HIDDEN> <87v9xv79nf.fsf@HIDDEN> Date: Thu, 30 May 2019 18:50:34 -0400 In-Reply-To: <87v9xv79nf.fsf@HIDDEN> (Noam Postavsky's message of "Mon, 27 May 2019 19:36:04 -0400") Message-ID: <877ea77e11.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > Subject: [PATCH] Use plain symbols for eieio type descriptors (Bug#29220) > > Since Emacs 26, eieio objects use a class record (with circular > references) as the type descriptor of the object record. This causes > problems when reading back an object from a string, because the class > record is not `eq' to the canonical one (which means that read objects > don't satisfy the foo-p predicate). > * lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set > the record's type descriptor to a plain symbol for the type descriptor > when eieio-backward-compatibility is non-nil (the default). > * lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call > eieio--class-object on the type tag when eieio-backward-compatibility > is non-nil. > (eieio-object-p): Use eieio--object-class instead of > eieio--object-class-tag. Pushed to emacs-26 (with the tests expanded to show expected fail with eieio-backward-compatibility set to nil). I'm leaving the bug open since this still fails with eieio-backward-compatibility=nil. 5f01af6c8e 2019-05-30T18:46:07-04:00 "Use plain symbols for eieio type descriptors (Bug#29220)" https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=5f01af6c8e0f7355f7a99a80ff32369071f65eda
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 May 2019 21:17:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 28 17:17:24 2019 Received: from localhost ([127.0.0.1]:57417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hVjTH-0000Wk-VE for submit <at> debbugs.gnu.org; Tue, 28 May 2019 17:17:24 -0400 Received: from ericabrahamsen.net ([52.70.2.18]:54086 helo=mail.ericabrahamsen.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1hVjTF-0000Qs-0N for 29220 <at> debbugs.gnu.org; Tue, 28 May 2019 17:17:21 -0400 Received: from localhost (50-251-205-17-static.hfc.comcastbusiness.net [50.251.205.17]) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 9222EFA01E; Tue, 28 May 2019 21:17:14 +0000 (UTC) From: Eric Abrahamsen <eric@HIDDEN> To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> <87sh9qufb2.fsf@HIDDEN> <87muzx52l7.fsf@HIDDEN> <87h8q4uc8x.fsf@HIDDEN> <87v9xv79nf.fsf@HIDDEN> Date: Tue, 28 May 2019 14:17:12 -0700 In-Reply-To: <87v9xv79nf.fsf@HIDDEN> (Noam Postavsky's message of "Mon, 27 May 2019 19:36:04 -0400") Message-ID: <87lfyqth2f.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) On 05/27/19 19:36 PM, Noam Postavsky wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >>>> Bah, this is annoyingly difficult -- thank you for trying it out. I >>>> suppose one terrible heuristic would be if the errors were different >>>> between emacs-25, emacs-26, and fix/eieio-persistent. Would you mind >>>> sending me the error output, in case anything jumps out at me? >>>> >>> Hope this could help you. >> >> Thanks. They all end in "Corrupt object on disk", which is an >> eieio-persist problem. I'll keep working on this. > > So, I think it would be nice to have this fixed for 26.3. It sounds > like the fix you're working on is too risky to have on a release branch > regardless of its current status, so here's a patch which makes eieio > objects use symbols as type tags, when eieio-backward-compatibility is > non-nil. Folks who want the record-with-circular-references as type > tags can still get that by setting eieio-backward-compatibility to nil. I agree that everything I came up with is too shaky for a release branch. I haven't tried your solution, but it looks simple enough. Despite much help from many people, this problem ultimately defeated me. I was trying to come up with a universal solution that would work for any object, and after a couple of months had something that worked for restoring objects, but then realized that it wouldn't work for saving them. Whereupon I deflated like a cheap balloon. This is just beyond my skills right now. Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 27 May 2019 23:36:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 27 19:36:15 2019 Received: from localhost ([127.0.0.1]:54517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hVPA7-0007bi-FH for submit <at> debbugs.gnu.org; Mon, 27 May 2019 19:36:15 -0400 Received: from mail-it1-f175.google.com ([209.85.166.175]:53765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1hVPA5-0007bQ-Ib for 29220 <at> debbugs.gnu.org; Mon, 27 May 2019 19:36:14 -0400 Received: by mail-it1-f175.google.com with SMTP id m141so1416636ita.3 for <29220 <at> debbugs.gnu.org>; Mon, 27 May 2019 16:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=aT6Tleh9Ng/Qqv7E7g2qIDK6JjGgY2mce2KHahG2DHA=; b=ZIr4+8vX4eKcO1kQ4VvdmQggJ+krEHhujF0AnCkGO9ucOfu6jN+cBR4vH1BGWU5q3b 34Xmhi6i4EheOhOt+AYAV0C5BysKP4wCLfqnaSBbTUthefjI+47ZuzI1ANY4LwUxUkD5 olABCjBY2Ksw+4fhqgsxwYU6x2YKHL3FrB/El/3PgJ1BtYBQ8uZlCkQaNVi/qhYg3qyt kS53yBHjpU7v7u9uTbNNW1zUqJqhjfiyJgJVosfxy645Cg/zNQSjQ6nYxHjAIBJ9oL+Y RgXwZw65q4XwmznfGddd2R2Zi6CI2tQ9n8dFIyF5VQPf2Y0y349JHxn8Peb65GFGpBeR tMOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=aT6Tleh9Ng/Qqv7E7g2qIDK6JjGgY2mce2KHahG2DHA=; b=sIc+ErB2Jpmxl2JmQegD5oFtx+RQyYG/UYQPrZL+BTB9ehY3WjbXR+o8yI1Z3rEQkA Fk2k16BVe8C7F4HdzqSqFgpjiJSfNOasSyXBV/2Faom9SEyx33c8DxkatUvWOQbywetC K8QqN6VlIwVQmCnILTa+XamgVuJg/wKrb0maVcvDycR5yezLW9UJJK8j2QZ/WnJ+xs9s MfUUfrr26riSpz0dFG1z2ZPgnzEKi4bQ20Yf5vvzn6AqHi8Iq0M3E1Sy9J3Orgy0rJBq Ks6MhVKPlisKCEKIG4cN5YpR9+QCUx1QO6jBYLzC/zzk1Jx8fRN9cMnYJjzQr2sJnok3 0qxA== X-Gm-Message-State: APjAAAVADYJplgzjy7mzFSzcE1Wqdjc7U1WtGrjVI4g4X4iTWot2jXuX Wgmy2cCgS9v0v2eXDeWV/v8= X-Google-Smtp-Source: APXvYqxJ3nnTsg5NKGLNU71y2FGpeZlH/snhuFSybuaaQSAVGJPpge7I6iLUG8FaV/Ytzm9mVYgAiQ== X-Received: by 2002:a24:7592:: with SMTP id y140mr1165622itc.47.1559000167797; Mon, 27 May 2019 16:36:07 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id t26sm4028801ioc.66.2019.05.27.16.36.05 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 May 2019 16:36:06 -0700 (PDT) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> <87sh9qufb2.fsf@HIDDEN> <87muzx52l7.fsf@HIDDEN> <87h8q4uc8x.fsf@HIDDEN> Date: Mon, 27 May 2019 19:36:04 -0400 In-Reply-To: <87h8q4uc8x.fsf@HIDDEN> (Eric Abrahamsen's message of "Sun, 25 Feb 2018 10:59:10 -0800") Message-ID: <87v9xv79nf.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Eric Abrahamsen <eric@HIDDEN> writes: >>> Bah, this is annoyingly difficult -- thank you for trying it out. I >>> suppose one terrible heuristic would be if the errors were different >>> between emacs-25, emacs-26, and fix/eieio-persistent. Would you mind >>> sending me the error output, in case anything jumps out at me? >>> >> Hope this could help you. > > Thanks. They all end in "Corrupt object on disk", which is an > eieio-persist problem. I'll keep working on this. So, I think it would be nice to have this fixed for 26.3. It sounds like the fix you're working on is too risky to have on a release branch regardless of its current status, so here's a patch which makes eieio objects use symbols as type tags, when eieio-backward-compatibility is non-nil. Folks who want the record-with-circular-references as type tags can still get that by setting eieio-backward-compatibility to nil. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Use-plain-symbols-for-eieio-type-descriptors-Bug-292.patch Content-Description: patch From f6cc4509073da4ff23a4227d48b33108b1e96828 Mon Sep 17 00:00:00 2001 From: Noam Postavsky <npostavs@HIDDEN> Date: Mon, 27 May 2019 19:05:56 -0400 Subject: [PATCH] Use plain symbols for eieio type descriptors (Bug#29220) Since Emacs 26, eieio objects use a class record (with circular references) as the type descriptor of the object record. This causes problems when reading back an object from a string, because the class record is not `eq' to the canonical one (which means that read objects don't satisfy the foo-p predicate). * lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set the record's type descriptor to a plain symbol for the type descriptor when eieio-backward-compatibility is non-nil (the default). * lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call eieio--class-object on the type tag when eieio-backward-compatibility is non-nil. (eieio-object-p): Use eieio--object-class instead of eieio--object-class-tag. * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el (eieio-test-persist-hash-and-vector) (eieio-test-persist-interior-lists): `persist-test-save-and-compare' no longer throws an error. --- lisp/emacs-lisp/eieio-core.el | 11 +++++++---- lisp/emacs-lisp/eieio.el | 3 +++ test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el | 6 ++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el index f879a3999f..4d55ed6e1d 100644 --- a/lisp/emacs-lisp/eieio-core.el +++ b/lisp/emacs-lisp/eieio-core.el @@ -117,9 +117,6 @@ (eval-and-compile (defsubst eieio--object-class-tag (obj) (aref obj 0)) -(defsubst eieio--object-class (obj) - (eieio--object-class-tag obj)) - ;;; Important macros used internally in eieio. @@ -132,6 +129,12 @@ (defsubst eieio--class-object (class) (or (cl--find-class class) class) class)) +(defsubst eieio--object-class (obj) + (let ((tag (eieio--object-class-tag obj))) + (if eieio-backward-compatibility + (eieio--class-object tag) + tag))) + (defun class-p (x) "Return non-nil if X is a valid class vector. X can also be is a symbol." @@ -163,7 +166,7 @@ (defsubst eieio--class-option (class option) (defun eieio-object-p (obj) "Return non-nil if OBJ is an EIEIO object." (and (recordp obj) - (eieio--class-p (eieio--object-class-tag obj)))) + (eieio--class-p (eieio--object-class obj)))) (define-obsolete-function-alias 'object-p 'eieio-object-p "25.1") diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 38436d1f94..864ac2616b 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -710,6 +710,9 @@ (cl-defmethod make-instance ;; Call the initialize method on the new object with the slots ;; that were passed down to us. (initialize-instance new-object slots) + (when eieio-backward-compatibility + ;; Use symbol as type descriptor, for backwards compatibility. + (aset new-object 0 class)) ;; Return the created object. new-object)) diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el index dfaa031844..f8a0aa30dd 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el @@ -297,8 +297,7 @@ (ert-deftest eieio-test-persist-hash-and-vector () (aset (car (slot-value class 'janitors)) 1 hans) (aset (nth 1 (slot-value class 'janitors)) 1 dierdre) (unwind-protect - ;; FIXME: This should not error. - (should-error (persist-test-save-and-compare class)) + (persist-test-save-and-compare class) (delete-file (oref class file))))) ;; Extra quotation of lists inside other objects (Gnus registry), also @@ -335,8 +334,7 @@ (ert-deftest eieio-test-persist-interior-lists () (setf (nth 2 (cadar alst)) john (nth 2 (cadadr alst)) alexie) (unwind-protect - ;; FIXME: Should not error. - (should-error (persist-test-save-and-compare thing)) + (persist-test-save-and-compare thing) (delete-file (slot-value thing 'file))))) ;;; eieio-test-persist.el ends here -- 2.11.0 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Paul Eggert <eggert@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Glenn Morris <rgm@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 25 Feb 2018 19:01:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 25 14:01:32 2018 Received: from localhost ([127.0.0.1]:60616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eq1YC-0007I8-Dk for submit <at> debbugs.gnu.org; Sun, 25 Feb 2018 14:01:32 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:56966) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eq1YB-0007I0-7b for 29220 <at> debbugs.gnu.org; Sun, 25 Feb 2018 14:01:31 -0500 Received: from localhost (71-35-188-108.tukw.qwest.net [71.35.188.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 11CE0C0DE3; Sun, 25 Feb 2018 19:01:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1519585290; bh=Ml4+iT7oe7H+BFOAN3yHscp8yebpgTaS2RLgBPpMxD8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=YNd5qfFUwONiiaFKzVqcat5ZpeHyV9ygA+1q4ZhaWJN0O528zjLRL3ep24ut7nvkh IJek6871Pt3szyLWWQbHlGqvOMyZb2ak2/77BLO+jfK21fAQNprk/3Ju3uWChX2qPH MqjoyieWn/nhlCGmYAD0x7tV3znsPDyohmv8Fmfc= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> <87sh9qufb2.fsf@HIDDEN> <87muzx52l7.fsf@HIDDEN> Date: Sun, 25 Feb 2018 10:59:10 -0800 In-Reply-To: <87muzx52l7.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Sun, 25 Feb 2018 01:34:44 +0100") Message-ID: <87h8q4uc8x.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 02/25/18 00:21 AM, Pierre T=C3=A9choueyres wrote: >>> Eric Abrahamsen <eric@HIDDEN> writes: >>> >>>> pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: >>>> >>>>> Hello Eric, >>>>> Any news on this fix ? >>>> >>>> Hey, sorry again this is taking so long. I wanted to run CEDET's test >>>> suite, as that seems to be the main library that relies on >>>> eieio-persistent, and I wanted to make sure it passed with these >>>> changes. I can't get CEDET to build on my machine, however (apparently >>>> Arch has a too-new version of ImageMagick, and CEDET won't build again= st >>>> it), and I haven't had any luck just faking it and running the tests >>>> themselves -- everything's too dependent on a successful build. >>>> >>>> I've only got two Arch machines to play with -- if anyone could >>>> successfully build and test CEDET using the fix/eieio-persistent branc= h, >>>> that would be very helpful... >>>> >>> >>> I've been able to run the "itest-batch" and "utest-batch" from the CEDET >>> git repository (http://git.code.sf.net/p/cedet/git), but I don't know >>> how to interpret the results. Whatever the emacs version I use (25.3 or >>> 26.0.91 + fix), I get errors. So I don't know what to check for the >>> fix/eieio-persistent branch. >> >> Bah, this is annoyingly difficult -- thank you for trying it out. I >> suppose one terrible heuristic would be if the errors were different >> between emacs-25, emacs-26, and fix/eieio-persistent. Would you mind >> sending me the error output, in case anything jumps out at me? >> > Hope this could help you. Thanks. They all end in "Corrupt object on disk", which is an eieio-persist problem. I'll keep working on this.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 25 Feb 2018 00:34:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 24 19:34:53 2018 Received: from localhost ([127.0.0.1]:59300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1epkHE-0004mQ-Vh for submit <at> debbugs.gnu.org; Sat, 24 Feb 2018 19:34:53 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:8432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1epkHC-0004mF-SZ for 29220 <at> debbugs.gnu.org; Sat, 24 Feb 2018 19:34:51 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id B148719F4B5; Sun, 25 Feb 2018 01:34:44 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> <87sh9qufb2.fsf@HIDDEN> Date: Sun, 25 Feb 2018 01:34:44 +0100 In-Reply-To: <87sh9qufb2.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 24 Feb 2018 15:40:49 -0800") Message-ID: <87muzx52l7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eric Abrahamsen <eric@HIDDEN> writes: > On 02/25/18 00:21 AM, Pierre T=C3=A9choueyres wrote: >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: >>> >>>> Hello Eric, >>>> Any news on this fix ? >>> >>> Hey, sorry again this is taking so long. I wanted to run CEDET's test >>> suite, as that seems to be the main library that relies on >>> eieio-persistent, and I wanted to make sure it passed with these >>> changes. I can't get CEDET to build on my machine, however (apparently >>> Arch has a too-new version of ImageMagick, and CEDET won't build against >>> it), and I haven't had any luck just faking it and running the tests >>> themselves -- everything's too dependent on a successful build. >>> >>> I've only got two Arch machines to play with -- if anyone could >>> successfully build and test CEDET using the fix/eieio-persistent branch, >>> that would be very helpful... >>> >> >> I've been able to run the "itest-batch" and "utest-batch" from the CEDET >> git repository (http://git.code.sf.net/p/cedet/git), but I don't know >> how to interpret the results. Whatever the emacs version I use (25.3 or >> 26.0.91 + fix), I get errors. So I don't know what to check for the >> fix/eieio-persistent branch. > > Bah, this is annoyingly difficult -- thank you for trying it out. I > suppose one terrible heuristic would be if the errors were different > between emacs-25, emacs-26, and fix/eieio-persistent. Would you mind > sending me the error output, in case anything jumps out at me? > Hope this could help you. --=-=-= Content-Type: application/x-xz Content-Disposition: attachment; filename=itest-batch-25.3.log.xz Content-Transfer-Encoding: base64 Content-Description: itest-batch-25.3.log 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 --=-=-= Content-Type: application/x-xz Content-Disposition: attachment; filename=utest-batch-25.3.log.xz Content-Transfer-Encoding: base64 Content-Description: utest-batch-25.3.log /Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4CnQBMpdACKbSCZNXme3XQpCGYNL9cBb8v8sVk+l99BE 4ymOzqSJRyrK9yr0E2dh6aa0me1qVFas/iTLUpj9KROnx9gRP1npEA5XZtBdtt/1dK6qqRyuLFaC V5F0IzcX+X9vKFlT38gGy1/2bJiqYp3nW4IpUAEItU+VE3Hsq2TtXuBbjyMHcISHyNNL5g2xzVwM VHKmHdy/kT6Z0hElQXGwlelZhrAE2s2D9Q1Wd9R8uE/0s0d7lFWzEFkNgB8dWfc6Ev5IKmNCQL6b ulmT+/YzqR2oIFyACsPoJzIsjEuzE1Os9kyHioHqyKhTEaR2cD3hvlap7ya8LVjj0C9Q3KGXeF07 OSTjNEFRftgo60/emo6zASImFuv9vD4+pKxq+1fry+gsXwwH3U8XCoODweloEMVrDyWsPkZaGRjL hY4CuIY3zfdnzSb33dknYkLa52+abbotUMagsln1LxX143lpFOHvUgEbYaI8tHjkPRhvl5gtH/np U6R8NxFsAJczuxInig4Xe88AI4XPMdBHfSvMXsIFy0Re/6AuMz/y2CF9f7TEY+WSd4HJHoOwld88 NvJ+vrsOu+tJ/Pjzun6lhohAfItAyn46jUAO8Uc4sCubxMAqIPTFz1F5vU8QyzlLZgL06XUW9/js LbSglD9Wl+9w18BqOvHcRArmajvXRYkM/ls0NLB6w7ezETE9SiRacBVR4FIzNnyRPBMEHhcyK/zn SovCv9EH4YJfRFwWtSc3bkLmZqcfSZIRpla/bzZvsNlUNjbNAhMlmH6Xqdp3U+eAtQU6D38aQ4KL 9OAP8rnn///mi/vrzzNBApu2iePrn3hwrHLECG6Po7ub4gl2e4r3g4akHOWnQGIvnrss6/nh1+c/ FkXUL0CF1Ku7J/L9fPEOjwwgKpjYVV42EIfkU6xhTJA4OMriPSfYF4MXdvHxaMcEf+nYQg8imR5J JLEEOGZOp1k9/0jne2zgfhk49Gs4XiA/G+fu9YY7SVKaxJ7Cm7L/elNhqFh0i/lQ60YuqsRa0UgB +UmyTRj2ZP1iMbslYDnwXJmER/Udqg7EwOqQp0mb4pQwzz8FuA0D1WTf9j4U/Z4jO1JdyGGXBit0 Ugyh3PdFpIQqwNrRDbdcDaDzCIpbTBWmq8MQShZr6Pj0QPsi0MbKfywu92NnTgDrgvInkgqH0hwQ 59H/cxFACvQt1rAGzYyWPacACzqQMNJVmW2nmmxyMjzxyRo+j7ggLqlufASB+sIxgzhKY4Nqy9RH RvKjTA6WXFeRkaNFBraoiJwoc+P5Tvu+Yjk63F8j2PZ1SgWFkOeny4C60hC0h5tmMrxJgQ64k1sj cgvib/XecCEy4LCMbNuhWQSjaXmzk8JULUyNrObtwwDKuGl4PMaeXxwSMB/HTGJXyGBNhggy8PaW Pz4XdL+uH+HAHlXx+TxIGz/k8S9LsslL6zQ+ySWAXu8hxqpJxsb9Ma5ZGQc7JPA4P0YLHX/Gsvx4 IF8mmH6CkBdULeAkOV1ucRjpkdorsDdWSMgIHSIhRjLOyVjtrItSyxZQnPwds7p52XBUWViVvU07 l9DfmPIZ6UNvPK7oPe1SnHtkc7NLpg7UlqqQS8i4EqfoMq6EIABIcMrtg7HGLLeF9HnYPyF/SBVb 4AWYAAAAAqgjGsug2FEAAeYJ0VMAACYASv6xxGf7AgAAAAAEWVo= --=-=-= Content-Type: application/x-xz Content-Disposition: attachment; filename=itest-batch-26-eieio.log.xz Content-Transfer-Encoding: base64 Content-Description: itest-batch-26-eieio.log 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 --=-=-= Content-Type: application/x-xz Content-Disposition: attachment; filename=utest-batch-26-eieio.log.xz Content-Transfer-Encoding: base64 Content-Description: utest-batch-26-eieio.log /Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4CoDBPBdACKbSCZNXme3XQpCGYNL9cBb8xlAGq6KuJOA eIDBOf3fnxqDcRtoZVt7D0WE4lTv7Tu53S6VSiEZcFJU7naIoZFdQ1sYjyTDkkKYP0ZWUhPcvfV9 Y+9Xs7Nv+n6K76B4eM6WAKuvdQAzgVq2FP1T8chZ19rWz4uL108mljx2KhJeT6sebU+gzI4AEkwW A1oDpkapaJvYQrP7GHfY3W2f/3oN1J+s1+Tb7R+5yVYSvqn4NjEOJrjlHn7w+3OBeMP6dkOnloBD SNosMHLpIOn+pbvDwK+sHyex6aaxsVM+L47qZ7SXONqcpPk4K9YDqA7UU1amXZBL9YUV1tNgSbKB jCPF0+dsLo3aVdulNaNnO+AZ1DG006ZRKH138g6xVtTJMAUnJiL9WySNnYB97x/wgFchGhwDGros e2bCBNkNK6XagQup71Eke7JHdXTyzIu6dKSYGacXuEKbWFpZooY2QZ198m+UsHYOdmsBUCrJq/fL MsfooZ0UjAlIZit5mz/h6WiVSsxWewTF8H+RYwphmIR8VNyk15ktpSjuiC8uD/4SFgdkX3VoGigF rnNgmUozvcmKIAyTOrh1JQLSw8ZcM8U5RJ3m/CmybpL9NK1wv0mRKV41YFm/okyCgw72t0XPVOML yXOcBdnK8JkKj1IPbNflttb2M3sluYrZnkWy3Q9os/YzhyUoMjsy7QWtoQ+LkEJBlKLUxq9y6aey I/sP9aBNEtgvmxePtF5GmHqbEsb8cKUcB6I7cBdsT+j5bNzZ6hT2BSVGz9C2bBndrysel8dMF9Hl f0IIeq8feaQiW6eW9Y5WS4cCNQ0VvP2AVnvJVrAgXFcS9uP1QXld5fNWHfC0ko4LNQtciA2ES2fd /UlKMxiYLBZHdT5kMFgoRLzwb5relYdYI/zwMZdIkhngCBhrambA6zgImcSOHlRORg5+1x+Ej6f+ g+bAaRtSsULvpCiaPAvmQdQUsikPKoQjYL9DhLc90NTL+7QH8ZZ9q7olxoNyELKUr5BV10yBGnGO rdhPJb3tQHAywUl0k1+KNnww5m+xd1v8lmLTGFbyjcmPyGznXyMOzIzHh1gswG1vEvbiN6H+FV1Q Kk1bWWPQXt4KgGLWjewAbf6C4IR9Sbx0Y+UXGdB9bobD+zsLo8jdNYmVGqdVFWrhxxMqDAbGzRXH 7r00V3vo14HELR+D7t+yNTyOJtu4DN512W/3muqP2XiYWrdj3zxXzt6b8HYtbjuT50+5XV1/EPh6 QEt5u7P0UaUatArRyN2jl3gENxCASDd44WfLI+fk/+DSd7Vyf2t83XPsusphWUdVmwBFreC3uZeJ LcjNbygBOpLFbeXVnXaz+f/+Gv8GkiVFUyBi9E3SH8+gOmOL48uALpQ61/kCvyYvw2Rezdu2Wjgd g2kQ+psSfjW5pF/a+IFVj2Je/xQFpQ+DuZDKLdafzQoe2E/bcpTtgcMZTdIzkAK6gMizg9qSsBZS CYt5MNadSwPKTYvM58nJ+J9wUN0BNn1RIaCAhkHC1sSlnqmA5S7jDBmwiTfx+2traEZy0NvnprZr MuRehUOPEhZ9L+hzGODU2zEPLUmZECq4AI6p7nKk1PZ27mOCuQiq8fAlYI3HqVNXgD74rMyfsD0R hOwIi6sX/MBWnJnjPiAQ2RfqzVyLRPLnU17zrBsrxb17F2lblgTORWoA8Ax1s36nv9YAAYwKhFQA AN+/GemxxGf7AgAAAAAEWVo= --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 24 Feb 2018 23:43:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 24 18:43:14 2018 Received: from localhost ([127.0.0.1]:59273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1epjTE-0003cj-RK for submit <at> debbugs.gnu.org; Sat, 24 Feb 2018 18:43:14 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:40735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1epjTC-0003cb-Gc for 29220 <at> debbugs.gnu.org; Sat, 24 Feb 2018 18:43:11 -0500 Received: from localhost (71-35-188-108.tukw.qwest.net [71.35.188.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id CB0BCC0DD8; Sat, 24 Feb 2018 23:43:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1519515790; bh=Qywqgk4YXcxv/YIpqzLvglkqAwn6pDRoSU3JJjBNeHM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=X7txjXWHyT+jL76X8TNHHherlAoZ84e+iDZYrzShgwOxjyj4aVjH26+DIsgGH5rvW Nm1JhGo167V1DgPtckLPP2+t5mUL7LbhfRTLzaml9YIom8IqD2+n1beIf3yZAgirMk NGRwGz0MCCo7BDdkjArstANaZcIz2iBEJi5dS/SU= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> <877er23rev.fsf@HIDDEN> Date: Sat, 24 Feb 2018 15:40:49 -0800 In-Reply-To: <877er23rev.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Sun, 25 Feb 2018 00:21:28 +0100") Message-ID: <87sh9qufb2.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 02/25/18 00:21 AM, Pierre T=C3=A9choueyres wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >> pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: >> >>> Hello Eric, >>> Any news on this fix ? >> >> Hey, sorry again this is taking so long. I wanted to run CEDET's test >> suite, as that seems to be the main library that relies on >> eieio-persistent, and I wanted to make sure it passed with these >> changes. I can't get CEDET to build on my machine, however (apparently >> Arch has a too-new version of ImageMagick, and CEDET won't build against >> it), and I haven't had any luck just faking it and running the tests >> themselves -- everything's too dependent on a successful build. >> >> I've only got two Arch machines to play with -- if anyone could >> successfully build and test CEDET using the fix/eieio-persistent branch, >> that would be very helpful... >> > > I've been able to run the "itest-batch" and "utest-batch" from the CEDET > git repository (http://git.code.sf.net/p/cedet/git), but I don't know > how to interpret the results. Whatever the emacs version I use (25.3 or > 26.0.91 + fix), I get errors. So I don't know what to check for the > fix/eieio-persistent branch. Bah, this is annoyingly difficult -- thank you for trying it out. I suppose one terrible heuristic would be if the errors were different between emacs-25, emacs-26, and fix/eieio-persistent. Would you mind sending me the error output, in case anything jumps out at me? Thanks again, Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 24 Feb 2018 23:21:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 24 18:21:35 2018 Received: from localhost ([127.0.0.1]:59218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1epj8J-0002xf-Dd for submit <at> debbugs.gnu.org; Sat, 24 Feb 2018 18:21:35 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:17664) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1epj8I-0002xX-DS for 29220 <at> debbugs.gnu.org; Sat, 24 Feb 2018 18:21:34 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id BE14319F4B5; Sun, 25 Feb 2018 00:21:28 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> <87woz2qdyo.fsf@HIDDEN> Date: Sun, 25 Feb 2018 00:21:28 +0100 In-Reply-To: <87woz2qdyo.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 24 Feb 2018 13:23:27 -0800") Message-ID: <877er23rev.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.5 (/) Eric Abrahamsen <eric@HIDDEN> writes: > pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > >> Hello Eric, >> Any news on this fix ? > > Hey, sorry again this is taking so long. I wanted to run CEDET's test > suite, as that seems to be the main library that relies on > eieio-persistent, and I wanted to make sure it passed with these > changes. I can't get CEDET to build on my machine, however (apparently > Arch has a too-new version of ImageMagick, and CEDET won't build against > it), and I haven't had any luck just faking it and running the tests > themselves -- everything's too dependent on a successful build. > > I've only got two Arch machines to play with -- if anyone could > successfully build and test CEDET using the fix/eieio-persistent branch, > that would be very helpful... > I've been able to run the "itest-batch" and "utest-batch" from the CEDET git repository (http://git.code.sf.net/p/cedet/git), but I don't know how to interpret the results. Whatever the emacs version I use (25.3 or 26.0.91 + fix), I get errors. So I don't know what to check for the fix/eieio-persistent branch. > Eric Pierre
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 24 Feb 2018 21:25:48 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 24 16:25:48 2018 Received: from localhost ([127.0.0.1]:59096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ephKF-0006ma-UZ for submit <at> debbugs.gnu.org; Sat, 24 Feb 2018 16:25:48 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:45530) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1ephKF-0006mT-7d for 29220 <at> debbugs.gnu.org; Sat, 24 Feb 2018 16:25:47 -0500 Received: from localhost (71-35-188-108.tukw.qwest.net [71.35.188.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 3A735C0DD8; Sat, 24 Feb 2018 21:25:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1519507546; bh=iTE1yhg5vk4nTJS6mcdY0SM9o0x6cXq5nD7xUw5EHmM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Pt45LToX5bQhMx1kBJFAsvsSdRw2lLi6BIv/oN/w92E1YfqBhWjyyYt9+PfIRmlOm /8V9dLsd/yTgsGTTDrXZLNp2702O2rB672SXaYFWcfM9jGKsD9S8eZKL5y2IoV5IcC VNiNYjzQdFRABI86FQ/rEUnBZSiV2i2ZBjzevJxQ= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> <871shf30fn.fsf@HIDDEN> Date: Sat, 24 Feb 2018 13:23:27 -0800 In-Reply-To: <871shf30fn.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Tue, 20 Feb 2018 20:50:36 +0100") Message-ID: <87woz2qdyo.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > Hello Eric, > Any news on this fix ? Hey, sorry again this is taking so long. I wanted to run CEDET's test suite, as that seems to be the main library that relies on eieio-persistent, and I wanted to make sure it passed with these changes. I can't get CEDET to build on my machine, however (apparently Arch has a too-new version of ImageMagick, and CEDET won't build against it), and I haven't had any luck just faking it and running the tests themselves -- everything's too dependent on a successful build. I've only got two Arch machines to play with -- if anyone could successfully build and test CEDET using the fix/eieio-persistent branch, that would be very helpful... Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 20 Feb 2018 19:50:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 20 14:50:46 2018 Received: from localhost ([127.0.0.1]:53238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eoDw6-00076F-Hd for submit <at> debbugs.gnu.org; Tue, 20 Feb 2018 14:50:46 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:64600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eoDw4-000765-7F for 29220 <at> debbugs.gnu.org; Tue, 20 Feb 2018 14:50:44 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 55EA619F595; Tue, 20 Feb 2018 20:50:37 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87y3m2jl3b.fsf@HIDDEN> Date: Tue, 20 Feb 2018 20:50:36 +0100 In-Reply-To: <87y3m2jl3b.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 16 Dec 2017 15:42:48 -0800") Message-ID: <871shf30fn.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) Hello Eric, Any news on this fix ? Eric Abrahamsen <eric@HIDDEN> writes: > On 12/15/17 23:26 PM, Pierre T=C3=A9choueyres wrote: >> Of course with the good example and patch this will be more obvious. > > Oh bother, this is my fault, in c59ddb2120. The attached diff fixes > this, and I guess should be put in. > > In #29541 I was hoping to reduce some of this complexity and make the > code easier to reason about, but those changes would go into master, and > this needs to be fixed in 26. > > More tests are definitely in order! > > diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el > index 0241f27395..a37cf7a1b3 100644 > --- a/lisp/emacs-lisp/eieio-base.el > +++ b/lisp/emacs-lisp/eieio-base.el > @@ -349,7 +349,7 @@ eieio-persistent-validate/fix-slot-value > (seq-some > (lambda (elt) > (child-of-class-p (car proposed-value) elt)) > - classtype)) > + (if (consp classtype) classtype (list classtype)= ))) > (eieio-persistent-convert-list-to-object > proposed-value)) > (t >
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 25 Jan 2018 03:09:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 24 22:09:37 2018 Received: from localhost ([127.0.0.1]:41596 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eeXuz-0007WV-Ev for submit <at> debbugs.gnu.org; Wed, 24 Jan 2018 22:09:37 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:51109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eeXuy-0007WN-1x for 29220 <at> debbugs.gnu.org; Wed, 24 Jan 2018 22:09:36 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 2E472BBC27; Thu, 25 Jan 2018 03:09:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1516849775; bh=gCewLv4VajA+OR4FOGKx90V3LYZDwzxt6yq/ihJWeXI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=uGe/ncIwJtbMMhJg2rJMjf4fQjzY58eNh1ILPrSPB2DGhrU+jB7dY+Ge7YQaZiF3e 2jLgYbOyakzgenM0bwBdtLkoGeMBQY21eboUC/kUpk/0GCZeNiJMOz1743AfCOXS6R turKlnhZysg/J0fYjyVjzsFVZ7UeQhLJuSJkDCpg= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <87wp2024w2.fsf@HIDDEN> <878tcnxe0u.fsf@HIDDEN> Date: Wed, 24 Jan 2018 19:09:34 -0800 In-Reply-To: <878tcnxe0u.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Wed, 24 Jan 2018 20:17:21 +0100") Message-ID: <877es63a8h.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > Hi Eric, > > pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > >> Eric Abrahamsen <eric@HIDDEN> writes: >> >>> On 12/05/17 14:02 PM, Stefan Monnier wrote: >>>>> Would it be too "heavy" to just copy the object and modify the copy? >>>> >>>> No, that's fine as well. >>> >>> Okay, the attached appears to work just fine. Pierre's recipe passes, >>> as do all the tests in eieio-test-persist. Pierre, maybe you could eval >>> this quickly and make sure that pcache works correctly again? >> >> Yes all my receipes tests are running fine. Many thanks. >> I've tested also with the unicode-fonts package >> (http://github.com/rolandwalker/unicode-fonts) from melpa. >> Everything seem to work fine. >> >>> >>> If this is okay, it's going into emacs-26, right? >>> > Sorry if I missed it but I think you didn't push this fix into the > emacs-26 branch, did you ? No, I haven't! Work has risen up and swallowed me; I'm also a little worried about the potential for creating new screw-ups here. I'll try to finish testing and the fixup branch this weekend...
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 24 Jan 2018 19:18:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 24 14:18:18 2018 Received: from localhost ([127.0.0.1]:41291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eeQYr-0006V8-Sr for submit <at> debbugs.gnu.org; Wed, 24 Jan 2018 14:18:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59697) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYq-0006Uv-0V for submit <at> debbugs.gnu.org; Wed, 24 Jan 2018 14:18:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYj-00046W-VQ for submit <at> debbugs.gnu.org; Wed, 24 Jan 2018 14:18:10 -0500 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,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38968) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYj-00046G-Rl for submit <at> debbugs.gnu.org; Wed, 24 Jan 2018 14:18:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50665) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYi-0003Tz-J2 for bug-gnu-emacs@HIDDEN; Wed, 24 Jan 2018 14:18:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYe-00043N-93 for bug-gnu-emacs@HIDDEN; Wed, 24 Jan 2018 14:18:08 -0500 Received: from [195.159.176.226] (port=57751 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQYe-00042N-1L for bug-gnu-emacs@HIDDEN; Wed, 24 Jan 2018 14:18:04 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eeQWH-0000kW-Nw for bug-gnu-emacs@HIDDEN; Wed, 24 Jan 2018 20:15:37 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Wed, 24 Jan 2018 20:17:21 +0100 Lines: 25 Message-ID: <878tcnxe0u.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <87wp2024w2.fsf@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:sNPFUj2s/TAU2rrdTumIIHQfaJE= 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.8 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.8 (----) Hi Eric, pierre.techoueyres@HIDDEN (Pierre Téchoueyres) writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 12/05/17 14:02 PM, Stefan Monnier wrote: >>>> Would it be too "heavy" to just copy the object and modify the copy? >>> >>> No, that's fine as well. >> >> Okay, the attached appears to work just fine. Pierre's recipe passes, >> as do all the tests in eieio-test-persist. Pierre, maybe you could eval >> this quickly and make sure that pcache works correctly again? > > Yes all my receipes tests are running fine. Many thanks. > I've tested also with the unicode-fonts package > (http://github.com/rolandwalker/unicode-fonts) from melpa. > Everything seem to work fine. > >> >> If this is okay, it's going into emacs-26, right? >> Sorry if I missed it but I think you didn't push this fix into the emacs-26 branch, did you ?
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 Dec 2017 18:46:48 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 28 13:46:48 2017 Received: from localhost ([127.0.0.1]:55458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eUdCa-0005Pe-H8 for submit <at> debbugs.gnu.org; Thu, 28 Dec 2017 13:46:48 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:51410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eUdCX-0005PV-7z for 29220 <at> debbugs.gnu.org; Thu, 28 Dec 2017 13:46:45 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 46370C0733; Thu, 28 Dec 2017 18:46:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1514486804; bh=0ThlrxCdb62L2K5pT1TD1Ntx25JQ2IGKeR9HJ1Ugr+s=; h=From:To:Cc:Subject:References:Date:From; b=s09VIcAcWMCcqcFR0sXwBRlyMA2wSLC4Sq7F/mYbeNr09GW2FdRTMgZxq1mROd8Zj Lxg08Fb0EkgSRqrYbVucXe1JvVL8sMO+XracVlRZEB3qS4QX2z0OOzWZWSKVDuWUpF 2NGQKAC6oigpUPX2VuJH8EwmrXCLQqtMQq6UMEAY= From: Eric Abrahamsen <eric@HIDDEN> To: Eric Ludlam <ericludlam@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> <87bmit45je.fsf@HIDDEN> <jwvvah1f7go.fsf-monnier+emacsbugs@HIDDEN> <87tvwk253j.fsf@HIDDEN> <ad2b349f-8e4f-8784-1bb3-03fdeb0b21dd@HIDDEN> Date: Thu, 28 Dec 2017 10:44:45 -0800 Message-ID: <87wp16y9nm.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: "Eric M. Ludlam" <zappo@HIDDEN>, 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/23/17 21:18 PM, Eric Ludlam wrote: > On 12/20/2017 09:21 PM, Eric Abrahamsen wrote: >> On 12/20/17 15:54 PM, Stefan Monnier wrote: >>>> As for the quoting thing, my current idea is to not add quotes to lists >>>> when writing, then strip quotes on restore, if the car of the list is a >>>> valid class symbol then try to restore an object, but wrap in >>>> `condition-case' and return the plain list if an error is raised. >>> I recommend you ask the opinion of Eric M. Ludlam <zappo@HIDDEN> >>> (the original author of that code). >> Okay! >> >> Eric, I'm dragging you into this because we're having a little trouble >> with the eieio persistence functionality. Sorry... >> >> In Emacs 26 objects are implemented using records, which (long story >> short) means that their representations from `prin1' are no longer >> reconstructable using `read', which is causing problems for >> eieio-persistent. > Hey, thanks for checking in. > > I know a bunch of eieio was re-written to be faster and better, but I > haven't been keeping up with the latest version.=C2=A0 For mysterious > reasons, Ubuntu is still on Emacs 24 so I'm still on the old stuff. >> The current persistence read/write process basically only handles >> top-level slot values. It looks at the value, does one of the following: >> >> 1. Writes an object using `object-write' >> 2. Writes a list of objects using a "list" plus `object-write' >> 3. Quotes a list and prints it >> 4. Prints value directly >> >> If objects are inside lists, hash tables, or vectors (or anything else), >> they are not written using `object-write'. This used to not be a problem >> because their `prin1' representation was still readable. >> >> This is no longer the case, which leads to failure for libraries that >> put objects inside other data structures. > > The original purpose of object-write on eieio objects was to prevent > circular references which kept popping up in EDE and SemanticDB. The first > version just dumped the old raw vector.=C2=A0 That's one of the reasons w= hy it > doesn't try to be pedantic about carefully going down through every list. > It only had to deal with EDE and Semantic classes. Thanks for the response! It's good to have a bit of background. Would you mind pointing me in the direction of some tests or other code that I can use to make sure the temporary fix works for CEDET and family? It seems likely that what will happen for Emacs 26 is that I'll do a limited set of fixes to ensure that no major packages break, and then try to come up with a more comprehensive solution for Emacs 27. Right now I've got tests aimed at pcache and the Gnus registry, but I'd like to make sure EDE and Semantic work correctly, as well. >> My feeling is that both the write and restore process should walk the >> entire tree of whatever object is being written. The write process >> should turn objects into list representations, nothing more. The restore >> process should restore objects, and strip strings of properties (I've >> got the outline of this in bug#29541), and nothing more. If the restore >> process was destructive, it would save some consing. > I think that makes sense.=C2=A0 I was definitely taking short-cuts in let= ting > lists write themselves b/c I was lazy.=C2=A0 Based on what you describe, = it > probably makes sense to walk entire structures and write each step. > > It might be even better if that was a core Emacs feature, and not somethi= ng > specific to a simple eieio utility base class.=C2=A0 :) Coincidentally, John Wiegley posted a possible generic structure-walking function (called "traverse") to this list not too long ago. [...] > For example, you might say that any list that starts with a class > symbol is an > object and everything else is data.=C2=A0 Of course, then you can't have a > list of > class symbols, and definitely need to avoid having classes with simple > names. [...] > Don't forget that objects can execute code in their 'object-write' to > convert > an inconvenient data structure into something simple, and in the construc= tor > convert it back again. > > For example, have a slot with the hash table be non-savable (no :initarg). > In the object-write, convert the hash table into a simple flat list on > a different slot with an :initarg. > > On load, copy the content of the :initarg slot back into your hash table. > > In this way, you may be able to have the 2 examples avoid having any > problems > with the current system in E26. > > Not that I don't know what the real issues are.=C2=A0 I'm just tossing so= me > options out > there. Okay, thanks very much for these responses. I've got some ideas about the full fix, and will work on those in a separate bug report. Thanks again, Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 24 Dec 2017 02:18:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 23 21:18:56 2017 Received: from localhost ([127.0.0.1]:49760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eSvsN-0004Dk-Pl for submit <at> debbugs.gnu.org; Sat, 23 Dec 2017 21:18:56 -0500 Received: from mail-qk0-f169.google.com ([209.85.220.169]:42310) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ericludlam@HIDDEN>) id 1eSvsM-0004DX-Bt for 29220 <at> debbugs.gnu.org; Sat, 23 Dec 2017 21:18:54 -0500 Received: by mail-qk0-f169.google.com with SMTP id d202so14300886qkc.9 for <29220 <at> debbugs.gnu.org>; Sat, 23 Dec 2017 18:18:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=+TGvD4smHBhOd84qKAjl5Mwb3nEqJrFEFUZAUTGHbPE=; b=nWqaaJcgWVMAvP7ydGyWuQGO/G7CgzjkB7d0LrSnUzUHbbwFqVUotX/8+YjRh7Fgw4 3uh1dsK0De27maqS3NBEmtvjuaZP0QTx3+AM6qnuvna+8xOFu7Np8hbxwghEU1f5N725 Kc+QKoooDbY7w3QxLY04KQpLNi0zFtyeO9jljPg4GAoeA8ewXIUcPOxnW/hP+BJbHsgl 0zQpMuYhr+dHteR0l1b+rvZuBB4xPGS6yToNOLFeC3mn7IJjIV7SnfK42RLJT2lqT2Ur 9UbmuO3Bok2ipF8gv9hkLNd7hENfuGuPLnvLTizCoY14HnqqwFlzf8v0C5XaSOqrGccc 7Csw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=+TGvD4smHBhOd84qKAjl5Mwb3nEqJrFEFUZAUTGHbPE=; b=c9SWaFtPbSXv5YZxiXgpf2opJvSt9nEL5n5aIL9EsFpbfBZoehfqEAj1Gtx06AjGFx dmIXJdiWej17tUG9LVgI+TNmpKmDS2FpFvARxh3HhEE8Xng0NoX9RdUNR2Tvbekfr7YQ T9kxTlFQEwdQm9fsrFRrOyONaZhRiwZNHuJ7d+4gJGePgaFvN/9BukgoqZ/HzfNnLfnK fZ4lwm8m4T9CWtKhM0qCQXEKqE/B9Umymaokvlh/zg6rws+/hqwF4HP6AlpY3t4Snld4 PdzT1R0JWnFtzwtZe+9GpHn7mA6ADz8i9ORJrigfqc9Ybs2b4j1ozZw+DYmnjncgCCCN Jkiw== X-Gm-Message-State: AKGB3mIi/v7VtIQsENoCVvdTHZCfLcZsFzGJNdVIN+eEPeTS/IoGfCLD 7MZ57+X01CQFLTstu55FYec= X-Google-Smtp-Source: ACJfBotdTjtxoJWY8KZS4JdBlN31YqvxTrvUpHOaFL6CfCSvkSHsj9ghQH/N08xC5BBhxHjFu0mmUg== X-Received: by 10.55.73.13 with SMTP id w13mr24064643qka.201.1514081928437; Sat, 23 Dec 2017 18:18:48 -0800 (PST) Received: from [192.168.1.202] (pool-74-104-122-152.bstnma.fios.verizon.net. [74.104.122.152]) by smtp.googlemail.com with ESMTPSA id f4sm11323974qtj.21.2017.12.23.18.18.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 Dec 2017 18:18:46 -0800 (PST) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. To: Eric Abrahamsen <eric@HIDDEN>, Stefan Monnier <monnier@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> <87bmit45je.fsf@HIDDEN> <jwvvah1f7go.fsf-monnier+emacsbugs@HIDDEN> <87tvwk253j.fsf@HIDDEN> From: Eric Ludlam <ericludlam@HIDDEN> Message-ID: <ad2b349f-8e4f-8784-1bb3-03fdeb0b21dd@HIDDEN> Date: Sat, 23 Dec 2017 21:18:44 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <87tvwk253j.fsf@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, "Eric M. Ludlam" <zappo@HIDDEN>, =?UTF-8?Q?Pierre_T=c3=a9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) On 12/20/2017 09:21 PM, Eric Abrahamsen wrote: > On 12/20/17 15:54 PM, Stefan Monnier wrote: >>> As for the quoting thing, my current idea is to not add quotes to lists >>> when writing, then strip quotes on restore, if the car of the list is a >>> valid class symbol then try to restore an object, but wrap in >>> `condition-case' and return the plain list if an error is raised. >> I recommend you ask the opinion of Eric M. Ludlam <zappo@HIDDEN> >> (the original author of that code). > Okay! > > Eric, I'm dragging you into this because we're having a little trouble > with the eieio persistence functionality. Sorry... > > In Emacs 26 objects are implemented using records, which (long story > short) means that their representations from `prin1' are no longer > reconstructable using `read', which is causing problems for > eieio-persistent. Hey, thanks for checking in. I know a bunch of eieio was re-written to be faster and better, but I haven't been keeping up with the latest version. For mysterious reasons, Ubuntu is still on Emacs 24 so I'm still on the old stuff. > The current persistence read/write process basically only handles > top-level slot values. It looks at the value, does one of the following: > > 1. Writes an object using `object-write' > 2. Writes a list of objects using a "list" plus `object-write' > 3. Quotes a list and prints it > 4. Prints value directly > > If objects are inside lists, hash tables, or vectors (or anything else), > they are not written using `object-write'. This used to not be a problem > because their `prin1' representation was still readable. > > This is no longer the case, which leads to failure for libraries that > put objects inside other data structures. The original purpose of object-write on eieio objects was to prevent circular references which kept popping up in EDE and SemanticDB. The first version just dumped the old raw vector. That's one of the reasons why it doesn't try to be pedantic about carefully going down through every list. It only had to deal with EDE and Semantic classes. > My feeling is that both the write and restore process should walk the > entire tree of whatever object is being written. The write process > should turn objects into list representations, nothing more. The restore > process should restore objects, and strip strings of properties (I've > got the outline of this in bug#29541), and nothing more. If the restore > process was destructive, it would save some consing. I think that makes sense. I was definitely taking short-cuts in letting lists write themselves b/c I was lazy. Based on what you describe, it probably makes sense to walk entire structures and write each step. It might be even better if that was a core Emacs feature, and not something specific to a simple eieio utility base class. :) > Three items for consideration: > > 1. What do you think about the above proposal? Have you had some ideas in > this direction already? > 2. Stefan pointed out that, if we don't quote lists, there's a potential > ambiguity during restore time between lists that are lists, and lists > that represent an object. Do you have any thoughts about this? Objects, as a general rule, need to execute code of some sort to instantiate, link themselves into a system (like semanticdb), or generate transient data for slots that are derived (and not saved). Thus, each layer in the save file needs some way to mark themselves as to what they are so the restore process can either instantiate or just use the raw data. From the quote / not quote point of view, you could use any kind of keys you want to indicate what is at each layer. For example, you might say that any list that starts with a class symbol is an object and everything else is data. Of course, then you can't have a list of class symbols, and definitely need to avoid having classes with simple names. I used lists that could be read with 'read', but you could use xml or all sorts of other save formats to ensure you know exactly what's going on. I have a vague recollection of writing an xml export for eieio, but I don't think I used it for anything. > 3. Emacs 26 is looming, and our current solutions either break pcache, > or break the Gnus registry. We might want to do a stop-gap for Emacs > 26, and a more complete fix for master/27. Makes sense to me. Don't forget that objects can execute code in their 'object-write' to convert an inconvenient data structure into something simple, and in the constructor convert it back again. For example, have a slot with the hash table be non-savable (no :initarg). In the object-write, convert the hash table into a simple flat list on a different slot with an :initarg. On load, copy the content of the :initarg slot back into your hash table. In this way, you may be able to have the 2 examples avoid having any problems with the current system in E26. Not that I don't know what the real issues are. I'm just tossing some options out there. Good Luck Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Debbugs Internal Request <help-debbugs@HIDDEN>
to internal_control <at> debbugs.gnu.org
.
Full text available.Noam Postavsky <npostavs@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Noam Postavsky <npostavs@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 21 Dec 2017 02:21:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 20 21:21:40 2017 Received: from localhost ([127.0.0.1]:45040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eRqUN-00024X-WD for submit <at> debbugs.gnu.org; Wed, 20 Dec 2017 21:21:40 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:34675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eRqUM-00024O-BW for 29220 <at> debbugs.gnu.org; Wed, 20 Dec 2017 21:21:38 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 4AC72C06C3; Thu, 21 Dec 2017 02:21:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1513822897; bh=OgGtnixCTCDrxEHWVYQNI6mGRlXyJVwRKpE2PrpfsA0=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=nV/ups/CfNMcVwaVvj0o69gaeQgjDUN8JkVrq04VWQz4/npgEbH7ojo1MkmJqqUvJ T1RA1V8gfrTXnukH6+9wss67EduxWw3td/Qxwg+gT5y+CfbTr9vZAAC8qDfr8KN2bm /ru2wE/OXg0zOyZ6MyJAkNHBc8e2G9ZfxYl2tF/I= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> <87bmit45je.fsf@HIDDEN> <jwvvah1f7go.fsf-monnier+emacsbugs@HIDDEN> Date: Wed, 20 Dec 2017 18:21:36 -0800 In-Reply-To: <jwvvah1f7go.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Wed, 20 Dec 2017 15:54:26 -0500") Message-ID: <87tvwk253j.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, "Eric M. Ludlam" <zappo@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/20/17 15:54 PM, Stefan Monnier wrote: >> As for the quoting thing, my current idea is to not add quotes to lists >> when writing, then strip quotes on restore, if the car of the list is a >> valid class symbol then try to restore an object, but wrap in >> `condition-case' and return the plain list if an error is raised. > > I recommend you ask the opinion of Eric M. Ludlam <zappo@HIDDEN> > (the original author of that code). Okay! Eric, I'm dragging you into this because we're having a little trouble with the eieio persistence functionality. Sorry... In Emacs 26 objects are implemented using records, which (long story short) means that their representations from `prin1' are no longer reconstructable using `read', which is causing problems for eieio-persistent. The current persistence read/write process basically only handles top-level slot values. It looks at the value, does one of the following: 1. Writes an object using `object-write' 2. Writes a list of objects using a "list" plus `object-write' 3. Quotes a list and prints it 4. Prints value directly If objects are inside lists, hash tables, or vectors (or anything else), they are not written using `object-write'. This used to not be a problem because their `prin1' representation was still readable. This is no longer the case, which leads to failure for libraries that put objects inside other data structures. In this bug report I tried to do a simple fix for pcache, by looking for objects inside hash tables and vectors, and using `object-write' for them, too. That works (though it only goes one layer deeper), but it caused new bugs in the Gnus registry, because now lists inside hash tables are quoted, but not un-quoted during the restore process. The persistence process is fundamentally only set up to do single-layer processing of objects and their slot values. Probably, people are going to continue to use eieio-persistent for more complex things (it's only luck that I didn't run into trouble with EBDB), and I think eieio-persistent should be able to handle whatever gets thrown at it. My feeling is that both the write and restore process should walk the entire tree of whatever object is being written. The write process should turn objects into list representations, nothing more. The restore process should restore objects, and strip strings of properties (I've got the outline of this in bug#29541), and nothing more. If the restore process was destructive, it would save some consing. Three items for consideration: 1. What do you think about the above proposal? Have you had some ideas in this direction already? 2. Stefan pointed out that, if we don't quote lists, there's a potential ambiguity during restore time between lists that are lists, and lists that represent an object. Do you have any thoughts about this? 3. Emacs 26 is looming, and our current solutions either break pcache, or break the Gnus registry. We might want to do a stop-gap for Emacs 26, and a more complete fix for master/27. Sorry if I've over-explained, I'm using this opportunity to continue thinking about the problem. Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 20 Dec 2017 20:51:41 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 20 15:51:41 2017 Received: from localhost ([127.0.0.1]:44836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eRlL2-0000IM-JR for submit <at> debbugs.gnu.org; Wed, 20 Dec 2017 15:51:40 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:60856) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eRlL1-0000IE-6J for 29220 <at> debbugs.gnu.org; Wed, 20 Dec 2017 15:51:39 -0500 Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id vBKKpcGq006377; Wed, 20 Dec 2017 15:51:38 -0500 Received: by lechazo.home (Postfix, from userid 20848) id 132B960215; Wed, 20 Dec 2017 15:54:26 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvvah1f7go.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> <87bmit45je.fsf@HIDDEN> Date: Wed, 20 Dec 2017 15:54:26 -0500 In-Reply-To: <87bmit45je.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 20 Dec 2017 10:29:09 -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, RV6184=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6184> : inlines <6272> : streams <1773693> : uri <2554570> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.3 (-) > As for the quoting thing, my current idea is to not add quotes to lists > when writing, then strip quotes on restore, if the car of the list is a > valid class symbol then try to restore an object, but wrap in > `condition-case' and return the plain list if an error is raised. I recommend you ask the opinion of Eric M. Ludlam <zappo@HIDDEN> (the original author of that code). > Seems pretty unlikely that someone would write a list that accidentally > happens to restore to a valid object. It should(!) be easy to design the system such that we don't need to make such assumptions. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 20 Dec 2017 18:31:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 20 13:31:17 2017 Received: from localhost ([127.0.0.1]:44709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eRj9A-00018r-P1 for submit <at> debbugs.gnu.org; Wed, 20 Dec 2017 13:31:16 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:52470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eRj98-00018h-DK for 29220 <at> debbugs.gnu.org; Wed, 20 Dec 2017 13:31:14 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 88D5DBFD7F; Wed, 20 Dec 2017 18:31:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1513794673; bh=brFet5qQcSKEhJQSB0GEjQdV7biOi4mGeVnHsOg4a7o=; h=From:To:Cc:Subject:References:Date:From; b=ZDpZSJP8H3NGf1l7VFMrLdoO3LFHn74Q/tSaX9q8j+8iP14fb/Fz4gVdZ1bqLp2lz vK5eEbCKY5CK/moQeUMIa4RMPj8Ua9tQ/LTBfdu/fUXD9RGsSeD7u/+qtimq19KPS8 if8T/m38n6VY6uy1cNNEBAusx3atlGp/xrqjf14g= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> Date: Wed, 20 Dec 2017 10:29:09 -0800 Message-ID: <87bmit45je.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) Stefan Monnier <monnier@HIDDEN> writes: >> My feeling is that we could just remove the addition of the quote >> character in `eieio-list-prin1'. > > Maybe it's needed to distinguish the printed value of "a list that > starts with the symbol `my-class`" from "an object of class` my-class`"? Yup. Clearly this has the potential to turn into a bigger mess. I just pushed a branch to the repo called "fix/eieio-persistent", based off emacs-26. I modified Pierre's patch to add more (failing) tests, and then added another commit which fixes the easy error in handling the return value of `eieio-persistent-slot-type-is-class-p'. My feeling is that the process *ought* to be able to handle all the failing test cases. But even if the issue of quoting is fixed, not all the tests will pass, as the write/restore process doesn't descend into lists. As for the quoting thing, my current idea is to not add quotes to lists when writing, then strip quotes on restore, if the car of the list is a valid class symbol then try to restore an object, but wrap in `condition-case' and return the plain list if an error is raised. Seems pretty unlikely that someone would write a list that accidentally happens to restore to a valid object. Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 18 Dec 2017 21:38:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 18 16:38:34 2017 Received: from localhost ([127.0.0.1]:40910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eR37K-0005fW-97 for submit <at> debbugs.gnu.org; Mon, 18 Dec 2017 16:38:34 -0500 Received: from pmta21.teksavvy.com ([76.10.157.36]:33090) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eR37I-0005fH-OZ for 29220 <at> debbugs.gnu.org; Mon, 18 Dec 2017 16:38:33 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2FeDQD9Mzha/1WCxEVdHAEBAQQBAQoBA?= =?us-ascii?q?YM+gVqDbItgjhUBgX8UIAGZAQqFNQQCAoUGRBQBAQEBAQEBAQEDaCiFJQEEAVY?= =?us-ascii?q?jBQsLNBIUGA0kijUIrWKKagEBAQcCASWDbohDNosVBZMvkA2XKQEYiW41hzqWa?= =?us-ascii?q?BCBOzYjgU8yGggwPIIqhHMjik4BAQE?= X-IPAS-Result: =?us-ascii?q?A2FeDQD9Mzha/1WCxEVdHAEBAQQBAQoBAYM+gVqDbItgjhU?= =?us-ascii?q?BgX8UIAGZAQqFNQQCAoUGRBQBAQEBAQEBAQEDaCiFJQEEAVYjBQsLNBIUGA0ki?= =?us-ascii?q?jUIrWKKagEBAQcCASWDbohDNosVBZMvkA2XKQEYiW41hzqWaBCBOzYjgU8yGgg?= =?us-ascii?q?wPIIqhHMjik4BAQE?= X-IronPort-AV: E=Sophos;i="5.45,423,1508817600"; d="scan'208";a="14252574" Received: from 69-196-130-85.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([69.196.130.85]) by smtp.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2017 16:38:26 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 8664DAE353; Mon, 18 Dec 2017 16:38:26 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvefnren1n.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> <87k1xjke54.fsf@HIDDEN> Date: Mon, 18 Dec 2017 16:38:26 -0500 In-Reply-To: <87k1xjke54.fsf@HIDDEN> (Eric Abrahamsen's message of "Mon, 18 Dec 2017 11:52:07 -0800") 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: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.3 (/) > My feeling is that we could just remove the addition of the quote > character in `eieio-list-prin1'. Maybe it's needed to distinguish the printed value of "a list that starts with the symbol `my-class`" from "an object of class` my-class`"? Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 18 Dec 2017 19:54:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 18 14:54:06 2017 Received: from localhost ([127.0.0.1]:40861 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eR1UE-00032N-Kv for submit <at> debbugs.gnu.org; Mon, 18 Dec 2017 14:54:06 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:60645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eR1UC-00032F-Or for 29220 <at> debbugs.gnu.org; Mon, 18 Dec 2017 14:54:05 -0500 Received: from localhost (96-89-141-238-static.hfc.comcastbusiness.net [96.89.141.238]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 06C7CC08C2; Mon, 18 Dec 2017 19:54:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1513626843; bh=o+Xqh4Muf4HwJiubSa1biS2T9Q4d5DslBlZ/vFIBOBw=; h=From:To:Cc:Subject:References:Date:From; b=YpXXuYj1uLcR3oEd/sKgsLMb4nDPtfsSeLZqlVVkLEbhsxWrknfEr2QXcAYF3Af7T tvXVpavUM4m5EBgxeBmdumluS8RU6iwjFUL+71r4qhe08q5Pbn/U3IkeLpUgDbykrM gYpQzkznahQEYGQumLEoz7TdjoXHMy1cL0hn5/9Y= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> Date: Mon, 18 Dec 2017 11:52:07 -0800 Message-ID: <87k1xjke54.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/15/17 23:26 PM, Pierre T=C3=A9choueyres wrote: > Of course with the good example and patch this will be more obvious. And there's another problem here, manifesting in the Gnus registry. Here's the issue: (setq test-hash (make-hash-table :test #'equal)) (puthash "<msg@id>" '((sender "me")) test-hash) (gethash "<msg@id>" test-hash) (let (eval-expression-print-length) (prin1 test-hash)) =3D> Data is correct: ("<msg@id>" ((sender "me"))) (let (eval-expression-print-length) (eieio-override-prin1 test-hash)) =3D> Data is incorrect: ("<msg@id>" (quote ((sender "me")))) The basic problem is that the code is really only set up to do single-layer reading/writing, and nesting the process runs into difficulties. Hash table values are re-written with: (maphash (lambda (key val) (setf (gethash key copy) (read (with-output-to-string (eieio-override-prin1 val))))) copy) If VAL is a list, it ends up in `eieio-list-prin1', which wraps it in a call to `quote'. The read process looks for these calls to `quote' and removes them, but it only does it for top-level slot values. If the data is inside something else (hash table values, in this case), the `quote' calls remain in the code. I'd really like to simplify this whole process (it should just walk the whole tree and convert objects, nothing else -- why write quotes only to delete them on read?) but in the meantime, I hope we can get a minimum viable fix in for 26. My feeling is that we could just remove the addition of the quote character in `eieio-list-prin1'. The eieio-persistent load process only `read's, doesn't `eval', so in theory the quote is superfluous. The check for its presence would stay in. Any thoughts on this? Obviously I will test better than I have been... Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 16 Dec 2017 23:42:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 16 18:42:55 2017 Received: from localhost ([127.0.0.1]:37833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eQM6X-0006yj-Bi for submit <at> debbugs.gnu.org; Sat, 16 Dec 2017 18:42:55 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:42411) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eQM6V-0006yb-4p for 29220 <at> debbugs.gnu.org; Sat, 16 Dec 2017 18:42:51 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 872FDBBC94; Sat, 16 Dec 2017 23:42:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1513467769; bh=sCaiAzyUn0SUcB48ee4Odyr6gtS42rD832R+fXVD4zA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=eX8JoMnKLTkYKrfhsBi+xunTYq/98EBZIkO3aANsCbdwqngnJi+Ks3PkSP3RcnkMg v56oaS4zFvEsFdDCawK1GFSmSlztl3FFXS2ZDtHKu0jNiUZpuUPSK0++hsQkkDEVUF 7wiF/ZsAyc5On8YIv67SmRWXNZ9AIjy6ThqKtwgk= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> <87wp1nsk52.fsf@HIDDEN> Date: Sat, 16 Dec 2017 15:42:48 -0800 In-Reply-To: <87wp1nsk52.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Fri, 15 Dec 2017 23:26:17 +0100") Message-ID: <87y3m2jl3b.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 12/15/17 23:26 PM, Pierre T=C3=A9choueyres wrote: > Of course with the good example and patch this will be more obvious. Oh bother, this is my fault, in c59ddb2120. The attached diff fixes this, and I guess should be put in. In #29541 I was hoping to reduce some of this complexity and make the code easier to reason about, but those changes would go into master, and this needs to be fixed in 26. More tests are definitely in order! --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=quickfix.diff diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 0241f27395..a37cf7a1b3 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -349,7 +349,7 @@ eieio-persistent-validate/fix-slot-value (seq-some (lambda (elt) (child-of-class-p (car proposed-value) elt)) - classtype)) + (if (consp classtype) classtype (list classtype)))) (eieio-persistent-convert-list-to-object proposed-value)) (t --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 15 Dec 2017 22:26:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 15 17:26:26 2017 Received: from localhost ([127.0.0.1]:36207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ePyR0-0003hs-1k for submit <at> debbugs.gnu.org; Fri, 15 Dec 2017 17:26:26 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:17318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1ePyQy-0003hi-5S for 29220 <at> debbugs.gnu.org; Fri, 15 Dec 2017 17:26:24 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 68F0719F553; Fri, 15 Dec 2017 23:26:17 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> <87mv2jkaap.fsf@HIDDEN> Date: Fri, 15 Dec 2017 23:26:17 +0100 In-Reply-To: <87mv2jkaap.fsf@HIDDEN> ("Pierre \=\?utf-8\?Q\?T\=C3\=A9choueyres\=22's\?\= message of "Fri, 15 Dec 2017 21:26:06 +0100") Message-ID: <87wp1nsk52.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Of course with the good example and patch this will be more obvious. --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=eieio-fail-1.el Content-Description: Simple tests eieio-persistent class ;;; -*- lexical-binding: t -*- (require 'eieio) (require 'eieio-base) (defclass person () ((name :type string :initarg :name))) (defclass classy (eieio-persistent) ((teacher :type person :initarg :teacher) (students :initarg :students :initform (make-hash-table :test 'equal)))) (let* ((jane (make-instance 'person :name "Jane")) (bob (make-instance 'person :name "Bob")) (class (make-instance 'classy :teacher jane :file (concat "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slot-value class 'students)) (eieio-persistent-save class (concat "classy-" emacs-version ".eieio")) (eieio-persistent-read (concat "classy-" emacs-version ".eieio") 'classy t)) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-test-for-eieio-persistence-checks.patch Content-Description: Tests for eieio-persistent class From 26341ec498e4ffdea1a3c8173c3831c01a745bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> Date: Fri, 15 Dec 2017 21:42:21 +0100 Subject: [PATCH] Add test for eieio persistence checks * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el: (hash-equal): New comparaison test for hash-tables. (persist-test-save-and-compare): specialize test for hash-tables. (eieio-test-persist-hash-and-objects): New test. --- .../emacs-lisp/eieio-tests/eieio-test-persist.el | 58 +++++++++++++++++++--- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el index 738711c9c8..cfc51e42a2 100644 --- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el +++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el @@ -1,4 +1,4 @@ -;;; eieio-persist.el --- Tests for eieio-persistent class +;;; eieio-test-persist.el --- Tests for eieio-persistent class ;; Copyright (C) 2011-2017 Free Software Foundation, Inc. @@ -40,6 +40,17 @@ eieio--attribute-to-initarg (car tuple) nil))) +(defun hash-equal (hash1 hash2) + "Compare two hash tables to see whether they are equal." + (and (= (hash-table-count hash1) + (hash-table-count hash2)) + (catch 'flag + (maphash (lambda (x y) + (or (equal (gethash x hash2) y) + (throw 'flag nil))) + hash1) + (throw 'flag t)))) + (defun persist-test-save-and-compare (original) "Compare the object ORIGINAL against the one read fromdisk." @@ -49,8 +60,8 @@ persist-test-save-and-compare (class (eieio-object-class original)) (fromdisk (eieio-persistent-read file class)) (cv (cl--find-class class)) - (slots (eieio--class-slots cv)) - ) + (slots (eieio--class-slots cv))) + (unless (object-of-class-p fromdisk class) (error "Persistent class %S != original class %S" (eieio-object-class fromdisk) @@ -62,17 +73,24 @@ persist-test-save-and-compare (origvalue (eieio-oref original oneslot)) (fromdiskvalue (eieio-oref fromdisk oneslot)) (initarg-p (eieio--attribute-to-initarg - (cl--find-class class) oneslot)) - ) + (cl--find-class class) oneslot))) (if initarg-p - (unless (equal origvalue fromdiskvalue) + (unless + (cond ((and (hash-table-p origvalue) (hash-table-p fromdiskvalue)) + (hash-equal origvalue fromdiskvalue)) + (t (equal origvalue fromdiskvalue))) (error "Slot %S Original Val %S != Persistent Val %S" oneslot origvalue fromdiskvalue)) ;; Else !initarg-p - (unless (equal (cl--slot-descriptor-initform slot) fromdiskvalue) + (let ((origval (cl--slot-descriptor-initform slot)) + (diskval fromdiskvalue)) + (unless + (cond ((and (hash-table-p origval) (hash-table-p diskval)) + (hash-equal origval diskval)) + (t (equal origval diskval))) (error "Slot %S Persistent Val %S != Default Value %S" - oneslot fromdiskvalue (cl--slot-descriptor-initform slot)))) + oneslot diskval origvalue)))) )))) ;;; Simple Case @@ -238,4 +256,28 @@ persistent-with-objs-list-slot (persist-test-save-and-compare persist-wols) (delete-file (oref persist-wols file)))) +(defclass person () + ((name :type string :initarg :name))) + +(defclass classy (eieio-persistent) + ((teacher + :type person + :initarg :teacher) + (students + :initarg :students :initform (make-hash-table :test 'equal)))) + +;;; Slot with a hash-table another with an non persistent Object +;; +;; see bug#29220 +(ert-deftest eieio-test-persist-hash-and-objects () + (let* ((jane (make-instance 'person :name "Jane")) + (bob (make-instance 'person :name "Bob")) + (class (make-instance 'classy + :teacher jane + :file (concat default-directory "classy-" emacs-version ".eieio")))) + (puthash "Bob" bob (slot-value class 'students)) + (persist-test-save-and-compare class) + (delete-file (oref class file)))) + + ;;; eieio-test-persist.el ends here -- 2.14.3 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 15 Dec 2017 20:26:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 15 15:26:22 2017 Received: from localhost ([127.0.0.1]:36135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ePwYh-0007Xl-Cq for submit <at> debbugs.gnu.org; Fri, 15 Dec 2017 15:26:22 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:25686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1ePwYf-0007Xa-Ed for 29220 <at> debbugs.gnu.org; Fri, 15 Dec 2017 15:26:14 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id E039E19F5BA; Fri, 15 Dec 2017 21:26:06 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> <87wp1rcz21.fsf@HIDDEN> Date: Fri, 15 Dec 2017 21:26:06 +0100 In-Reply-To: <87wp1rcz21.fsf@HIDDEN> (Noam Postavsky's message of "Tue, 12 Dec 2017 18:21:42 -0500") Message-ID: <87mv2jkaap.fsf@HIDDEN> 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: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Noam Postavsky <npostavs@HIDDEN> writes: > tags 29220 fixed > close 29220 26.1 > quit > [...] > > Closing. > Sorry but I not certain everything is working as expected. I'm trying to add another test to the eieio part (test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el) but when I did try the simple receipt which Eric had posted some times ago I end in the debugger. #+BEGIN_SRC debugger Debugger entered--Lisp error: (wrong-type-argument sequencep person) mapc(#f(compiled-function (elt) #<bytecode 0x237e645>) person) seq-do(#f(compiled-function (elt) #<bytecode 0x237e645>) person) seq-some(#f(compiled-function (elt) #<bytecode 0x237e299>) person) eieio-persistent-validate/fix-slot-value(#s(eieio--class :name classy :do= cstring nil :parents (#s(eieio--class :name eieio-persistent :docstring "Th= is special class enables persistence through save files\nUse the `object-sa= ve' method to write this object to disk. The save\nformat is Emacs Lisp co= de which calls the constructor for the saved\nobject. For this reason, onl= y slots which do not have an `:initarg'\nspecified will not be saved." :par= ents nil :slots [#s(cl-slot-descriptor :name file :initform unbound :type s= tring :props ((:documentation . "The save file for this persistent object.\= nThis must be a string, and must be specified when the new object is\ninsta= ntiated.")))] :index-table #<hash-table eq 1/65 0x129c671> :children (class= y pcache-repository) :initarg-tuples ((:file . file)) :class-slots [#s(cl-s= lot-descriptor :name do-backups :initform t :type boolean :props ((:documen= tation . "Saving this object should make backup files.\nSetting to nil will= mean no backups are made."))) #s(cl-slot-descriptor :name file-header-line= :initform ";; EIEIO PERSISTENT OBJECT" :type string :props ((:documentatio= n . "Header line for the save file.\nThis is used with the `object-write' m= ethod."))) #s(cl-slot-descriptor :name extension :initform ".eieio" :type s= tring :props ((:documentation . "Extension of files saved by this object.\n= Enables auto-choosing nice file names based on name.")))] :class-allocation= -values [t ";; EIEIO PERSISTENT OBJECT" ".eieio"] :default-object-cache #<e= ieio-persistent eieio-persistent> :options (:custom-groups nil :documentati= on "This special class enables persistence through save files\nUse the `obj= ect-save' method to write this object to disk. The save\nformat is Emacs L= isp code which calls the constructor for the saved\nobject. For this reaso= n, only slots which do not have an `:initarg'\nspecified will not be saved.= " :abstract t))) :slots [#s(cl-slot-descriptor :name file :initform unbound= :type string :props ((:documentation . "The save file for this persistent = object.\nThis must be a string, and must be specified when the new object i= s\ninstantiated."))) #s(cl-slot-descriptor :name teacher :initform unbound = :type person :props nil) #s(cl-slot-descriptor :name students :initform (ma= ke-hash-table) :type t :props nil)] :index-table #<hash-table eq 3/65 0x14d= 45a5> :children nil :initarg-tuples ((:file . file) (:teacher . teacher) (:= students . students)) :class-slots [#s(cl-slot-descriptor :name extension := initform ".eieio" :type string :props ((:documentation . "Extension of file= s saved by this object.\nEnables auto-choosing nice file names based on nam= e."))) #s(cl-slot-descriptor :name file-header-line :initform ";; EIEIO PER= SISTENT OBJECT" :type string :props ((:documentation . "Header line for the= save file.\nThis is used with the `object-write' method."))) #s(cl-slot-de= scriptor :name do-backups :initform t :type boolean :props ((:documentation= . "Saving this object should make backup files.\nSetting to nil will mean = no backups are made.")))] :class-allocation-values [".eieio" ";; EIEIO PERS= ISTENT OBJECT" t] :default-object-cache #<classy classy> :options (:custom-= groups nil)) teacher (person "person" :name "Jane")) eieio-persistent-convert-list-to-object((classy "classy" :file "classy-26= .0.90.eieio" :teacher (person "person" :name "Jane") :students #<hash-table= eql 1/65 0x237e271>)) eieio-persistent-read("classy-26.0.90.eieio" classy t) (let* ((jane (make-instance 'person :name "Jane")) (bob (make-instance 'p= erson :name "Bob")) (class (make-instance 'classy :teacher jane :file (conc= at "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slot-value clas= s 'students)) (eieio-persistent-save class (concat "classy-" emacs-version = ".eieio")) (eieio-persistent-read (concat "classy-" emacs-version ".eieio")= 'classy t)) (progn (let* ((jane (make-instance 'person :name "Jane")) (bob (make-inst= ance 'person :name "Bob")) (class (make-instance 'classy :teacher jane :fil= e (concat "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slot-val= ue class 'students)) (eieio-persistent-save class (concat "classy-" emacs-v= ersion ".eieio")) (eieio-persistent-read (concat "classy-" emacs-version ".= eieio") 'classy t))) eval((progn (let* ((jane (make-instance 'person :name "Jane")) (bob (make= -instance 'person :name "Bob")) (class (make-instance 'classy :teacher jane= :file (concat "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slo= t-value class 'students)) (eieio-persistent-save class (concat "classy-" em= acs-version ".eieio")) (eieio-persistent-read (concat "classy-" emacs-versi= on ".eieio") 'classy t))) t) elisp--eval-last-sexp(nil) eval-last-sexp(nil) funcall-interactively(eval-last-sexp nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) #+END_SRC --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=eieio-fail-1.el Content-Description: simple eieio persistence test ;;; -*- lexical-binding: t -*- (require 'eieio) (require 'eieio-base) (defclass person () ((name :type string :initarg :name))) (defclass classy (eieio-persistent) ((teacher :type person :initarg :teacher) (students :initarg :students :initform (make-hash-table)))) (let* ((jane (make-instance 'person :name "Jane")) (bob (make-instance 'person :name "Bob")) (class (make-instance 'classy :teacher jane :file (concat "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slot-value class 'students)) (eieio-persistent-save class (concat "classy-" emacs-version ".eieio")) (eieio-persistent-read (concat "classy-" emacs-version ".eieio") 'classy t)) --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=eieio-test-persist.el Content-Description: Tests for eieio-persistent class ;;; eieio-test-persist.el --- Tests for eieio-persistent class ;; Copyright (C) 2011-2017 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <eric@HIDDEN> ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: ;; ;; The eieio-persistent base-class provides a vital service, that ;; could be used to accidentally load in malicious code. As such, ;; something as simple as calling eval on the generated code can't be ;; used. These tests exercises various flavors of data that might be ;; in a persistent object, and tries to save/load them. ;;; Code: (require 'eieio) (require 'eieio-base) (require 'ert) (defun eieio--attribute-to-initarg (class attribute) "In CLASS, convert the ATTRIBUTE into the corresponding init argument tag. This is usually a symbol that starts with `:'." (let ((tuple (rassoc attribute (eieio--class-initarg-tuples class)))) (if tuple (car tuple) nil))) (defun hash-equal (hash1 hash2) "Compare two hash tables to see whether they are equal." (and (= (hash-table-count hash1) (hash-table-count hash2)) (catch 'flag (maphash (lambda (x y) (or (equal (gethash x hash2) y) (throw 'flag nil))) hash1) (throw 'flag t)))) (defun persist-test-save-and-compare (original) "Compare the object ORIGINAL against the one read fromdisk." (eieio-persistent-save original) (let* ((file (oref original file)) (class (eieio-object-class original)) (fromdisk (eieio-persistent-read file class)) (cv (cl--find-class class)) (slots (eieio--class-slots cv))) (unless (object-of-class-p fromdisk class) (error "Persistent class %S != original class %S" (eieio-object-class fromdisk) class)) (dotimes (i (length slots)) (let* ((slot (aref slots i)) (oneslot (cl--slot-descriptor-name slot)) (origvalue (eieio-oref original oneslot)) (fromdiskvalue (eieio-oref fromdisk oneslot)) (initarg-p (eieio--attribute-to-initarg (cl--find-class class) oneslot))) (if initarg-p (unless (cond ((and (hash-table-p origvalue) (hash-table-p fromdiskvalue)) (hash-equal origvalue fromdiskvalue)) (t (equal origvalue fromdiskvalue))) (error "Slot %S Original Val %S != Persistent Val %S" oneslot origvalue fromdiskvalue)) ;; Else !initarg-p (let ((origval (cl--slot-descriptor-initform slot)) (diskval fromdiskvalue)) (unless (cond ((and (hash-table-p origval) (hash-table-p diskval)) (hash-equal origval diskval)) (t (equal origval diskval))) (error "Slot %S Persistent Val %S != Default Value %S" oneslot diskval origvalue)))) )))) ;;; Simple Case ;; ;; Simplest case is a mix of slots with and without initargs. (defclass persist-simple (eieio-persistent) ((slot1 :initarg :slot1 :type symbol :initform moose) (slot2 :initarg :slot2 :initform "foo") (slot3 :initform 2)) "A Persistent object with two initializable slots, and one not.") (ert-deftest eieio-test-persist-simple-1 () (let ((persist-simple-1 (persist-simple "simple 1" :slot1 'goose :slot2 "testing" :file (concat default-directory "test-ps1.pt")))) (should persist-simple-1) ;; When the slot w/out an initarg has not been changed (persist-test-save-and-compare persist-simple-1) ;; When the slot w/out an initarg HAS been changed (oset persist-simple-1 slot3 3) (persist-test-save-and-compare persist-simple-1) (delete-file (oref persist-simple-1 file)))) ;;; Slot Writers ;; ;; Replica of the test in eieio-tests.el - (defclass persist-:printer (eieio-persistent) ((slot1 :initarg :slot1 :initform 'moose :printer PO-slot1-printer) (slot2 :initarg :slot2 :initform "foo")) "A Persistent object with two initializable slots.") (defun PO-slot1-printer (slotvalue) "Print the slot value SLOTVALUE to stdout. Assume SLOTVALUE is a symbol of some sort." (princ "'") (princ (symbol-name slotvalue)) (princ " ;; RAN PRINTER") nil) (ert-deftest eieio-test-persist-printer () (let ((persist-:printer-1 (persist-:printer "persist" :slot1 'goose :slot2 "testing" :file (concat default-directory "test-ps2.pt")))) (should persist-:printer-1) (persist-test-save-and-compare persist-:printer-1) (let* ((find-file-hook nil) (tbuff (find-file-noselect "test-ps2.pt")) ) (condition-case nil (unwind-protect (with-current-buffer tbuff (goto-char (point-min)) (re-search-forward "RAN PRINTER")) (kill-buffer tbuff)) (error "persist-:printer-1's Slot1 printer function didn't work."))) (delete-file (oref persist-:printer-1 file)))) ;;; Slot with Object ;; ;; A slot that contains another object that isn't persistent (defclass persist-not-persistent () ((slot1 :initarg :slot1 :initform 1) (slot2 :initform 2)) "Class for testing persistent saving of an object that isn't persistent. This class is instead used as a slot value in a persistent class.") (defclass persistent-with-objs-slot (eieio-persistent) ((pnp :initarg :pnp :type (or null persist-not-persistent) :initform nil)) "Class for testing the saving of slots with objects in them.") (ert-deftest eieio-test-non-persistent-as-slot () (let ((persist-wos (persistent-with-objs-slot "persist wos 1" :pnp (persist-not-persistent "pnp 1" :slot1 3) :file (concat default-directory "test-ps3.pt")))) (persist-test-save-and-compare persist-wos) (delete-file (oref persist-wos file)))) ;;; Slot with Object child of :type ;; ;; A slot that contains another object that isn't persistent (defclass persist-not-persistent-subclass (persist-not-persistent) ((slot3 :initarg :slot1 :initform 1) (slot4 :initform 2)) "Class for testing persistent saving of an object subclass that isn't persistent. This class is instead used as a slot value in a persistent class.") (defclass persistent-with-objs-slot-subs (eieio-persistent) ((pnp :initarg :pnp :type (or null persist-not-persistent) :initform nil)) "Class for testing the saving of slots with objects in them.") (ert-deftest eieio-test-non-persistent-as-slot-child () (let ((persist-woss (persistent-with-objs-slot-subs "persist woss 1" :pnp (persist-not-persistent-subclass "pnps 1" :slot1 3) :file (concat default-directory "test-ps4.pt")))) (persist-test-save-and-compare persist-woss) (delete-file (oref persist-woss file)))) ;; A slot that can contain one of two different classes, to exercise ;; the `or' slot type. (defclass persistent-random-class () ()) (defclass persistent-multiclass-slot (eieio-persistent) ((slot1 :initarg :slot1 :type (or persistent-random-class null persist-not-persistent)) (slot2 :initarg :slot2 :type (or persist-not-persistent persist-random-class null)))) (ert-deftest eieio-test-multiple-class-slot () (let ((persist (persistent-multiclass-slot "random string" :slot1 (persistent-random-class) :slot2 (persist-not-persistent) :file (concat default-directory "test-ps5.pt")))) (unwind-protect (persist-test-save-and-compare persist) (ignore-errors (delete-file (oref persist file)))))) ;;; Slot with a list of Objects ;; ;; A slot that contains another object that isn't persistent (defclass persistent-with-objs-list-slot (eieio-persistent) ((pnp :initarg :pnp :type (list-of persist-not-persistent) :initform nil)) "Class for testing the saving of slots with objects in them.") (ert-deftest eieio-test-slot-with-list-of-objects () (let ((persist-wols (persistent-with-objs-list-slot "persist wols 1" :pnp (list (persist-not-persistent "pnp 1" :slot1 3) (persist-not-persistent "pnp 2" :slot1 4) (persist-not-persistent "pnp 3" :slot1 5)) :file (concat default-directory "test-ps5.pt")))) (persist-test-save-and-compare persist-wols) (delete-file (oref persist-wols file)))) (defclass person () ((name :type string :initarg :name))) (defclass classy (eieio-persistent) ((teacher :type person :initarg :teacher) (students :initarg :students :initform (make-hash-table)))) (ert-deftest eieio-test-persist-hash-and-objects () (let* ((jane (make-instance 'person :name "Jane")) (bob (make-instance 'person :name "Bob")) (class (make-instance 'classy :teacher jane :file (concat default-directory "classy-" emacs-version ".eieio")))) (puthash "Bob" bob (slot-value class 'students)) (persist-test-save-and-compare class) (delete-file (oref class file)))) ;;; eieio-test-persist.el ends here --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Noam Postavsky <npostavs@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Noam Postavsky <npostavs@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 12 Dec 2017 23:21:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 12 18:21:55 2017 Received: from localhost ([127.0.0.1]:59054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eOts1-0000H8-VW for submit <at> debbugs.gnu.org; Tue, 12 Dec 2017 18:21:54 -0500 Received: from mail-it0-f41.google.com ([209.85.214.41]:41021) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eOtrz-0000Gm-Iv; Tue, 12 Dec 2017 18:21:52 -0500 Received: by mail-it0-f41.google.com with SMTP id x28so1737974ita.0; Tue, 12 Dec 2017 15:21:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=NPS06/LErbxv5kSD5+OXr2snBeU3o7+LhQzsRme2A5Q=; b=n4fzmZ1Tdaz6zfu/1oBi5XazbYJ1ZHYclIWuALJUtX6lZEV8+yh1+AHEj8YzHYueQd 9kkVgbinkzflAjJ/UK3PpbOPiol4FQH87B3ZrZQB6iD+mKMYDwMoBLkCz4RYiynKV8cp XL9yAJ086v+PNURczdKj5+8wYyhKus/zkTU4smYg+qrzDZnAzgXBmyCI7k4EM2SfdHvn ePJCT4OpxVIn99/PXosFCdIXIL6vr/PALD8xPs9dUvwJnEiY+W9n6ojdQOhYzhJL4Lep dejCDEt5amOpLxjb0vy3G/sfcjU0fB86/fC3T+DqaE9byo3CImJwpqVZLn+H44pvo/wZ NXoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=NPS06/LErbxv5kSD5+OXr2snBeU3o7+LhQzsRme2A5Q=; b=N8AxZXGyEuptQTpTZWBmZ6iJ9cMpdbziyNYmO72llG65LC8cj/UJ3EjbEbpwerLDWq rHY/VrveJ1TET9yv3P1cLFAc4EIZciNSKO40Mp1Es/5xUWmuxUdeFRJ3yoSqbsyV056W zbxRaL59duK3xxf9wKoEaMIWepXP8NuG1/sPuEu/lmCrzXNfjLceLW7NWUUX/5cFPAZL oLdqhHhjzKAGDSUmhHvYf3iXlDQ2OfWxpGo1L9obwblWkhxA2ZNSTYsfSKSXhNva+d4H 4Fkbm2U5oFksZdhsmmxxjwOu90RRToWXImcfw97w45/cejGMlW0Gz+Vaj7EpyBNguxWf OzKQ== X-Gm-Message-State: AKGB3mKVXIDRCp18oU9t2axG0AbIqbl696KajvjUBFZqyfeh4qCXs0PG 4vWtuaIB8C1PEolSfWsn1X/iRg== X-Google-Smtp-Source: ACJfBovXo8YoB2xYZ9baMNsiaMCyZOtST9EBFQh0QVhBZ7V2y438ywzgRIpEt+E1/S9wrgMlYmd87g== X-Received: by 10.36.77.143 with SMTP id l137mr639590itb.50.1513120905698; Tue, 12 Dec 2017 15:21:45 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id 139sm5945753itm.2.2017.12.12.15.21.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 12 Dec 2017 15:21:44 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> <87lgib4z2o.fsf@HIDDEN> Date: Tue, 12 Dec 2017 18:21:42 -0500 In-Reply-To: <87lgib4z2o.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 09 Dec 2017 08:59:27 -0800") Message-ID: <87wp1rcz21.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, pierre.techoueyres@HIDDEN, 29220 <at> debbugs.gnu.org, monnier@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.5 (/) tags 29220 fixed close 29220 26.1 quit Eric Abrahamsen <eric@HIDDEN> writes: >> Fine with me to put this on emacs-26. > > Thanks -- done. Closing.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 9 Dec 2017 16:59:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 09 11:59:32 2017 Received: from localhost ([127.0.0.1]:54042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eNiTM-0004bz-27 for submit <at> debbugs.gnu.org; Sat, 09 Dec 2017 11:59:32 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:36382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eNiTK-0004bs-SY for 29220 <at> debbugs.gnu.org; Sat, 09 Dec 2017 11:59:31 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 09E1DC0835; Sat, 9 Dec 2017 16:59:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512838769; bh=vjsGEgJ/zsTO+ONG/FSHFCUhf6/1tCsAdOAExy4MG1g=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=GYfizj6SQb7P/YyMnb9r/G0oSEm1pmfva/j7IAyl3Jep3EIChrGZKEDluoy4/R9JI U4Drog/WiSXWYUENE7BS9UvEHtGNIDiDpgqnGmJcbQ5EQkvkiHDylOfXHgJ1NCSLyh g5mPJ7Y95K/WyaxwAsxSG/1Mlci1FqM9UqJgOhQM= From: Eric Abrahamsen <eric@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> <83po7pwlgs.fsf@HIDDEN> Date: Sat, 09 Dec 2017 08:59:27 -0800 In-Reply-To: <83po7pwlgs.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 08 Dec 2017 12:41:23 +0200") Message-ID: <87lgib4z2o.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, npostavs@HIDDEN, monnier@HIDDEN, pierre.techoueyres@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/08/17 12:41 PM, Eli Zaretskii wrote: >> From: Eric Abrahamsen <eric@HIDDEN> >> Cc: pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres), >> 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN= >, >> John Wiegley <jwiegley@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> >> Date: Tue, 05 Dec 2017 14:58:45 -0800 >>=20 >> > I think so, but we're pretty late in the pretest, so better ask Eli&Jo= hn >> > if they think it's OK for emacs-26. >>=20 >> Okay: John and Eli, this patch is to handle changes in object >> implementation in Emacs 26: they are now implemented with records, which >> can't be round-tripped with prin1 and read, they have to be written and >> read specially. The eieio-persistent mechanism handles that, but >> previously did not look inside hash tables or vectors to see if there >> were objects in there. >>=20 >> That's causing failure in the pcache library, which other libraries >> depend on. I'm hoping we can sneak this in under the wire so that pcache >> doesn't fail in Emacs 26. > > Fine with me to put this on emacs-26. Thanks -- done.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 8 Dec 2017 10:42:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 08 05:42:19 2017 Received: from localhost ([127.0.0.1]:51403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eNG6l-0001KB-At for submit <at> debbugs.gnu.org; Fri, 08 Dec 2017 05:42:19 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52005) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1eNG6j-0001Jw-KW for 29220 <at> debbugs.gnu.org; Fri, 08 Dec 2017 05:42:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <eliz@HIDDEN>) id 1eNG6Z-0000W5-Q6 for 29220 <at> debbugs.gnu.org; Fri, 08 Dec 2017 05:42:12 -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,T_RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56301) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>) id 1eNG6D-0000G4-8o; Fri, 08 Dec 2017 05:41:45 -0500 Received: from [176.228.60.248] (port=2756 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <eliz@HIDDEN>) id 1eNG6C-0006iN-OR; Fri, 08 Dec 2017 05:41:45 -0500 Date: Fri, 08 Dec 2017 12:41:23 +0200 Message-Id: <83po7pwlgs.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> In-reply-to: <874lp4aije.fsf@HIDDEN> (message from Eric Abrahamsen on Tue, 05 Dec 2017 14:58:45 -0800) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> <874lp4aije.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 29220 Cc: jwiegley@HIDDEN, 29220 <at> debbugs.gnu.org, npostavs@HIDDEN, monnier@HIDDEN, pierre.techoueyres@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: Eli Zaretskii <eliz@HIDDEN> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) > From: Eric Abrahamsen <eric@HIDDEN> > Cc: pierre.techoueyres@HIDDEN (Pierre Téchoueyres), > 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, > John Wiegley <jwiegley@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> > Date: Tue, 05 Dec 2017 14:58:45 -0800 > > > I think so, but we're pretty late in the pretest, so better ask Eli&John > > if they think it's OK for emacs-26. > > Okay: John and Eli, this patch is to handle changes in object > implementation in Emacs 26: they are now implemented with records, which > can't be round-tripped with prin1 and read, they have to be written and > read specially. The eieio-persistent mechanism handles that, but > previously did not look inside hash tables or vectors to see if there > were objects in there. > > That's causing failure in the pcache library, which other libraries > depend on. I'm hoping we can sneak this in under the wire so that pcache > doesn't fail in Emacs 26. Fine with me to put this on emacs-26.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 23:00:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 18:00:42 2017 Received: from localhost ([127.0.0.1]:48205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMMCe-0008H9-H1 for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 18:00:42 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:34719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eMMCc-0008H1-Fz for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 18:00:39 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 5A94DC07C4; Tue, 5 Dec 2017 23:00:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512514837; bh=Z7/vrNS6uD+wMKC03BhUB6qPzf06olTHI5XWrQtK5Ug=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=JURd8kS7RRoPWtTen0Yrra6/rX6gSXNcA8M6U6J0dPETm/xRCW2+xnqo3lE1Bkwac d1zh0HfEOA3jHMWzTKfrjgxvZOg8V7wsGZUZbke0mXgx50J66WNx9Gfaa6g5Y8gSM/ b1qIhb5WsEhf513h8L1EVH+Ck1iLX+Et2bwSbTO0= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> Date: Tue, 05 Dec 2017 14:58:45 -0800 In-Reply-To: <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Tue, 05 Dec 2017 17:14:00 -0500") Message-ID: <874lp4aije.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: John Wiegley <jwiegley@HIDDEN>, 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 12/05/17 17:14 PM, Stefan Monnier wrote: > Looks good to me. > > [ While looking at this code, I notice that with cl-defmethod (which can > dispatch not only on EIEIO objects, but other object types as well) > we can now fold eieio-override-prin1 into object-write (i.e. make one > into an alias for the other). ] Yup, I think there's a fair amount of modularization that can be done. I can make that part of the patch on #29541. >> If this is okay, it's going into emacs-26, right? > > I think so, but we're pretty late in the pretest, so better ask Eli&John > if they think it's OK for emacs-26. Okay: John and Eli, this patch is to handle changes in object implementation in Emacs 26: they are now implemented with records, which can't be round-tripped with prin1 and read, they have to be written and read specially. The eieio-persistent mechanism handles that, but previously did not look inside hash tables or vectors to see if there were objects in there. That's causing failure in the pcache library, which other libraries depend on. I'm hoping we can sneak this in under the wire so that pcache doesn't fail in Emacs 26. [...] On 12/05/17 23:20 PM, Pierre T=C3=A9choueyres wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 12/05/17 14:02 PM, Stefan Monnier wrote: >>>> Would it be too "heavy" to just copy the object and modify the copy? >>> >>> No, that's fine as well. >> >> Okay, the attached appears to work just fine. Pierre's recipe passes, >> as do all the tests in eieio-test-persist. Pierre, maybe you could eval >> this quickly and make sure that pcache works correctly again? > > Yes all my receipes tests are running fine. Many thanks. > I've tested also with the unicode-fonts package > (http://github.com/rolandwalker/unicode-fonts) from melpa. > Everything seem to work fine. Great! Thanks for testing. Eric --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Handle-hash-tables-and-vectors-when-reading-writing-.patch From 9f946a968f41e16f7279c72706ccb839dcb7757c Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen <eric@HIDDEN> Date: Tue, 5 Dec 2017 14:41:50 -0800 Subject: [PATCH] Handle hash tables and vectors when reading/writing EIEIO objects * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects printed with `prin1' can no longer be read with `read'. Make sure they are printed with object-write instead, even when they're inside hash tables and vectors. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): Check for written representations of objects inside hash tables and vectors, and reconstruct them. --- lisp/emacs-lisp/eieio-base.el | 20 ++++++++++++++++++++ lisp/emacs-lisp/eieio.el | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 58dcd09d7e..0241f27395 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -354,6 +354,26 @@ eieio-persistent-validate/fix-slot-value proposed-value)) (t proposed-value)))) + ;; For hash-tables and vectors, the top-level `read' will not + ;; "look inside" member values, so we need to do that + ;; explicitly. + ((hash-table-p proposed-value) + (maphash + (lambda (key value) + (when (class-p (car-safe value)) + (setf (gethash key proposed-value) + (eieio-persistent-convert-list-to-object + value)))) + proposed-value) + proposed-value) + + ((vectorp proposed-value) + (dotimes (i (length proposed-value)) + (when (class-p (car-safe (aref proposed-value i))) + (aset proposed-value i + (eieio-persistent-convert-list-to-object + (aref proposed-value i))))) + proposed-value) ((stringp proposed-value) ;; Else, check for strings, remove properties. diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index d0d2ff5145..ab96547f93 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -926,6 +926,25 @@ eieio-override-prin1 (object-write thing)) ((consp thing) (eieio-list-prin1 thing)) + ((hash-table-p thing) + (let ((copy (copy-hash-table thing))) + (maphash + (lambda (key val) + (setf (gethash key copy) + (read + (with-output-to-string + (eieio-override-prin1 val))))) + copy) + (prin1 copy))) + ((vectorp thing) + (let ((copy (copy-sequence thing))) + (dotimes (i (length copy)) + (aset copy i + (read + (with-output-to-string + (eieio-override-prin1 + (aref copy i)))))) + (prin1 copy))) ((eieio--class-p thing) (princ (eieio--class-print-name thing))) (t (prin1 thing)))) -- 2.15.1 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 22:20:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 17:20:54 2017 Received: from localhost ([127.0.0.1]:48186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMLaA-0007L6-Cd for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 17:20:54 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:7522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eMLa6-0007Kv-VE for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 17:20:52 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 624A019F4C8; Tue, 5 Dec 2017 23:20:46 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> Date: Tue, 05 Dec 2017 23:20:45 +0100 In-Reply-To: <87bmjcc2rh.fsf@HIDDEN> (Eric Abrahamsen's message of "Tue, 05 Dec 2017 12:56:34 -0800") Message-ID: <87wp2024w2.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Eric Abrahamsen <eric@HIDDEN> writes: > On 12/05/17 14:02 PM, Stefan Monnier wrote: >>> Would it be too "heavy" to just copy the object and modify the copy? >> >> No, that's fine as well. > > Okay, the attached appears to work just fine. Pierre's recipe passes, > as do all the tests in eieio-test-persist. Pierre, maybe you could eval > this quickly and make sure that pcache works correctly again? Yes all my receipes tests are running fine. Many thanks. I've tested also with the unicode-fonts package (http://github.com/rolandwalker/unicode-fonts) from melpa. Everything seem to work fine. > > If this is okay, it's going into emacs-26, right? > > Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 22:14:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 17:14:13 2017 Received: from localhost ([127.0.0.1]:48178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMLTh-0007BF-Ga for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 17:14:13 -0500 Received: from pmta31.teksavvy.com ([76.10.157.38]:49197) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eMLTf-0007B2-AJ for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 17:14:12 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2HWBgBfGSda/9WIpUVdHAEBAQQBAQoBA?= =?us-ascii?q?YM9gVSDXItfjgcBgXw0AZhihT8EAgKFR0QUAQEBAQEBAQEBA2gohSQBBAFWIwU?= =?us-ascii?q?LCzQSFBgNJIouCKwjilIBAQEBAQUCASWMPosZBZIGgRSGIok6j0mHYCGJQzWHK?= =?us-ascii?q?ZZBgUo2I4FNMhoIMDqCKoJQHYIFI4gVLIIZAQEB?= X-IPAS-Result: =?us-ascii?q?A2HWBgBfGSda/9WIpUVdHAEBAQQBAQoBAYM9gVSDXItfjgc?= =?us-ascii?q?BgXw0AZhihT8EAgKFR0QUAQEBAQEBAQEBA2gohSQBBAFWIwULCzQSFBgNJIouC?= =?us-ascii?q?KwjilIBAQEBAQUCASWMPosZBZIGgRSGIok6j0mHYCGJQzWHKZZBgUo2I4FNMho?= =?us-ascii?q?IMDqCKoJQHYIFI4gVLIIZAQEB?= X-IronPort-AV: E=Sophos;i="5.45,365,1508817600"; d="scan'208";a="10804420" Received: from 69-165-136-213.dsl.teksavvy.com (HELO pastel.home) ([69.165.136.213]) by smtp.teksavvy.com with ESMTP; 05 Dec 2017 17:14:00 -0500 Received: by pastel.home (Postfix, from userid 20848) id 611C661445; Tue, 5 Dec 2017 17:14:00 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvzi6wakvt.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> <87bmjcc2rh.fsf@HIDDEN> Date: Tue, 05 Dec 2017 17:14:00 -0500 In-Reply-To: <87bmjcc2rh.fsf@HIDDEN> (Eric Abrahamsen's message of "Tue, 05 Dec 2017 12:56: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-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.3 (/) > Okay, the attached appears to work just fine. Pierre's recipe passes, > as do all the tests in eieio-test-persist. Pierre, maybe you could eval > this quickly and make sure that pcache works correctly again? Looks good to me. [ While looking at this code, I notice that with cl-defmethod (which can dispatch not only on EIEIO objects, but other object types as well) we can now fold eieio-override-prin1 into object-write (i.e. make one into an alias for the other). ] > If this is okay, it's going into emacs-26, right? I think so, but we're pretty late in the pretest, so better ask Eli&John if they think it's OK for emacs-26. Stefan > diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el > index 58dcd09d7e..0241f27395 100644 > --- a/lisp/emacs-lisp/eieio-base.el > +++ b/lisp/emacs-lisp/eieio-base.el > @@ -354,6 +354,26 @@ eieio-persistent-validate/fix-slot-value > proposed-value)) > (t > proposed-value)))) > + ;; For hash-tables and vectors, the top-level `read' will not > + ;; "look inside" member values, so we need to do that > + ;; explicitly. > + ((hash-table-p proposed-value) > + (maphash > + (lambda (key value) > + (when (class-p (car-safe value)) > + (setf (gethash key proposed-value) > + (eieio-persistent-convert-list-to-object > + value)))) > + proposed-value) > + proposed-value) > + > + ((vectorp proposed-value) > + (dotimes (i (length proposed-value)) > + (when (class-p (car-safe (aref proposed-value i))) > + (aset proposed-value i > + (eieio-persistent-convert-list-to-object > + (aref proposed-value i))))) > + proposed-value) > ((stringp proposed-value) > ;; Else, check for strings, remove properties. > diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el > index d0d2ff5145..ab96547f93 100644 > --- a/lisp/emacs-lisp/eieio.el > +++ b/lisp/emacs-lisp/eieio.el > @@ -926,6 +926,25 @@ eieio-override-prin1 > (object-write thing)) > ((consp thing) > (eieio-list-prin1 thing)) > + ((hash-table-p thing) > + (let ((copy (copy-hash-table thing))) > + (maphash > + (lambda (key val) > + (setf (gethash key copy) > + (read > + (with-output-to-string > + (eieio-override-prin1 val))))) > + copy) > + (prin1 copy))) > + ((vectorp thing) > + (let ((copy (copy-sequence thing))) > + (dotimes (i (length copy)) > + (aset copy i > + (read > + (with-output-to-string > + (eieio-override-prin1 > + (aref copy i)))))) > + (prin1 copy))) > ((eieio--class-p thing) > (princ (eieio--class-print-name thing))) > (t (prin1 thing))))
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 20:58:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 15:58:30 2017 Received: from localhost ([127.0.0.1]:48144 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMKIQ-0001cp-0D for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 15:58:30 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:53547) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eMKIO-0001cb-1v for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 15:58:28 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 345ECC07BA; Tue, 5 Dec 2017 20:58:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512507507; bh=Ix6Pt3an+KTLzThD0Ro7dYlepwaB71ExD2C5OkTknkg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=iXelN93w5yrznoVkg7MtZQe++xMifIQCQ7gYczA5C8qacOlKHvQn1OoyyfWT2rifm Rm2t48Sy+2h1iUEvfvBqTlrSzyb3b2qsgqN6Ez7Oxi+PJov1DBkt11cwcx2GuhdqSI i7zJF2xb0XqRtPmNlq0Cinx7MGcRHABr8ttcoe/4= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> Date: Tue, 05 Dec 2017 12:56:34 -0800 In-Reply-To: <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Tue, 05 Dec 2017 14:02:11 -0500") Message-ID: <87bmjcc2rh.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain On 12/05/17 14:02 PM, Stefan Monnier wrote: >> Would it be too "heavy" to just copy the object and modify the copy? > > No, that's fine as well. Okay, the attached appears to work just fine. Pierre's recipe passes, as do all the tests in eieio-test-persist. Pierre, maybe you could eval this quickly and make sure that pcache works correctly again? If this is okay, it's going into emacs-26, right? Eric --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=persist-tables-vectors.diff diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 58dcd09d7e..0241f27395 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -354,6 +354,26 @@ eieio-persistent-validate/fix-slot-value proposed-value)) (t proposed-value)))) + ;; For hash-tables and vectors, the top-level `read' will not + ;; "look inside" member values, so we need to do that + ;; explicitly. + ((hash-table-p proposed-value) + (maphash + (lambda (key value) + (when (class-p (car-safe value)) + (setf (gethash key proposed-value) + (eieio-persistent-convert-list-to-object + value)))) + proposed-value) + proposed-value) + + ((vectorp proposed-value) + (dotimes (i (length proposed-value)) + (when (class-p (car-safe (aref proposed-value i))) + (aset proposed-value i + (eieio-persistent-convert-list-to-object + (aref proposed-value i))))) + proposed-value) ((stringp proposed-value) ;; Else, check for strings, remove properties. diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index d0d2ff5145..ab96547f93 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -926,6 +926,25 @@ eieio-override-prin1 (object-write thing)) ((consp thing) (eieio-list-prin1 thing)) + ((hash-table-p thing) + (let ((copy (copy-hash-table thing))) + (maphash + (lambda (key val) + (setf (gethash key copy) + (read + (with-output-to-string + (eieio-override-prin1 val))))) + copy) + (prin1 copy))) + ((vectorp thing) + (let ((copy (copy-sequence thing))) + (dotimes (i (length copy)) + (aset copy i + (read + (with-output-to-string + (eieio-override-prin1 + (aref copy i)))))) + (prin1 copy))) ((eieio--class-p thing) (princ (eieio--class-print-name thing))) (t (prin1 thing)))) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 19:00:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 14:00:00 2017 Received: from localhost ([127.0.0.1]:48093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMIRj-0006pF-MP for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 13:59:59 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:39459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eMIRh-0006p4-NC for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 13:59:58 -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 vB5Ixu5i030677; Tue, 5 Dec 2017 13:59:56 -0500 Received: by lechazo.home (Postfix, from userid 20848) id 5807860168; Tue, 5 Dec 2017 14:02:11 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwva7yxt2vz.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> <87609lcbip.fsf@HIDDEN> Date: Tue, 05 Dec 2017 14:02:11 -0500 In-Reply-To: <87609lcbip.fsf@HIDDEN> (Eric Abrahamsen's message of "Tue, 05 Dec 2017 09:47:26 -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-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.1 X-NAI-Spam-Rules: 3 Rules triggered GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV6173=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6173> : inlines <6210> : streams <1772269> : uri <2545732> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.3 (-) > Would it be too "heavy" to just copy the object and modify the copy? No, that's fine as well. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 17:49:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 12:49:22 2017 Received: from localhost ([127.0.0.1]:48077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eMHLO-00084D-0J for submit <at> debbugs.gnu.org; Tue, 05 Dec 2017 12:49:22 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:57417) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eMHLK-00083B-QD for 29220 <at> debbugs.gnu.org; Tue, 05 Dec 2017 12:49:19 -0500 Received: from localhost (71-212-75-109.tukw.qwest.net [71.212.75.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 38F1AC0541; Tue, 5 Dec 2017 17:49:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512496157; bh=51M8UJ4GBht/WhEMIacULUzNCb06hwb1Y9bDqVappWg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=qTeVPMG4fCaytsZIUt6h3Mz2SRIRlVrJKmGVXQF/DJ3ZDS/myTKnB6vmRNRN6oC2c u0gJRoccSrEOsjrv8oqatJNrbC+CTLnRNcWS3xtc6RXxmFdixJv2Ezm/sOJCGQVGHu f7cM51Rnfw3snI7cGmSS5RLZva3K2OzzoAHMEHNc= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> Date: Tue, 05 Dec 2017 09:47:26 -0800 In-Reply-To: <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Mon, 04 Dec 2017 21:08:40 -0500") Message-ID: <87609lcbip.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/04/17 21:08 PM, Stefan Monnier wrote: >> --- a/lisp/emacs-lisp/eieio-base.el >> +++ b/lisp/emacs-lisp/eieio-base.el >> @@ -354,15 +354,34 @@ eieio-persistent-validate/fix-slot-value >> proposed-value)) >> (t >> proposed-value)))) >> + ((stringp proposed-value) >> + ;; Remove string properties. >> + (substring-no-properties proposed-value)) >> + >> + ;; For hash-tables and vectors, the top-level `read' will not >> + ;; "look inside" member values, so we need to do that >> + ;; explicitly. >> + ((hash-table-p proposed-value) >> + (maphash >> + (lambda (key value) >> + (when (class-p (car-safe value)) >> + (setf (gethash key proposed-value) >> + (eieio-persistent-convert-list-to-object >> + value)))) >> + proposed-value) >> + proposed-value) >> + >> + ((vectorp proposed-value) >> + (dotimes (i (length proposed-value)) >> + (when (class-p (car-safe (aref proposed-value i))) >> + (aset proposed-value i >> + (eieio-persistent-convert-list-to-object >> + (aref proposed-value i))))) >> + proposed-value) > >> - ((stringp proposed-value) >> - ;; Else, check for strings, remove properties. >> - (substring-no-properties proposed-value)) >> - >> - (t >> - ;; Else, just return whatever the constant was. >> - proposed-value)) >> - ) >> + (t >> + ;; Else, just return whatever the constant was. >> + proposed-value))) > > Not sure why the `stringp` part was reindented, and an empty line was > lost (which de-synchronized the diff), but other than that, it looks fine. Dunno about the reindentation, either, I guess I can discard those changes. >> + ((hash-table-p thing) >> + (maphash >> + (lambda (key val) >> + (setf (gethash key thing) >> + (read >> + (with-output-to-string >> + (temp-eieio-override-prin1 val))))) >> + thing) >> + (prin1 thing)) >> + ((vectorp thing) >> + (dotimes (i (length thing)) >> + (aset thing i >> + (read >> + (with-output-to-string >> + (temp-eieio-override-prin1 >> + (aref thing i)))))) >> + (prin1 thing)) > > This looks wrong, OTOH: > - temp-eieio-override-prin1 does not exist in my copy of Emacs > `master`. That was a temporary name to prevent these changes from wrecking my Gnus and EBDB. I guess I should be working in a separate Emacs. > - you modify the object you received, so while the print part will > presumably work OK, the object left after that is unusable. I should have realized that... > Maybe a better option is to print something of the form > > (vector <exp1> <exp2> ...) > > i.e. not something that looks like a vector. Or otherwise, print the > "standard" syntax of a vector/hash-table, but do it by hand rather than > rely on prin1 to do it for us. Would it be too "heavy" to just copy the object and modify the copy? It seems like writing a list-like form will result in just as much consing...? Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 02:08:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 21:08:57 2017 Received: from localhost ([127.0.0.1]:46195 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eM2fI-0002zw-Rm for submit <at> debbugs.gnu.org; Mon, 04 Dec 2017 21:08:57 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:56993) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eM2fG-0002zn-1Y for 29220 <at> debbugs.gnu.org; Mon, 04 Dec 2017 21:08:55 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id vB528hFS010294; Mon, 4 Dec 2017 21:08:47 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 1095BAE0E9; Mon, 4 Dec 2017 21:08:41 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwv1skavsn3.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> <87h8t69d7b.fsf@HIDDEN> Date: Mon, 04 Dec 2017 21:08:40 -0500 In-Reply-To: <87h8t69d7b.fsf@HIDDEN> (Eric Abrahamsen's message of "Mon, 04 Dec 2017 17:27:04 -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, RV6172=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6172> : inlines <6208> : streams <1772202> : uri <2545315> X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.4 (-) > --- a/lisp/emacs-lisp/eieio-base.el > +++ b/lisp/emacs-lisp/eieio-base.el > @@ -354,15 +354,34 @@ eieio-persistent-validate/fix-slot-value > proposed-value)) > (t > proposed-value)))) > + ((stringp proposed-value) > + ;; Remove string properties. > + (substring-no-properties proposed-value)) > + > + ;; For hash-tables and vectors, the top-level `read' will not > + ;; "look inside" member values, so we need to do that > + ;; explicitly. > + ((hash-table-p proposed-value) > + (maphash > + (lambda (key value) > + (when (class-p (car-safe value)) > + (setf (gethash key proposed-value) > + (eieio-persistent-convert-list-to-object > + value)))) > + proposed-value) > + proposed-value) > + > + ((vectorp proposed-value) > + (dotimes (i (length proposed-value)) > + (when (class-p (car-safe (aref proposed-value i))) > + (aset proposed-value i > + (eieio-persistent-convert-list-to-object > + (aref proposed-value i))))) > + proposed-value) > - ((stringp proposed-value) > - ;; Else, check for strings, remove properties. > - (substring-no-properties proposed-value)) > - > - (t > - ;; Else, just return whatever the constant was. > - proposed-value)) > - ) > + (t > + ;; Else, just return whatever the constant was. > + proposed-value))) Not sure why the `stringp` part was reindented, and an empty line was lost (which de-synchronized the diff), but other than that, it looks fine. > + ((hash-table-p thing) > + (maphash > + (lambda (key val) > + (setf (gethash key thing) > + (read > + (with-output-to-string > + (temp-eieio-override-prin1 val))))) > + thing) > + (prin1 thing)) > + ((vectorp thing) > + (dotimes (i (length thing)) > + (aset thing i > + (read > + (with-output-to-string > + (temp-eieio-override-prin1 > + (aref thing i)))))) > + (prin1 thing)) This looks wrong, OTOH: - temp-eieio-override-prin1 does not exist in my copy of Emacs `master`. - you modify the object you received, so while the print part will presumably work OK, the object left after that is unusable. Maybe a better option is to print something of the form (vector <exp1> <exp2> ...) i.e. not something that looks like a vector. Or otherwise, print the "standard" syntax of a vector/hash-table, but do it by hand rather than rely on prin1 to do it for us. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 5 Dec 2017 01:27:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 20:27:14 2017 Received: from localhost ([127.0.0.1]:46166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eM20w-00009Q-65 for submit <at> debbugs.gnu.org; Mon, 04 Dec 2017 20:27:14 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:34268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eM20u-00009G-Im for 29220 <at> debbugs.gnu.org; Mon, 04 Dec 2017 20:27:13 -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@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id AD858C0541; Tue, 5 Dec 2017 01:27:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512437231; bh=R13+iQTJOzn0+EkHWIRtHEhcBvXfMfvFOTxPdddXa+I=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=ESyyZnE8RrFcQtWSGg5+96vzfF7n3FvIx5zNTvw0YHhth5Xx8bbdpoO+AGiOrvRws 0iwif7VKm76ZmSZ58+wtoYS/P/O55Tl+FSDjf7v0axussCNXzfxXpLx72Ur1JzPCWt L4DCfbFZZNP9WkbEdqhaC3+THejxn3wzSWqz7ovY= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> <87zi6zmzh7.fsf@HIDDEN> Date: Mon, 04 Dec 2017 17:27:04 -0800 In-Reply-To: <87zi6zmzh7.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Sun, 03 Dec 2017 19:35:16 +0100") Message-ID: <87h8t69d7b.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 12/03/17 19:35 PM, Pierre T=C3=A9choueyres wrote: > Eric Abrahamsen <eric@HIDDEN> writes: > >> On 12/01/17 12:55 PM, Stefan Monnier wrote: >>>>> So I think the real fix here is to extend eieio-persistent with suppo= rt >>>>> for hash-tables. >>>> Just hash tables? >>> >>> For the problem at hand, IIUC, hash-tables is what's needed, yes. >>> >>>> How about vectors? >>> >>> Sure, add that too. >> >> Before I do that, I just opened #29541 with a proposal for tweaking the >> restore process -- maybe that could be done first? >> > > I wishes it would, but this is a blocker bug for emacs 26, isn't it ? Could be! If so, let's fix this part first. Here's a diff that seems to work. The read->with-output-to-string stuff seems awful to me, and I'm hoping someone has something more elegant on hand. Eric --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=persistent-stuff.diff diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index 58dcd09d7e..840f7223c4 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el @@ -354,15 +354,34 @@ eieio-persistent-validate/fix-slot-value proposed-value)) (t proposed-value)))) + ((stringp proposed-value) + ;; Remove string properties. + (substring-no-properties proposed-value)) + + ;; For hash-tables and vectors, the top-level `read' will not + ;; "look inside" member values, so we need to do that + ;; explicitly. + ((hash-table-p proposed-value) + (maphash + (lambda (key value) + (when (class-p (car-safe value)) + (setf (gethash key proposed-value) + (eieio-persistent-convert-list-to-object + value)))) + proposed-value) + proposed-value) + + ((vectorp proposed-value) + (dotimes (i (length proposed-value)) + (when (class-p (car-safe (aref proposed-value i))) + (aset proposed-value i + (eieio-persistent-convert-list-to-object + (aref proposed-value i))))) + proposed-value) - ((stringp proposed-value) - ;; Else, check for strings, remove properties. - (substring-no-properties proposed-value)) - - (t - ;; Else, just return whatever the constant was. - proposed-value)) - ) + (t + ;; Else, just return whatever the constant was. + proposed-value))) (defun eieio-persistent-slot-type-is-class-p (type) "Return the class referred to in TYPE. diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index d0d2ff5145..11637c8072 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -926,6 +926,23 @@ eieio-override-prin1 (object-write thing)) ((consp thing) (eieio-list-prin1 thing)) + ((hash-table-p thing) + (maphash + (lambda (key val) + (setf (gethash key thing) + (read + (with-output-to-string + (temp-eieio-override-prin1 val))))) + thing) + (prin1 thing)) + ((vectorp thing) + (dotimes (i (length thing)) + (aset thing i + (read + (with-output-to-string + (temp-eieio-override-prin1 + (aref thing i)))))) + (prin1 thing)) ((eieio--class-p thing) (princ (eieio--class-print-name thing))) (t (prin1 thing)))) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 3 Dec 2017 18:35:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 03 13:35:29 2017 Received: from localhost ([127.0.0.1]:43728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eLZ6v-00053p-AO for submit <at> debbugs.gnu.org; Sun, 03 Dec 2017 13:35:29 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:3344) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eLZ6r-00053f-M1 for 29220 <at> debbugs.gnu.org; Sun, 03 Dec 2017 13:35:26 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id C40DA19F5D7; Sun, 3 Dec 2017 19:35:16 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> <87h8t8is1u.fsf@HIDDEN> Date: Sun, 03 Dec 2017 19:35:16 +0100 In-Reply-To: <87h8t8is1u.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 02 Dec 2017 16:17:01 -0800") Message-ID: <87zi6zmzh7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Eric Abrahamsen <eric@HIDDEN> writes: > On 12/01/17 12:55 PM, Stefan Monnier wrote: >>>> So I think the real fix here is to extend eieio-persistent with support >>>> for hash-tables. >>> Just hash tables? >> >> For the problem at hand, IIUC, hash-tables is what's needed, yes. >> >>> How about vectors? >> >> Sure, add that too. > > Before I do that, I just opened #29541 with a proposal for tweaking the > restore process -- maybe that could be done first? > I wishes it would, but this is a blocker bug for emacs 26, isn't it ?
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 3 Dec 2017 00:18:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 02 19:18:53 2017 Received: from localhost ([127.0.0.1]:42295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eLHzh-00068D-Gm for submit <at> debbugs.gnu.org; Sat, 02 Dec 2017 19:18:53 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:47146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eLHzg-000686-Eq for 29220 <at> debbugs.gnu.org; Sat, 02 Dec 2017 19:18:52 -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@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id D79A3C0241; Sun, 3 Dec 2017 00:18:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512260332; bh=HqC27cB+uaHyaLejT9NVfFdKLFWmJM05EnALzaWzVTU=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=fMDPY0Q/2X/TEEg0b5LFC2a/46TZO5lfQbUTYpDzsReGkv1eTD5U6PbosmIjedWun O1QSQda8/V++UnkQXYqjLGmVJ8ZeTcT8N3KA+dISbIpfpW4lG/2CUteuJ+QaExtTDo ++Y2VsQ0HcghIJKIn7Gz1XGYCKCPRhw/vtKYKj1E= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> Date: Sat, 02 Dec 2017 16:17:01 -0800 In-Reply-To: <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Fri, 01 Dec 2017 12:55:32 -0500") Message-ID: <87h8t8is1u.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 12/01/17 12:55 PM, Stefan Monnier wrote: >>> So I think the real fix here is to extend eieio-persistent with support >>> for hash-tables. >> Just hash tables? > > For the problem at hand, IIUC, hash-tables is what's needed, yes. > >> How about vectors? > > Sure, add that too. Before I do that, I just opened #29541 with a proposal for tweaking the restore process -- maybe that could be done first?
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 1 Dec 2017 17:55:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 01 12:55:46 2017 Received: from localhost ([127.0.0.1]:40359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eKpXN-0004qo-SK for submit <at> debbugs.gnu.org; Fri, 01 Dec 2017 12:55:46 -0500 Received: from pmta11.teksavvy.com ([76.10.157.34]:47558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eKpXM-0004qd-4k for 29220 <at> debbugs.gnu.org; Fri, 01 Dec 2017 12:55:45 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2G9EABBliFa/1rWbkFcHQEBBQELAYM8g?= =?us-ascii?q?VSPOo4CAYF8FCABmF0KhTUEAgKFKkQUAQEBAQEBAQEBA2gohSQBBAFWIwULCzQ?= =?us-ascii?q?SFBgNJIotCKk3imQBAQEHAgElg0GFSYMrixkFkxePS5cOARiJYzWHJ5ZJgTo2I?= =?us-ascii?q?4FNMhoIMIJkglAdggUjijoBAQE?= X-IPAS-Result: =?us-ascii?q?A2G9EABBliFa/1rWbkFcHQEBBQELAYM8gVSPOo4CAYF8FCA?= =?us-ascii?q?BmF0KhTUEAgKFKkQUAQEBAQEBAQEBA2gohSQBBAFWIwULCzQSFBgNJIotCKk3i?= =?us-ascii?q?mQBAQEHAgElg0GFSYMrixkFkxePS5cOARiJYzWHJ5ZJgTo2I4FNMhoIMIJkglA?= =?us-ascii?q?dggUjijoBAQE?= X-IronPort-AV: E=Sophos;i="5.45,346,1508817600"; d="scan'208";a="10932356" Received: from 65-110-214-90.cpe.pppoe.ca (HELO fmsmemgm.homelinux.net) ([65.110.214.90]) by smtp.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Dec 2017 12:55:33 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 764E7AE0DF; Fri, 1 Dec 2017 12:55:32 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvzi72z63o.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> <87lgimpdhp.fsf@HIDDEN> Date: Fri, 01 Dec 2017 12:55:32 -0500 In-Reply-To: <87lgimpdhp.fsf@HIDDEN> (Eric Abrahamsen's message of "Fri, 01 Dec 2017 09:25:06 -0800") 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: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.3 (/) >> So I think the real fix here is to extend eieio-persistent with support >> for hash-tables. > Just hash tables? For the problem at hand, IIUC, hash-tables is what's needed, yes. > How about vectors? Sure, add that too. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 1 Dec 2017 17:26:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 01 12:26:59 2017 Received: from localhost ([127.0.0.1]:40339 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eKp5X-0004AC-Hs for submit <at> debbugs.gnu.org; Fri, 01 Dec 2017 12:26:59 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:47884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eKp5V-0004A4-ND for 29220 <at> debbugs.gnu.org; Fri, 01 Dec 2017 12:26:57 -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@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 1B8D0C04DA; Fri, 1 Dec 2017 17:26:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1512149216; bh=2WHglqnJZYNNvPTMmW/c2ehMdRq54znvIdeucMZl3dI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=DD1CQWk9G0eN6nsQfFYE5uRB0jIhsbM2R64NWgUgDU4hybL66wdS1nW95V4kIDP/w r8GF0+jUs+xx50j1PWiAjzgPfAEL25ibzScJT0h42juMRtvuIFKdM4vgH5F5YFImks 5WhFt80k2flwqSnQTR1SbLhYbI84X0mvj4pulLzQ= From: Eric Abrahamsen <eric@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> Date: Fri, 01 Dec 2017 09:25:06 -0800 In-Reply-To: <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Wed, 29 Nov 2017 10:15:28 -0500") Message-ID: <87lgimpdhp.fsf@HIDDEN> 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: -2.3 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?utf-8?Q?T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) On 11/29/17 10:15 AM, Stefan Monnier wrote: >> That's exactly what Noam was saying! The implementation of objects >> changed from 25 to 26, and thus their printed representation also >> changed. > > Indeed. But the subject mentions "...eieio-persistent-read..." and > eieio-persistent was designed specifically to try and avoid dependence > on how Emacs represents EIEIO objects. The problem here is that > eieio-persistent doesn't support hash-tables, so the EIEIO objects in > the hash-tables are printed with `princ` (i.e. in all their internal > glory) rather than going through eieio-persistent. > > So I think the real fix here is to extend eieio-persistent with support > for hash-tables. Just hash tables? How about vectors? There seem to be many places where objects could be hiding...
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 29 Nov 2017 15:16:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:16:17 2017 Received: from localhost ([127.0.0.1]:37161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eK45x-0000u5-FA for submit <at> debbugs.gnu.org; Wed, 29 Nov 2017 10:16:17 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:41618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eK45v-0000tx-Py for 29220 <at> debbugs.gnu.org; Wed, 29 Nov 2017 10:16:16 -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 vATFGFgW029419; Wed, 29 Nov 2017 10:16:15 -0500 Received: by lechazo.home (Postfix, from userid 20848) id 0635260122; Wed, 29 Nov 2017 10:18:14 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvefoh2jz4.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <CAM-tV-8-hZRk+y6yRW5-E3eC0mA3__FVaD-Y_bormbs=ju7=+Q@HIDDEN> <87tvxef3ne.fsf@HIDDEN> <87d141nb58.fsf@HIDDEN> Date: Wed, 29 Nov 2017 10:18:14 -0500 In-Reply-To: <87d141nb58.fsf@HIDDEN> (Noam Postavsky's message of "Tue, 28 Nov 2017 20:09:39 -0500") 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-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.1 X-NAI-Spam-Rules: 3 Rules triggered GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV6169=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6169> : inlines <6193> : streams <1771684> : uri <2542176> X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.4 (-) > 2. Change the class tag to something that will be easily readable, and > round-trip as eq (i.e., some kind of symbol, like in Emacs 25 and > earlier). Note that this could be done on the print-side without changing the actual object representation. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 29 Nov 2017 15:13:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:13:32 2017 Received: from localhost ([127.0.0.1]:37156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eK43I-0000pJ-1B for submit <at> debbugs.gnu.org; Wed, 29 Nov 2017 10:13:32 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:41191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eK43G-0000pB-3O for 29220 <at> debbugs.gnu.org; Wed, 29 Nov 2017 10:13: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 vATFDT0b028976; Wed, 29 Nov 2017 10:13:29 -0500 Received: by lechazo.home (Postfix, from userid 20848) id D86A060122; Wed, 29 Nov 2017 10:15:28 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvk1y92kmx.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <87shcycavk.fsf@HIDDEN> Date: Wed, 29 Nov 2017 10:15:28 -0500 In-Reply-To: <87shcycavk.fsf@HIDDEN> (Eric Abrahamsen's message of "Tue, 28 Nov 2017 14:10:55 -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, RV6169=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6169> : inlines <6193> : streams <1771684> : uri <2542175> X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.4 (-) > That's exactly what Noam was saying! The implementation of objects > changed from 25 to 26, and thus their printed representation also > changed. Indeed. But the subject mentions "...eieio-persistent-read..." and eieio-persistent was designed specifically to try and avoid dependence on how Emacs represents EIEIO objects. The problem here is that eieio-persistent doesn't support hash-tables, so the EIEIO objects in the hash-tables are printed with `princ` (i.e. in all their internal glory) rather than going through eieio-persistent. So I think the real fix here is to extend eieio-persistent with support for hash-tables. > The real problem isn't that objects written with 25 can't be read by 26 > (I don't think that kind of compatibility is guaranteed), but that > objects written by 26 can't be read at all -- at least not when they're > written internally, as members of other objects. There are many different ways one might want to "print" objects, depending on the intention: - print for human consumption (i.e. eliding details to keep it concise). That's what cl-print aims for, for example (tho IIRC it doesn't support hash-tables either, so far). - print in a way that can be read back in the future (possibly far future, where some details of the internal representation have changed). This is what eieio-persistent aims for. - print in a way that can be read back, preserving as many of the details as possible. This is what `princ` aims for. In the case of EIEIO objects, I'm not completely satisfied with the result in Emacs-26, but I think I'd rather live with it for now to get time to better understand the design space&constraints before we improve it. -- Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 29 Nov 2017 01:09:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 20:09:49 2017 Received: from localhost ([127.0.0.1]:35358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eJqsn-0002M9-6D for submit <at> debbugs.gnu.org; Tue, 28 Nov 2017 20:09:49 -0500 Received: from mail-io0-f180.google.com ([209.85.223.180]:34935) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eJqsl-0002Lv-DW for 29220 <at> debbugs.gnu.org; Tue, 28 Nov 2017 20:09:47 -0500 Received: by mail-io0-f180.google.com with SMTP id q15so1989609ioh.2 for <29220 <at> debbugs.gnu.org>; Tue, 28 Nov 2017 17:09:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=ryxptad+SKUTYx0bD64fCy/OIXjH9GoDeND/HJ8ssGE=; b=DVhdshr/LQPDxOBc6tCJreBZHEWS5rS3N9MMxgRK21rnXWdZkUaRi/pszTUnJReRS2 54hzgWzdid9FOa+uZd0+8fsyH0Fzk/UsWuuREjVuLLzPdVe2BHrlM0l3tNB4d3FSfSkg eiiM9/3fIKRBLWPIvkzg/axbWP4qFzd3UgjyM0YpwFBE7ld40s91Q0o0IaB5GlwUx3GO 2cLCpWD+5IMiePigjmHMpdbQaTXo/1bJs8oosj7klhjSH22pDSK4N3D+lFbgBam226nz jd5Cw0aP0TDOa/M4013q/Ye16Muja0q+Rx18P91O+mPlF9oQWR+/63vPU9ObbTh8cTNm h55w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=ryxptad+SKUTYx0bD64fCy/OIXjH9GoDeND/HJ8ssGE=; b=lglzeuBdJh4HW8wFeRCRSrfvME5Q8faFIw2kYG2GxSZNt8QShfxMyGxq7gZ8NC9YlV J84YLN6jrinRgmBP1EjCjnKm+INw5hhx+LJxZY0N69S5r5kJS17cI5ZWi+CMpaVKcgi9 TeWH2YE2Q/cECJTsY5F7kPHS2kq7IiQCX/Jr0oaYpgdr+CQBg5zVq/rxh+qSIe00moCK +Bn009X8QK+3VnWPR0D4aLMLyGuhVxjBOOe5ZApecRs8JwTj0P/eoveFr/5UMCVYtHC3 eKXATI/NNGn6j017MDdCqU4okSHPyaaWhXu5+mxi2OFrS6XRAVavWmpNvQn9rmr1ZJnD lJkg== X-Gm-Message-State: AJaThX6OImV1zAGNho2+rjezMJQD2dx7doJeMSMxM48OXkIG45IECH6R 5xCufkxdx02xxELOIBPc3N0= X-Google-Smtp-Source: AGs4zMaCiXmhMu3qMT72KbQb69bE5J4FtFvGw1exvg1MvhzYHkDFq4pG1XSJ5oTjEc2/TWnzrN/UUg== X-Received: by 10.107.144.195 with SMTP id s186mr1553295iod.64.1511917781771; Tue, 28 Nov 2017 17:09:41 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id z19sm259600iof.53.2017.11.28.17.09.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 28 Nov 2017 17:09:40 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <CAM-tV-8-hZRk+y6yRW5-E3eC0mA3__FVaD-Y_bormbs=ju7=+Q@HIDDEN> <87tvxef3ne.fsf@HIDDEN> Date: Tue, 28 Nov 2017 20:09:39 -0500 In-Reply-To: <87tvxef3ne.fsf@HIDDEN> ("Pierre \=\?utf-8\?Q\?T\=C3\=A9choueyres\=22's\?\= message of "Tue, 28 Nov 2017 23:18:45 +0100") Message-ID: <87d141nb58.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > I try to understand how, from print_object, objects in the hash table > are print. > I expected something like > > prin1 -> print -> print_object -> something in lisp or C The sequence is prin1 -> print -> print_object -> print_vectorlike print_vectorlike calls print_object on all of the keys and values of the hashtable (see 'case PVEC_HASH_TABLE'). > I'm trying to make pcache work correctly with emacs 26. > Now I understand that eieio--class and eieio--class-tag have changed, > but I don't know if I can or how to correct the printing of objects in > order to read them back with eieio-persistent-read. I see 3 possibilities: 1. Make eieio persistent save stuff use cl-print to print the whole thing readably (this requires major additions to cl-print, currently it doesn't preserve readability except by just punting to prin1). 2. Change the class tag to something that will be easily readable, and round-trip as eq (i.e., some kind of symbol, like in Emacs 25 and earlier). 3. Change child-of-class-p to use `equal'ness instead of `eq'ness for classes. I think would require an `equal' that can handle circular objects. Looks like #2 would be the easiest to implement.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 Nov 2017 22:18:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 17:18:54 2017 Received: from localhost ([127.0.0.1]:35244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eJoDO-0006ff-5B for submit <at> debbugs.gnu.org; Tue, 28 Nov 2017 17:18:54 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:38778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eJoDL-0006fW-1K for 29220 <at> debbugs.gnu.org; Tue, 28 Nov 2017 17:18:52 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id A913419F591; Tue, 28 Nov 2017 23:18:45 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> <CAM-tV-8-hZRk+y6yRW5-E3eC0mA3__FVaD-Y_bormbs=ju7=+Q@HIDDEN> Date: Tue, 28 Nov 2017 23:18:45 +0100 In-Reply-To: <CAM-tV-8-hZRk+y6yRW5-E3eC0mA3__FVaD-Y_bormbs=ju7=+Q@HIDDEN> (Noam Postavsky's message of "Tue, 28 Nov 2017 16:52:26 -0500") Message-ID: <87tvxef3ne.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Noam Postavsky <npostavs@HIDDEN> writes: > On Tue, Nov 28, 2017 at 4:39 PM, Pierre T=C3=A9choueyres > <pierre.techoueyres@HIDDEN> wrote: >> Noam Postavsky <npostavs@HIDDEN> writes: >>>> I've tried to dive into print.c but I don't understand how you return >>>> from print_object, when you're on an hash-table to obtain the vector >>>> with an eieio-class-tag--<class> (as in 25.3) ? >>>> >>>> Can anyone tell me how this work in 25.3 ? >>> >>> Nothing has changed in print.c in this respect. In 25.3, objects are >>> vectors, and class tags are symbols. In 26, objects are records and >>> class tags are eieio--class records. As a result, they print >>> differently. >> >> I trust you, but that's not the answer I expected, sorry. > > When you say "that's not the answer I expected", do you mean that my > answer didn't sufficiently explain to you why things worked correctly > in Emacs 25.3 and not in Emacs 26? Or do you mean that you would > expect Emacs 26 to work differently (i.e., in a way that doesn't break > things)? Both and none of them :-) I try to understand how, from print_object, objects in the hash table are print. I expected something like prin1 -> print -> print_object -> something in lisp or C I'm trying to make pcache work correctly with emacs 26. Now I understand that eieio--class and eieio--class-tag have changed, but I don't know if I can or how to correct the printing of objects in order to read them back with eieio-persistent-read.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 Nov 2017 22:11:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 17:11:01 2017 Received: from localhost ([127.0.0.1]:35235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eJo5l-0006Tu-1r for submit <at> debbugs.gnu.org; Tue, 28 Nov 2017 17:11:01 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:42000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eJo5i-0006Tl-Hd for 29220 <at> debbugs.gnu.org; Tue, 28 Nov 2017 17:10:58 -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@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id D307EC03A9; Tue, 28 Nov 2017 22:10:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1511907057; bh=rJI10+gyuSAFtFmiRBCgRJvZGfsNWXBvtNjf4+1J+Qc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=noOCtrHSUtion4dYXjakQ6ScnDHcPmjFSLO9pALFyUWLmIA0nga1X0aqnwda4rp/0 bWm37CXsaB//ndR3+GX88Vw9vJKs+QNR4UeKlAoNZgChaXdFLfna9QS1x5Z3UB2mOj g79TduK/ik5MjTFmeXmqZZo/vaFN7M5DsN8pH3SI= From: Eric Abrahamsen <eric@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> Date: Tue, 28 Nov 2017 14:10:55 -0800 In-Reply-To: <87zi76f5hj.fsf@HIDDEN> ("Pierre =?utf-8?Q?T=C3=A9choueyres=22's?= message of "Tue, 28 Nov 2017 22:39:04 +0100") Message-ID: <87shcycavk.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, Noam Postavsky <npostavs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > Noam Postavsky <npostavs@HIDDEN> writes: >>> I've tried to dive into print.c but I don't understand how you return >>> from print_object, when you're on an hash-table to obtain the vector >>> with an eieio-class-tag--<class> (as in 25.3) ? >>> >>> Can anyone tell me how this work in 25.3 ? >> >> Nothing has changed in print.c in this respect. In 25.3, objects are >> vectors, and class tags are symbols. In 26, objects are records and >> class tags are eieio--class records. As a result, they print >> differently. > > I trust you, but that's not the answer I expected, sorry. > I tried to follow the trace from the call of `eieio-persistent-save' > until I could find where it prints the content of the hash table. > > What bothers me is that, in emacs 25, you had have an short vector with > a symbol and now you've an big object dump instead. > > Emacs 25 : > [eieio-class-tag--person "Bob"] > > Emacs 26 : > #s(#2=3D#s(eieio--class person nil nil [#s(cl-slot-descriptor name > #3=3D#:unbound string nil)] #s(hash-table size 65 test eq rehash-size > 1.5 rehash-threshold 0.8125 data (name 0)) nil ((:name . name)) #1=3D[] > #1# #s(#2# #3#) (:custom-groups nil)) "Bob") That's exactly what Noam was saying! The implementation of objects changed from 25 to 26, and thus their printed representation also changed. > As a side note: as class tags are now eieio--class objects you can't read > an object saved with emacs 25 in emacs 26. Maybe this incompatibility > should be documented into NEWS ? The real problem isn't that objects written with 25 can't be read by 26 (I don't think that kind of compatibility is guaranteed), but that objects written by 26 can't be read at all -- at least not when they're written internally, as members of other objects. Personally I'm not sure how to fix the problem, which is why we keep cc'ing Stefan on these messages (ahem). Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 Nov 2017 21:52:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 16:52:35 2017 Received: from localhost ([127.0.0.1]:35231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eJnnv-00063g-Bm for submit <at> debbugs.gnu.org; Tue, 28 Nov 2017 16:52:35 -0500 Received: from mail-wr0-f177.google.com ([209.85.128.177]:46500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eJnns-00063P-Jc for 29220 <at> debbugs.gnu.org; Tue, 28 Nov 2017 16:52:34 -0500 Received: by mail-wr0-f177.google.com with SMTP id x49so1494525wrb.13 for <29220 <at> debbugs.gnu.org>; Tue, 28 Nov 2017 13:52:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=OLtJtcBWGBEx7orAiSs/JLI5ZlzfANettDSxJh9+TC8=; b=eqI3WYXw/bBG2Scf8Bll0+0u6RUGtsapibXndYDBhUHhorG9e3Tf1Tlq7L1TPjXS7r xi//ohpJLf5Y33LiTJQmpPv3/ZKuz4Mb24rdfBmCQlPFV46E84Yjvyd2SL0cz9YcnTYx XlrcbnTRY/kfGdV3zeuF8rkx447OmacTyWLOcKtRD4IK40pApF8L0KfHublGNMkw2rFY 0wysyw1bbVBjuP/arZoKank81ZJFbdezaC1Fg0+tykKHGYsoSSVSBJNlsbuQw+p3NvXV Tz8vytjpxG9A7k1sl4oArIdu70bmhM4Ke++PQr/Mk1+ge7YfHb3uahED/zKrtMaLfwBc 0sHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=OLtJtcBWGBEx7orAiSs/JLI5ZlzfANettDSxJh9+TC8=; b=sWUeO2fdJiuLQChL8fHXkp3sHC4TJ8oycbjo6b4PvKVXVz92MFYZUFqcna/p/W5/M0 Ynok5v5I214HMSSzrRDCvUWe2BgrT+5PoBcqrmJKYqjzaR1gXQ907QOLRLsbEAkjAib1 9rSb+HQ6CP8Z0FY04MJBoDInGBm0A8pGNe9lthCev4JYYUivgSuG+zEMCD/YenZQj6+N aGDcOT2mQWXfTsRsW7tjlQIY5Zj/xyts5XkCCJ+YpkqmdjdJYda02CgQZctYqnYFejkS B34a8D4Znrjtcsg5FDNi2kohfEbkskfsuuuDZA34tqvHCPYO1pSPivphUTOv4y0Ucdk4 LuZA== X-Gm-Message-State: AJaThX5xOSdtHrr48KglNNTp0R+78AIkmLivHaUPJ6Y6DZxxYa0ftKQN R6/88/ovA+i2W2KjrqUB2Q17PlYPuDztzXePTA0= X-Google-Smtp-Source: AGs4zMalR9ig68grKOBEVXm5jJU5gun/nchRM1lVYTsf0oY4K3mpoX6oS8g4htgnosJ+G2lAiadRSaCP8eVk8D5DwvE= X-Received: by 10.223.186.67 with SMTP id t3mr494685wrg.276.1511905946867; Tue, 28 Nov 2017 13:52:26 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.151.116 with HTTP; Tue, 28 Nov 2017 13:52:26 -0800 (PST) In-Reply-To: <87zi76f5hj.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> <87zi76f5hj.fsf@HIDDEN> From: Noam Postavsky <npostavs@HIDDEN> Date: Tue, 28 Nov 2017 16:52:26 -0500 X-Google-Sender-Auth: noFqJz3wt3zCCcH5uo9QY6E6Gvo Message-ID: <CAM-tV-8-hZRk+y6yRW5-E3eC0mA3__FVaD-Y_bormbs=ju7=+Q@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. To: =?UTF-8?Q?Pierre_T=C3=A9choueyres?= <pierre.techoueyres@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) On Tue, Nov 28, 2017 at 4:39 PM, Pierre T=C3=A9choueyres <pierre.techoueyres@HIDDEN> wrote: > Noam Postavsky <npostavs@HIDDEN> writes: >>> I've tried to dive into print.c but I don't understand how you return >>> from print_object, when you're on an hash-table to obtain the vector >>> with an eieio-class-tag--<class> (as in 25.3) ? >>> >>> Can anyone tell me how this work in 25.3 ? >> >> Nothing has changed in print.c in this respect. In 25.3, objects are >> vectors, and class tags are symbols. In 26, objects are records and >> class tags are eieio--class records. As a result, they print >> differently. > > I trust you, but that's not the answer I expected, sorry. When you say "that's not the answer I expected", do you mean that my answer didn't sufficiently explain to you why things worked correctly in Emacs 25.3 and not in Emacs 26? Or do you mean that you would expect Emacs 26 to work differently (i.e., in a way that doesn't break things)?
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 28 Nov 2017 21:39:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 16:39:14 2017 Received: from localhost ([127.0.0.1]:35213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eJnb0-0005jr-9q for submit <at> debbugs.gnu.org; Tue, 28 Nov 2017 16:39:14 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:6492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eJnay-0005jj-7D for 29220 <at> debbugs.gnu.org; Tue, 28 Nov 2017 16:39:12 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id DD8F119F5AF; Tue, 28 Nov 2017 22:39:04 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> <87h8tkzgef.fsf@HIDDEN> Date: Tue, 28 Nov 2017 22:39:04 +0100 In-Reply-To: <87h8tkzgef.fsf@HIDDEN> (Noam Postavsky's message of "Thu, 23 Nov 2017 19:09:28 -0500") Message-ID: <87zi76f5hj.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Noam Postavsky <npostavs@HIDDEN> writes: >> I've tried to dive into print.c but I don't understand how you return >> from print_object, when you're on an hash-table to obtain the vector >> with an eieio-class-tag--<class> (as in 25.3) ? >> >> Can anyone tell me how this work in 25.3 ? > > Nothing has changed in print.c in this respect. In 25.3, objects are > vectors, and class tags are symbols. In 26, objects are records and > class tags are eieio--class records. As a result, they print > differently. I trust you, but that's not the answer I expected, sorry. I tried to follow the trace from the call of `eieio-persistent-save' until I could find where it prints the content of the hash table. What bothers me is that, in emacs 25, you had have an short vector with a symbol and now you've an big object dump instead. Emacs 25 : [eieio-class-tag--person "Bob"] Emacs 26 : #s(#2=#s(eieio--class person nil nil [#s(cl-slot-descriptor name #3=#:unbound string nil)] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil ((:name . name)) #1=[] #1# #s(#2# #3#) (:custom-groups nil)) "Bob") As a side note: as class tags are now eieio--class objects you can't read an object saved with emacs 25 in emacs 26. Maybe this incompatibility should be documented into NEWS ? P.S. I hope that I'm not too harsh. It's not my intention.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 24 Nov 2017 00:09:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 23 19:09:37 2017 Received: from localhost ([127.0.0.1]:54393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eI1Yn-0002K9-Ih for submit <at> debbugs.gnu.org; Thu, 23 Nov 2017 19:09:37 -0500 Received: from mail-it0-f49.google.com ([209.85.214.49]:45006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eI1Ym-0002Jy-2Z for 29220 <at> debbugs.gnu.org; Thu, 23 Nov 2017 19:09:36 -0500 Received: by mail-it0-f49.google.com with SMTP id b5so11649323itc.3 for <29220 <at> debbugs.gnu.org>; Thu, 23 Nov 2017 16:09:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=j1tb3uqFqRUF8Lgmqp1ahsiiQG8J4af/EilR3047HrY=; b=ijhB3UAVFC9Ax9t+3rqQRE9XnQWxRj3hfmz5xqYNCHivAT0myQgiaNT+iXgC1jvlGU Fe3mqtqHeYA2FqlUa3+cZi0HkVLI6L+7dl1S6MYnN3ZoZT15LsfXwqbE4qyjnqQQ5AVg T9ROhbGuQWvg+3gvRZRGgULmfLql6Z1TlvE6r9gtacS6XRciRrqPwfCMhZvCvng6oMC7 QoeQqsxbIhO2uZbsl5T4HJKxQGjcNKMBBp04mC2LNFy/4LkmBo3zvsCmdi4H0+3hccKT Z5Or0Uuh6ETlWrwZQFXCC26F6Z83+geqrGrPi6yBb87O5b0Yy1Yv+G/i5Q4cxgy1Lma7 KxSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=j1tb3uqFqRUF8Lgmqp1ahsiiQG8J4af/EilR3047HrY=; b=EfV/5AspGg7a7LnFLuuRF6s0Jd5GShuRk5BcsWGoXtIZ2qMn4CbeV4fVG0GqRKwapG qVFR7dAk0OQelyDyvXKcILR8+hXaswSUZgZtEhPVVrVL04NddAXQLg+fir2bZgl+SV33 l8zx9dduGQ9aibJoKLTHESgjdLclEqujk965oabvC6BfNuCByw+swsX8TcS2pJyuFGXl lP6J251YOVvA8oyuejsCVwzuoqyiCFOOc9nA5HH+iLBW1VuGgw9AX/jzJADhk7ZOqu2W 4VFJzXSC7Hnej2bScBcZOsPE+C60n/oMFlnQJfuA5EfKiXpNbIZ/+nbnSTWvJa8Q8M1G vjHA== X-Gm-Message-State: AJaThX7dW3bmcqd72PGywfru5WWn8Sp8HP8RY1SmWTDyPIABOTY/pSR8 Mfx8mWLW8p7K0JkeLBgTT/0= X-Google-Smtp-Source: AGs4zMZSPrhErfbm8Brr6wJcdJ8uk3FJlR4jSwBO32kvlGVyfKaI3bmj0x8yU1vvH7CzwYDts52VUA== X-Received: by 10.36.253.73 with SMTP id m70mr13761335ith.49.1511482170682; Thu, 23 Nov 2017 16:09:30 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id g79sm3869575itb.29.2017.11.23.16.09.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Nov 2017 16:09:29 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> <87zi7cpooo.fsf@HIDDEN> Date: Thu, 23 Nov 2017 19:09:28 -0500 In-Reply-To: <87zi7cpooo.fsf@HIDDEN> ("Pierre \=\?utf-8\?Q\?T\=C3\=A9choueyres\=22's\?\= message of "Fri, 24 Nov 2017 00:20:39 +0100") Message-ID: <87h8tkzgef.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.1 (/) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: >> 25.3: >> (eieio--object-class-tag bob) =3D> eieio-class-tag--person >> 26: >> (eieio--object-class-tag bob) =3D> #2=3D#s(eieio--class person nil nil >> [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 >> test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil >> ((:name . name)) #1=3D[] #1# #s(#2# unbound) (:custom-groups nil)) >> >> In Emacs 25 we have a simple symbol which will round-trip as an `eq' >> object, in Emacs 26 we have a structure which will not (and furthermore >> has some circularity, requiring print-circle to print readably). >> > > I've tried to dive into print.c but I don't understand how you return > from print_object, when you're on an hash-table to obtain the vector > with an eieio-class-tag--<class> (as in 25.3) ? > > Can anyone tell me how this work in 25.3 ? Nothing has changed in print.c in this respect. In 25.3, objects are vectors, and class tags are symbols. In 26, objects are records and class tags are eieio--class records. As a result, they print differently.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 23 Nov 2017 23:20:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 23 18:20:47 2017 Received: from localhost ([127.0.0.1]:54315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eI0nX-0007j3-En for submit <at> debbugs.gnu.org; Thu, 23 Nov 2017 18:20:47 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:20412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eI0nW-0007iv-Er for 29220 <at> debbugs.gnu.org; Thu, 23 Nov 2017 18:20:46 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id A15E119F57E; Fri, 24 Nov 2017 00:20:40 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> Date: Fri, 24 Nov 2017 00:20:39 +0100 In-Reply-To: <87bmjz0xez.fsf@HIDDEN> (Noam Postavsky's message of "Sat, 18 Nov 2017 22:17:40 -0500") Message-ID: <87zi7cpooo.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Noam Postavsky <npostavs@HIDDEN> writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> (defclass person () >> ((name :type string :initarg :name))) >> >> (defclass classy (eieio-persistent) >> ((teacher >> :type person >> :initarg :teacher) >> (students >> :initarg :students :initform (make-hash-table)))) >> >> (setq jane (make-instance 'person :name "Jane")) >> (setq bob (make-instance 'person :name "Bob")) >> >> (setq class (make-instance 'classy >> :teacher jane)) >> (puthash "Bob" bob (slot-value class 'students)) > >> Jane is `read'-able, Bob isn't. `object-write' will recurse and use >> `object-write' on any member objects, but the hashtable gets sent to >> `prin1', which I assume uses `prin1' on all its values instead: > > Yes, but this is the case in emacs-25 as well. The significant > difference seems to be in the class object: > > 25.3: > (eieio--object-class-tag bob) => eieio-class-tag--person > 26: > (eieio--object-class-tag bob) => #2=#s(eieio--class person nil nil > [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 > test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil > ((:name . name)) #1=[] #1# #s(#2# unbound) (:custom-groups nil)) > > In Emacs 25 we have a simple symbol which will round-trip as an `eq' > object, in Emacs 26 we have a structure which will not (and furthermore > has some circularity, requiring print-circle to print readably). > I've tried to dive into print.c but I don't understand how you return from print_object, when you're on an hash-table to obtain the vector with an eieio-class-tag--<class> (as in 25.3) ? Can anyone tell me how this work in 25.3 ?
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 19 Nov 2017 05:59:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 19 00:59:54 2017 Received: from localhost ([127.0.0.1]:46724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eGIe2-0008OW-9f for submit <at> debbugs.gnu.org; Sun, 19 Nov 2017 00:59:54 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43172) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIdz-0008OD-Vn for submit <at> debbugs.gnu.org; Sun, 19 Nov 2017 00:59:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIdt-0000Sz-TC for submit <at> debbugs.gnu.org; Sun, 19 Nov 2017 00:59:46 -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]:58928) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIdt-0000St-Qc for submit <at> debbugs.gnu.org; Sun, 19 Nov 2017 00:59:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIds-00083D-LM for bug-gnu-emacs@HIDDEN; Sun, 19 Nov 2017 00:59:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIdp-0000RK-Km for bug-gnu-emacs@HIDDEN; Sun, 19 Nov 2017 00:59:44 -0500 Received: from [195.159.176.226] (port=49353 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIdp-0000QO-EO for bug-gnu-emacs@HIDDEN; Sun, 19 Nov 2017 00:59:41 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eGIde-0005Sp-Aa for bug-gnu-emacs@HIDDEN; Sun, 19 Nov 2017 06:59:30 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Sat, 18 Nov 2017 21:57:45 -0800 Lines: 43 Message-ID: <87vai6yfmu.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> <87bmjz0xez.fsf@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cancel-Lock: sha1:EIXqJmBEseATbRbzJiMZ3hzGsTk= 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 <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) Noam Postavsky <npostavs@HIDDEN> writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> (defclass person () >> ((name :type string :initarg :name))) >> >> (defclass classy (eieio-persistent) >> ((teacher >> :type person >> :initarg :teacher) >> (students >> :initarg :students :initform (make-hash-table)))) >> >> (setq jane (make-instance 'person :name "Jane")) >> (setq bob (make-instance 'person :name "Bob")) >> >> (setq class (make-instance 'classy >> :teacher jane)) >> (puthash "Bob" bob (slot-value class 'students)) > >> Jane is `read'-able, Bob isn't. `object-write' will recurse and use >> `object-write' on any member objects, but the hashtable gets sent to >> `prin1', which I assume uses `prin1' on all its values instead: > > Yes, but this is the case in emacs-25 as well. The significant > difference seems to be in the class object: > > 25.3: > (eieio--object-class-tag bob) => eieio-class-tag--person > 26: > (eieio--object-class-tag bob) => #2=#s(eieio--class person nil nil > [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 > test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil > ((:name . name)) #1=[] #1# #s(#2# unbound) (:custom-groups nil)) > > In Emacs 25 we have a simple symbol which will round-trip as an `eq' > object, in Emacs 26 we have a structure which will not (and furthermore > has some circularity, requiring print-circle to print readably). Yup, I sure noticed that change when it happened -- it made the already verbose object representations well-nigh unreadable. Looks like it was 8e6f204f44b. I don't know what the right solution is.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 19 Nov 2017 03:17:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 18 22:17:50 2017 Received: from localhost ([127.0.0.1]:46689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eGG7C-0004bh-As for submit <at> debbugs.gnu.org; Sat, 18 Nov 2017 22:17:50 -0500 Received: from mail-it0-f47.google.com ([209.85.214.47]:35730) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eGG7B-0004bU-5Q for 29220 <at> debbugs.gnu.org; Sat, 18 Nov 2017 22:17:49 -0500 Received: by mail-it0-f47.google.com with SMTP id u132so8321799ita.0 for <29220 <at> debbugs.gnu.org>; Sat, 18 Nov 2017 19:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=+N20hpP+48WqXwSQ533Tjgk4BYSk7RZx0ER1FBX95io=; b=B3Y82jZOY7SmHMtSJM/nMJcMBDuNBap09jyxgHHmhv7ZPQYTrDNh3zgtg26ANA8knx ub1MAj7gvAUzVfT2bZjpBJAfxoXkJLQVPQPYh0j/e1Dwf6m/5LNgP7swW6GXig7q17wG aB0BHNXqCKQfNT8nJKQ39BTQdP8APbB/oRy2qAh63C300utKcUNHQPzTf2f71mQIQe9k jh2kKjDUfdRyEmc7TliIVvNoAC+zC9xtsHJCEFN9BmMbYMHj54psRSjKQsOIcbd7wt5F tIppKRvX2srtSXWb/l+Ag4Z8GDFyC9CRn660VT9sFCVzWjYj2hpEQMkVySrmHMUtzThK dyfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=+N20hpP+48WqXwSQ533Tjgk4BYSk7RZx0ER1FBX95io=; b=VG56mTAw2hFH5QiwVkEgHLCiSaibVCCbogSEFYQt/30lllfRNkm/pWC/jqgEwINIfw 1vfdEf4REWQVWC2Kg5ezGxVnOYD5B0Uzhw93OMomRieSGfmlDayeDpbVZ0KG2HM71g41 5zhtnXCybdNqO0Hl/NqzXjV16thkJUNgx4lqP6IhYcFgi2WgjN1SK9sVl9itTu/wqbpK Vajcs5AZ16TfgrSKCmr44MbTLDSdSIGT6JJ9rFGLLKit/z+ozdJx33qjQYKr4taPRoXc xWY4fLkkkiEHBJzzyx20ejq4rod1MzLOUCGbh2RQSVOvHddklDAjwJL3xYQsVFNGPz1A QqUA== X-Gm-Message-State: AJaThX7SsstQlRwIFv/AWP72xK1dG8/u0yPtu9Gh1mlgikO+E4M1x0xw UCstqgDr20P6l0NlvNrcIOU4Zw== X-Google-Smtp-Source: AGs4zMYb6exgrKP6ZNENtpY1bBHEF0hSDuAvPpf+5Ouvi013q7+VZ92UfS8iQnOYi/Ifxh5gS3JZhw== X-Received: by 10.36.4.72 with SMTP id 69mr12753975itb.33.1511061463146; Sat, 18 Nov 2017 19:17:43 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id v198sm1084305ita.4.2017.11.18.19.17.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 18 Nov 2017 19:17:41 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> <87h8trzc6e.fsf@HIDDEN> Date: Sat, 18 Nov 2017 22:17:40 -0500 In-Reply-To: <87h8trzc6e.fsf@HIDDEN> (Eric Abrahamsen's message of "Sat, 18 Nov 2017 10:14:49 -0800") Message-ID: <87bmjz0xez.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.7 (/) Eric Abrahamsen <eric@HIDDEN> writes: > (defclass person () > ((name :type string :initarg :name))) > > (defclass classy (eieio-persistent) > ((teacher > :type person > :initarg :teacher) > (students > :initarg :students :initform (make-hash-table)))) > > (setq jane (make-instance 'person :name "Jane")) > (setq bob (make-instance 'person :name "Bob")) > > (setq class (make-instance 'classy > :teacher jane)) > (puthash "Bob" bob (slot-value class 'students)) > Jane is `read'-able, Bob isn't. `object-write' will recurse and use > `object-write' on any member objects, but the hashtable gets sent to > `prin1', which I assume uses `prin1' on all its values instead: Yes, but this is the case in emacs-25 as well. The significant difference seems to be in the class object: 25.3: (eieio--object-class-tag bob) => eieio-class-tag--person 26: (eieio--object-class-tag bob) => #2=#s(eieio--class person nil nil [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil ((:name . name)) #1=[] #1# #s(#2# unbound) (:custom-groups nil)) In Emacs 25 we have a simple symbol which will round-trip as an `eq' object, in Emacs 26 we have a structure which will not (and furthermore has some circularity, requiring print-circle to print readably).
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 18 Nov 2017 18:16:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 18 13:16:37 2017 Received: from localhost ([127.0.0.1]:46546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eG7fR-0006qY-H3 for submit <at> debbugs.gnu.org; Sat, 18 Nov 2017 13:16:37 -0500 Received: from mail.ericabrahamsen.net ([50.56.99.223]:56892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eric@HIDDEN>) id 1eG7fQ-0006qQ-7Y for 29220 <at> debbugs.gnu.org; Sat, 18 Nov 2017 13:16: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@HIDDEN) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id B5F9EC018D; Sat, 18 Nov 2017 18:16:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1511028994; bh=sZR9ev7mGENhaoFsyp7P03g9DTUz3yo9kLGrgHBVxHg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=PPxlgoWmaEmKXsEP5DitEhyzZDalpCcpZd/mUa0s1Acxqdc12e2D7+f6fRCUTVgVh 8pXxREvFxezBY/UB6vUTwvR1abyGLJCwcO776sjC9+fEKDDTXkB3pttyb/vN+bcVV1 j/IVeDtWKIDayzzcJWKTpzM2kMFUB34jXEoVQ5No= From: Eric Abrahamsen <eric@HIDDEN> To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> <87efov1zzn.fsf@HIDDEN> Date: Sat, 18 Nov 2017 10:14:49 -0800 In-Reply-To: <87efov1zzn.fsf@HIDDEN> (Noam Postavsky's message of "Sat, 18 Nov 2017 08:24:28 -0500") Message-ID: <87h8trzc6e.fsf@HIDDEN> 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: 29220 Cc: 29220 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Noam Postavsky <npostavs@HIDDEN> writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> (Are you guys looking at a different version of the pcache repo? The one >> on Github uses `constructor', not `make-instance'.) > > The version mentioned in #23: > > I've put an branch (pte/emacs-26) on github > (https://github.com/PierreTechoueyres/pcache.git) with some tests that > you can launch with Oops, I missed that. [...] >> But I still think the problem isn't in reading, it's in writing: the >> entries in the hash table are being written incorrectly, and so this >> validation step is exploding. > > Yes, the way structs and classes are encoded in emacs-26 changed, so the > way they're written changed also. It seems the round-tripping loses the > class/type maybe? I can still see the '44' entry in the hash table, so > the hash table itself is still in there... Here's what I think is going on: (defclass person () ((name :type string :initarg :name))) (defclass classy (eieio-persistent) ((teacher :type person :initarg :teacher) (students :initarg :students :initform (make-hash-table)))) (setq jane (make-instance 'person :name "Jane")) (setq bob (make-instance 'person :name "Bob")) (setq class (make-instance 'classy :teacher jane)) (puthash "Bob" bob (slot-value class 'students)) (object-write class) => (classy "classy-52080cc" :teacher (person "person-52080c4" :name "Jane") :students #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ("Bob" #s(#s(eieio--class person nil nil [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0)) nil ((:name . name)) [] [] #s(#2 unbound) (:custom-groups nil)) "Bob")))) Jane is `read'-able, Bob isn't. `object-write' will recurse and use `object-write' on any member objects, but the hashtable gets sent to `prin1', which I assume uses `prin1' on all its values instead: (object-write bob) => (person "person-482ca1c" :name "Bob") (prin1 bob) => #s(#s(eieio--class person nil nil [#s(cl-slot-descriptor name unbound string nil)] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8125 data (name 0 ...)) nil ((:name . name)) [] [] #s(#1 unbound) (:custom-groups nil)) "Bob") And I see I have yet again screwed up the changes to `object-write' in master; off to fix that now.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 18 Nov 2017 13:24:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 18 08:24:40 2017 Received: from localhost ([127.0.0.1]:45647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eG36u-0006cr-28 for submit <at> debbugs.gnu.org; Sat, 18 Nov 2017 08:24:40 -0500 Received: from mail-io0-f173.google.com ([209.85.223.173]:36918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eG36r-0006cb-11 for 29220 <at> debbugs.gnu.org; Sat, 18 Nov 2017 08:24:37 -0500 Received: by mail-io0-f173.google.com with SMTP id v21so11508002ioi.4 for <29220 <at> debbugs.gnu.org>; Sat, 18 Nov 2017 05:24:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=825OsyZnR4fv9Sl8O2gfAOx14M+OYxVOhOOjcZuQ15g=; b=XoyKfUDaAINwjmQCgcyQF41cNz615LWbNLJBqe7ZyFiM43Ifqhqeb1EgQbD5DAK7bR f7cL4dKYhaZ4K/ikbUxdf6s0qShDii+IxWnfXB4DHbBu4nonUS9Iac8tal3c1r2Kilht VlCVs3GvmLWOW1gagfPJiyzNAC6NYrvBtWhzEvI2wmx+lol4nH484KvVXgDLY0Atrp5h oCQornI8H2L8XNwnMZmp+djHAicErzUK+R296C+WDIPJB6AIZSGN9n0mKd8N2YmTLeyX JBKfFpGPHTg9YXKfebjDGlbevUGzqHGYP6+hzLCBee3Eo5/j/GagMqsd+KzCuvzJCHP6 ayTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=825OsyZnR4fv9Sl8O2gfAOx14M+OYxVOhOOjcZuQ15g=; b=OUhGZEgmiYxr0uKayBwwArmWqoMSr1IXqrbSwApobcDYIa0l11Hnq99YK3fuCg8A01 D3+ywpBslGypGma8shEkb+OmNPIBp+ESyAS5gZtgk+tG4W9zVcWj8Y+63JisecNerzkW mrD0N9yDa9OzuCw+M89hKCJoSNr2aKjuWTTKPbwOfLLV5mgotRQavFYTzbJJT8JIpBK9 IqZSkzEE2jpkL3c2aI+DusubIk0A4D+T6sANjZmD3tSOzfV+cL4vss4Ihc1Vmy99/EV4 zYLEsdVJ4JWYfrNw9opsbF/ML8JRF3p2Q/XZMJhePH2Sz03hp9zui0eTY11yROR1aJ2O pHXQ== X-Gm-Message-State: AJaThX4WjgkQF7wYtwt47gjLf5hapH24zLQTiM412TE7qucQ8IPDz7Tb QhI8KaLKDSL9uUcq/aXa2U2Llw== X-Google-Smtp-Source: AGs4zMaviwKspx6N5sDMNcuxYEfFbYW2xnd2roCoAGU94l2Z/Y2QMliDsqWDlqI+PwcXWrylqa4eEA== X-Received: by 10.107.138.73 with SMTP id m70mr4336816iod.140.1511011471204; Sat, 18 Nov 2017 05:24:31 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id i133sm491589itf.1.2017.11.18.05.24.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 18 Nov 2017 05:24:29 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> <87zi7kyzcf.fsf@HIDDEN> Date: Sat, 18 Nov 2017 08:24:28 -0500 In-Reply-To: <87zi7kyzcf.fsf@HIDDEN> (Eric Abrahamsen's message of "Fri, 17 Nov 2017 20:39:44 -0800") Message-ID: <87efov1zzn.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) Eric Abrahamsen <eric@HIDDEN> writes: > (Are you guys looking at a different version of the pcache repo? The one > on Github uses `constructor', not `make-instance'.) The version mentioned in #23: I've put an branch (pte/emacs-26) on github (https://github.com/PierreTechoueyres/pcache.git) with some tests that you can launch with > The call to `eieio-persistent-read' does basic slot value validation, > but this function is additionally checking that all of the entries in > the hash table are of the proper class, that specified in the > `entry-cls' slot. > > But I still think the problem isn't in reading, it's in writing: the > entries in the hash table are being written incorrectly, and so this > validation step is exploding. Yes, the way structs and classes are encoded in emacs-26 changed, so the way they're written changed also. It seems the round-tripping loses the class/type maybe? I can still see the '44' entry in the hash table, so the hash table itself is still in there... > I sure don't know why setting `print-circle' to t would have solved it, > though... Setting print-circle only lets the read work without error, the read object still fails the pcache validation.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 18 Nov 2017 04:42:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 17 23:42:05 2017 Received: from localhost ([127.0.0.1]:45483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eFux9-0000Ee-Hk for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 23:42:05 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFux7-0000EA-TC for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 23:42:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFux1-0004iM-Ga for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 23:41:56 -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]:47512) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFux1-0004hz-DL for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 23:41:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34703) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFuwz-0006mE-Sh for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 23:41:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFuwu-0004YD-SB for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 23:41:53 -0500 Received: from [195.159.176.226] (port=36920 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFuwu-0004Ww-Kg for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 23:41:48 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFuwc-0005f6-Dh for bug-gnu-emacs@HIDDEN; Sat, 18 Nov 2017 05:41:30 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Fri, 17 Nov 2017 20:39:44 -0800 Lines: 50 Message-ID: <87zi7kyzcf.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <87h8ts1cfp.fsf@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cancel-Lock: sha1:VlzTCrzu+PgX2ntfzOWqe+DGNOM= 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 <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) Noam Postavsky <npostavs@HIDDEN> writes: > Noam Postavsky <npostavs@HIDDEN> writes: > >> When I set a breakpoint in eieio-persistent-read, the object being seems >> correct. If I evaluate (pcache-get ret 'foo) in edebug, I get 44, as >> expected. But somehow the object which gets returned from >> (pcache-repository :object-name #1="pcache-test/tmp2") doesn't have >> anything in its hash table. > > Okay, I found where the problem is, it's failing pcache-validate-repo > (what's the idea behind throwing an error which is caught and ignored > anyway?): > > (cl-defmethod make-instance ((cache (subclass pcache-repository)) &rest args) > ... > (condition-case nil > (let* ((obj (eieio-persistent-read path 'pcache-repository))) > (and (or (pcache-validate-repo obj) > (error "wrong version")) ... > (error nil))) (Are you guys looking at a different version of the pcache repo? The one on Github uses `constructor', not `make-instance'.) > Specifically, this part: > > (defun pcache-validate-repo (cache) > ... > (cl-every > (lambda (entry) > (and (object-of-class-p entry (slot-value cache 'entry-cls)) > ... > (pcache-hash-table-values (slot-value cache 'entries))))) > > I can't really tell what this function is supposed to be checking. The call to `eieio-persistent-read' does basic slot value validation, but this function is additionally checking that all of the entries in the hash table are of the proper class, that specified in the `entry-cls' slot. But I still think the problem isn't in reading, it's in writing: the entries in the hash table are being written incorrectly, and so this validation step is exploding. I sure don't know why setting `print-circle' to t would have solved it, though... Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 18 Nov 2017 03:41:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 17 22:41:08 2017 Received: from localhost ([127.0.0.1]:45471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eFu0C-0007JS-L9 for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 22:41:08 -0500 Received: from mail-io0-f172.google.com ([209.85.223.172]:36250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eFu0A-0007Ir-G5 for 29220 <at> debbugs.gnu.org; Fri, 17 Nov 2017 22:41:07 -0500 Received: by mail-io0-f172.google.com with SMTP id 79so3172743ioi.3 for <29220 <at> debbugs.gnu.org>; Fri, 17 Nov 2017 19:41:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=QVtz8Zb7NcIK2l0owN95VlUpC0aJGKSlHJAglhiZZao=; b=fKdPk8as16BDDgWXHSFAZ/VwmFbIfb33QfhTGIXIEcZayLV4ovqF/bgflw1FQXOL37 E5GcMdM+E8E+kIpa5mRQ5MKFnhErq3P+QxcOd9fl6D2Rk9+UvKEn/yAEzYBQ4T8/+7eO 01EW2Zrjsc83G1ffYUi9jEj6l7z+S7pKbQhThMkZ1YAgwmVOyjRi6tI5wpnBos50lsO6 Dc8QuywbXIskVkogkxd4kpr5DCe2jkYjQ0/Tq7n3XwFpEnNiM74gbycg7e1kgsrQW7kg OQ2WvZ7eI6CGUaTD9Ek8LPQtKPELjzIo+htLInojiz5U6qDgXT3o8gzpH83104Y4SVrM oSRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=QVtz8Zb7NcIK2l0owN95VlUpC0aJGKSlHJAglhiZZao=; b=L84EFPCU/jMXUYZYOT0ipEL8He1z8LpJ5AX51DTgBPMuEMw1EGfdHQNoZ1/I/xQjne ig0gCoWls7AiGED/a5AdPqcK5zbyOJd8fwkzvLos9N0rxgh8PYHIqI+bc5wJ+BHS/XY+ K16XmpRAC4L6vCQAGM3+dRpjFiWtIZGAZpOwTho5MfpATmm/INSYD7jH1s5Kl6QNOXfV 2SX5aW6nA5jSFKXXAzsazYHaq1GCNPp24fbgpvNPduTr4Cv0UNMH2i2xFkJQ+6lgKMrX hUZ0Iv184/j8/olxUoVrmmHE0glKrEreY6A7HM9/PiOE0NQ3ONFa4PtWr5c8SWpuGSNT nerg== X-Gm-Message-State: AJaThX7P6W997IyKZQkdWxip+q4GnMWfNrzMzCRPJFPLpLA6q6lIrm0j v4JSxMT3vRrmtCYopIFXui8= X-Google-Smtp-Source: AGs4zMbpn7Nx8veUFoe1dZQwbGkpzbpu2vas+02ATQM6jQCL9d70quI790OdCGGbAwH4+nl9DZEN7A== X-Received: by 10.107.181.67 with SMTP id e64mr5233100iof.211.1510976460723; Fri, 17 Nov 2017 19:41:00 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id i76sm2718697ita.21.2017.11.17.19.40.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 17 Nov 2017 19:40:59 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> Date: Fri, 17 Nov 2017 22:40:58 -0500 In-Reply-To: <87y3n81eq7.fsf@HIDDEN> (Noam Postavsky's message of "Tue, 14 Nov 2017 21:02:24 -0500") Message-ID: <87h8ts1cfp.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) Noam Postavsky <npostavs@HIDDEN> writes: > When I set a breakpoint in eieio-persistent-read, the object being seems > correct. If I evaluate (pcache-get ret 'foo) in edebug, I get 44, as > expected. But somehow the object which gets returned from > (pcache-repository :object-name #1="pcache-test/tmp2") doesn't have > anything in its hash table. Okay, I found where the problem is, it's failing pcache-validate-repo (what's the idea behind throwing an error which is caught and ignored anyway?): (cl-defmethod make-instance ((cache (subclass pcache-repository)) &rest args) ... (condition-case nil (let* ((obj (eieio-persistent-read path 'pcache-repository))) (and (or (pcache-validate-repo obj) (error "wrong version")) ... (error nil))) Specifically, this part: (defun pcache-validate-repo (cache) ... (cl-every (lambda (entry) (and (object-of-class-p entry (slot-value cache 'entry-cls)) ... (pcache-hash-table-values (slot-value cache 'entries))))) I can't really tell what this function is supposed to be checking.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Nov 2017 20:45:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 17 15:45:34 2017 Received: from localhost ([127.0.0.1]:45364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eFnW2-0002je-EA for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 15:45:34 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49075) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnW0-0002jR-20 for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 15:45:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVu-0001mO-64 for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 15:45:26 -0500 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,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50416) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVu-0001mB-2B for submit <at> debbugs.gnu.org; Fri, 17 Nov 2017 15:45:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40040) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVs-0005oM-VD for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 15:45:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVo-0001e1-6G for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 15:45:24 -0500 Received: from [195.159.176.226] (port=39143 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVn-0001a0-Im for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 15:45:20 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eFnVX-0000Rg-OH for bug-gnu-emacs@HIDDEN; Fri, 17 Nov 2017 21:45:03 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Fri, 17 Nov 2017 20:56:11 +0100 Lines: 25 Message-ID: <87ine8brxg.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> <jwvmv3nsgt7.fsf-monnier+emacsbugs@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:RIyU0p3xUj0H2D9QZofcu4vKWSs= 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.8 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.8 (----) Stefan Monnier <monnier@HIDDEN> writes: >> I can't tell if arglist is meant to be evaluated or not. > > Both ;-( > Maybe I've done some mistakes when I tried to remove deprecated methods and to use lexical binding. Can I do something to help ? (But I think it's out of my capabilities ...) > It's used as: > > (apply pcache-repository ',arglist) > > where it's not evaluated and as: > > (pcache-destroy-repository ,(car arglist)) > > where the first element is evaluated. > > > Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 15 Nov 2017 15:28:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 15 10:28:14 2017 Received: from localhost ([127.0.0.1]:42036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eEzbo-0001Cn-Gt for submit <at> debbugs.gnu.org; Wed, 15 Nov 2017 10:28:14 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:41080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1eEzbl-0001Ce-JQ for 29220 <at> debbugs.gnu.org; Wed, 15 Nov 2017 10:28:10 -0500 Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id vAFFS8oc015583; Wed, 15 Nov 2017 10:28:08 -0500 Received: by lechazo.home (Postfix, from userid 20848) id F03FE60625; Wed, 15 Nov 2017 10:29:38 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Message-ID: <jwvmv3nsgt7.fsf-monnier+emacsbugs@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> <87y3n81eq7.fsf@HIDDEN> Date: Wed, 15 Nov 2017 10:29:38 -0500 In-Reply-To: <87y3n81eq7.fsf@HIDDEN> (Noam Postavsky's message of "Tue, 14 Nov 2017 21:02:24 -0500") 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, RV6159=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6159> : inlines <6171> : streams <1770369> : uri <2534414> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Pierre =?windows-1252?Q?T=E9choueyres?= <pierre.techoueyres@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.3 (-) > I can't tell if arglist is meant to be evaluated or not. Both ;-( It's used as: (apply pcache-repository ',arglist) where it's not evaluated and as: (pcache-destroy-repository ,(car arglist)) where the first element is evaluated. Stefan
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 15 Nov 2017 02:02:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 14 21:02:34 2017 Received: from localhost ([127.0.0.1]:40810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eEn2A-0003h3-9m for submit <at> debbugs.gnu.org; Tue, 14 Nov 2017 21:02:34 -0500 Received: from mail-it0-f47.google.com ([209.85.214.47]:45719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eEn28-0003gq-Ut for 29220 <at> debbugs.gnu.org; Tue, 14 Nov 2017 21:02:33 -0500 Received: by mail-it0-f47.google.com with SMTP id l196so2744itl.4 for <29220 <at> debbugs.gnu.org>; Tue, 14 Nov 2017 18:02:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=dwYpUs87tytRYhQNTGMmKX+mse7LUYd9PDxpJLP8mqE=; b=BTDsFMulnT7YhGFQJNBMiznozwasY7PxqTlEb88lykgv3/57N/ArDRCzMu3LLmHPRd G0rsIP90L/wir17esNLEbGUMNuuD0xboLXQZLK57YoUob7rkyLrbA4PXZ1oR4XV5E4VC 7m8XI73thuCoXG8FUnovqznyUj4vRoIIMg8eTo7umqEEEDvFvz0tOZodZQ79G+deU4pH 1JvvNjI1Oe7FhqBN9wi4IODTiYluccm/mk8BQf8ISaLKLNWVK5/CwD7kN6efLBAfdlUO SBZm1bnNTVKr+KaOBQn+DaK0pkdE0IbDHd9CMwXZ6/Hi/3Q9NDbMNU0D9Q+UW3hd79NX s4ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=dwYpUs87tytRYhQNTGMmKX+mse7LUYd9PDxpJLP8mqE=; b=ly9gC3F88jcBx98xipokzwwDSej2Jx1ygA84mcB4VTr8TqDNl9H72dKOhpKr2n8/lq 6M6gq6Ikfn6SrbMFRFpFmENbx8NLqYnqK4Im39MeQfprvcQphNqgn/tOzsqTbz6U7VZd 5+K37/QRhRqJE/0l3SBpUagHUrlW9nyZ3xQJhVT5G781ABkQgK4jwnpz73S07I21ik/Y ervT8VPQVuLQwzhIP655IWREXK7MuDqF+wiGf8DcNz1zqrJEuHDNm2os6hVA3WkHMWUu JBeNhIOOMK7G0q9GBmZ1S6JPEjdAw8BI2bFbgRaf59VhW+uFKkEtk/gUr2dkzuWluig7 vL2Q== X-Gm-Message-State: AJaThX5nzMvGIWOtIEJU0GCIBgT76ch8ZBDhhgruFVwSeYxiALvJWnV+ u25EbrrdeoE4psT7WgJ+cDI= X-Google-Smtp-Source: AGs4zMZYQdMFm34Mw0aiebi4xeTlgTUJdD5bpB+huOg9sMd2tZCWlYumo6RpRvyiiH+DbF/SpKPwNQ== X-Received: by 10.36.31.8 with SMTP id d8mr18214265itd.80.1510711347316; Tue, 14 Nov 2017 18:02:27 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id a17sm9306126ioe.55.2017.11.14.18.02.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 14 Nov 2017 18:02:25 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> <87inecwl1v.fsf@HIDDEN> Date: Tue, 14 Nov 2017 21:02:24 -0500 In-Reply-To: <87inecwl1v.fsf@HIDDEN> ("Pierre \=\?utf-8\?Q\?T\=C3\=A9choueyres\=22's\?\= message of "Tue, 14 Nov 2017 23:30:04 +0100") Message-ID: <87y3n81eq7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.2 (/) pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > Unfortunately my receip is an incomplete subset of what pcache do with > the objects and hash tables. And even with `print-circle' set to t, > reading an pcache object still fail with emacs 26. > > I've put an branch (pte/emacs-26) on github > (https://github.com/PierreTechoueyres/pcache.git) with some tests that > you can launch with > > emacs-26 -batch -L . -l test/pcache-test.el -f ert-run-tests-batch-and-ex= it Hmm, not sure. Every time I look deeper at something based on this object stuff it turns out to be way overcomplicated. When I set a breakpoint in eieio-persistent-read, the object being seems correct. If I evaluate (pcache-get ret 'foo) in edebug, I get 44, as expected. But somehow the object which gets returned from (pcache-repository :object-name #1=3D"pcache-test/tmp2") doesn't have anything in its hash table. PS The edebug declaration in pcache-with-repository is wrong, it should be: (declare (indent 2) (debug (symbolp (&rest form) body))) Or possibly (declare (indent 2) (debug (symbolp (&rest sexp) body))) I can't tell if arglist is meant to be evaluated or not. All the uses pass a string which is self-quoting.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 14 Nov 2017 22:30:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 14 17:30:12 2017 Received: from localhost ([127.0.0.1]:40715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eEjie-0007AL-31 for submit <at> debbugs.gnu.org; Tue, 14 Nov 2017 17:30:12 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:41056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eEjic-0007AB-23 for 29220 <at> debbugs.gnu.org; Tue, 14 Nov 2017 17:30:10 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id E83A519F5A3; Tue, 14 Nov 2017 23:30:04 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Noam Postavsky <npostavs@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> <87375j2tzd.fsf@HIDDEN> Date: Tue, 14 Nov 2017 23:30:04 +0100 In-Reply-To: <87375j2tzd.fsf@HIDDEN> (Noam Postavsky's message of "Sun, 12 Nov 2017 14:10:46 -0500") Message-ID: <87inecwl1v.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: Eric Abrahamsen <eric@HIDDEN>, 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Noam Postavsky <npostavs@HIDDEN> writes: > Eric Abrahamsen <eric@HIDDEN> writes: > >> pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: >> >>> So here is the same sample completed. Sorry. >>> >>> ;;; -*- lexical-binding: t -*- >>> (require 'eieio) >>> (require 'eieio-base) >>> >>> (defclass eieio-fail (eieio-persistent eieio-named) >>> ((version :initarg :version :initform nil) >>> (version-constant :allocation :class) >>> (entries :initarg :entries :initform (make-hash-table)))) >> >> This problem isn't related to my changes: it looks like the source of >> the issue is the way the hash table is written, and the fact that one of >> its entries holds an EIEIO object. >> >> As far as I can tell, when the hash table is written with `prin1', the >> EIEIO object inside is also getting written with `prin1' instead of >> `object-write'. The `prin1' representation isn't readable, so the >> persistent read process chokes on it. >> >> The prin1 process for the hash table would have to detect that there's >> an object in there, and write it with `object-write'. >> >> I assume this used to work? There have been several changes to the >> printing process in Emacs 26, but I don't have a good grasp of the >> details -- hopefully Stefan or someone will chime in. > > Stefan isn't subscribed to the bug list, so you have to Cc him (which > I've now done). I note that adding (setq print-circle t) makes the > given recipe work. Unfortunately my receip is an incomplete subset of what pcache do with the objects and hash tables. And even with `print-circle' set to t, reading an pcache object still fail with emacs 26. I've put an branch (pte/emacs-26) on github (https://github.com/PierreTechoueyres/pcache.git) with some tests that you can launch with emacs-26 -batch -L . -l test/pcache-test.el -f ert-run-tests-batch-and-exit Ask if I could provide more info. Pierre
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 12 Nov 2017 19:10:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 12 14:10:55 2017 Received: from localhost ([127.0.0.1]:37170 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eDxeh-0003sn-FG for submit <at> debbugs.gnu.org; Sun, 12 Nov 2017 14:10:55 -0500 Received: from mail-it0-f52.google.com ([209.85.214.52]:38348) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <npostavs@HIDDEN>) id 1eDxeg-0003sa-6T for 29220 <at> debbugs.gnu.org; Sun, 12 Nov 2017 14:10:54 -0500 Received: by mail-it0-f52.google.com with SMTP id c3so6954631itc.3 for <29220 <at> debbugs.gnu.org>; Sun, 12 Nov 2017 11:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=JQsK8627UxRu67weqrJN+Z5GhEoOlal2tmpYwDdRtgA=; b=SX+TzJGdX1KKq5AaNo46cckIdrF9iBin72hc0TdH4qC6znBKOC7kdDX2HNu38PDRsn Fkj5R4LF5gYXVPjJ9x3Ldv5g0VCPqX54ezVT9ZJWz0UGYQRbCXvMv3YkwuXFE5P5wlpz raWjVl2I3A+N7JtIZNisynYqst9tanxlHM2ul2OUADFhKN5s2jbLw84ONazI7TtETP8E qCWacRsH5DrLP5nsUg/AjtiUcJAyG+ZgFAt/DhKlBN9nmN5C4fhEGMJ0nig3fj0CO8zU meChadN8n3UneBZ70QWfEZWnQx4un3xiiwd1vAH1PF6/QVasF0yHNIKh33XM0cVmVbTd lCIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=JQsK8627UxRu67weqrJN+Z5GhEoOlal2tmpYwDdRtgA=; b=HphIqXUnWVf3/oSFf4+qIngsRtH7r9IvTNS8Bx3V8as9k8igLDh8hP2mjszre02LTW 09p0jJz5nl62vRcjHRQ/ZXNJ6CD16V9iANS0d013taBJI3JBkjI5o8NWybBKrXUe1aTC 54utbAzWkJGrw27gbR0SUGxCQ1YeHCLk93oUFCDUHRRolv4FW8fJc9tFqtLgl0lTKxF5 xJ7jA8czdboHAav/bD9oYa4wUafvKQhg/Ayck03T9g802KC80cZa0MsJjN30kC7ZHOCD CYRRg8hoiEOWxx8YM60WVqIdmRQwOSE4IbAUA6IGhLqjx8QMfO1xgmH+XKeB4gi9JnHn z6dg== X-Gm-Message-State: AJaThX5IvIZBYBwXTu3fgXaKIQrjCDPhxVCalAuPbQcvL3nbxrWJzP79 9IchQRZ0Kbyz4otbKzfTLyg= X-Google-Smtp-Source: AGs4zMZXVtcCOKHUeHg0geCxqKf7WrnRJQJFbEvjLMHok6vfBWgeahE/0lGH9oKfn8htpq8oVgxeVA== X-Received: by 10.36.5.211 with SMTP id 202mr7623357itl.122.1510513848667; Sun, 12 Nov 2017 11:10:48 -0800 (PST) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id e205sm3227744ita.6.2017.11.12.11.10.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 12 Nov 2017 11:10:47 -0800 (PST) From: Noam Postavsky <npostavs@HIDDEN> To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> Date: Sun, 12 Nov 2017 14:10:46 -0500 In-Reply-To: <8760aim2a5.fsf@HIDDEN> (Eric Abrahamsen's message of "Fri, 10 Nov 2017 10:12:02 -0800") Message-ID: <87375j2tzd.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, pierre.techoueyres@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 0.2 (/) Eric Abrahamsen <eric@HIDDEN> writes: > pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > >> So here is the same sample completed. Sorry. >> >> ;;; -*- lexical-binding: t -*- >> (require 'eieio) >> (require 'eieio-base) >> >> (defclass eieio-fail (eieio-persistent eieio-named) >> ((version :initarg :version :initform nil) >> (version-constant :allocation :class) >> (entries :initarg :entries :initform (make-hash-table)))) > > This problem isn't related to my changes: it looks like the source of > the issue is the way the hash table is written, and the fact that one of > its entries holds an EIEIO object. > > As far as I can tell, when the hash table is written with `prin1', the > EIEIO object inside is also getting written with `prin1' instead of > `object-write'. The `prin1' representation isn't readable, so the > persistent read process chokes on it. > > The prin1 process for the hash table would have to detect that there's > an object in there, and write it with `object-write'. > > I assume this used to work? There have been several changes to the > printing process in Emacs 26, but I don't have a good grasp of the > details -- hopefully Stefan or someone will chime in. Stefan isn't subscribed to the bug list, so you have to Cc him (which I've now done). I note that adding (setq print-circle t) makes the given recipe work.
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 10 Nov 2017 18:32:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 10 13:32:11 2017 Received: from localhost ([127.0.0.1]:34432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eDE67-0002Yi-J3 for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:32:11 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:9294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eDE66-0002Ya-B0 for 29220 <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:32:10 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 342BC19F600 for <29220 <at> debbugs.gnu.org>; Fri, 10 Nov 2017 19:32:08 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: 29220 <at> debbugs.gnu.org Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> <8760aim2a5.fsf@HIDDEN> Date: Fri, 10 Nov 2017 19:32:07 +0100 In-Reply-To: <8760aim2a5.fsf@HIDDEN> (Eric Abrahamsen's message of "Fri, 10 Nov 2017 10:12:02 -0800") Message-ID: <87vaiit26w.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Eric Abrahamsen <eric@HIDDEN> writes: > pierre.techoueyres@HIDDEN (Pierre T=C3=A9choueyres) writes: > >> Hello Eric, >> Firs, thank you for you fast answer. You fix resolved my first problem >> with eieio-persistent-read, but I've hit another error when I try to use >> complex objects save/restore. In fact I try to find why pcache package >> insnt working anymore with emacs 26. > > Sorry this is so frustrating! And thanks for the very concise recipe. No worries. > >> So here is the same sample completed. Sorry. >> >> ;;; -*- lexical-binding: t -*- >> (require 'eieio) >> (require 'eieio-base) >> >> (defclass eieio-fail (eieio-persistent eieio-named) >> ((version :initarg :version :initform nil) >> (version-constant :allocation :class) >> (entries :initarg :entries :initform (make-hash-table)))) > > This problem isn't related to my changes: it looks like the source of > the issue is the way the hash table is written, and the fact that one of > its entries holds an EIEIO object. I've never said that and thank for looking to it. > > As far as I can tell, when the hash table is written with `prin1', the > EIEIO object inside is also getting written with `prin1' instead of > `object-write'. The `prin1' representation isn't readable, so the > persistent read process chokes on it. > > The prin1 process for the hash table would have to detect that there's > an object in there, and write it with `object-write'. > > I assume this used to work? Yes this it the way the pcache (https://github.com/sigma/pcache) package work. Actually it's requires by the unicode-fonts (https://github.com/rolandwalker/unicode-fonts) package. > There have been several changes to the > printing process in Emacs 26, but I don't have a good grasp of the > details -- hopefully Stefan or someone will chime in. Hope my receipt could help. > Eric Pierre
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 10 Nov 2017 18:12:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 10 13:12:24 2017 Received: from localhost ([127.0.0.1]:34417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eDDmy-00023F-JW for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:12:24 -0500 Received: from eggs.gnu.org ([208.118.235.92]:38758) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmx-000233-FZ for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:12:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmr-00083P-8K for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:12:18 -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.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:60502) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmr-00083B-5d for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 13:12:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57948) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmp-0000bk-VZ for bug-gnu-emacs@HIDDEN; Fri, 10 Nov 2017 13:12:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmm-000815-LU for bug-gnu-emacs@HIDDEN; Fri, 10 Nov 2017 13:12:15 -0500 Received: from [195.159.176.226] (port=35006 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmm-00080U-Ev for bug-gnu-emacs@HIDDEN; Fri, 10 Nov 2017 13:12:12 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eDDmc-0004bS-8p for bug-gnu-emacs@HIDDEN; Fri, 10 Nov 2017 19:12:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Fri, 10 Nov 2017 10:12:02 -0800 Lines: 38 Message-ID: <8760aim2a5.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> <87zi7udorn.fsf@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) Cancel-Lock: sha1:fK+3FwilVVfwWX9upd4rb+j5TiI= 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 Cc: pierre.techoueyres@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) pierre.techoueyres@HIDDEN (Pierre Téchoueyres) writes: > Hello Eric, > Firs, thank you for you fast answer. You fix resolved my first problem > with eieio-persistent-read, but I've hit another error when I try to use > complex objects save/restore. In fact I try to find why pcache package > insnt working anymore with emacs 26. Sorry this is so frustrating! And thanks for the very concise recipe. > So here is the same sample completed. Sorry. > > ;;; -*- lexical-binding: t -*- > (require 'eieio) > (require 'eieio-base) > > (defclass eieio-fail (eieio-persistent eieio-named) > ((version :initarg :version :initform nil) > (version-constant :allocation :class) > (entries :initarg :entries :initform (make-hash-table)))) This problem isn't related to my changes: it looks like the source of the issue is the way the hash table is written, and the fact that one of its entries holds an EIEIO object. As far as I can tell, when the hash table is written with `prin1', the EIEIO object inside is also getting written with `prin1' instead of `object-write'. The `prin1' representation isn't readable, so the persistent read process chokes on it. The prin1 process for the hash table would have to detect that there's an object in there, and write it with `object-write'. I assume this used to work? There have been several changes to the printing process in Emacs 26, but I don't have a good grasp of the details -- hopefully Stefan or someone will chime in. Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at 29220) by debbugs.gnu.org; 10 Nov 2017 17:31:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 10 12:31:14 2017 Received: from localhost ([127.0.0.1]:34407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eDD98-000177-Bq for submit <at> debbugs.gnu.org; Fri, 10 Nov 2017 12:31:14 -0500 Received: from smtp4-g21.free.fr ([212.27.42.4]:26182) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eDD95-00016y-Sy for 29220 <at> debbugs.gnu.org; Fri, 10 Nov 2017 12:31:12 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 65CED19F5A8; Fri, 10 Nov 2017 18:31:09 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. References: <87y3nga0lv.fsf@HIDDEN> <87po8s8k02.fsf@HIDDEN> Date: Fri, 10 Nov 2017 18:31:08 +0100 In-Reply-To: <87po8s8k02.fsf@HIDDEN> (Eric Abrahamsen's message of "Wed, 08 Nov 2017 14:48:29 -0800") Message-ID: <87zi7udorn.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29220 Cc: 29220 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Hello Eric, Firs, thank you for you fast answer. You fix resolved my first problem with eieio-persistent-read, but I've hit another error when I try to use complex objects save/restore. In fact I try to find why pcache package insnt working anymore with emacs 26. So here is the same sample completed. Sorry. --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=eieio-fail.el Content-Description: eieio-persistent-read test. ;;; -*- lexical-binding: t -*- (require 'eieio) (require 'eieio-base) (defclass eieio-fail (eieio-persistent eieio-named) ((version :initarg :version :initform nil) (version-constant :allocation :class) (entries :initarg :entries :initform (make-hash-table)))) (let* ((ef (make-instance 'eieio-fail :file "tmp")) (entries (slot-value ef 'entries)) (ef2 (make-instance 'eieio-fail :file "tmp2")) (entries2 (slot-value ef2 'entries))) (puthash 'foo 42 entries2) (oset ef2 :entries entries2) (puthash 'ef2 ef2 entries) (oset ef2 :entries entries2) (oset ef :entries entries) (eieio-persistent-save ef (concat "tmp-" emacs-version))) (let* ((ef (eieio-persistent-read (concat "tmp-" emacs-version) 'eieio-fail t)) (entries (slot-value ef 'entries)) (entries2 (slot-value (gethash 'ef2 entries) 'entries))) ;; (pp ef) (pp (gethash 'foo entries2))) --=-=-= Content-Type: text/plain Eric Abrahamsen <eric@HIDDEN> writes: > ... > > Yes, I made a bum commit to master, then fixed it, then cherry-picked > the bum commit over to emacs-26 without fixing it. The fix is now > cherry-picked as well, and I'm taking a short breather from patching > Emacs. > > Sorry about this, No worries > Eric Pierre --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 8 Nov 2017 22:48:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 08 17:48:51 2017 Received: from localhost ([127.0.0.1]:59083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eCZ9P-0001ia-Ge for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:48:51 -0500 Received: from eggs.gnu.org ([208.118.235.92]:39550) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9O-0001iO-4r for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:48:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9I-0005kQ-Cq for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:48:45 -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.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48589) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9I-0005k9-9O for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:48:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9H-0004OR-Ag for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:48:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9E-0005iJ-4y for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:48:43 -0500 Received: from [195.159.176.226] (port=58119 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ9D-0005i5-UT for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:48:40 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from <geb-bug-gnu-emacs@HIDDEN>) id 1eCZ91-0003hx-Pp for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 23:48:27 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@HIDDEN From: Eric Abrahamsen <eric@HIDDEN> Subject: Re: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Wed, 08 Nov 2017 14:48:29 -0800 Lines: 15 Message-ID: <87po8s8k02.fsf@HIDDEN> References: <87y3nga0lv.fsf@HIDDEN> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@HIDDEN User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) Cancel-Lock: sha1:trB9j+UyKu1vJ/L3LQMI8QyIpqE= 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 <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) pierre.techoueyres@HIDDEN (Pierre Téchoueyres) writes: > Emacs 26 is unable to restore an previously saved eieio object. > Same receipt work fine in emacs 25.3 > > emacs-26 --batch -l eieio-fail.el produces: > Wrong number of arguments: #<subr stringp>, 3 Yes, I made a bum commit to master, then fixed it, then cherry-picked the bum commit over to emacs-26 without fixing it. The fix is now cherry-picked as well, and I'm taking a short breather from patching Emacs. Sorry about this, Eric
bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 8 Nov 2017 22:19:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 08 17:19:07 2017 Received: from localhost ([127.0.0.1]:59066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eCYgc-0000zQ-Ve for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:19:07 -0500 Received: from eggs.gnu.org ([208.118.235.92]:57053) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSh-0000d8-FD for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:04:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSb-0003rv-6f for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:04:38 -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.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34346) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSb-0003rq-2N for submit <at> debbugs.gnu.org; Wed, 08 Nov 2017 17:04:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSZ-0001v9-No for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:04:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSY-0003r9-Mt for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:04:35 -0500 Received: from smtp4-g21.free.fr ([2a01:e0c:1:1599::13]:18002) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <pierre.techoueyres@HIDDEN>) id 1eCYSY-0003qE-9t for bug-gnu-emacs@HIDDEN; Wed, 08 Nov 2017 17:04:34 -0500 Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:b51f:3dc7:7e03:942]) by smtp4-g21.free.fr (Postfix) with ESMTPS id 7B0FF19F5B3 for <bug-gnu-emacs@HIDDEN>; Wed, 8 Nov 2017 23:04:29 +0100 (CET) From: pierre.techoueyres@HIDDEN (Pierre =?utf-8?Q?T=C3=A9choueyres?=) To: bug-gnu-emacs@HIDDEN Subject: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Wed, 08 Nov 2017 23:04:28 +0100 Message-ID: <87y3nga0lv.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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-Mailman-Approved-At: Wed, 08 Nov 2017 17:19:05 -0500 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain Emacs 26 is unable to restore an previously saved eieio object. Same receipt work fine in emacs 25.3 emacs-26 --batch -l eieio-fail.el produces: Wrong number of arguments: #<subr stringp>, 3 where emacs 25.3 Loading /usr/share/emacs/site-lisp/site-start.d/autoconf-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/cmake-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/git-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/rpmdev-init.el (source)... Loading /usr/share/emacs/site-lisp/site-start.d/systemtap-init.el (source)... [eieio-class-tag--eieio-fail "tmp-25.3.1" nil nil #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=eieio-fail.el Content-Description: receipe for eieio-persistent-read reading bug ;;; -*- lexical-binding: t -*- (require 'eieio) (require 'eieio-base) (defclass eieio-fail (eieio-persistent eieio-named) ((version :initarg :version :initform nil) (version-constant :allocation :class) (entries :initarg :entries :initform (make-hash-table)))) (let ((ef (make-instance 'eieio-fail :file "tmp"))) (eieio-persistent-save ef (concat "tmp-" emacs-version))) (let ((ef (eieio-persistent-read (concat "tmp-" emacs-version) 'eieio-fail t))) (pp ef)) --=-=-= Content-Type: text/plain In GNU Emacs 26.0.90 (build 1, x86_64-fc26-linux-gnu, GTK+ Version 3.22.21) of 2017-11-08 built on killashandra.ballybran.fr Repository revision: a215be999454b8f0118141d4e4f6cf58298f79e0 Windowing system distributor 'Fedora Project', version 11.0.11903000 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --prefix=/usr/local --with-xwidgets --with-modules --host=x86_64-fc26-linux-gnu --with-mailutils --with-gconf host_alias=x86_64-fc26-linux-gnu' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS LIBSYSTEMD LCMS2 Important settings: value of $LC_CTYPE: fr_FR.UTF-8 value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: diff-auto-refine-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-git diff-mode easymenu easy-mmode elec-pair time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 99040 11809) (symbols 48 21157 1) (miscs 40 53 130) (strings 32 29949 1299) (string-bytes 1 792306) (vectors 16 14803) (vector-slots 8 509702 10218) (floats 8 53 175) (intervals 56 265 20) (buffers 992 13)) --=-=-=--
pierre.techoueyres@HIDDEN (Pierre Téchoueyres)
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#29220
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.