最新のyasnippetで実行ができない?(cl-libの問題?) #13

Closed
shibayu36 opened this Issue Jan 30, 2014 · 29 comments

Projects

None yet

5 participants

@shibayu36

最新のyasnippet(20140106.1009)でyasnippetの実行ができなくなってしまいました。いろいろ試しているのですが、全く動かない状態です。もし何か分かる方がいれば教えていただけるとありがたいです。

以下の様な設定をした時に

(require 'yasnippet)
;; (setq yas-snippet-dirs
;;       '("~/.emacs.d/snippets" "~/Dropbox/config-file/.emacs.d/snippets"))
(yas-global-mode 1)

(define-key yas-minor-mode-map [(tab)] nil)
(define-key yas-minor-mode-map (kbd "TAB") nil)

(setq debug-on-error t)

以下のようにエラーが出てどんなコマンドも実行できない状態になってしまいます。

[yas] Loading for `emacs-lisp-mode', just-in-time: (lambda nil (yas--load-directory-1 (quote /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode) (quote emacs-lisp-mode)))!
[yas] Loading compiled snippets from /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode
File mode specification error: (error "Variable binding depth exceeds max-specpdl-size")
[yas] Loading for `emacs-lisp-mode', just-in-time: (lambda nil (yas--load-directory-1 (quote /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode) (quote emacs-lisp-mode)))!
[yas] Loading compiled snippets from /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode
apply: Variable binding depth exceeds max-specpdl-size
[yas] Loading for `emacs-lisp-mode', just-in-time: (lambda nil (yas--load-directory-1 (quote /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode) (quote emacs-lisp-mode)))!
[yas] Loading compiled snippets from /Users/shibayu36/.emacs.d/elisp/elpa/yasnippet-20140106.1009/snippets/emacs-lisp-mode
Error in post-command-hook (yas-global-mode-check-buffers): (error "Variable binding depth exceeds max-specpdl-size")
@syohex
Member
syohex commented Jan 30, 2014

joaotavora/yasnippet#456

報告はされていますが, 再現の手順を出していないということで,
closeされていますね.

手元で確認したところ, Emacs-24.3, 開発版ともに特に問題は
発生しませんでした. (Emacs 23だとそもそも動作せず確認できず)

どのバージョンの Emacsで発生する問題でしょうか ?

@shibayu36

24.3.1ですねー

$ /Applications/Emacs.app/Contents/MacOS/Emacs --version                                                                                                                                                                ----------------------------------
GNU Emacs 24.3.1
Copyright (C) 2013 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
@shibayu36

package.elで久々にyasnippetを更新したら、このように動かなくなってしまいました

@shibayu36

なんかそもそもいろいろなところでmax-lisp-eval-depthでエラーって言われている気がする

@kiwanami
Member

もしかしたらsnippetに問題があるのかも。一旦全部外してみてから、問題が出るかどうかためしてみるといいかも。

@shibayu36

全部外すというのは、melpaから取ってきたyasnippetのディレクトリの中のsnippets dir消すとかしたら出来ますかね?

@shibayu36

Variable binding depth exceeds max-specpdl-size とかも言われている。この状態でバイトコンパイルした時になにかおかしくなってたりするのだろうか

@syohex
Member
syohex commented Jan 30, 2014

ちなみに max-specpdl-sizemax-lisp-eval-depthの値はいくつでしょうか ?
私はそれぞれ 1300600でした.

@kiwanami
Member

そうです。snippets dir の中身を空にする感じで。
でも本家から取ってきたのだったら、ちゃんと動いて欲しいですね。。。

@lurdan
lurdan commented Jan 30, 2014

packages.el だと更新時におかしくなる場合があるようなので(org-mode.org から MELPA でもってきてる時とか)、一旦 yasnippet-日付 を消して install しなおす、で改善したりするかもしれません

@shibayu36

なるほど

なんかmagit-statusとかを実行しても

apply: Lisp nesting exceeds `max-lisp-eval-depth'

と出てしまったりしているので、もしかしたら環境自体が変なのかもしれませんね...

@shibayu36

yasnippet何回か入れなおしていたのですが、改善はされませんでした

@shibayu36

magit-statusを実行した時は以下のようになって無限ループしてそうだった。

Debugger entered--Lisp error: (error "Lisp nesting exceeds `max-lisp-eval-depth'")
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
....
  position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  cl-position(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(cl-position nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) (:if #[(buf) "r�q\210 \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
  cl-find(nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210    \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
  apply(cl-find nil (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>) :if #[(buf) "r�q\210  \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4] nil)
  cl-find-if(#[(buf) "r�q\210   \203��\n    =\2051�\306�!\f\232\2051�\307\310\311
!\"\312 \313������\314��\315������#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4] (#<buffer prepan> #<buffer  *Minibuf-1*> #<buffer *init log*> #<buffer *scratch*> #<buffer  *Minibuf-0*> #<buffer *Messages*> #<buffer  *code-conversion-work*> #<buffer  *Echo Area 0*> #<buffer  *Echo Area 1*> #<buffer *Shell Command Output*> #<buffer  *edit-server*> #<buffer  *migemo*> #<buffer *Compile-Log*> #<buffer  *variable symbols*> #<buffer  *function symbols*> #<buffer  *command symbols*> #<buffer  *face symbols*> #<buffer  *other symbols*> #<buffer *anything for files*> #<buffer *Debug Helm Log*> #<buffer  *helm candidates:Emacs Commands*> #<buffer *helm M-x*>))
  magit-mode-get-buffer("*magit: %t*" magit-status-mode nil t)
  magit-mode-get-buffer-create("*magit: %t*" magit-status-mode)
  magit-mode-display-buffer("*magit: %t*" magit-status-mode pop-to-buffer)
  ad-Orig-magit-status("/Users/shibayu36/development/myprojects/perl/prepan/" nil)
  magit-status("/Users/shibayu36/development/myprojects/perl/prepan/")
  call-interactively(magit-status nil nil)
@shibayu36

yasnippetもyas-reload-allしたときに無限ループしてそうだった

Debugger entered--Lisp error: (error "Lisp nesting exceeds `max-lisp-eval-depth'")
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
.....
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  apply(position table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table) nil)
  position(table (cl-tag-slot key content name condition expand-env file keybinding uuid menu-binding-pair group perm-group table))
  yas--populate-template([cl-struct-yas--template nil nil nil nil nil nil nil nil nil nil nil nil] :table [cl-struct-yas--table "cperl-mode" #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil (keymap)] :key "wrap-querylog" :content "use DBIx::QueryLog ();\nDBIx::QueryLog->begin;\n`yas/selected-text`$0\nDBIx::QueryLog->end;" :name "DBIx::QueryLog wrap" :group nil :condition nil :expand-env nil :file "/Users/shibayu36/.emacs.d/snippets/cperl-mode/wrap-querylog" :keybinding nil :uuid "DBIx::QueryLog wrap")
  yas--define-snippets-1(("wrap-querylog" "use DBIx::QueryLog ();\nDBIx::QueryLog->begin;\n`yas/selected-text`$0\nDBIx::QueryLog->end;" "DBIx::QueryLog wrap" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/wrap-querylog" nil nil) [cl-struct-yas--table "cperl-mode" #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil (keymap)])
  yas-define-snippets(cperl-mode (("wrap-querylog" "use DBIx::QueryLog ();\nDBIx::QueryLog->begin;\n`yas/selected-text`$0\nDBIx::QueryLog->end;" "DBIx::QueryLog wrap" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/wrap-querylog" nil nil) ("unless" "unless ($1) {\n    $0\n}\n" "unless (...) { ... }" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/unless" nil nil) ("Test::Class method" "sub ${1:method_name} : ${2:Tests} {\n    $0\n}" "test_class_method" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/test_class_method" "C-c C-c C-t" nil) ("subtest" "subtest '$1' => sub {\n    `yas/selected-text`$0\n};" "subtest" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/subtest" "C-c C-c t" nil) ("sub" "sub ${1:function_name} {\n    $0\n}" "sub ... { ... }" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/sub" nil nil) ("script" "#!/usr/bin/env perl\nuse strict;\nuse warnings;\nuse utf8;\n\n$0\n" "Perl script template" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/script" "C-c C-c C-s" nil) ("package_test" "package $1;\nuse strict;\nuse warnings;\n\nuse base qw(Test::Class);\n\n$0\n\n__PACKAGE__->runtests;\n\n1;\n" "package test" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/package_test" nil nil) ("package" "package ${1:`(yas/perl-package-name)`};\nuse strict;\nuse warnings;\n\n$0\n\n1;\n" "package" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/package" "C-c C-c C-p" nil) (nil "sub $1 {\n    my ($self$2) = @_;\n    $0\n}" "method sub" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/method sub" "C-c C-c C-m" nil) ("ife" "if ($1) {\n    $0\n}\nelse {\n}\n" "if (...) { ... } else { ... }" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/ife" "C-c C-c TAB" nil) ("forlist" "for my \\$${1:var} (@${2:array}) {\n    ${0:# body...}\n}\n" "for my $scalar (@array) { ... }" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/foreach" "C-c C-c C-f" nil) ("epic-args" "my $${1:args_name} = $args->{$1} // croak '$1 required';" "Epic args" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/epic-args" "C-c C-c a" nil) ("data-printer" "use DDP colored => 0;\np(`yas/selected-text`$0);" "Data::Printer" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/data-printer" nil nil) ("data-dumper" "use Data::Dumper::Concise;\nwarn Dumper(`yas/selected-text`$0);" "Data::Dumper" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/data-dumper" "C-c C-d" nil) ("benchmark" "use Time::HiRes qw(gettimeofday tv_interval);\nwarn '*************** benchmark start *************';\nmy $benchmark_start = [gettimeofday];\n`yas/selected-text`$0\nwarn '============== benchmark end ==============';\nwarn 'time : ' . tv_interval($benchmark_start) . ' seconds';" "benchmark" nil nil nil "/Users/shibayu36/.emacs.d/snippets/cperl-mode/benchmark" nil nil)))
  yas--load-directory-2("/Users/shibayu36/.emacs.d/snippets/cperl-mode" cperl-mode)
  yas--load-directory-1("/Users/shibayu36/.emacs.d/snippets/cperl-mode" cperl-mode)
  (lambda nil (yas--load-directory-1 (quote "/Users/shibayu36/.emacs.d/snippets/cperl-mode") (quote cperl-mode)))()
  yas-load-directory("~/.emacs.d/snippets" nil)
  yas--load-snippet-dirs(1)
  byte-code("\306\307\310\311 \"���\2031�\n\203+�\312\313!\203��\314\315�\"\210\2021�\316\317\320\"\210\321\322\306\"\210\2021�\314\323\311 \"\210\324 �\324 �\325\326
\"\210\324 �\324 � \327\n!�\330 \210\331\332!\210\316\333\334\n\203Y�\335\202Z�\336 \203b�\337\202c�\335$*\207" [snippet-editing-buffers errors interactive yas--tables yas--parents yas--menu-table nil remove-if-not #[(buffer) "r�q\210  )\207" [buffer yas--editing-template] 1] buffer-list y-or-n-p "Some buffers editing live snippets, close them and proceed with reload? " mapc kill-buffer yas--message 1 "Aborted reload..." throw abort #[(buffer) "r�q\210\301\302!)\207" [buffer kill-local-variable yas--editing-template] 2] make-hash-table maphash #[(menu-symbol _keymap) "\302�\303    !\304#\207" [yas--minor-mode-menu menu-symbol define-key vector nil] 4] yas--load-snippet-dirs yas-direct-keymaps-reload run-hooks yas-after-reload-hook 3 "Reloaded everything%s...%s." "" " (snippets will load just-in-time)" " (some errors, check *Messages*)" yas--scheduled-jit-loads] 5)
  yas-reload-all(1)
  call-interactively(yas-reload-all record nil)
  command-execute(yas-reload-all record)
  execute-extended-command(nil "yas-reload-all")
  call-interactively(execute-extended-command nil nil)
@kiwanami
Member

Emacsは再起動してますか?
多分、このエラーが出ると、ずっと出続ける感じだと思います。

@syohex
Member
syohex commented Jan 30, 2014

バイトコンパイルしたファイルをすべて捨ててみるというのはどうでしょうか ?

@shibayu36

一応エラーが起きるたび、Emacs自体の挙動がおかしくなるので、Emacsは再起動しています

@shibayu36

elpaなどに入っている.elcを捨てるイメージでしょうか

@shibayu36

package.elで入れたものの.elcファイルを全削除してみても、同じようなエラーになりました

@syohex
Member
syohex commented Jan 30, 2014

うーん, となるとバージョンを上げるぐらいですかね.

無限ループ的なことが起きているとなると, max-specpdl-sizeを増やしても
たぶん変わらないと思いますので.

@shibayu36

一応全く作業にならなかったので、一旦バックアップから復帰してみました

@shibayu36

今回一気に全部のpackageあげてしまったので、少しずつ上げながらまた問題が起こったら考えようと思います。ありがとうございました。

@shibayu36 shibayu36 closed this Jan 30, 2014
@joaotavora

I'm sorry I don't understand japanese but it does seem like an analysis of problem reports I've had in the yasnippet repo. See joaotavora/yasnippet#457. Can you maybe shed some light on why this is happening. I can't reproduce it.

@kiwanami
Member

Hi, @capitaomorte
Yes, we also think that this is the same problem. We could not solve here.

@shibayu36 joaotavora/yasnippet#457 みたいに、

emacs -Q -L . --eval "(require 'yasnippet)" -f yas-global-mode

で起動してみて、エラーが出るかどうか試してみて欲しいみたいです。どうでしょう?

@shibayu36

hmm, the same problem doesn't occur when I try as joaotavora/yasnippet#457

@shibayu36

cl-libを0.3から0.4にupdateしたところ、yasnippetやmagitなどをupdateせずとも同じエラーが起こりました。なので一応Reopenしてみます

@shibayu36 shibayu36 reopened this Feb 1, 2014
@shibayu36

package.elでcl-libが何故か入っていたのですが、builtinに入っているcl-lib(1.0)を使うようにして、もともとの0.3は削除したところ、問題は起こりませんでした

@syohex
Member
syohex commented Feb 1, 2014

cl-lib.elのコメントには, builtin版を先に読まないと troubleになると
ありますね. aliasを作ってから, 同名関数を定義するとおかしくなる
ということですかね.

;; Make sure this is installed *late* in your `load-path`, i.e. after Emacs's
;; built-in .../lisp/emacs-lisp directory, so that if/when you upgrade to
;; Emacs-24.3, the built-in version of the file will take precedence, otherwise
;; you could get into trouble (although we try to hack our way around the
;; problem in case it happens).
@syohex
Member
syohex commented Feb 1, 2014

本家の方でも cl-libを削除することで解決されたようなので , closeします.
@shibayu36 調査ありがとうございました.

@syohex syohex closed this Feb 1, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment