From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.bugs Subject: bug#29220: 26.0.90; eieio-persistent-read fail to restore saved object. Date: Fri, 10 Nov 2017 10:12:02 -0800 Message-ID: <8760aim2a5.fsf@ericabrahamsen.net> References: <87y3nga0lv.fsf@killashandra.ballybran.fr> <87po8s8k02.fsf@ericabrahamsen.net> <87zi7udorn.fsf@killashandra.ballybran.fr> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1510337595 30000 195.159.176.226 (10 Nov 2017 18:13:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 10 Nov 2017 18:13:15 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) Cc: pierre.techoueyres@free.fr To: 29220@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 10 19:13:10 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDDng-0007VM-Vg for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Nov 2017 19:13:09 +0100 Original-Received: from localhost ([::1]:42954 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDDno-0001IF-BD for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Nov 2017 13:13:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDDnd-0001Ft-NY for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:13:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDDna-0008TE-Et for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:13:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:53969) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eDDna-0008T8-BX for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:13:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eDDna-000246-3J for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:13:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <87y3nga0lv.fsf@killashandra.ballybran.fr> Resent-From: Eric Abrahamsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Nov 2017 18:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29220 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15103375447894 (code B ref -1); Fri, 10 Nov 2017 18:13:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 10 Nov 2017 18:12:24 +0000 Original-Received: from localhost ([127.0.0.1]:34417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDDmy-00023F-JW for submit@debbugs.gnu.org; Fri, 10 Nov 2017 13:12:24 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:38758) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDDmx-000233-FZ for submit@debbugs.gnu.org; Fri, 10 Nov 2017 13:12:23 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDDmr-00083P-8K for submit@debbugs.gnu.org; Fri, 10 Nov 2017 13:12:18 -0500 Original-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 ) id 1eDDmr-00083B-5d for submit@debbugs.gnu.org; Fri, 10 Nov 2017 13:12:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57948) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDDmp-0000bk-VZ for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:12:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDDmm-000815-LU for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:12:15 -0500 Original-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 ) id 1eDDmm-00080U-Ev for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 13:12:12 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1eDDmc-0004bS-8p for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 19:12:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 38 Original-X-Complaints-To: usenet@blaine.gmane.org 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139738 Archived-At: pierre.techoueyres@free.fr (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