emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/vlf 66db665 189/310: Fix follow functionality and expli


From: Stefan Monnier
Subject: [elpa] externals/vlf 66db665 189/310: Fix follow functionality and explicitly set variable as buffer local.
Date: Sat, 28 Nov 2020 00:33:13 -0500 (EST)

branch: externals/vlf
commit 66db665d828f65442f1e27060de12b9d1c1c86c5
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>

    Fix follow functionality and explicitly set variable as buffer local.
---
 vlf-follow.el |  6 ++++--
 vlf-occur.el  |  2 +-
 vlf.el        | 20 +++++++++++---------
 3 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/vlf-follow.el b/vlf-follow.el
index 2ff522a..1716faa 100644
--- a/vlf-follow.el
+++ b/vlf-follow.el
@@ -29,6 +29,7 @@
 
 (defvar vlf-follow-timer nil
   "Contains timer if vlf buffer is set to continuously recenter.")
+(make-variable-buffer-local 'vlf-follow-timer)
 (put 'vlf-follow-timer 'permanent-local t)
 
 (defun vlf-recenter (vlf-buffer)
@@ -57,8 +58,9 @@
 
 (defun vlf-stop-follow ()
   "Stop continuous recenter."
-  (cancel-timer vlf-follow-timer)
-  (setq vlf-follow-timer nil))
+  (when vlf-follow-timer
+    (cancel-timer vlf-follow-timer)
+    (setq vlf-follow-timer nil)))
 
 (defun vlf-start-follow (interval)
   "Continuously recenter chunk around point every INTERVAL seconds."
diff --git a/vlf-occur.el b/vlf-occur.el
index 64a35d0..b8e96e1 100644
--- a/vlf-occur.el
+++ b/vlf-occur.el
@@ -126,7 +126,7 @@ Prematurely ending indexing will still show what's found so 
far."
         (with-temp-buffer
           (setq buffer-file-name file)
           (set-buffer-modified-p nil)
-          (set (make-local-variable 'vlf-batch-size) batch-size)
+          (setq-local vlf-batch-size batch-size)
           (vlf-mode 1)
           (goto-char (point-min))
           (vlf-with-undo-disabled
diff --git a/vlf.el b/vlf.el
index 00bb085..467bece 100644
--- a/vlf.el
+++ b/vlf.el
@@ -51,12 +51,15 @@
 ;;; Keep track of file position.
 (defvar vlf-start-pos 0
   "Absolute position of the visible chunk start.")
+(make-variable-buffer-local 'vlf-start-pos)
 (put 'vlf-start-pos 'permanent-local t)
 
 (defvar vlf-end-pos 0 "Absolute position of the visible chunk end.")
+(make-variable-buffer-local 'vlf-end-pos)
 (put 'vlf-end-pos 'permanent-local t)
 
 (defvar vlf-file-size 0 "Total size of presented file.")
+(make-variable-buffer-local 'vlf-file-size)
 (put 'vlf-file-size 'permanent-local t)
 
 (autoload 'vlf-write "vlf-write" "Write current chunk to file.")
@@ -69,6 +72,8 @@
   "Make whole file occur style index for REGEXP.")
 (autoload 'vlf-toggle-follow "vlf-follow"
   "Toggle continuous chunk recenter around current point.")
+(autoload 'vlf-stop-follow "vlf-follow"
+  "Stop continuous recenter.")
 
 (defvar vlf-mode-map
   (let ((map (make-sparse-keymap)))
@@ -112,22 +117,19 @@
   :keymap vlf-prefix-map
   (if vlf-mode
       (progn
-        (set (make-local-variable 'require-final-newline) nil)
+        (setq-local require-final-newline nil)
         (add-hook 'write-file-functions 'vlf-write nil t)
-        (set (make-local-variable 'revert-buffer-function)
-             'vlf-revert)
+        (setq-local revert-buffer-function 'vlf-revert)
         (make-local-variable 'vlf-batch-size)
-        (set (make-local-variable 'vlf-file-size)
-             (vlf-get-file-size buffer-file-truename))
-        (set (make-local-variable 'vlf-start-pos) 0)
-        (set (make-local-variable 'vlf-end-pos) 0)
-        (set (make-local-variable 'vlf-follow-timer) nil)
+        (setq vlf-file-size (vlf-get-file-size buffer-file-truename)
+              vlf-start-pos 0
+              vlf-end-pos 0)
         (let* ((pos (position-bytes (point)))
                (start (* (/ pos vlf-batch-size) vlf-batch-size)))
           (goto-char (byte-to-position (- pos start)))
           (vlf-move-to-batch start)))
     (kill-local-variable 'revert-buffer-function)
-    (vlf-stop-following)
+    (vlf-stop-follow)
     (when (or (not large-file-warning-threshold)
               (< vlf-file-size large-file-warning-threshold)
               (y-or-n-p (format "Load whole file (%s)? "



reply via email to

[Prev in Thread] Current Thread [Next in Thread]