[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf db1da30 175/310: Use buffer-file-truename for file
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf db1da30 175/310: Use buffer-file-truename for file size determination and remove |
Date: |
Sat, 28 Nov 2020 00:33:10 -0500 (EST) |
branch: externals/vlf
commit db1da304d50081e6b0e47160c7d17721245fe9ab
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Use buffer-file-truename for file size determination and remove
superfluous checks to vlf-verify-size when saving. Fix vlf-revert not
to ask unnecessary.
---
vlf.el | 70 +++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 35 insertions(+), 35 deletions(-)
diff --git a/vlf.el b/vlf.el
index ac657d6..f0a5e18 100644
--- a/vlf.el
+++ b/vlf.el
@@ -122,7 +122,7 @@ Possible values are: nil to never use it;
'vlf-revert)
(make-local-variable 'vlf-batch-size)
(set (make-local-variable 'vlf-file-size)
- (vlf-get-file-size buffer-file-name))
+ (vlf-get-file-size buffer-file-truename))
(set (make-local-variable 'vlf-start-pos) 0)
(set (make-local-variable 'vlf-end-pos) 0)
(let* ((pos (position-bytes (point)))
@@ -295,12 +295,12 @@ with the prefix argument DECREASE it is halved."
(defun vlf-get-file-size (file)
"Get size in bytes of FILE."
- (or (nth 7 (file-attributes (file-truename file))) 0))
+ (or (nth 7 (file-attributes file)) 0))
(defun vlf-verify-size ()
"Update file size information if necessary and visited file time."
(unless (verify-visited-file-modtime (current-buffer))
- (setq vlf-file-size (vlf-get-file-size buffer-file-name))
+ (setq vlf-file-size (vlf-get-file-size buffer-file-truename))
(set-visited-file-modtime)))
(defun vlf-insert-file (&optional from-end)
@@ -332,6 +332,7 @@ Ask for confirmation if NOCONFIRM is nil."
(yes-or-no-p (format "Revert buffer from file %s? "
buffer-file-name)))
(set-buffer-modified-p nil)
+ (set-visited-file-modtime)
(vlf-move-to-chunk-2 vlf-start-pos vlf-end-pos)))
(defun vlf-jump-to-chunk (n)
@@ -955,35 +956,37 @@ in file: %s" total-matches line regexp file)
"Write current chunk to file. Always return true to disable save.
If changing size of chunk, shift remaining file content."
(interactive)
- (when (and (buffer-modified-p)
- (or (verify-visited-file-modtime (current-buffer))
- (y-or-n-p "File has changed since visited or saved. \
-Save anyway? ")))
- (if (zerop vlf-file-size) ;new file
- (progn
- (write-region nil nil buffer-file-name vlf-start-pos t)
- (setq vlf-file-size (vlf-get-file-size buffer-file-name)
- vlf-end-pos vlf-file-size)
- (vlf-update-buffer-name))
- (let* ((region-length (length (encode-coding-region
- (point-min) (point-max)
- buffer-file-coding-system t)))
- (size-change (- vlf-end-pos vlf-start-pos
- region-length)))
- (if (zerop size-change)
- (write-region nil nil buffer-file-name vlf-start-pos t)
- (let ((pos (point)))
- (if (< 0 size-change)
- (vlf-file-shift-back size-change)
- (vlf-file-shift-forward (- size-change)))
- (setq vlf-file-size (vlf-get-file-size buffer-file-name))
- (vlf-move-to-chunk-2 vlf-start-pos
- (if (< (- vlf-end-pos vlf-start-pos)
- vlf-batch-size)
- (+ vlf-start-pos vlf-batch-size)
- vlf-end-pos))
- (vlf-update-buffer-name)
- (goto-char pos))))))
+ (and (buffer-modified-p)
+ (or (verify-visited-file-modtime (current-buffer))
+ (y-or-n-p "File has changed since visited or saved. \
+Save anyway? "))
+ (if (zerop vlf-file-size) ;new file
+ (progn
+ (write-region nil nil buffer-file-name vlf-start-pos t)
+ (setq vlf-file-size (vlf-get-file-size
+ buffer-file-truename)
+ vlf-end-pos vlf-file-size)
+ (vlf-update-buffer-name))
+ (vlf-verify-size)
+ (let* ((region-length (length (encode-coding-region
+ (point-min) (point-max)
+ buffer-file-coding-system t)))
+ (size-change (- vlf-end-pos vlf-start-pos
+ region-length)))
+ (if (zerop size-change)
+ (write-region nil nil buffer-file-name vlf-start-pos t)
+ (let ((pos (point)))
+ (if (< 0 size-change)
+ (vlf-file-shift-back size-change)
+ (vlf-file-shift-forward (- size-change)))
+ (vlf-verify-size)
+ (vlf-move-to-chunk-2 vlf-start-pos
+ (if (< (- vlf-end-pos vlf-start-pos)
+ vlf-batch-size)
+ (+ vlf-start-pos vlf-batch-size)
+ vlf-end-pos))
+ (vlf-update-buffer-name)
+ (goto-char pos))))))
t)
(defun vlf-file-shift-back (size-change)
@@ -1001,7 +1004,6 @@ Save anyway? ")))
(progress-reporter-update reporter read-start-pos))
;; pad end with space
(erase-buffer)
- (vlf-verify-size)
(insert-char 32 size-change))
(write-region nil nil buffer-file-name (- vlf-file-size
size-change) t)
@@ -1011,7 +1013,6 @@ Save anyway? ")))
"Read `vlf-batch-size' bytes from READ-POS and write them \
back at WRITE-POS. Return nil if EOF is reached, t otherwise."
(erase-buffer)
- (vlf-verify-size)
(let ((read-end (+ read-pos vlf-batch-size)))
(insert-file-contents-literally buffer-file-name nil
read-pos
@@ -1045,7 +1046,6 @@ 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."
- (vlf-verify-size)
(let ((read-more (< read-pos vlf-file-size))
(start-write-pos (point-min))
(end-write-pos (point-max)))
- [elpa] externals/vlf 3fb898e 070/310: Add automatic batching when scrolling., (continued)
- [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
- [elpa] externals/vlf 538a9e6 075/310: Apply chunk decoding adjustment implicitly., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 0dc6d06 190/310: Completely decouple vlf integration from other functionality., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf c533bce 207/310: Add command to set batch size explicitly., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 177c680 147/310: Revert to showing batch size in buffer name instead of the mode-line., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d6c7223 151/310: Delete obsolete vlfi.el., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 655805c 174/310: Fix vlf-next-batch-from-point behaviour near end of file., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf db1da30 175/310: Use buffer-file-truename for file size determination and remove,
Stefan Monnier <=
- [elpa] externals/vlf 429a8ff 196/310: Widen region when measuring encoded content length., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf df8c9ea 191/310: Detect change of file when loading chunk and act more cautiously. Move, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf cc9b115 214/310: Update docstring for vlf-ediff-adjust., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 82fd5b9 203/310: Refine diff adjustment and in case of equality after it - make another, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 0199c24 218/310: Lower tramp verbosity level when dealing with multiple batches., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf ee19f81 228/310: Load hexl advices after load and move vlf group definition., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2c231df 226/310: Disable hexl-save-buffer and hexl revert when vlf-mode is active., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a1ca1e3 232/310: Don't launch vlf when file size is less than vlf-batch-size., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf facdb9f 249/310: Fix binary tune base case and add approximation after access to, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d67825c 244/310: Move back to using average speed when measuring and tuning. Be more, Stefan Monnier, 2020/11/28