如何用变量调用mapconcat?

时间:2016-12-14 09:41:38

标签: list emacs

在我的.emacs文件中,我有

(add-hook 'eshell-mode-hook
      #'(lambda ()
          (setenv "PATH"
                  (mapconcat 'identity '("/usr/local/bin" (getenv "PATH")) ":"))))

我想在PATH变量前加上“/ usr / local / bin”。但是当我执行eshell时,我得到了 setenv:错误的类型参数:characterp,getenv

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要评估列表的getenv部分,因此您无法将其整体引用:

(mapconcat 'identity `("/usr/local/bin" ,(getenv "PATH")) ":")

(mapconcat 'identity (list "/usr/local/bin" (getenv "PATH")) ":")