mirror of
https://github.com/m00natic/vlfi.git
synced 2025-04-18 16:50:19 +01:00
Disable undo in cases of partial chunk move.
This commit is contained in:
parent
0080991fa9
commit
959bbc7661
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))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user