From 90d4cae1b1bbfacc612e73444f1e5a723ae4036e Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Mon, 14 Oct 2013 01:05:29 -0400 Subject: [PATCH] inhibit change hooks during (insert content) `yas-expand-snippet' narrows to a 0 size region before doing (insert content), this confuses cc-mode's before-change-functions that invalidate some cached information. Binding `inhibit-modification-hooks' to `t' prevents calling these functions. Fixes #404. --- yasnippet.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/yasnippet.el b/yasnippet.el index f1bba52..8fb14b4 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -3523,9 +3523,11 @@ considered when expanding the snippet." (setq snippet (if expand-env (eval `(let* ,expand-env - (insert content) + (let ((inhibit-modification-hooks t)) + (insert content)) (yas--snippet-create (point-min)))) - (insert content) + (let ((inhibit-modification-hooks t)) + (insert content)) (yas--snippet-create (point-min))))))) ;; stacked-expansion: This checks for stacked expansion, save the