symbol-plist returns 具有值的 elisp 符号列表

symbol-plist returns a list for an elisp symbol with value

 (symbol-plist 'default-directory)

returns

(permanent-local t safe-local-variable stringp variable-documentation 341707)

如何理解elisp中default-directory符号的plist? (或)symbol plist中的六个列表元素分别代表什么?

注意:default-directory是以当前elisp脚本目录为值的符号。

参见手册中的Standard Symbol Properties。 任何其他任何包都可以随机添加 put.

A 属性 列表 在概念上将键映射到值。表示形式是 (KEY1 VALUE1 KEY2 VAULE2 KEY3 VALUE3 ...).

形式的普通列表

换句话说,您应该阅读 属性 列表,以便 permanent-local 具有值 tsafe-local-variable 具有值 stringp 并且 variable-documentation341707.

您可以使用 plist-get 获取键的值。不幸的是,使用此函数您无法区分 属性 和值 nil 以及密钥丢失的情况。幸运的是,您可以为此使用 plist-member,它 returns 以密钥开头的列表的其余部分,或者 nil 如果密钥丢失。