From be2f815c43deb74e0f809ed47debc4aa2e67ea1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Thu, 21 Aug 2014 08:38:46 +0100 Subject: [PATCH] Closes #508: Ensure original point when evaluating conditions * yasnippet.el (yas--templates-for-key-at-point): Call `yas--fetch', and hence condition system, with point in the original position. --- yasnippet.el | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/yasnippet.el b/yasnippet.el index c25d78d..f26cc3f 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -1257,11 +1257,13 @@ Returns (TEMPLATES START END). This function respects (setq methods (cdr methods)))) (t (yas--warning "Warning invalid element %s in `yas-key-syntaxes'" method))) - (setq templates - (mapcan #'(lambda (table) - (yas--fetch table (buffer-substring-no-properties (point) - original))) - (yas--get-snippet-tables)))) + (let ((possible-key (buffer-substring-no-properties (point) original))) + (save-excursion + (goto-char original) + (setq templates + (mapcan #'(lambda (table) + (yas--fetch table possible-key)) + (yas--get-snippet-tables)))))) (when templates (list templates (point) original)))))