Skip to content

Instantly share code, notes, and snippets.

@randomwangran
Created September 11, 2019 14:14
Show Gist options
  • Save randomwangran/e42006ce622e7f472b39cb818516a483 to your computer and use it in GitHub Desktop.
Save randomwangran/e42006ce622e7f472b39cb818516a483 to your computer and use it in GitHub Desktop.
刚好看到了这个:
(info "(elisp) Symbol Type")
A symbol whose name starts with a colon (‘:’) is called a “keyword
symbol”. These symbols automatically act as constants, and are normally
used only by comparing an unknown symbol with a few specific
alternatives. *Note Constant Variables::.
(info "(elisp) Constant Variables")
In Emacs Lisp, certain symbols normally evaluate to themselves. These
include ‘nil’ and ‘t’, as well as any symbol whose name starts with ‘:’
(these are called “keywords”). These symbols cannot be rebound, nor can
their values be changed. Any attempt to set or bind ‘nil’ or ‘t’
signals a ‘setting-constant’ error. The same is true for a keyword (a
symbol whose name starts with ‘:’), if it is interned in the standard
obarray, except that setting such a symbol to itself is not an error.
就是说带冒号的 symbol (符号)是一种特殊的 symbol。在 Emacs 中 会
evaluate 他们自己 (就是不会被改变么?)。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment