From 65c7fcfd1af3ec656916a868ae408972fc5cd29f Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Fri, 11 Mar 2016 13:47:50 +0100 Subject: [PATCH] New function el-search--macroexpand-1 for debugging --- packages/el-search/el-search.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el index aaca38881..a1bdd23e2 100644 --- a/packages/el-search/el-search.el +++ b/packages/el-search/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)) -- 2.39.2