А есть ли в Elisp аналог макростеппера SLIME? В частности, я ищу что-то, что расширяет код в точке следующего шага раскрытия (или только последнего расширения) в новом буфере.
Наивный
(defun macroexpand-point ()
(interactive)
(let ((b (get-buffer-create "*el-macroexpansion*"))
(expansion (format "%s" (macroexpand (thing-at-point 'sexp)))))
(with-current-buffer b
(insert expansion)
(display-buffer b))))
не делает то, что я здесь ожидаю.