branch: master commit be2f815c43deb74e0f809ed47debc4aa2e67ea1e Author: João Távora <joaotav...@gmail.com> Commit: João Távora <joaotav...@gmail.com>
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 files 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)))))