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

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

[elpa] master 058ff9e: el-search--matcher: refine when to warn or error


From: Michael Heerdegen
Subject: [elpa] master 058ff9e: el-search--matcher: refine when to warn or error
Date: Sat, 12 Dec 2015 13:45:11 +0000

branch: master
commit 058ff9e70954ee28299ff55aba3b5e7a12427c0e
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    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

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