[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf 6773248 104/310: Optimize a bit goto line.
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf 6773248 104/310: Optimize a bit goto line. |
Date: |
Sat, 28 Nov 2020 00:32:56 -0500 (EST) |
branch: externals/vlf
commit 67732485d842c946e1b40f8b9c1a6901ee98419a
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Optimize a bit goto line.
---
vlfi.el | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/vlfi.el b/vlfi.el
index 63f4684..70cc6b3 100644
--- a/vlfi.el
+++ b/vlfi.el
@@ -370,8 +370,9 @@ Return number of bytes moved back for this to happen."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; search
-(defun vlfi-re-search (regexp count backward)
- "Search for REGEXP COUNT number of times forward or BACKWARD."
+(defun vlfi-re-search (regexp count backward batch-step)
+ "Search for REGEXP COUNT number of times forward or BACKWARD.
+BATCH-STEP is amount of overlap between successive chunks."
(let* ((match-chunk-start vlfi-start-pos)
(match-chunk-end vlfi-end-pos)
(match-start-pos (+ vlfi-start-pos (position-bytes (point))))
@@ -382,8 +383,7 @@ Return number of bytes moved back for this to happen."
(if backward
(- vlfi-file-size vlfi-end-pos)
vlfi-start-pos)
- vlfi-file-size))
- (batch-step (/ vlfi-batch-size 8))) ; amount of chunk overlap
+ vlfi-file-size)))
(unwind-protect
(catch 'end-of-file
(if backward
@@ -494,7 +494,7 @@ Search is performed chunk by chunk in `vlfi-batch-size'
memory."
(if regexp-history
(car regexp-history)))
(or current-prefix-arg 1)))
- (vlfi-re-search regexp count nil))
+ (vlfi-re-search regexp count nil (/ vlfi-batch-size 8)))
(defun vlfi-re-search-backward (regexp count)
"Search backward for REGEXP prefix COUNT number of times.
@@ -503,7 +503,7 @@ Search is performed chunk by chunk in `vlfi-batch-size'
memory."
(if regexp-history
(car regexp-history)))
(or current-prefix-arg 1)))
- (vlfi-re-search regexp count t))
+ (vlfi-re-search regexp count t (/ vlfi-batch-size 8)))
(defun vlfi-goto-line (n)
"Go to line N."
@@ -515,8 +515,8 @@ Search is performed chunk by chunk in `vlfi-batch-size'
memory."
(unwind-protect
(progn (vlfi-beginning-of-file)
(goto-char (point-min))
- (setq success (vlfi-re-search-forward "[\n\C-m]"
- (1- n))))
+ (setq success (vlfi-re-search "[\n\C-m]" (1- n)
+ nil 0)))
(unless success
(vlfi-move-to-chunk start-pos end-pos)
(goto-char pos)))))
- [elpa] externals/vlf 959bbc7 155/310: Disable undo in cases of partial chunk move., (continued)
- [elpa] externals/vlf 959bbc7 155/310: Disable undo in cases of partial chunk move., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a65f3a4 143/310: Check for unsaved changes before search query and don't enable undo if, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 42e581d 144/310: Add command to unconditionally open fresh VLF buffer to visit occur, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 3e8098a 149/310: Rename vlf-discard-edit -> vlf-refresh., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf c0a85cd 159/310: Fix position when moving to overlapping chunk., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2aea17a 163/310: Fix behaviour when size is missing (creating file) in, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 88924f9 164/310: Fix vlf-write behaviour for newly created file., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 9c50487 165/310: Introduce list of major modes where VLF will not activate., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 152462a 166/310: Fix autoloads in last commit., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf e67895a 068/310: Optionally strip superfluous operations when inserting batches., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 6773248 104/310: Optimize a bit goto line.,
Stefan Monnier <=
- [elpa] externals/vlf 4134de0 177/310: Add intelligent recenter chunk around point functionality., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 9b22b74 134/310: Add gitignore., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2dba838 140/310: In case original VLF buffer has been killed, try to find existing VLF, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf efae918 138/310: Turn vlf into minor mode., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf e36492b 182/310: Optimize chunk jumping for current GNU Emacs releases. Fix moving by, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f1ade81 069/310: Add go to line command., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 3fb898e 070/310: Add automatic batching when scrolling., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf fc689d5 071/310: Make coding system conversion on write more idiomatic., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 74febeb 072/310: Remove ability to launch VLFI from file end. It's superseded by, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 4699008 074/310: Make chunk adjusting automatic., Stefan Monnier, 2020/11/28