Ответ 1
[email protected] M-;
комментарии текущего sexp.
[email protected]
остается для mark-sexp
и M-;
знает, как правильно прокомментировать регион, учитывая текущий режим. Команды для отметки объектов описаны здесь.
Каков предпочтительный способ прокомментировать sexps в коде elisp? Я до сих пор обволакивал свои sexps в (if nil ...)
.
[email protected] M-;
комментарии текущего sexp.
[email protected]
остается для mark-sexp
и M-;
знает, как правильно прокомментировать регион, учитывая текущий режим. Команды для отметки объектов описаны здесь.
Конструкция (if nil sexp)
будет работать нормально. Я не знаю, есть ли стандартный эквивалент в Emacs Lisp, хотя я подозреваю, что нет. Если вы хотите более подробно узнать, что вы делаете, вы можете использовать что-то вроде макроса комментария в clojure. Это легко реализовать как макрос Emacs Lisp.
(defmacro comment (&rest body)
"Comment out one or more s-expressions."
nil)
Тогда вы могли бы просто написать:
(comment
...
; As many sexps as you want here...
...)
Добавлен nil
в конец определения макроса comment
. Как указано Марко Топольник, если вы не предоставляете тело реализации, defmacro
предполагает, что docstring на самом деле является телом. Явное размещение объекта nil
в конце работает вокруг этого. Спасибо за уловку Марко!
точки с запятой -;;;
;;; insert into buffer
(defun thingy (foo)
(interactive "stallman: ") ; prompt the user
; one semi-colon is also enough
;;;(insert (concat "deprecated")) ;;; this line will not execute
(insert (concat "gnu-" foo)))