[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf 538a9e6 075/310: Apply chunk decoding adjustment im
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf 538a9e6 075/310: Apply chunk decoding adjustment implicitly. |
Date: |
Sat, 28 Nov 2020 00:32:50 -0500 (EST) |
branch: externals/vlf
commit 538a9e6049e7f4f61bfe57c07a1bd919812f0179
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Apply chunk decoding adjustment implicitly.
---
vlfi.el | 46 ++++++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/vlfi.el b/vlfi.el
index 9eb4cc7..05200b8 100644
--- a/vlfi.el
+++ b/vlfi.el
@@ -67,7 +67,6 @@
(define-key map "e" 'vlfi-edit-mode)
(define-key map "j" 'vlfi-jump-to-chunk)
(define-key map "l" 'vlfi-goto-line)
- (define-key map "a" 'vlfi-adjust-chunk)
map)
"Keymap for `vlfi-mode'.")
@@ -264,6 +263,7 @@ When prefix argument is negative
end)
(goto-char pos))
(setq vlfi-end-pos end))
+ (vlfi-adjust-chunk)
(set-visited-file-modtime)
(set-buffer-modified-p nil)
(vlfi-update-buffer-name))
@@ -290,8 +290,9 @@ When prefix argument is negative
(if do-prepend
vlfi-start-pos
vlfi-end-pos))
- (goto-char (- (point-max) pos))
- (setq vlfi-start-pos start))
+ (setq vlfi-start-pos start)
+ (vlfi-adjust-chunk)
+ (goto-char (- (point-max) pos)))
(set-visited-file-modtime)
(set-buffer-modified-p nil)
(vlfi-update-buffer-name))
@@ -311,6 +312,7 @@ When given MINIMAL flag, skip non important operations."
(erase-buffer)
(insert-file-contents buffer-file-name nil
vlfi-start-pos vlfi-end-pos)
+ (vlfi-adjust-chunk)
(goto-char pos))
(set-buffer-modified-p nil)
(unless minimal
@@ -329,12 +331,31 @@ When given MINIMAL flag, skip non important operations."
(erase-buffer)
(insert-file-contents buffer-file-name nil
vlfi-start-pos vlfi-end-pos)
+ (vlfi-adjust-chunk)
(goto-char pos))
(set-buffer-modified-p nil)
(unless minimal
(set-visited-file-modtime)
(vlfi-update-buffer-name)))
+(defun vlfi-adjust-chunk ()
+ "Adjust chunk beginning until content can be properly decoded."
+ (or (zerop vlfi-start-pos)
+ (let ((pos (point)))
+ (while (/= (- vlfi-end-pos vlfi-start-pos)
+ (length (encode-coding-region
+ (point-min) (point-max)
+ buffer-file-coding-system t)))
+
+ (setq pos (1- pos)
+ vlfi-start-pos (1- vlfi-start-pos))
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (insert-file-contents buffer-file-name nil
+ vlfi-start-pos vlfi-end-pos)))
+ (set-buffer-modified-p nil)
+ (goto-char pos))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; search
@@ -461,25 +482,6 @@ Search is performed chunk by chunk in `vlfi-batch-size'
memory."
(vlfi-move-to-chunk start-pos end-pos)
(goto-char pos)))))
-(defun vlfi-adjust-chunk ()
- "Adjust chunk beginning until content can be properly decoded."
- (interactive)
- (or (zerop vlfi-start-pos)
- (let ((pos (point)))
- (while (/= (- vlfi-end-pos vlfi-start-pos)
- (length (encode-coding-region
- (point-min) (point-max)
- buffer-file-coding-system t)))
-
- (setq pos (1- pos)
- vlfi-start-pos (1- vlfi-start-pos))
- (let ((inhibit-read-only t))
- (erase-buffer)
- (insert-file-contents buffer-file-name nil
- vlfi-start-pos vlfi-end-pos)))
- (set-buffer-modified-p nil)
- (goto-char pos))))
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; editing
- [elpa] externals/vlf 4134de0 177/310: Add intelligent recenter chunk around point functionality., (continued)
- [elpa] externals/vlf 4134de0 177/310: Add intelligent recenter chunk around point functionality., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 9b22b74 134/310: Add gitignore., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2dba838 140/310: In case original VLF buffer has been killed, try to find existing VLF, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf efae918 138/310: Turn vlf into minor mode., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf e36492b 182/310: Optimize chunk jumping for current GNU Emacs releases. Fix moving by, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f1ade81 069/310: Add go to line command., Stefan Monnier, 2020/11/28
- [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 <=
- [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, 2020/11/28
- [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