summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/eieio.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-12-12 19:43:33 -0800
committerGlenn Morris <rgm@gnu.org>2017-12-12 19:43:33 -0800
commit0beba8d16419ac592dd3dd7af7c177d80d490c4d (patch)
treed515a266d3593f934abfe43b82fd4703816b69ac /lisp/emacs-lisp/eieio.el
parent92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96 (diff)
parentb0369d0536cd510e8b7120ccf04ee98c4e323b59 (diff)
downloademacs-0beba8d16419ac592dd3dd7af7c177d80d490c4d.tar.gz
emacs-0beba8d16419ac592dd3dd7af7c177d80d490c4d.tar.bz2
emacs-0beba8d16419ac592dd3dd7af7c177d80d490c4d.zip
Merge from origin/emacs-26
b0369d0536 Import the latest IVD_Sequences.txt cd53b6399b Fix dired-do-compress when tar doesn't default to stdin (B... 51911dae14 Suppress warnings during elisp completion macroexpansion a36a090a95 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo ... 6a6e8e6e8d Make tramp-interrupt-process more robust 5bcd468a9e Make quail-input-method work when inhibit-read-only is non... 87baf1242e Fix 'fontset-name-p' d23158777d Fix fontset documentation inconsistencies for bug#29630 a829cb8c8b Remove sentence from child frames section in Elisp manual ad491c80e4 Avoid crashes in 'font-at' after 'set-fontset-font' c73d2cdfd7 * lisp/files-x.el (connection-local-set-profile-variables)... cefca2b8ac Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS 122e7264b8 Fix tool-tip display when display margins are non-zero by ... e1cc2037a9 Handle hash tables and vectors when reading/writing EIEIO ... cda219c3df Improve interactive debugging commands in xdisp.c 1056b3cbcd Fix calculation of continuation_pixel_width in display engine 90e20804f5 Improve documentation of 'save-abbrevs'. 14f0230a48 Improve documentation of Dired 161b0e5493 * lisp/bookmark.el (bookmark-alist): Doc fix. (Bug#29551)
Diffstat (limited to 'lisp/emacs-lisp/eieio.el')
-rw-r--r--lisp/emacs-lisp/eieio.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index d0d2ff5145c..ab96547f939 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -926,6 +926,25 @@ this object."
(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))))