branch: elpa/isl
commit 1c7a95769438888e501b1774b93b1a2bcfbe2924
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Use take instead of butlast
Not tested but I guess it is faster.
---
isl.el | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/isl.el b/isl.el
index 0fb3397185b..64fb7f19035 100644
--- a/isl.el
+++ b/isl.el
@@ -811,14 +811,15 @@ you try to modify other elements externally."
(changing-direction nil))
()
(let ((elm (car tmp-seq))
- revlist queue)
+ revlist queue index)
(if changing-direction
(setq revlist (reverse seq)
queue (memql element revlist)
direction (pcase direction
('left 'right)
('right 'left))
- seq (append queue (butlast revlist (length queue)))
+ index (- (length seq) (length queue))
+ seq (append queue (take index revlist))
tmp-seq (cddr seq)
elm (cadr seq)
changing-direction nil)
@@ -835,8 +836,9 @@ you try to modify other elements externally."
(defun isl-set-iterator ()
"Build `isl--iterator' against `isl--item-overlays'."
- (let* ((lst (memql isl--last-overlay isl--item-overlays))
- (ovs (append lst (butlast isl--item-overlays (length lst)))))
+ (let* ((queue (memql isl--last-overlay isl--item-overlays))
+ (index (- (length isl--item-overlays) (length queue)))
+ (ovs (append queue (take index isl--item-overlays))))
(setq isl--iterator (isl-iter-circular ovs))))
(defun isl-delete-overlays ()