Emacs 内から環境変数に値を追加する

Emacs 内から環境変数に値を追加する

私は Elisp を使用しています。init ファイルで次の操作を実行したいと思います。

; Retrieve the value of LD_LIBRARY_PATH
; Append '/path/to/some/lib/:'to it
; Save the new value of LD_LIBRARY_PATH

これまでのところ、使用できることが分かっているのは以下のとおりです。

(getenv "LD_LIBRARY_PATH")

値を取得するには、次のようにします。

(setenv "LD_LIBRARY_PATH" "foo")

新しい値を設定したいのですが、Elisp に関する私の知識は極めて初歩的なので、この先どうすればよいかわかりません。

背景:

この質問は、不可能であるEmacs 内からこの環境を操作するためのシェル スクリプトをソースするには、Elisp を使用してこれを行う必要があります。

答え1

Elisp では、文字列の連結は次のように行われますconcat

(setenv "LD_LIBRARY_PATH"
  (let ((current (getenv "LD_LIBRARY_PATH"))
        (new "/path/to/some/lib"))
    (if current (concat new ":" current) new)))

関連情報