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

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

[elpa] externals/el-search 9ab546b 017/332: drop el-search-expression-co


From: Stefan Monnier
Subject: [elpa] externals/el-search 9ab546b 017/332: drop el-search-expression-contains-match-p
Date: Tue, 1 Dec 2020 15:48:02 -0500 (EST)

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

    drop el-search-expression-contains-match-p
    
    A correct implementation would have to be more complicated.  We didn't
    recurse on arrays for example, or we didn't find (2 3) in (1 . (2 3)).
    
    And it wasn't that effective either, so I remove it.
---
 el-search.el | 27 +++------------------------
 1 file changed, 3 insertions(+), 24 deletions(-)

diff --git a/el-search.el b/el-search.el
index dd0f2ce..5b78aa0 100644
--- a/el-search.el
+++ b/el-search.el
@@ -285,21 +285,8 @@ Don't move if already at beginning of a sexp."
         (,pattern t)
         (_        nil)))))
 
-(defun el-search-expression-contains-match-p (pattern expression)
-  "Whether some subexp of EXPRESSION is matched by PATTERN."
-  (or (el-search--match-p pattern expression)
-      (and (consp expression)
-           (if (cdr (last expression))
-               ;; a dotted list
-               (or (el-search-expression-contains-match-p pattern (car 
expression))
-                   (el-search-expression-contains-match-p pattern (cdr 
expression)))
-             (cl-some (lambda (subexpr) (el-search-expression-contains-match-p 
pattern subexpr))
-                      expression)))))
-
 (defun el-search--maybe-wrap-pattern (pattern)
-  (if (el-search-expression-contains-match-p 
`',el-search-this-expression-identifier pattern)
-      `(and ,el-search-this-expression-identifier ,pattern)
-    pattern))
+  `(and ,el-search-this-expression-identifier ,pattern))
 
 (defun el-search--search-pattern (pattern &optional noerror)
   "Search elisp buffer with `pcase' PATTERN.
@@ -317,18 +304,10 @@ return nil (no error)."
               (end-of-buffer
                (goto-char opoint)
                (throw 'no-match t)))
-            (if (and (zerop (car (syntax-ppss)))
-                     (not (el-search-expression-contains-match-p pattern 
current-expr)))
-                ;; nothing here; skip to next top level form
-                (let ((end-of-next-sexp (scan-sexps (point) 2)))
-                  (if (not end-of-next-sexp)
-                      (throw 'no-match t)
-                    (goto-char end-of-next-sexp)
-                    (backward-sexp)))
-              (if (el-search--match-p pattern current-expr)
+            (if (el-search--match-p pattern current-expr)
                 (setq match-beg (point)
                       opoint (point))
-                (forward-char)))))
+              (forward-char))))
         (if noerror nil (signal 'end-of-buffer nil)))
     match-beg))
 



reply via email to

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