Что делает активация рекламы?
В ответ я заметил:
;; Align with spaces only
(defadvice align-regexp (around align-regexp-with-spaces)
"Never use tabs for alignment."
(let ((indent-tabs-mode nil))
ad-do-it))
(ad-activate 'align-regexp)
Это звучит многообещающе, но... что это делает?!
Я старался eval-region
на блок кода. Но для меня все, что он делает, это добавляет следующее к align-regexp
документы:
Эта функция рекомендуется.
Around-advice `align-regexp-with-space ':
Никогда не используйте вкладки для выравнивания.
Кажется, я не могу использовать align-regexp-with-spaces
, если это то, что должно быть эффект... Что я пропускаю?
Я использовал GNU Emacs версии 24.0.96.1 (i386-mingw-nt6.1.7601).
1 ответ
Задавая этот вопрос, я понял, что мне просто не пришло в голову советовать функциям.
Мне стало ясно, что:
align-regexp-with-spaces
не функция и не переменная, а только имя (чтобы включить / отключить отдельные советы)- с тех пор
(ad-activate 'align-regexp)
,align-regexp
просто делает то, что я "посоветовал": не использовать вкладки
Так: ad-activate
активирует совет, эффективно изменяя поведение исходной функции. Большой!
Я не понимаю, почему это "лучше", чем определение функции вокруг align-regexp
хоть. Но опять же, я мало что знаю об Emacs Lisp.
Боюсь, дополнительные строки документации только добавили путаницы...