Closes #537: Be lenient to extensions operating on snippet fields

* yasnippet.el (yas--on-protection-overlay-modification): Commit the
snippets being destroyed instead of signalling a protection violation.
This commit is contained in:
João Távora 2014-11-04 08:27:34 +00:00
parent 1c97671c6e
commit 596e6b2640

View File

@ -3496,8 +3496,14 @@ The error should be ignored in `debug-ignored-errors'"
(unless yas--inhibit-overlay-hooks
(cond ((not (or after?
(yas--undo-in-progress)))
(setq yas--protection-violation (point))
(error "Exit the snippet first!")))))
(cond (t
(let ((snippets (yas--snippets-at-point)))
(yas--message 3 "Comitting snippets. Action would destroy a protection overlay.")
(cl-loop for snippet in snippets
do (yas--commit-snippet snippet))))
(nil
(setq yas--protection-violation (point))
(error "Exit the snippet first!")))))))
(add-to-list 'debug-ignored-errors "^Exit the snippet first!$")