[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/tempel bf95b3f1c2 31/82: Add support for (q (FORM ...)
From: |
ELPA Syncer |
Subject: |
[elpa] externals/tempel bf95b3f1c2 31/82: Add support for (q (FORM ...) var) |
Date: |
Sun, 9 Jan 2022 20:58:43 -0500 (EST) |
branch: externals/tempel
commit bf95b3f1c236e9070da995376efd58e321b76f08
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add support for (q (FORM ...) var)
---
README.org | 2 ++
tempel.el | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/README.org b/README.org
index c366d493e1..7b79213349 100644
--- a/README.org
+++ b/README.org
@@ -116,5 +116,7 @@ important ones here:
Furthermore Tempel supports two syntax extensions:
- ~(q PROMPT NAME)~ Query the user via ~read-string~ and store the result in
variable ~NAME~.
+ - ~(q (form ...) NAME)~ Query the user using ~FORM~ and store the result in
variable ~NAME~.
+ Use caution with templates which execute code!
- ~(form ...)~ Other Lisp forms are evaluated. Named fields are lexically
bound.
Use caution with templates which execute code!
diff --git a/tempel.el b/tempel.el
index f817473f70..1a7e69ddc5 100644
--- a/tempel.el
+++ b/tempel.el
@@ -187,7 +187,9 @@ BEG and END are the boundaries of the modification."
(defun tempel--query (st prompt name)
"Read input with PROMPT and assign to binding NAME in ST."
- (setf (alist-get name (cdr st)) (read-string prompt)))
+ (setf (alist-get name (cdr st)) (if (stringp prompt)
+ (read-string prompt)
+ (eval prompt 'lexical-binding))))
(defun tempel--element (st element region)
"Add template ELEMENT to ST given the REGION."
- [elpa] externals/tempel b54036f1fa 21/82: Add comment, (continued)
- [elpa] externals/tempel b54036f1fa 21/82: Add comment, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 11cfbe239d 36/82: Fix undo, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel ffdf2c792a 77/82: Document the abbrev modes (See #14), ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 460f8fe806 81/82: Fix the MELPA issues, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel aec4f10253 82/82: Addition to GNU ELPA, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel d4bd649645 59/82: Minor renaming, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 2cff879181 30/82: Do not call modification hooks from forms, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 1222c59b30 39/82: Update README, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 07d16fded7 67/82: Update fields when new field is inserted, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel f0df571f66 17/82: Respect derived modes, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel bf95b3f1c2 31/82: Add support for (q (FORM ...) var),
ELPA Syncer <=
- [elpa] externals/tempel 64f896d782 44/82: Fix jump to first field, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 9948c6889d 43/82: Add tempel-form-prefix and tempel-field-prefix, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel ad71c25632 32/82: Add syntax extension (p (FORM...) <NAME>), ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 5dbdc76eb2 74/82: Specify the completion category tempel, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 65a3eb0458 76/82: Improve abbreviation expansion, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 57bbc5e681 78/82: README update, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel ac3df540a4 69/82: Remove underlines from faces, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 7cf25bd795 71/82: Simplify templates data structure at load time, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 69f7cb3212 06/82: Reimplement without Tempo for more flexibility, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel fbef94d77d 48/82: Minor cleanup, ELPA Syncer, 2022/01/09