При редактировании кода Lisp иногда полезно полностью прокомментировать определение верхнего уровня, например:
;(defun some-fn-which-is-broken (x)
; ...)
... или закомментируйте только часть s-выражения, например:
(foo x
; y
z)
... а затем перекомпилируйте файл и проверьте что-то в REPL и т.д.
При включенном режиме paredit это не работает. Здесь, что происходит, если точка находится прямо перед первым парнем ниже:
(defun some-fn (x)
...)
и вы вводите точку с запятой, вводится точка с запятой и новая строка:
;
(defun some-fn (x)
...)
То же самое с комментариями части s-выражения:
(foo x
;
y
z)
Я думаю, что если определение все в одной строке, это работает:
;(defparameter *foo* 10)
... но в противном случае я не могу узнать, как это сделать. Paredit отлично, я бы очень хотел продолжать использовать его. Есть ли какие-нибудь Lispерсы, которые знают об этом, или волшебники Emacs, которые могут взломать немного Emacs Lisp, чтобы связать что-то вроде paredit-comment-out-s-expr
?
Если есть еще один способ Lispy или Emacsy выполнить практически одно и то же, комментируя части источника для перекомпиляции, пожалуйста, не стесняйтесь предлагать их!