Я пытаюсь создать собственную команду emacs для удаления пустых строк из региона. Я нашел интерактивный способ сделать это на masteremacs , используя эту команду:
M-x flush-lines RET ^\s-*$ RET
Поскольку мне приходится делать это часто, я хотел бы создать для него собственную команду, например итак:
(defun flush-empty-lines (start end)
(interactive "*r")
(flush-lines "^\s-*$" start end))
Однако, когда я выбираю регион и делаю M-x flush-empty-lines RET
, ничего не происходит. Я пытался настроить вызов flush-lines
различными способами, например, передать границы региона и установить (INTERACTIVE t)
, но ничего не помогло.
В общем, требуется какой-то особый синтаксис для передачи управление от одной интерактивной функции к другой?
РЕДАКТИРОВАТЬ: Я изменил свой код в соответствии с комментарием @ Дрю (спасибо), но он все еще не работает.