mirror of
				https://github.com/m00natic/vlfi.git
				synced 2025-10-30 22:53:37 +00:00 
			
		
		
		
	Disable undo in cases of partial chunk move.
This commit is contained in:
		
							
								
								
									
										51
									
								
								vlf.el
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								vlf.el
									
									
									
									
									
								
							| @@ -113,10 +113,7 @@ | |||||||
|       (remove-hook 'write-file-functions 'vlf-write t) |       (remove-hook 'write-file-functions 'vlf-write t) | ||||||
|       (let ((pos (+ vlf-start-pos (position-bytes (point))))) |       (let ((pos (+ vlf-start-pos (position-bytes (point))))) | ||||||
|         (vlf-with-undo-disabled |         (vlf-with-undo-disabled | ||||||
|          (erase-buffer) |          (insert-file-contents buffer-file-name t nil nil t)) | ||||||
|          (insert-file-contents buffer-file-name)) |  | ||||||
|         (set-visited-file-modtime) |  | ||||||
|         (set-buffer-modified-p nil) |  | ||||||
|         (goto-char (byte-to-position pos))) |         (goto-char (byte-to-position pos))) | ||||||
|       (rename-buffer (file-name-nondirectory buffer-file-name) t)))) |       (rename-buffer (file-name-nondirectory buffer-file-name) t)))) | ||||||
|  |  | ||||||
| @@ -375,34 +372,38 @@ Return t if move hasn't been canceled." | |||||||
|             (shift-end 0) |             (shift-end 0) | ||||||
|             (inhibit-read-only t)) |             (inhibit-read-only t)) | ||||||
|         (cond ((< end edit-end) |         (cond ((< end edit-end) | ||||||
|                (delete-region (byte-to-position (1+ |                (vlf-with-undo-disabled | ||||||
|                                                  (- end |                 (delete-region (byte-to-position (1+ | ||||||
|                                                     vlf-start-pos))) |                                                   (- end | ||||||
|                               (point-max))) |                                                      vlf-start-pos))) | ||||||
|  |                                (point-max)))) | ||||||
|               ((< edit-end end) |               ((< edit-end end) | ||||||
|                (let ((edit-end-pos (point-max))) |                (let ((edit-end-pos (point-max))) | ||||||
|                  (goto-char edit-end-pos) |                  (goto-char edit-end-pos) | ||||||
|                  (insert-file-contents buffer-file-name nil |                  (vlf-with-undo-disabled | ||||||
|                                        vlf-end-pos end) |                   (insert-file-contents buffer-file-name nil | ||||||
|                  (setq shift-end (cdr (vlf-adjust-chunk |                                         vlf-end-pos end) | ||||||
|                                        vlf-end-pos end nil t |                   (setq shift-end (cdr (vlf-adjust-chunk | ||||||
|                                        edit-end-pos)))))) |                                         vlf-end-pos end nil t | ||||||
|  |                                         edit-end-pos))))))) | ||||||
|         (cond ((< vlf-start-pos start) |         (cond ((< vlf-start-pos start) | ||||||
|                (delete-region (point-min) (byte-to-position |                (vlf-with-undo-disabled | ||||||
|                                            (- start vlf-start-pos)))) |                 (delete-region (point-min) (byte-to-position | ||||||
|  |                                             (- start vlf-start-pos))))) | ||||||
|               ((< start vlf-start-pos) |               ((< start vlf-start-pos) | ||||||
|                (let ((edit-end-pos (point-max))) |                (let ((edit-end-pos (point-max))) | ||||||
|                  (goto-char edit-end-pos) |                  (goto-char edit-end-pos) | ||||||
|                  (insert-file-contents buffer-file-name nil |                  (vlf-with-undo-disabled | ||||||
|                                        start vlf-start-pos) |                   (insert-file-contents buffer-file-name nil | ||||||
|                  (setq shift-start (car |                                         start vlf-start-pos) | ||||||
|                                     (vlf-adjust-chunk start |                   (setq shift-start (car | ||||||
|                                                       vlf-start-pos |                                      (vlf-adjust-chunk start | ||||||
|                                                       t nil |                                                        vlf-start-pos | ||||||
|                                                       edit-end-pos))) |                                                        t nil | ||||||
|                  (goto-char (point-min)) |                                                        edit-end-pos))) | ||||||
|                  (insert (delete-and-extract-region edit-end-pos |                   (goto-char (point-min)) | ||||||
|                                                     (point-max)))))) |                   (insert (delete-and-extract-region edit-end-pos | ||||||
|  |                                                      (point-max))))))) | ||||||
|         (setq vlf-start-pos (- start shift-start) |         (setq vlf-start-pos (- start shift-start) | ||||||
|               vlf-end-pos (+ end shift-end)) |               vlf-end-pos (+ end shift-end)) | ||||||
|         (goto-char (or (byte-to-position (- pos vlf-start-pos)) |         (goto-char (or (byte-to-position (- pos vlf-start-pos)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user