elisp(一般的にLISPかどうかは不明)が複数行のdocstringを処理する方法が嫌いです。
(defun foo ()
"This is
a multi
liner
docstring"
(do-stuff))
私は私が何かをすることができることを願っています
(defun foo ()
(eval-when-compile
(concat
"This is\n"
"a multi\n"
"line\n"
"docstring"))
(do-stuff))
インデントが一貫するように。
残念ながら、eval-when-compileは機能しません。
誰かアイデアはありますか?
おかしなことに、トリックが機能しない理由は、
—
Stefan
eval-when-compile
その結果を引用することです(値から式に変換するため)。それがもう少し賢く、自己引用ではない場合にのみ結果を引用すると、うまくいきます。
defun
です。そのアプローチの欠点は-そしてそれは大きなものです-は、defun
sを探してコードを解析している(elispコンパイラ/インタプリタ以外の)ソフトウェアを混乱させることです。