mirror of
				https://github.com/m00natic/vlfi.git
				synced 2025-10-31 23:21:39 +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 | (defvar vlfi-end-pos vlfi-batch-size | ||||||
|   "Absolute position of the visible chunk end.") |   "Absolute position of the visible chunk end.") | ||||||
| (defvar vlfi-file-size 0 "Total size of presented file.") | (defvar vlfi-file-size 0 "Total size of presented file.") | ||||||
| (defvar vlfi-buffer-size 0 "Buffer size of current chunk.") |  | ||||||
|  |  | ||||||
| (defvar vlfi-mode-map | (defvar vlfi-mode-map | ||||||
|   (let ((map (make-sparse-keymap))) |   (let ((map (make-sparse-keymap))) | ||||||
| @@ -83,9 +82,7 @@ | |||||||
|   (make-local-variable 'vlfi-end-pos) |   (make-local-variable 'vlfi-end-pos) | ||||||
|   (put 'vlfi-end-pos 'permanent-local t) |   (put 'vlfi-end-pos 'permanent-local t) | ||||||
|   (make-local-variable 'vlfi-file-size) |   (make-local-variable 'vlfi-file-size) | ||||||
|   (put 'vlfi-file-size 'permanent-local t) |   (put 'vlfi-file-size 'permanent-local t)) | ||||||
|   (make-local-variable 'vlfi-buffer-size) |  | ||||||
|   (put 'vlfi-buffer-size 'permanent-local t)) |  | ||||||
|  |  | ||||||
| (defun vlfi-change-batch-size (decrease) | (defun vlfi-change-batch-size (decrease) | ||||||
|   "Change the buffer-local value of `vlfi-batch-size'. |   "Change the buffer-local value of `vlfi-batch-size'. | ||||||
| @@ -134,14 +131,12 @@ When prefix argument is negative | |||||||
| 	  (goto-char (point-max)) | 	  (goto-char (point-max)) | ||||||
| 	(setq vlfi-start-pos (- end vlfi-batch-size)) | 	(setq vlfi-start-pos (- end vlfi-batch-size)) | ||||||
| 	(erase-buffer)) | 	(erase-buffer)) | ||||||
|       (insert-file-contents buffer-file-name nil |       (insert-file-contents buffer-file-name nil (if do-append | ||||||
|                             (if do-append |  | ||||||
| 						     vlfi-end-pos | 						     vlfi-end-pos | ||||||
| 						   vlfi-start-pos) | 						   vlfi-start-pos) | ||||||
| 			    end) | 			    end) | ||||||
|       (goto-char pos)) |       (goto-char pos)) | ||||||
|     (setq vlfi-end-pos end |     (setq vlfi-end-pos end)) | ||||||
|           vlfi-buffer-size (buffer-size))) |  | ||||||
|   (set-visited-file-modtime) |   (set-visited-file-modtime) | ||||||
|   (set-buffer-modified-p nil) |   (set-buffer-modified-p nil) | ||||||
|   (vlfi-update-buffer-name)) |   (vlfi-update-buffer-name)) | ||||||
| @@ -169,8 +164,7 @@ When prefix argument is negative | |||||||
| 			      vlfi-start-pos | 			      vlfi-start-pos | ||||||
| 			    vlfi-end-pos)) | 			    vlfi-end-pos)) | ||||||
|     (goto-char (- (point-max) pos)) |     (goto-char (- (point-max) pos)) | ||||||
|     (setq vlfi-start-pos start |     (setq vlfi-start-pos start)) | ||||||
|           vlfi-buffer-size (buffer-size))) |  | ||||||
|   (set-visited-file-modtime) |   (set-visited-file-modtime) | ||||||
|   (set-buffer-modified-p nil) |   (set-buffer-modified-p nil) | ||||||
|   (vlfi-update-buffer-name)) |   (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 |     (insert-file-contents buffer-file-name nil | ||||||
| 			  vlfi-start-pos vlfi-end-pos) | 			  vlfi-start-pos vlfi-end-pos) | ||||||
|     (goto-char pos)) |     (goto-char pos)) | ||||||
|   (setq vlfi-buffer-size (buffer-size)) |  | ||||||
|   (set-visited-file-modtime) |   (set-visited-file-modtime) | ||||||
|   (set-buffer-modified-p nil) |   (set-buffer-modified-p nil) | ||||||
|   (vlfi-update-buffer-name)) |   (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 |     (insert-file-contents buffer-file-name nil | ||||||
| 			  vlfi-start-pos vlfi-end-pos) | 			  vlfi-start-pos vlfi-end-pos) | ||||||
|     (goto-char pos)) |     (goto-char pos)) | ||||||
|   (setq vlfi-buffer-size (buffer-size)) |  | ||||||
|   (set-visited-file-modtime) |   (set-visited-file-modtime) | ||||||
|   (set-buffer-modified-p nil) |   (set-buffer-modified-p nil) | ||||||
|   (vlfi-update-buffer-name)) |   (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) | 	     (or (verify-visited-file-modtime) | ||||||
| 		 (y-or-n-p "File has changed since visited or \ | 		 (y-or-n-p "File has changed since visited or \ | ||||||
| saved.  Save anyway? "))) | 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) |       (if (zerop size-change) | ||||||
| 	  (vlfi-write-1) | 	  (vlfi-write-1) | ||||||
| 	(setq vlfi-file-size (nth 7 | 	(setq vlfi-file-size (nth 7 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user