[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master cf23537 33/51: Fix expansion of commands snippet
From: |
Noam Postavsky |
Subject: |
[elpa] master cf23537 33/51: Fix expansion of commands snippet |
Date: |
Sun, 13 May 2018 13:11:44 -0400 (EDT) |
branch: master
commit cf23537279a34dfac89f7589b2e07461f16a8e6a
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Fix expansion of commands snippet
The previous changed failed to account for command snippets which have
lists for bodies, not strings.
* yasnippet.el (yas-expand-snippet): Don't error if SNIPPET is a list
representing a command snippet body.
* yasnippet-tests.el (yas-expand-command-snippet): New test.
---
yasnippet-tests.el | 16 ++++++++++++++++
yasnippet.el | 9 +++++----
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index 0f9dcdc..cc90361 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -673,6 +673,22 @@ mapconcat #'(lambda (arg)
(ert-simulate-command '(yas-expand))
(should (equal (buffer-string) "expanded foo")))))
+(ert-deftest yas-expand-command-snippet ()
+ (with-temp-buffer
+ (yas-with-snippet-dirs
+ '((".emacs.d/snippets"
+ ("emacs-lisp-mode"
+ ("foo" . "\
+# type: command
+# --
+\(insert \"expanded foo\")"))))
+ (yas-reload-all)
+ (emacs-lisp-mode)
+ (yas-minor-mode +1)
+ (insert "foo")
+ (ert-simulate-command '(yas-expand))
+ (should (equal (buffer-string) "expanded foo")))))
+
(ert-deftest example-for-issue-271 ()
(with-temp-buffer
(yas-minor-mode 1)
diff --git a/yasnippet.el b/yasnippet.el
index 3c16536..69b880a 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -3791,8 +3791,8 @@ bindings considered when expanding the snippet. If
omitted, use
SNIPPET's expand-env field.
SNIPPET may be a snippet structure (e.g., as returned by
-`yas-lookup-snippet'), or just a string representing a snippet's
-body text."
+`yas-lookup-snippet'), or just a snippet body (which is a string
+for normal snippets, and a list for command snippets)."
(cl-assert (and yas-minor-mode
(memq 'yas--post-command-handler post-command-hook))
nil
@@ -3831,8 +3831,9 @@ body text."
(when to-delete
(delete-region start end))
- (let ((content (if (stringp snippet) snippet
- (yas--template-content snippet))))
+ (let ((content (if (yas--template-p snippet)
+ (yas--template-content snippet)
+ snippet)))
(when (and (not expand-env) (yas--template-p snippet))
(setq expand-env (yas--template-expand-env snippet)))
(cond ((listp content)
- [elpa] master 3d7cafc 34/51: Make yas-snippet-mode-buffer-p robust against symlinks, (continued)
- [elpa] master 3d7cafc 34/51: Make yas-snippet-mode-buffer-p robust against symlinks, Noam Postavsky, 2018/05/13
- [elpa] master ba73f20 27/51: Bind field skip and clear command conditionally, Noam Postavsky, 2018/05/13
- [elpa] master ce11fd6 13/51: * yasnippet.el (yas-reload-all): Mention if no snippets were found., Noam Postavsky, 2018/05/13
- [elpa] master e200a3b 08/51: Let snippet insertion trigger active field clearing., Noam Postavsky, 2018/05/13
- [elpa] master 04062d8 14/51: Don't set yas-selected-text to non-selected text, Noam Postavsky, 2018/05/13
- [elpa] master ad3a4d1 16/51: Don't use prog-mode in older Emacs, Noam Postavsky, 2018/05/13
- [elpa] master 16c2b38 18/51: Update `yas--take-care-of-redo' call in buffer undo list, Noam Postavsky, 2018/05/13
- [elpa] master e35c031 25/51: * yasnippet.el (yas--guess-snippet-directories): Guess major mode first., Noam Postavsky, 2018/05/13
- [elpa] master 4467e93 40/51: Use fancy field adjustment for fixed indent too, Noam Postavsky, 2018/05/13
- [elpa] master 7c9edb5 29/51: ; doc/snippet-development.org: Further copy edit., Noam Postavsky, 2018/05/13
- [elpa] master cf23537 33/51: Fix expansion of commands snippet,
Noam Postavsky <=
- [elpa] master fa6a71c 45/51: ; Wait until post-command, or bad auto-fill call to print stacktrace, Noam Postavsky, 2018/05/13
- [elpa] master c9277d3 32/51: Change yas-lookup-snippet to return a yas--template struct, Noam Postavsky, 2018/05/13
- [elpa] master 6066631 28/51: Fix typos in "Writing Templates" documentation, Noam Postavsky, 2018/05/13
- [elpa] master b0aa5c2 48/51: Tweak bug-reporting information slightly, Noam Postavsky, 2018/05/13
- [elpa] master fe9f8b6 21/51: ; yasnippet-debug.el: Update yas-debug-snippets arg for previous change., Noam Postavsky, 2018/05/13
- [elpa] master caf3dba 30/51: Don't use global variable for backquote expression locations, Noam Postavsky, 2018/05/13
- [elpa] master ff26e3b 19/51: Close #824: Simple fields can be parented like other fields or mirrors, Noam Postavsky, 2018/05/13
- [elpa] master ff8e833 23/51: ; yasnippet-debug.el: Fix deprecation warning., Noam Postavsky, 2018/05/13
- [elpa] master a0d2cff 44/51: ; Don't enter debugger for kill-all-local-variables case, Noam Postavsky, 2018/05/13
- [elpa] master 5170f05 42/51: Don't indent first and only line of expanded snippet, Noam Postavsky, 2018/05/13