[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master f06794d: [el-search] Some optimization tweaks
From: |
Michael Heerdegen |
Subject: |
[elpa] master f06794d: [el-search] Some optimization tweaks |
Date: |
Sat, 12 Jan 2019 05:22:23 -0500 (EST) |
branch: master
commit f06794d7f3496071375e7273307e476d7faac85b
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>
[el-search] Some optimization tweaks
Make sure heuristic matchers aren't unnecessarily recomputed. This is
important for pattern types whose heuristic matchers need to do some
kind of caching like 'el-search-change--heuristic-matcher'.
Bump version to 1.9.2.
* packages/el-search/el-search.el
(el-search-heuristic-buffer-matcher): Allow to pass an existing
heuristic matcher.
(el-search--set-head-pattern): Compute heuristic matcher only once.
(el-search-continue-search): Call
'el-search-compile-pattern-in-search' only when necessary.
---
packages/el-search/el-search.el | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 27eceb0..a1d5634 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
;; Created: 29 Jul 2015
;; Keywords: lisp
;; Compatibility: GNU Emacs 25
-;; Version: 1.9.1
+;; Version: 1.9.2
;; Package-Requires: ((emacs "25") (stream "2.2.4") (cl-print "1.0"))
@@ -1512,8 +1512,8 @@ PATTERN and combining the heuristic matchers of the
subpatterns."
(walker tree)
elements)))
-(defun el-search-heuristic-buffer-matcher (pattern)
- (let ((heuristic-matcher (el-search-heuristic-matcher pattern)))
+(defun el-search-heuristic-buffer-matcher (pattern &optional hm)
+ (let ((heuristic-matcher (or hm (el-search-heuristic-matcher pattern))))
(lambda (file-name-or-buffer)
(el-search--message-no-log "%s"
(if (stringp file-name-or-buffer)
@@ -1709,10 +1709,10 @@ position of the beginning of the match."
(defun el-search--set-head-pattern (head pattern)
(setf (el-search-head-matcher head)
(el-search-make-matcher pattern))
- (setf (el-search-head-heuristic-matcher head)
- (el-search-heuristic-matcher pattern))
- (setf (el-search-head-heuristic-buffer-matcher head)
- (el-search-heuristic-buffer-matcher pattern))
+ (let ((hm (el-search-heuristic-matcher pattern)))
+ (setf (el-search-head-heuristic-matcher head) hm)
+ (setf (el-search-head-heuristic-buffer-matcher head)
+ (el-search-heuristic-buffer-matcher pattern hm)))
head)
(defun el-search-compile-pattern-in-search (search)
@@ -2733,8 +2733,8 @@ continued."
(interactive "P")
(setq this-command 'el-search-pattern)
(unless (eq last-command this-command)
- (el-search--set-search-origin-maybe))
- (el-search-compile-pattern-in-search el-search--current-search)
+ (el-search--set-search-origin-maybe)
+ (el-search-compile-pattern-in-search el-search--current-search))
(el-search-protect-search-head
(unwind-protect
(let* ((old-current-buffer (current-buffer))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master f06794d: [el-search] Some optimization tweaks,
Michael Heerdegen <=