emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/el-search 9f8b3d2 071/332: New function el-search--macr


From: Stefan Monnier
Subject: [elpa] externals/el-search 9f8b3d2 071/332: New function el-search--macroexpand-1 for debugging
Date: Tue, 1 Dec 2020 15:48:14 -0500 (EST)

branch: externals/el-search
commit 9f8b3d2b92b4d6556c3bae7d47e3da99bcb836af
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>

    New function el-search--macroexpand-1 for debugging
---
 el-search.el | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/el-search.el b/el-search.el
index aaca388..a1bdd23 100644
--- a/el-search.el
+++ b/el-search.el
@@ -389,6 +389,17 @@ of the definitions is limited to \"el-search\"."
   `(setf (alist-get ',name el-search--pcase-macros)
          (lambda ,args ,@body)))
 
+(defun el-search--macroexpand-1 (pattern)
+  "Expand \"el-search\" PATTERN.
+This is like `pcase--macroexpand', but expands only patterns
+defined with `el-search-defpattern' and performs only one
+expansion step.
+
+Return PATTERN if this pattern type was not defined with
+`el-search-defpattern'."
+  (if-let ((expander (alist-get (car-safe pattern) el-search--pcase-macros)))
+      (apply expander (cdr pattern))
+    pattern))
 
 (defmacro el-search--with-additional-pcase-macros (&rest body)
   `(cl-letf ,(mapcar (pcase-lambda (`(,symbol . ,fun))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]