From 058ff9e70954ee28299ff55aba3b5e7a12427c0e Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Sat, 12 Dec 2015 14:43:10 +0100 Subject: [PATCH] el-search--matcher: refine when to warn or error --- packages/el-search/el-search.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el index e1baf6d33..6057b82ac 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)) -- 2.39.2