branch: master commit 81c4a3dba192c69cca36b594baf7b0af978eef48 Author: Michael Heerdegen <michael_heerde...@web.de> Commit: Michael Heerdegen <michael_heerde...@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. --- 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))