No Elisp, a concatenação de strings é feita com concat
:
(setenv "LD_LIBRARY_PATH"
(let ((current (getenv "LD_LIBRARY_PATH"))
(new "/path/to/some/lib"))
(if current (concat new ":" current) new)))
Eu sou novo no Elisp. Eu gostaria de fazer o seguinte no meu arquivo init:
; Retrieve the value of LD_LIBRARY_PATH
; Append '/path/to/some/lib/:'to it
; Save the new value of LD_LIBRARY_PATH
Até agora eu sei que posso usar:
(getenv "LD_LIBRARY_PATH")
para recuperar o valor e:
(setenv "LD_LIBRARY_PATH" "foo")
para definir um novo valor, mas meu conhecimento do Elisp é extremamente rudimentar, então não sei prosseguir a partir deste ponto.
Esta pergunta é inspirada pelo fato de que é não ser possível criar um script de shell para manipular esse ambiente a partir do Emacs, então eu precisaria fazer isso usando o Elisp.