[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 940b651: Add `el-search--macroexpand'
From: |
Michael Heerdegen |
Subject: |
[elpa] master 940b651: Add `el-search--macroexpand' |
Date: |
Tue, 13 Sep 2016 16:54:05 +0000 (UTC) |
branch: master
commit 940b651dfdd559eb72c3885b34d7b958a3906a91
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>
Add `el-search--macroexpand'
---
packages/el-search/el-search.el | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 3e3d828..a517165 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 940b651: Add `el-search--macroexpand',
Michael Heerdegen <=