branch: master
commit 058ff9e70954ee28299ff55aba3b5e7a12427c0e
Author: Michael Heerdegen <michael_heerde...@web.de>
Commit: Michael Heerdegen <michael_heerde...@web.de>

    el-search--matcher: refine when to warn or error
---
 packages/el-search/el-search.el |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index e1baf6d..6057b82 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -451,14 +451,15 @@ this pattern type."
      ,@body))
 
 (defun el-search--matcher (pattern &rest body)
-  (eval
+  (eval ;use `eval' to allow for user defined pattern types at run time
    `(el-search--with-additional-pcase-macros
-     (let ((warning-suppress-log-types '((bytecomp))))
-       (byte-compile
-        (lambda (expression)
-          (pcase expression
-            (,pattern ,@(or body (list t)))
-            (_        nil))))))))
+     (let ((byte-compile-debug t) ;make undefined pattern types raise an error
+           (warning-suppress-log-types '((bytecomp)))
+           (pcase--dontwarn-upats (cons '_ pcase--dontwarn-upats)))
+       (byte-compile (lambda (expression)
+                       (pcase expression
+                         (,pattern ,@(or body (list t)))
+                         (_        nil))))))))
 
 (defun el-search--match-p (matcher expression)
   (funcall matcher expression))

Reply via email to