mirror of
				https://github.com/m00natic/vlfi.git
				synced 2025-10-31 15:11:47 +00:00 
			
		
		
		
	Simplify detection of buffer size change.
This commit is contained in:
		
							
								
								
									
										22
									
								
								vlfi.el
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								vlfi.el
									
									
									
									
									
								
							| @@ -50,7 +50,6 @@ | ||||
| (defvar vlfi-end-pos vlfi-batch-size | ||||
|   "Absolute position of the visible chunk end.") | ||||
| (defvar vlfi-file-size 0 "Total size of presented file.") | ||||
| (defvar vlfi-buffer-size 0 "Buffer size of current chunk.") | ||||
|  | ||||
| (defvar vlfi-mode-map | ||||
|   (let ((map (make-sparse-keymap))) | ||||
| @@ -83,9 +82,7 @@ | ||||
|   (make-local-variable 'vlfi-end-pos) | ||||
|   (put 'vlfi-end-pos 'permanent-local t) | ||||
|   (make-local-variable 'vlfi-file-size) | ||||
|   (put 'vlfi-file-size 'permanent-local t) | ||||
|   (make-local-variable 'vlfi-buffer-size) | ||||
|   (put 'vlfi-buffer-size 'permanent-local t)) | ||||
|   (put 'vlfi-file-size 'permanent-local t)) | ||||
|  | ||||
| (defun vlfi-change-batch-size (decrease) | ||||
|   "Change the buffer-local value of `vlfi-batch-size'. | ||||
| @@ -134,14 +131,12 @@ When prefix argument is negative | ||||
| 	  (goto-char (point-max)) | ||||
| 	(setq vlfi-start-pos (- end vlfi-batch-size)) | ||||
| 	(erase-buffer)) | ||||
|       (insert-file-contents buffer-file-name nil | ||||
|                             (if do-append | ||||
|       (insert-file-contents buffer-file-name nil (if do-append | ||||
| 						     vlfi-end-pos | ||||
| 						   vlfi-start-pos) | ||||
| 			    end) | ||||
|       (goto-char pos)) | ||||
|     (setq vlfi-end-pos end | ||||
|           vlfi-buffer-size (buffer-size))) | ||||
|     (setq vlfi-end-pos end)) | ||||
|   (set-visited-file-modtime) | ||||
|   (set-buffer-modified-p nil) | ||||
|   (vlfi-update-buffer-name)) | ||||
| @@ -169,8 +164,7 @@ When prefix argument is negative | ||||
| 			      vlfi-start-pos | ||||
| 			    vlfi-end-pos)) | ||||
|     (goto-char (- (point-max) pos)) | ||||
|     (setq vlfi-start-pos start | ||||
|           vlfi-buffer-size (buffer-size))) | ||||
|     (setq vlfi-start-pos start)) | ||||
|   (set-visited-file-modtime) | ||||
|   (set-buffer-modified-p nil) | ||||
|   (vlfi-update-buffer-name)) | ||||
| @@ -191,7 +185,6 @@ Adjust according to file start/end and show `vlfi-batch-size' bytes." | ||||
|     (insert-file-contents buffer-file-name nil | ||||
| 			  vlfi-start-pos vlfi-end-pos) | ||||
|     (goto-char pos)) | ||||
|   (setq vlfi-buffer-size (buffer-size)) | ||||
|   (set-visited-file-modtime) | ||||
|   (set-buffer-modified-p nil) | ||||
|   (vlfi-update-buffer-name)) | ||||
| @@ -209,7 +202,6 @@ Adjust according to file start/end and show `vlfi-batch-size' bytes." | ||||
|     (insert-file-contents buffer-file-name nil | ||||
| 			  vlfi-start-pos vlfi-end-pos) | ||||
|     (goto-char pos)) | ||||
|   (setq vlfi-buffer-size (buffer-size)) | ||||
|   (set-visited-file-modtime) | ||||
|   (set-buffer-modified-p nil) | ||||
|   (vlfi-update-buffer-name)) | ||||
| @@ -437,7 +429,11 @@ If changing size of chunk, may load the remaining part of file first." | ||||
| 	     (or (verify-visited-file-modtime) | ||||
| 		 (y-or-n-p "File has changed since visited or \ | ||||
| saved.  Save anyway? "))) | ||||
|     (let ((size-change (- vlfi-buffer-size (buffer-size)))) | ||||
|     (let ((size-change (- vlfi-end-pos vlfi-start-pos | ||||
| 			  (length | ||||
| 			   (encode-coding-region | ||||
| 			    (point-min) (point-max) | ||||
| 			    buffer-file-coding-system t))))) | ||||
|       (if (zerop size-change) | ||||
| 	  (vlfi-write-1) | ||||
| 	(setq vlfi-file-size (nth 7 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user