无法为 org-agenda-files 定义自定义交互功能

问题描述 投票:0回答:1

我是 Emacs 新手,我正在使用 Doom Emacs(为了拥有邪恶的键绑定),并且我正在尝试定义 3 个组织议程函数,以便我可以使用上下文。下面的代码非常不言自明:

;; Defining contexts to be used
(after! org
  (defun org-focus-private() "Set focus on private things."
        (interactive)
        (set org-agenda-files '("~/org/private.org")))

  (defun org-focus-work() "Set focus on work things."
        (interactive)
        (set org-agenda-files '("~/org/work.org")))

  (defun org-focus-all() "Set focus on all things."
        (interactive)
        (set org-agenda-files '("~/org/work.org"
                                "~/org/private.org")))
  )

这段代码被插入到文件“~/.config/doom/config.el”中。到目前为止一切顺利。

我可以使用“M-x”正常调用上述所有 3 个函数;它们在 Doom Emacs 中加载得很好。

我遇到的问题是,当我调用 3 个函数中的任何一个时,我收到以下错误消息:“错误类型参数:symbolp,(“~/org/”)”

我检查的内容:

  1. 代码本身是否有错误; elisp 正在正常验证代码,没有警告,也没有错误。

  2. 路径和文件名。我可以正常 cd 到“~/org”,在那里我可以看到 3 个文件:work.org、private.org 和 plan-free.org(最后一个我不想加载,它只是我工作流程的一部分)。

对于可能导致此问题的原因有什么想法吗?预先感谢任何能够为这个我不知道该做什么的黑暗问题提供一些线索的人。

emacs org-mode
1个回答
0
投票

提供更多背景信息。将

debug-on-error
设置为
t
并显示回溯。

猜测错误是由于您的

org-agenda-files
值不是符号。
set
要求其第一个参数是一个符号。

(after! org...)
有什么作用?)

© www.soinside.com 2019 - 2024. All rights reserved.