如何在elisp中正确使用setq?
How to correctly use setq in elisp?
在我的 emacs 配置中,我尝试使用以下代码为 jedi 配置项目根目录:
(setq jedi:server-args '("--sys-path" (projectile-project-root)))
抛出一个:
deferred error : (wrong-type-argument stringp (projectile-project-root))
(我有 (setq debug-on-error t)
但回溯什么也没显示)
如果我像这样硬编码路径,一切都会按预期工作:
(setq jedi:server-args '("--sys-path" "/some/path"))
为了给这一行一些上下文,这里是周围的代码:
(add-hook 'python-mode-hook 'jedi:setup)
(setq debug-on-error t)
(defun jedi-config:setup-server-args ()
(message (format "Configuring current project dir: %s"
(projectile-project-root)))
(setq jedi:server-args '("--sys-path" (projectile-project-root))))
(add-hook 'python-mode-hook
'jedi-config:setup-server-args)
如何使用 projectile 变量为 jedi 设置服务器参数?
我终于想通了——真的很简单:
(setq jedi:server-args (list "--sys-path" (projectile-project-root)))
在我的 emacs 配置中,我尝试使用以下代码为 jedi 配置项目根目录:
(setq jedi:server-args '("--sys-path" (projectile-project-root)))
抛出一个:
deferred error : (wrong-type-argument stringp (projectile-project-root))
(我有 (setq debug-on-error t)
但回溯什么也没显示)
如果我像这样硬编码路径,一切都会按预期工作:
(setq jedi:server-args '("--sys-path" "/some/path"))
为了给这一行一些上下文,这里是周围的代码:
(add-hook 'python-mode-hook 'jedi:setup)
(setq debug-on-error t)
(defun jedi-config:setup-server-args ()
(message (format "Configuring current project dir: %s"
(projectile-project-root)))
(setq jedi:server-args '("--sys-path" (projectile-project-root))))
(add-hook 'python-mode-hook
'jedi-config:setup-server-args)
如何使用 projectile 变量为 jedi 设置服务器参数?
我终于想通了——真的很简单:
(setq jedi:server-args (list "--sys-path" (projectile-project-root)))