Подтвердить что ты не робот

Режим интерактивной компиляции в emacs? (что, если компилятор задает вопрос)

Я ищу либо хак для обычного режима компиляции, либо предложение о том, как создать новый режим. То, что я хочу достичь, - это "скомпилировать" мой код, но компилятор иногда задает определенные вопросы на терминале (да/нет, и т.д. И т.д.). Afaik, обычный режим компиляции не может направить мой ввод на клавиатуре и передать подпроцесс с ним. Возможно ли это?

Спасибо

4b9b3361

Ответ 1

C-u M-x compile RET - это все, что вам нужно.

Это фактически документировано: набрав C-h f compile RET показывает

Additionally, with universal prefix arg, compilation buffer will be in comint mode, i.e. interactive.

Ответ 2

Если вы заранее знаете все ответы, вы можете уйти с чем-то таким же простым, как:

(setq compile-command "(echo yes; echo no; echo yes) | (old compile command)")

Ответ 3

Кажется, единственный способ добиться того, что я хочу, - использовать пакет comint. Я собираюсь переопределить обычный режим компиляции, чтобы определить (по типу файла), будет ли компилятор задавать или не задавать никаких вопросов - если нет, используйте регулярную компиляцию, в противном случае используйте мой настраиваемый встроенный буфером comint.