joaotavora/yasnippet

yas--all-parents can fail to find all parents if called before snippet directory is loaded

nverno opened this issue · 5 comments

Relating to ae36504

Sometimes yas--all-parents attempts to get a mode's parents before the
snippet directory containing the parent has been loaded by yas-load-directory.
When this happens, yas--parents doesnt yet contain entries for the parents
who havent been loaded, so yas--all-parents doesnt recurse on the parent,
thus failing to add all the parents to the yas--all-parents prop.

This sequence of events can happen, for example, if yas-minor-mode is called
in prog-mode-hook and a snippet directory is loaded in the subsequent major
mode's hook.

Something has broken with git-commit-mode because now we get:

(yas--modes-to-activate)
(text-mode fundamental-mode fundamental-mode)

I'm not sure if it was these changes or something has changed with git-commit-mode. How should minor modes be handled?

It works now so possibly fixed with d124280?

(yas--mode-to-activate) ->
  (text-mode fundamental-mode git-commit-mode)