0

我正在尝试再次使用 org-mode 议程视图。当我运行 Mx org-todo-list 时,我得到一个空的 *Org Agenda* 并且迷你缓冲区显示

    Wrong number of arguments: (0 . 0), 2

我正在运行 org-version 9.1.9

系统信息:计算机:
  • 操作系统:gnu/linux
  • Emacs:26.2
  • Spacemacs:0.200.13
  • Spacemacs 分支:master (rev. 8c0b8c344)
  • 图形显示:t
  • 分布:spacemacs
  • 编辑风格:vim
  • 完成:常春藤
  • 层数:
(javascript rust html csv c-c++ git shell spell-checking ivy emacs-lisp markdown org)

这些行在我的 .spacemacs 文件中:

(setq org-todo-keywords '((sequence "TODO" "NEXT" "PROG" "HOLD" "WAIT" "|" "DONE" "CNCL")))

 '(org-agenda-files
   (quote
    ("~/Documents/developer/editors/emacs/demo/tasks.org" "~/Documents/tasks/tasks.org")))

这两个 tasks.org 文件都包含状态不是 DONE 的节点。

与调试模式交互的相同错误:

(custom-set-variables
 '(org-agenda-files (quote ("~/Documents/developer/editors/emacs/demo/tasks.org")))
)

回溯是:

Debugger entered--Lisp error: (wrong-number-of-arguments (0 . 0) 2)
  org-get-tags(nil nil)
  org-agenda-get-todos()
  org-agenda-get-day-entries("~/Documents/developer/editors/emacs/demo/tasks.org" (10 4 2019) :todo)
  org-todo-list(nil)
  funcall-interactively(org-todo-list nil)
  call-interactively(org-todo-list record nil)
  command-execute(org-todo-list record)
  #f(compiled-function (cmd) #<bytecode 0x2601e49>)("org-todo-list")
  ivy-call()
  ivy-read("M-x " ("eval-last-sexp" "toggle-debug-on-error" "org-version" "org-agenda-file-to-front" "org-publish-current-file" "org-publish" "eval-buffer" "recentf-cleanup" "elisp-index-search" "org-display-inline-images" "diff" "org-lint" "clean-buffer-list" "org-publish-project" "spacemacs/search-ack" "cd" "5x5" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "man" "mpc" "pdb" "pwd" "s" "rsh" "sdb" "xdb" "calc" "dirs" "ffap" "gnus" "grep" "help" "ielm" "info" "life" "mail" "mpuz" "ping" "smex" "talk" "term" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x2601e49>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

在运行 org-version 9.2.1(我正在运行 org-version 9.1.9)的Org 议程“参数数量错误”上报告了类似的错误。

任何帮助表示赞赏。

更新 1:

Cu Mx org-reload 加载了 org-version 9.2.4,然后 org-todo-list 按预期工作。

当我重新启动 emacs 时,加载了 org-version 9.1.9,并且议程视图再次出现相同的错误。

如https://emacs.stackexchange.com/questions/53107/how-to-update-org-mode-via-package-manager所述,我无法安装最新的 org-version 9.2.6

4

2 回答 2

0

我遇到了完全相同的问题:spacemacs,Emacs 26.2,启动加载 org-mode 版本 9.1.9 并且议程模式被破坏,org-reload 让我获得 9.2.4 版本并且一切正常,但它并没有在重新启动后持续存在。它快把我逼疯了。

我注意到这里的这个问题表明加载其他包可能正在调用(require 'org). 所以我过去了,发现我有

(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e")
(require 'mu4e)

在我的.spacemacs中,我使用 mu4e 配置从 pre-spacemacs.emacs文件中复制了它。注释掉这两行可以解决问题!Org 现在在启动时加载版本 9.2.4,并且议程模式有效。

于 2021-11-21T01:19:15.140 回答
0

更新 1:

Cu Mx org-reload 加载了 org-version 9.2.4,然后 org-todo-list 按预期工作。

谢谢!在我在 emacs 26.3 上遇到此错误后,此 Cu Mx org-reload 也为我工作。最初我使用的是内置的 org 9.1.9 并遇到了这个问题。我使用 melpa 获得 9.4.5 20210405 但在找到您的答案之前无法真正运行它。所以谢谢 :)

后来编辑:所以我意识到这并没有在emacs重新启动时持续存在。原因是因为我的 ~/.emacs 文件包含(require 'org),这导致 emacs 加载内置的 org 包,而不是从 melpa 下载的较新的包。只需(require 'org)从我的 .emacs 中删除即可解决问题,现在它会自动加载更新版本的 org。

于 2021-04-07T01:31:58.780 回答