Odio il modo in cui elisp (non sono sicuro che LISP in generale) gestisca dotstring multilinea.
(defun foo ()
"This is
a multi
liner
docstring"
(do-stuff))
Sicuramente vorrei poter fare qualcosa del genere
(defun foo ()
(eval-when-compile
(concat
"This is\n"
"a multi\n"
"line\n"
"docstring"))
(do-stuff))
in modo che il rientro fosse coerente.
Sfortunatamente, eval-when-compile non fa il lavoro.
Qualcuno ha qualche idea?
eval-when-compile
cita il risultato (per trasformarlo da un valore in un'espressione). Se fosse un po 'più intelligente e citasse il suo risultato solo quando non è auto-quotato, funzionerebbe.
defun
. Lo svantaggio di questo approccio - ed è grande - è che confonderà qualsiasi software (diverso dal compilatore / interprete elisp) che sta analizzando il tuo codice alla ricerca didefun
s.