org-mode в Emacs: eval куски кода в асинхронном режиме

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

Есть ли способ выполнить выполнение асинхронно или, по крайней мере, остановить выполнение после его запуска?

Спасибо за помощь!


person maroxe    schedule 21.02.2016    source источник


Ответы (1)


Похоже, вы должны использовать это, чтобы избежать выполнения этих блоков.

(setq org-export-babel-evaluate nil)

Не имеет смысла запускать их асинхронно при экспорте, потому что тогда вывод не будет доступен для отчета. В качестве альтернативы вы можете попробовать выполнить асинхронный экспорт. После того, как вы наберете C-c C-e, затем введите C-a, чтобы включить асинхронный экспорт. Это должно выполнять экспорт в другом процессе, а не блокировать текущий.

person John Kitchin    schedule 22.02.2016
comment
спасибо, это помогает! Знаете ли вы подобный трюк для асинхронного выполнения отдельных блоков кода? - person maroxe; 22.02.2016
comment
Я сделал это для Python здесь kitchingroup.cheme.cmu.edu/blog/2015/11/20/. Я адаптировал его для команд оболочки, но он нигде не используется, так как я мало его тестировал. - person John Kitchin; 22.02.2016