[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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 81c4a3d: [el-search] Special case 'el-search-make-matcher' for '_',
Michael Heerdegen <=