setenv设置的PATH和GNU Emacs中的exec-path有何区别?

5

标题已经说明了一切。我曾经使用(setenv "PATH" "whatever:$PATH" t)来从Emacs中调用东西(实际上是一个东西——从AUCTeX中调用ConTeXt)。不久前,我学到了exec-path。我应该使用它吗?

1个回答

7
虽然setenv实际上设置了环境(并影响了从该emacs执行的程序所看到的环境),但exec-path告诉emacs在哪里查找可执行文件,但从这个emacs运行的程序不会看到它们的PATH已更改。
使用setenv更改环境不会更改当前Emacs搜索可执行文件的方式,因为它使用exec-path。要实现这一点并使由此Emacs执行的子进程具有更改的$PATH,您必须同时设置exec-path$PATH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接