Как создать функцию автозагрузки с фабрики макрофункций? Например, скажем, у меня есть макрос для создания функций выравнивания следующим образом, но я хочу иметь возможность указать параметр, чтобы расширенный макрос имел cookie автозагрузки.Создать функцию автозагрузки из макроса
(defmacro align-by (name doc regex)
"Alignment function factory."
(declare (indent 1))
(let ((fn (intern name)))
`(defun ,fn (start end)
,doc
(interactive "r")
(align-regexp start end ,regex))))
(align-by "align-backslash"
"Align backslashes at end of line in region."
"\\(\\s-*\\)\\\\$")
Я знаю, что могу это написать, но могу ли я избежать необходимости писать это для каждой функции?
;;;###autoload (autoload 'align-backslash "this-file")
Какой сценарий вам понадобится? Я с трудом думаю о чем-то, что не будет разрешено просто автозагрузкой самого макроса, но я предполагаю, что это просто над моей головой, поэтому я искренне любопытен. – Jack