直截了当:与复杂保存的过滤器一起使用时,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
。
我的代码有什么问题吗?
答案 0 :(得分:0)
最后一组中有一个额外的括号:
;[...]
("5" ((or (name . "^\\*gnus trace\\*$")
(name . "^\\*imap log\\*$")
(name . "^\\.newsrc-dribble$")))))))