1

Is there a way to make buffer-local overrides to exec-path (whose value is normally initialized with the PATH environment variable)?

I tried (make-variable-buffer-local 'exec-path) and local overrides seem to work fine after that, but are there any harmful side effects? In any case, this is non-standard, so is there an officially blessed way to do it?

One reason for a buffer-local path would be to use project-specific versions of tools in Node.js and other projects.

2
  • 2
    setq-local would have even less impact since it really only effects the value of exec-path in the current buffer. The other buffers still share the same value. With make-variable-buffer-local the variable becomes buffer local in all buffers. That could break things. Especially if you do something like that in the early initialization phase. For an instance a package could add the directory path of an external program via (setq exec-path (cons ... exec-path)) even if that is not advisable. That path would only be added in the buffer where load-package run. Commented Jan 5, 2019 at 14:57
  • The normal approach would be to let-bind the value you wanted around the call to the function which needed it. Commented Apr 5, 2020 at 7:40

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.