печать объекта типа без синтаксиса чтения в ELisp - PullRequest
0 голосов
/ 11 мая 2018

Некоторые типы в 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.Можно ли это сделать, используя существующую функцию или какой-нибудь трюк с перечислением?

1 Ответ

0 голосов
/ 11 мая 2018

Прежде всего, хеш нотация не имеет ничего общего с хеш таблиц .

Во-вторых, такие объекты, как windows имеют много внутренних элементов.Достаточно взглянуть на руководство, на которое я ссылаюсь.

В-третьих, что касается «трюка с перечислением», лучше всего ставить apropos: оно даст вам все интересные символы, соответствующиешаблон.Попробуйте Ch a .

...