Включить другой второстепенный режим после вызова моего узла
Я хотел бы написать второстепенный режим, который переключает несколько других режимов при запуске. Какой-то режим зонтика.
Теперь у меня есть простейшая задача - создать режим, который включает один другой режим.
Я написал
(require 'whitespace)
(define-minor-mode
myspace-mode
"some doc"
nil
nil
(if myspace-mode
(whitespace-mode 1)
(whitespace-mode -1)
)
)
Когда я переключаю этот режим из Mx, ничего не происходит. Но когда я оцениваю напрямую (пробельный режим ±1), он работает как положено.
Что мне не хватает?
1 ответ
Решение
В вашем определении отсутствует один параметр. По этой причине ваш (if ...)
Форма на самом деле интерпретируется как keymap
параметр.
Попробуй это:
(define-minor-mode
myspace-mode
"some doc"
nil
nil
nil
(if myspace-mode
(whitespace-mode 1)
(whitespace-mode -1)))