function cell
emacsEmacsのシンボルは、通常の値を保持する場所とは別に、function cellという場所を持っている。
そして、リストを評価する際に、「先頭がシンボルならfunction cellを確認し、中身を関数として実行する」という動作をする。
function-cellに値を入れるにはfsetを使う。
値を取得するには、symbol-functionを使う。
(fset 'hotoku '(lambda () (message "hotoku")))
;; => (lambda nil (message "hotoku"))
(hotoku)
;; => "hotoku"
(symbol-function 'hotoku)
;; => (lambda nil (message "hotoku"))
fsetは、値が関数かどうかは確認しないので、どんな値でも入れようと思えば入れられる。