[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/el-search 10e596b 113/332: Add `el-search--macroexpand'
From: |
Stefan Monnier |
Subject: |
[elpa] externals/el-search 10e596b 113/332: Add `el-search--macroexpand' |
Date: |
Tue, 1 Dec 2020 15:48:24 -0500 (EST) |
branch: externals/el-search
commit 10e596b762bb49190f1b2545f29063fe76c9d7d9
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>
Add `el-search--macroexpand'
---
el-search.el | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/el-search.el b/el-search.el
index 3e3d828..a517165 100644
--- a/el-search.el
+++ b/el-search.el
@@ -452,6 +452,12 @@ of the definitions is limited to \"el-search\".
`(setf (alist-get ',name el-search--pcase-macros)
(lambda ,args ,@body)))
+(defmacro el-search--with-additional-pcase-macros (&rest body)
+ `(cl-letf ,(mapcar (pcase-lambda (`(,symbol . ,fun))
+ `((get ',symbol 'pcase-macroexpander) #',fun))
+ el-search--pcase-macros)
+ ,@body))
+
(defun el-search--macroexpand-1 (pattern)
"Expand \"el-search\" PATTERN.
This is like `pcase--macroexpand', but expands only patterns
@@ -464,11 +470,9 @@ Return PATTERN if this pattern type was not defined with
(apply expander (cdr pattern))
pattern))
-(defmacro el-search--with-additional-pcase-macros (&rest body)
- `(cl-letf ,(mapcar (pcase-lambda (`(,symbol . ,fun))
- `((get ',symbol 'pcase-macroexpander) #',fun))
- el-search--pcase-macros)
- ,@body))
+(defun el-search--macroexpand (pattern)
+ "Like `pcase--macroexpand' but also expanding \"el-search\" patterns."
+ (eval `(el-search--with-additional-pcase-macros (pcase--macroexpand
',pattern))))
(defun el-search--matcher (pattern &optional result)
(eval ;use `eval' to allow for user defined pattern types at run time
- [elpa] externals/el-search 5b608a1 094/332: Set initial input for replace when coming from el-search-pattern, (continued)
- [elpa] externals/el-search 5b608a1 094/332: Set initial input for replace when coming from el-search-pattern, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 9c3c04d 093/332: Clean up el-search-read-expression-map; add some doc, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search b4e79fb 081/332: Add patterns for character properties, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 2dd24a9 096/332: Factor out `el-search--replace-hunk', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 852643e 100/332: Fix some quoting problems in doc strings, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 2366cda 107/332: Improve `change' and `changed', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 31b9e9d 122/332: Inhibit logging of some messages, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 35a0776 119/332: Add missing settings of some vars when restoring a previous search, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search c086990 129/332: Extend the heuristic matching approach; complete review, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 57ecb9a 128/332: Fix leaving behind helper buffers, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 10e596b 113/332: Add `el-search--macroexpand',
Stefan Monnier <=
- [elpa] externals/el-search 70477a2 150/332: Explicitly require pcase, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 4b8780f 026/332: allow search wrapping, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 125d653 084/332: Fix el-search--ensure-sexp-start error at bob, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search ee096b0 092/332: Make sure not to lose the minibuffer-prompt face, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 80ff841 085/332: Make el-search-pattern accept an optional NO-ERROR arg, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 61c39c3 098/332: el-search version 0.2, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search e9c3ed5 032/332: fix el-search-hl-post-command-fun auto-removal, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search a2c97a1 009/332: el-search: add autoload cookies, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 7b1b6dd 013/332: change default of el-search-this-expression-identifier, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 9463ad2 025/332: arrange we can use `call-interactively' when coming from isearch, Stefan Monnier, 2020/12/01