Каков предпочтительный способ прокомментировать sexps в коде elisp? Я до сих пор обволакивал свои sexps в (if nil ...).
Как прокомментировать sexps в коде elisp?
Ответ 1
[email protected] M-; комментарии текущего sexp.
[email protected] остается для mark-sexp и M-; знает, как правильно прокомментировать регион, учитывая текущий режим. Команды для отметки объектов описаны здесь.
Ответ 2
Конструкция (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...
...)
EDIT:
Добавлен nil в конец определения макроса comment. Как указано Марко Топольник, если вы не предоставляете тело реализации, defmacro предполагает, что docstring на самом деле является телом. Явное размещение объекта nil в конце работает вокруг этого. Спасибо за уловку Марко!
Ответ 3
точки с запятой -;;;
;;; 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)))