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

标签 emacs elisp

好吧,标题已经说明了一切。我曾经(setenv "PATH" "whatever:$PATH" t)能够从 Emacs 调用事物(实际上是一件事 - ConTeXt,来自 AUCTeX 内部)。不久前,我了解到exec-path .我应该改用它吗?

最佳答案

虽然 setenv实际上设置环境(并影响(修改)从这个 emacs 执行的程序将被视为环境),exec-path告诉 emacs 在哪里寻找可执行文件,但是从这个 emacs 运行的程序不会看到它们的 PATH改变了。

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

关于emacs - GNU Emacs 中的 PATH(由 setenv 设置)和 exec-path 之间到底有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169433/

相关文章:

emacs - 设置组织模式导出的文件编码

c - 用于编译 C 文件的 emacs 键绑定(bind)

emacs - 如何在 ELisp 中创建命名参数?

emacs - Emacs Lisp中的replace-char?

Emacs 启动时出现 24 错误

emacs - 强制嬉皮扩展以尊重大写

emacs - 在 Emacs : Only change the background color 中自定义高亮面

emacs - 如何通过函数在 imenu 中强制重新扫描?

emacs - 从 Emacs 运行程序,不要等待输出

emacs - Emacs Lisp 中的前向函数超出评估深度