GNU bug report logs - #33441
reading and printing Lisp Objects - what changed from 25.3.1 to 26.1?

Previous Next

Package: emacs;

Reported by: Peter Milliken <peter.milliken <at> gmail.com>

Date: Tue, 20 Nov 2018 07:23:01 UTC

Severity: normal

Merged with 29220

Found in version 26.0.90

Full log


Message #48 received at 33441 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> gmail.com>
To: Peter Milliken <peter.milliken <at> gmail.com>
Cc: 33441 <at> debbugs.gnu.org, eliz <at> gnu.org, eggert <at> cs.ucla.edu
Subject: Re: bug#33441: reading and printing Lisp Objects - what changed from
 25.3.1 to 26.1?
Date: Tue, 02 Apr 2019 09:29:53 -0400
Peter Milliken <peter.milliken <at> gmail.com> writes:

> (cl-defmethod dump-language-to-file ((obj else-repository) name to-file)
>   (let ((language-to-dump (access-language else-Language-Repository name))
>         (write-marker nil)
>         (language-output-buffer nil)
>         (print-circle t))  <-------------------- new line

> I tried this and the read code still throws an error when reading the
> objects back from the file.

I tried it here; this time the error isn't from reading, but from
add-element "Attempting to add an illegal object to language".  So this
means it really is the same problem as in bug#29220: that newly read
objects don't have the right type.

A quick demo:

    (require 'eieio)

    (defclass foo ()
      ())

    (let ((print-circle t)
          (foo-obj (make-instance 'foo)))
      (cl-assert (foo-p foo-obj))
      ;; This assertion fails!
      (cl-assert (foo-p (read (prin1-to-string foo-obj)))))




This bug report was last modified 6 years and 74 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.