Handle hash tables and vectors when reading/writing EIEIO objects
commite1cc2037a9183bab9440b7b981a233c95d896aac
authorEric Abrahamsen <eric@ericabrahamsen.net>
Tue, 5 Dec 2017 22:41:50 +0000 (5 14:41 -0800)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Sat, 9 Dec 2017 16:55:58 +0000 (9 08:55 -0800)
treeb7b5345cdbfdaa1df6bfb6fbdd031cc8d278a4c2
parentcda219c3df688cb54b20bf8d061dac56b8f754be
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
lisp/emacs-lisp/eieio.el