Ich hasse die Art und Weise, wie elisp (nicht sicher, ob LISP im Allgemeinen) mit mehrzeiligen Dokumentzeichenfolgen umgeht.
(defun foo ()
"This is
a multi
liner
docstring"
(do-stuff))
Ich wünschte wirklich, ich könnte so etwas tun
(defun foo ()
(eval-when-compile
(concat
"This is\n"
"a multi\n"
"line\n"
"docstring"))
(do-stuff))
so dass die Einrückung konsistent war.
Leider macht eval-when-compile den Job nicht.
Hat jemand irgendwelche Ideen?
eval-when-compile
das Ergebnis zitiert (um ihn von einem Wert in einen Ausdruck umzuwandeln ). Wenn es ein bisschen schlauer wäre und sein Ergebnis nur dann zitieren würde, wenn es nicht selbst zitiert, würde es funktionieren.
defun
. Der Nachteil dieses Ansatzes - und es ist ein großer - ist, dass jede Software (außer dem Elisp-Compiler / Interpreter) verwirrt wird, die Ihren Code analysiert und nachdefun
s sucht .