在ELisp中打印缺少读取语法的类型的对象

时间:2018-05-11 17:48:39

标签: emacs elisp

ELisp中的

Some types缺少读取语法。只打印它们会产生一个字符串,其中包含类似哈希表的名称:

(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 :(得分:2)

首先,hash notation 与<{3}}无关。

其次,像hash tables这样的对象有许多内部。只需看看我链接的手册。

第三,关于&#34;枚举技巧&#34;你最好的选择是windows:它会给你所有与模式匹配的有趣符号。尝试 C-h a