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

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

[elpa] master 81c4a3d: [el-search] Special case 'el-search-make-matcher'


From: Michael Heerdegen
Subject: [elpa] master 81c4a3d: [el-search] Special case 'el-search-make-matcher' for '_'
Date: Thu, 21 Jun 2018 12:31:53 -0400 (EDT)

branch: master
commit 81c4a3dba192c69cca36b594baf7b0af978eef48
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    [el-search] Special case 'el-search-make-matcher' for '_'
    
    This makes adding an entry to 'pcase--dontwarn-upats' to suppress a
    warning about a redundant '_' clause unnecessary.
    
    * packages/el-search/el-search.el (el-search-make-matcher): Avoid
    calling 'pcase' in the constructed lambda for '_' PATTERN argument.
---
 packages/el-search/el-search.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index f027c2c..9ee1a5f 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -966,11 +966,14 @@ N times."
      (defvar warning-suppress-log-types)
      (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 ,(if result-specified result-expr t))
-                          (_        nil))))))))
+           (pattern-is-catchall (eq pattern '_)))
+       (byte-compile
+        `(lambda (,(if pattern-is-catchall '_ expression))
+           ,(if pattern-is-catchall
+                (if result-specified result-expr t)
+              `(pcase ,expression
+                 (,pattern ,(if result-specified result-expr t))
+                 (_        nil)))))))))
 
 (defun el-search--match-p (matcher expression)
   (funcall matcher expression))



reply via email to

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