GNU Emacs中的PATH(由setenv设置)和exec PATH之间到底有什么区别?

GNU Emacs中的PATH(由setenv设置)和exec PATH之间到底有什么区别?,emacs,elisp,Emacs,Elisp,好吧,这个标题涵盖了一切。我曾经(setenv“PATH”“whatever:$PATH”t)以便能够从Emacs调用东西(事实上,只有一个东西-上下文,从AUCTeX内部)。就在不久前,我了解了执行路径。我应该改用它吗?虽然setenv实际上设置了环境(并影响(修改)从此emacs执行的程序将被视为环境),exec path告诉emacs在何处查找可执行文件,但从此emacs运行的程序不会看到其路径发生更改 使用setenv更改环境不会更改当前Emacs搜索可执行文件的方式,因为它使用exec

好吧,这个标题涵盖了一切。我曾经
(setenv“PATH”“whatever:$PATH”t)
以便能够从Emacs调用东西(事实上,只有一个东西-上下文,从AUCTeX内部)。就在不久前,我了解了执行路径。我应该改用它吗?

虽然
setenv
实际上设置了环境(并影响(修改)从此emacs执行的程序将被视为环境),
exec path
告诉emacs在何处查找可执行文件,但从此emacs运行的程序不会看到其
路径发生更改

使用
setenv
更改环境不会更改当前Emacs搜索可执行文件的方式,因为它使用
exec path
。要实现这一点并使此Emacs执行的子进程更改
$PATH
,必须同时设置
exec PATH
$PATH