Шаговый макрос Emacs Lisp

А есть ли в 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))))

не делает то, что я здесь ожидаю.

6
задан Ken Wayne VanderLinde 29 March 2017 в 06:48
поделиться