Как получить emacs для изменения команды компиляции для каждого буфера? - PullRequest
0 голосов
/ 11 сентября 2011

Предположим, у меня есть два файла кода, один из которых представляет собой небольшой тестовый скрипт, а другой - мой основной фрагмент кода (оба являются файлами кода c ++).Я хотел бы, чтобы emacs использовал разные команды компиляции для каждой из них (например, «make test_script» для одной и «make release» для другой).Какой лучший способ сделать это?

1 Ответ

2 голосов
/ 11 сентября 2011

Вы можете использовать локальную переменную compile-command для буфера. Например, в одном исходном коде C ++:

// Local Variables:
// compile-command: "make release"
// End:

и вы можете изменить это в другом исходном коде, чтобы использовать другие средства компиляции. Для запуска этой компиляции вы можете использовать M-x compile RET .

По вашему вопросу, если вы не хотите compile спрашивать вас, вы можете добавить следующее:

// Local Variables:
// compilation-read-command: nil
// compile-command: "make release"
// End:

Однако при загрузке файла вы будете предупреждены о том, что эта переменная является рискованной. Вы можете принять это, но обратите внимание, что это означает, что это может привести к тому, что произвольные команды будут запускаться по ошибке, когда вы просто компилируете загруженный файл с неизвестным источником (то есть, если вы где-то получаете файл, содержащий эти команды, и вы просто принимаете они, когда вы скомпилируете файл, выполнят любую вашу собственную программу без предварительного запроса.)

...