Некоторые типы в ELisp не имеют синтаксиса чтения.Их печать приводит только к строке с хеш-таблицей, в которой указано имя:
(print (selected-window))
#<window 3 on test.el>
, но их нельзя рассматривать как хеш-код:
(require 'subr-x)
(hash-table-keys (selected-window))
hash-table-keys: Wrong type argument: hash-table-p, #<window 3 on test.el>
Иногда это помогает понятьпрограмма, если можно было сбросить все внутренние поля / настройки / свойства таких объектов в различных точках выполнения, например, в edebug.Можно ли это сделать, используя существующую функцию или какой-нибудь трюк с перечислением?