emacs lisp раскрыть-имя-файла в строку - PullRequest
0 голосов
/ 29 июня 2019
    (setq jedi:server-args
          '("--sys-path" "/usr/lib/python3.6"
            "--sys-path" "/home/jerryzhang/.local/lib/python3.6/site-packages"))

работал хорошо, но я хочу использовать $HOME замену /home/jerryzhang/ для более общего. Так что я думаю, можно использовать expand-file-name

(setq jedi:server-args
          '("--sys-path" "/usr/lib/python3.6"
            "--sys-path" (expand-file-name "~/.local/lib/python3.6/site-packages")))

но это не то, что я думал, похоже, expand-file-name не выполнить.

извините, я не наклонился, а как истощитель.

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

В качестве альтернативы, вы можете использовать обратную цитату для подстановки результата в список, например.

(setq jedi:server-args
      `("--sys-path" "/usr/lib/python3.6"
        "--sys-path" ,(expand-file-name "~/.local/lib/python3.6/site-packages")))

Это обычно используется в lisps - см. обратная цитата elisp

0 голосов
/ 30 июня 2019

решаемая.

 (setq jedi:server-args
          (list
           "--sys-path" "/usr/lib/python3.6"
           "--sys-path" (expand-file-name "~/.local/lib/python3.6/site-packages")
           ))

через: https://www.reddit.com/r/emacs/comments/c77h9m/how_emacs_lisp_expandfilename_to_string/

...