Я видел примеры онлайн, где люди добавляют пути к пути по умолчанию в Emacs с помощью:
(add-to-list 'exec-path "/usr/local/bin/")
Я новичок в Elisp и думаю, что понимаю, что делает приведенное выше утверждение, но у меня есть несколько вопросов:
В каком порядке Emacs ищет пути выполнения? Например, учитывает ли он значение
$PATH
(env. Variable) вообще (и если да, то до или послеexec-path
?)Как я могу добавить несколько таких путей? Могу ли я просто продолжать их объединять? например
(add-to-list 'exec-path "PATH1", "PATH2")
или я должен сделать:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
Я также нашел этот интересный пакет на GitHub: exec-path-from-shell . Почему для этого нужна посылка?
мотивация
Считаете ли вы, что команда работает в вашей оболочке, но не в Emacs?
Это часто случается в OS X, где экземпляр Emacs, запущенный из GUI, наследует набор переменных среды по умолчанию.
Эта библиотека решает эту проблему путем копирования важных переменных среды из оболочки пользователя: она запрашивает у вашей оболочки печать переменных, представляющих интерес, а затем копирует их в среду Emacs.
C-h v exec-path
, используйте руководство (я) (Emacs и Elisp). В руководстве, i exec-path
направляет вас к полезному объяснению. Сначала спросите Emacs - вы не пожалеете, что сделали.
(describe-function 'add-to-list)
(C-h f
) даст вам документ дляadd-to-list
функции, а также ссылки на источник. Там также(describe-variable 'exec-path)
(C-h v
). Это не комментарий RTFM - эти документы не отвечают на все вопросы, которые вы перечислили, просто что-то полезное.