Emacs c-mode-hook запускается при открытии файла php

Я создал функцию ловушки для активации режима иронии при работе с файлами c. Однако, когда я открываю файл php, эти ловушки также выполняются.

Вот код:

(defun my-company-irony ()
(irony-mode)
(unless (memq 'company-irony company-backends)
(setq-local company-backends (cons 'company-irony company-backends))))

(add-hook 'c-mode-hook #'my-company-irony)

Кто-нибудь знает, как прекратить выполнение этой ловушки на php-файлах?

0

Решение

Похоже на php-mode наследуется от c-modeчто, я думаю, означает, что он будет работать c-mode-hook, Если вы посмотрите на cc-mode.el, другие C-подобные режимы наследуются от prog-mode а не прямо из c-modeчто, вероятно, правильно. Вы, вероятно, должны сообщить об ошибке php-mode,

Чтобы исправить это, просто оберните ваш код в тест для c-mode

(defun my-company-irony ()
(when (eq major-mode 'c-mode)
(irony-mode)
(unless (memq 'company-irony company-backends)
(setq-local company-backends (cons 'company-irony company-backends)))))
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]