【发布时间】:2017-10-13 01:52:51
【问题描述】:
是否有类似 (declare (indent defun)) 的东西用于 guile,所以用户定义的宏的缩进就像 defines 一样工作?
例如,如果我写下面的宏,
(define-syntax my-when
(syntax-rules ()
((my-when condition exp ...)
(if condition
(begin exp ...)))))
然后,我得到看起来像这样的缩进,
(my-when #t
(write "hi"))
但更喜欢以下
(my-when #t
(write "hi"))
在 elisp 中,我可以通过
获得所需的缩进(defmacro my-when (condition &rest body)
(declare (indent defun))
`(if ,condition
,@body))
(my-when t
(message "hi"))
版本/模式说明:emacs 26、scheme-mode w/ geiser、geiser-impl--implementation = guile
【问题讨论】:
标签: emacs macros scheme indentation guile