[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/el-search 841a027 287/332: [el-search] Some optimizatio
From: |
Stefan Monnier |
Subject: |
[elpa] externals/el-search 841a027 287/332: [el-search] Some optimization tweaks |
Date: |
Tue, 1 Dec 2020 15:49:05 -0500 (EST) |
branch: externals/el-search
commit 841a027e9a6b68deae7eeda04afd0430311d5cfe
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>
[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.
---
el-search.el | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/el-search.el b/el-search.el
index 27eceb0..a1d5634 100644
--- a/el-search.el
+++ b/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))
- [elpa] externals/el-search c7709ab 233/332: Fix el-search's check for buffers visiting a given file, (continued)
- [elpa] externals/el-search c7709ab 233/332: Fix el-search's check for buffers visiting a given file, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search cda69ae 230/332: * el-search/el-search-x.el: New user option `el-search-lazy-l', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search ce8835b 242/332: [el-search] Factor out `el-search-backward', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search dfaa7f2 244/332: [el-search] Some more minor tweaks, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search a6c23b5 250/332: * el-search/el-search.el: Correct NOERROR argument uses, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 2a02a81 277/332: [el-search] Let el-search-query-replace add undo boundaries, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 864f0ed 276/332: [el-search] Provide el-search-occur-search-object earlier, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 23cf24d 275/332: [el-search] Enhancements to my last two commits, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search effcb50 271/332: [el-search] Make r hit twice restore a replaced match, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search b9ba337 283/332: [el-search] Allow to work without installing key bindings, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 841a027 287/332: [el-search] Some optimization tweaks,
Stefan Monnier <=
- [elpa] externals/el-search 70634b7 298/332: [el-search] Avoid bytecomp warning windows pop up, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 22c2f25 297/332: [el-search] Display colored defun match count, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 061464c 303/332: [el-search] Improvise eldoc support for search pattern prompt, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 9f4a9e5 310/332: [el-search] Improve "Make replacement editable and ediff'able", Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 3da4529 316/332: [el-search] Minor tweaks and version bump, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search e96c51e 319/332: [el-search] Key syntax cleanup, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search f091ed5 320/332: [el-search] Prefer rx forms to stringish regexps, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 47ee6b1 226/332: Improve working of `el-search-kill-left-over-search-buffers', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search e21a53d 240/332: [el-search] Use current buffer to check for matches in replacement, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 188fb4a 259/332: [el-search] Minor tweaks and bump version to 1.7.5, Stefan Monnier, 2020/12/01