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

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

[elpa] externals/vlf 34dfbd2 121/310: Use set-visited-file-name and abst


From: Stefan Monnier
Subject: [elpa] externals/vlf 34dfbd2 121/310: Use set-visited-file-name and abstract getting current file size and
Date: Sat, 28 Nov 2020 00:32:59 -0500 (EST)

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

    Use set-visited-file-name and abstract getting current file size and
    updating visited time.
---
 vlfi.el | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/vlfi.el b/vlfi.el
index c55e91b..ddfdf83 100644
--- a/vlfi.el
+++ b/vlfi.el
@@ -102,10 +102,9 @@ buffer.  You can customize number of bytes displayed by 
customizing
 `vlfi-batch-size'."
   (interactive "fFile to open: ")
   (with-current-buffer (generate-new-buffer "*vlfi*")
-    (setq default-directory (file-name-directory (expand-file-name file)))
+    (set-visited-file-name file)
     (vlfi-mode)
-    (setq buffer-file-name file
-          vlfi-file-size (vlfi-get-file-size file))
+    (setq vlfi-file-size (vlfi-get-file-size buffer-file-name))
     (vlfi-insert-file)
     (switch-to-buffer (current-buffer))))
 
@@ -209,6 +208,12 @@ with the prefix argument DECREASE it is halved."
   "Get size in bytes of FILE."
   (nth 7 (file-attributes file)))
 
+(defun vlfi-verify-size ()
+  "Update file size information if necessary and visited file time."
+  (unless (verify-visited-file-modtime (current-buffer))
+    (setq vlfi-file-size (vlfi-get-file-size buffer-file-name))
+    (set-visited-file-modtime)))
+
 (defun vlfi-insert-file (&optional from-end)
   "Insert first chunk of current file contents in current buffer.
 With FROM-END prefix, start from the back."
@@ -252,8 +257,7 @@ When prefix argument is supplied and positive
 When prefix argument is negative
  append next APPEND number of batches to the existing buffer."
   (interactive "p")
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (let ((end (min (+ vlfi-end-pos (* vlfi-batch-size
                                      (abs append)))
                   vlfi-file-size)))
@@ -284,8 +288,7 @@ When prefix argument is negative
   (interactive "p")
   (if (zerop vlfi-start-pos)
       (error "Already at BOF"))
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (let ((inhibit-read-only t)
         (start (max 0 (- vlfi-start-pos (* vlfi-batch-size
                                            (abs prepend)))))
@@ -314,8 +317,7 @@ When prefix argument is negative
   "Move to batch determined by START.
 Adjust according to file start/end and show `vlfi-batch-size' bytes.
 When given MINIMAL flag, skip non important operations."
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (setq vlfi-start-pos (max 0 start)
         vlfi-end-pos (min (+ vlfi-start-pos vlfi-batch-size)
                           vlfi-file-size))
@@ -335,8 +337,7 @@ When given MINIMAL flag, skip non important operations."
 (defun vlfi-move-to-chunk (start end &optional minimal)
   "Move to chunk determined by START END.
 When given MINIMAL flag, skip non important operations."
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (setq vlfi-start-pos (max 0 start)
         vlfi-end-pos (min end vlfi-file-size))
   (let ((inhibit-read-only t)
@@ -802,6 +803,7 @@ Save anyway? ")))
       (progress-reporter-update reporter read-start-pos))
     ;; pad end with space
     (erase-buffer)
+    (vlfi-verify-size)
     (insert-char 32 size-change)
     (write-region nil nil buffer-file-name (- vlfi-file-size
                                               size-change) t)
@@ -811,8 +813,7 @@ Save anyway? ")))
   "Read `vlfi-batch-size' bytes from READ-POS and write them \
 back at WRITE-POS.  Return nil if EOF is reached, t otherwise."
   (erase-buffer)
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (let ((read-end (+ read-pos vlfi-batch-size)))
     (insert-file-contents-literally buffer-file-name nil
                                     read-pos
@@ -846,8 +847,7 @@ Done by saving content up front and then writing previous 
batch."
 Then write initial buffer content to file at WRITE-POS.
 If HIDE-READ is non nil, temporarily hide literal read content.
 Return nil if EOF is reached, t otherwise."
-  (or (verify-visited-file-modtime (current-buffer))
-      (setq vlfi-file-size (vlfi-get-file-size buffer-file-name)))
+  (vlfi-verify-size)
   (let ((read-more (< read-pos vlfi-file-size))
         (start-write-pos (point-min))
         (end-write-pos (point-max)))



reply via email to

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