Emacs Lisp:嵌套在ibuffer中超过了“max-lisp-eval-depth”

时间:2011-02-02 16:05:43

标签: emacs

直截了当:与复杂保存的过滤器一起使用时,emacs的ibuffer模式在我的机器上崩溃(Win32,GNU Emacs 24.0.50.1(i386-mingw-nt6.1.6600),2011-01-31 on 3249CTO) 。 这是一个最小的示例,它在vanilla emacs安装上重现错误(--no-init-file,由http://alpha.gnu.org/gnu/emacs/windows/构建)

(setq ibuffer-saved-filter-groups
      '(("default"
     ("1" (mode . emacs-lisp-mode))
     ("2" (or (mode . gnus-group-mode)
          (mode . gnus-summary-mode)
          (mode . gnus-article-mode)
          (mode . message-mode)))
     ("3" (or (mode . dired-mode)
          (mode . shell-mode)
          (mode . eshell-mode)))
     ("4" (or (name . "^\\*scratch\\*$")
          (name . "^\\*Messages\\*$")))
     ("5" ((or (name . "^\\*gnus trace\\*$")
           (name . "^\\*imap log\\*$")
           (name . "^\\.newsrc-dribble$")))))))
(get-buffer-create ".newsrc-dribble")
(get-buffer-create "*Compile-Log*")
(get-buffer-create "*Completions*")
(get-buffer-create "*Ibuffer*")
(get-buffer-create "*Messages*")
(get-buffer-create "*gnus trace*")
(get-buffer-create "*imap log*")
(get-buffer-create "*scratch*")
(ibuffer)
(ibuffer-switch-to-saved-filter-groups "default")

我不明白为什么会失败或为什么我需要增加max-lisp-eval-depth。 我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

最后一组中有一个额外的括号:

;[...]
("5" ((or (name . "^\\*gnus trace\\*$")
          (name . "^\\*imap log\\*$")
          (name . "^\\.newsrc-dribble$")))))))