开发者

Emacs Lisp: nesting exceeds `max-lisp-eval-depth' in ibuffer

To get straight to the point: emacs' ibuffer mode crashes on my machine (Win32, GNU Emacs 24.0.50.1 (i386-mingw-nt6.1.7600) of 2011-01-31 on 3249CTO) when used with complex saved filters. Here is a minimal sample, that reproduces the error on a vanilla emacs installation (--no-init-file, built from 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")

I do not see why this fails or why I am required to increase max-lisp-eval-depth. Is there anything wrong with my code?


You have an extra level of parentheses in the final group:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜