branch: elpa/isl
commit c101831646a665e071696f4b9c3ac39a02f3e66d
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Update iterator instead of recreating
at each update.
---
isl.el | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/isl.el b/isl.el
index a8e9414f323..c907d76a59e 100644
--- a/isl.el
+++ b/isl.el
@@ -846,7 +846,12 @@ you try to modify other elements externally."
(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))))
+ (if isl--iterator
+ (setf (isl-iterator--seq isl--iterator) ovs
+ (isl-iterator--tmp-seq isl--iterator) ovs
+ (isl-iterator--element isl--iterator) isl--last-overlay
+ (isl-iterator--direction isl--iterator) 'right)
+ (setq isl--iterator (isl-iter-circular ovs)))))
(defun isl-delete-overlays ()
"Cleanup ovelays."