私はemacs lispでプログラミングする方法を学んでいます。関数定義をメッセージ バッファに出力する単純な関数を作成しようと考えました。これはうまくいきます:
(let (
(fDefAsString (symbol-function 'scroll-down))
)
(message "%s" fDefAsString)
(switch-to-buffer-other-frame "*Messages*"))
しかし、これを引数を取ることができる関数にしたかったのです。引数は、定義を確認したい関数の名前です。だから私はこれを試しました:
(defun message-function-definition (nameOfFunction)
(let (
(fDefAsString (symbol-function 'nameOfFunction))
)
(message "%s" fDefAsString)
(switch-to-buffer-other-frame "*Messages*")))
そして、私はこれを書きました:
(message-function-definition 'scroll-down)
次に、「eval-buffer」を実行しました。
このエラーが発生し続けます:
デバッガーが入力されました -- Lisp エラー: (void-function nameOfFunction) symbol-function(nameOfFunction) (let ((fDefAsString ...)) (message "%s" fDefAsString) (switch-to-buffer-other-frame " Messages " )) メッセージ関数定義(スクロールダウン) eval((メッセージ関数定義 (引用スクロールダウン))) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively( eval-last-sexp nil nil) recursive-edit() byte-code("\306 @\307=\203!
引用、引用解除、および「nameOfFunction」を使用しようとしましたが、これを機能させることができません。私は何を間違っていますか?