Я бачив приклади в Інтернеті, де люди додають шляхи до шляху за замовчуванням у Emacs за допомогою:
(add-to-list 'exec-path "/usr/local/bin/")
Я новачок у Елісп, і, думаю, я розумію, що робить твердження вище, але у мене є кілька питань:
У якому порядку Emacs здійснює пошук через контури виконання? Наприклад, чи враховує воно взагалі значення
$PATH
(змінної env.) (І якщо так, до чи після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, запущений з графічного інтерфейсу, успадковує набір змінних середовища за замовчуванням.
Ця бібліотечна робота вирішує цю проблему, копіюючи важливі змінні середовища з оболонки користувача: вона працює, вимагаючи від вашої оболонки роздрукувати цікаві змінні, потім скопіювавши їх у середовище 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 - ці документи не відповідають на всі перелічені вами питання, а лише щось корисне.