Em vez de usar uma macro, considere o uso de uma função. A função indent-region
contém argumentos para o início e o fim da região. Assim, você pode avaliar (indent-region (point-min) (point-max))
para manipular todo o buffer. Você também pode usar uma função simples para fazer a mesma coisa:
(defun my-format-document ()
(interactive)
(indent-region (point-min) (point-max)) )
Embora não seja necessário aqui, no futuro você pode precisar usar algo como save-excursion
, o que o leva de volta ao ponto original.