branch: master
commit be2f815c43deb74e0f809ed47debc4aa2e67ea1e
Author: João Távora <[email protected]>
Commit: João Távora <[email protected]>
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)))))