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

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

[elpa] externals/el-search 96b7423 245/332: [el-search] Special case 'el


From: Stefan Monnier
Subject: [elpa] externals/el-search 96b7423 245/332: [el-search] Special case 'el-search-make-matcher' for '_'
Date: Tue, 1 Dec 2020 15:48:55 -0500 (EST)

branch: externals/el-search
commit 96b7423c312a7f4dfb0d75c18c090f78a50e1259
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>

    [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.
---
 el-search.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/el-search.el b/el-search.el
index f027c2c..9ee1a5f 100644
--- a/el-search.el
+++ b/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]