Skip to content

Self references in .yas-parents breaks Emacs #318

Closed
@sheijk

Description

@sheijk
cd /your/yasnippet/dir
mkdir -p snippets/sh-mode
echo "sh-mode" >> snippets/sh-mode/.yas-parents
emacs -Q -L . -l yasnippet.el -e yas-global-mode

Now do M-x sh-mode or open any file in sh-mode. This will cause an error in the post-command-hook which makes it impossible to still execute most commands. After this many commands will cause errors due to the post-command-hook function failing which makes it very hard to recover.

File mode specification error: (error "Lisp nesting exceeds max-lisp-eval-depth'") yas--all-parents: Lisp nesting exceedsmax-lisp-eval-depth'
Error in post-command-hook (yas-global-mode-check-buffers): (error "Lisp nesting exceeds `max-lisp-eval-depth'")

The issue is easily fixed by either deleting the .yas-parents file or fixing the invalid reference in the .yas-parents file. It would be a lot nicer to detect the error and issue an error message instead, though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions