Replace uses of replace-buffer-contents
* lisp/vc/vc.el (vc-diff-restore-buffer): * lisp/progmodes/python.el (python--do-isort): * lisp/progmodes/eglot.el (eglot--apply-text-edits): * lisp/files.el (revert-buffer-insert-file-contents-delicately): * lisp/json.el (json-pretty-print): Use `replace-region-contents`.
This commit is contained in:
parent
57da44fa70
commit
468c2aebae
5 changed files with 31 additions and 29 deletions
|
|
@ -7264,9 +7264,9 @@ an auto-save file."
|
||||||
The command tries to preserve markers, properties and overlays.
|
The command tries to preserve markers, properties and overlays.
|
||||||
If the operation takes more than this time, a single
|
If the operation takes more than this time, a single
|
||||||
delete+insert is performed. Actually, this value is passed as
|
delete+insert is performed. Actually, this value is passed as
|
||||||
the MAX-SECS argument to the function `replace-buffer-contents',
|
the MAX-SECS argument to the function `replace-region-contents',
|
||||||
so it is not ensured that the whole execution won't take longer.
|
so it is not ensured that the whole execution won't take longer.
|
||||||
See `replace-buffer-contents' for more details.")
|
See `replace-region-contents' for more details.")
|
||||||
|
|
||||||
(defun revert-buffer-insert-file-contents-delicately (file-name _auto-save-p)
|
(defun revert-buffer-insert-file-contents-delicately (file-name _auto-save-p)
|
||||||
"Optional function for `revert-buffer-insert-file-contents-function'.
|
"Optional function for `revert-buffer-insert-file-contents-function'.
|
||||||
|
|
@ -7275,11 +7275,11 @@ The function `revert-buffer-with-fine-grain' uses this function by binding
|
||||||
|
|
||||||
As with `revert-buffer-insert-file-contents--default-function', FILE-NAME is
|
As with `revert-buffer-insert-file-contents--default-function', FILE-NAME is
|
||||||
the name of the file and AUTO-SAVE-P is non-nil if this is an auto-save file.
|
the name of the file and AUTO-SAVE-P is non-nil if this is an auto-save file.
|
||||||
Since calling `replace-buffer-contents' can take a long time, depending of
|
Since calling `replace-region-contents' can take a long time, depending of
|
||||||
the number of changes made to the buffer, it uses the value of the variable
|
the number of changes made to the buffer, it uses the value of the variable
|
||||||
`revert-buffer-with-fine-grain-max-seconds' as a maximum time to try delicately
|
`revert-buffer-with-fine-grain-max-seconds' as a maximum time to try delicately
|
||||||
reverting the buffer. If it fails, it does a delete+insert. For more details,
|
reverting the buffer. If it fails, it does a delete+insert. For more details,
|
||||||
see `replace-buffer-contents'."
|
see `replace-region-contents'."
|
||||||
(cond
|
(cond
|
||||||
((not (file-exists-p file-name))
|
((not (file-exists-p file-name))
|
||||||
(error (if buffer-file-number
|
(error (if buffer-file-number
|
||||||
|
|
@ -7302,7 +7302,8 @@ see `replace-buffer-contents'."
|
||||||
(let ((temp-buf (current-buffer)))
|
(let ((temp-buf (current-buffer)))
|
||||||
(set-buffer buf)
|
(set-buffer buf)
|
||||||
(let ((buffer-file-name nil))
|
(let ((buffer-file-name nil))
|
||||||
(replace-buffer-contents
|
(replace-region-contents
|
||||||
|
(point-min) (point-max)
|
||||||
temp-buf
|
temp-buf
|
||||||
revert-buffer-with-fine-grain-max-seconds))))))))
|
revert-buffer-with-fine-grain-max-seconds))))))))
|
||||||
;; See comments in revert-buffer-with-fine-grain for an explanation.
|
;; See comments in revert-buffer-with-fine-grain for an explanation.
|
||||||
|
|
|
||||||
10
lisp/json.el
10
lisp/json.el
|
|
@ -803,7 +803,7 @@ With prefix argument MINIMIZE, minimize it instead."
|
||||||
(orig-buf (current-buffer)))
|
(orig-buf (current-buffer)))
|
||||||
;; Strategy: Repeatedly `json-read' from the original buffer and
|
;; Strategy: Repeatedly `json-read' from the original buffer and
|
||||||
;; write the pretty-printed snippet to a temporary buffer.
|
;; write the pretty-printed snippet to a temporary buffer.
|
||||||
;; Use `replace-buffer-contents' to swap the original
|
;; Use `replace-region-contents' to swap the original
|
||||||
;; region with the contents of the temporary buffer so that point,
|
;; region with the contents of the temporary buffer so that point,
|
||||||
;; marks, etc. are kept.
|
;; marks, etc. are kept.
|
||||||
;; Stop as soon as we get an error from `json-read'.
|
;; Stop as soon as we get an error from `json-read'.
|
||||||
|
|
@ -825,16 +825,14 @@ With prefix argument MINIMIZE, minimize it instead."
|
||||||
(standard-output tmp-buf))
|
(standard-output tmp-buf))
|
||||||
(with-current-buffer tmp-buf
|
(with-current-buffer tmp-buf
|
||||||
(erase-buffer) (json--print json))
|
(erase-buffer) (json--print json))
|
||||||
(save-restriction
|
(replace-region-contents
|
||||||
(narrow-to-region beg (point))
|
beg (point) tmp-buf
|
||||||
(replace-buffer-contents
|
|
||||||
tmp-buf
|
|
||||||
json-pretty-print-max-secs
|
json-pretty-print-max-secs
|
||||||
;; FIXME: What's a good value here? Can we use
|
;; FIXME: What's a good value here? Can we use
|
||||||
;; something better, e.g., by deriving a value
|
;; something better, e.g., by deriving a value
|
||||||
;; from the size of the region?
|
;; from the size of the region?
|
||||||
64)
|
64)
|
||||||
'keep-going))
|
'keep-going)
|
||||||
;; EOF is expected because we json-read until we hit
|
;; EOF is expected because we json-read until we hit
|
||||||
;; the end of the narrow region.
|
;; the end of the narrow region.
|
||||||
(json-end-of-file nil))))))))))
|
(json-end-of-file nil))))))))))
|
||||||
|
|
|
||||||
|
|
@ -3839,6 +3839,8 @@ If SILENT, don't echo progress in mode-line."
|
||||||
0 howmany)))
|
0 howmany)))
|
||||||
(done 0))
|
(done 0))
|
||||||
(mapc (pcase-lambda (`(,newText ,beg . ,end))
|
(mapc (pcase-lambda (`(,newText ,beg . ,end))
|
||||||
|
(if (> emacs-major-version 30)
|
||||||
|
(replace-region-contents beg end newText)
|
||||||
(let ((source (current-buffer)))
|
(let ((source (current-buffer)))
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(insert newText)
|
(insert newText)
|
||||||
|
|
@ -3847,9 +3849,10 @@ If SILENT, don't echo progress in mode-line."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(save-restriction
|
(save-restriction
|
||||||
(narrow-to-region beg end)
|
(narrow-to-region beg end)
|
||||||
(replace-buffer-contents temp)))
|
(with-no-warnings
|
||||||
|
(replace-buffer-contents temp)))))))))
|
||||||
(when reporter
|
(when reporter
|
||||||
(eglot--reporter-update reporter (cl-incf done))))))))
|
(eglot--reporter-update reporter (cl-incf done))))
|
||||||
(mapcar (lambda (edit)
|
(mapcar (lambda (edit)
|
||||||
(eglot--dcase edit
|
(eglot--dcase edit
|
||||||
(((TextEdit) range newText)
|
(((TextEdit) range newText)
|
||||||
|
|
|
||||||
|
|
@ -6931,7 +6931,7 @@ Return non-nil if the buffer was actually modified."
|
||||||
(unless (eq 0 status)
|
(unless (eq 0 status)
|
||||||
(error "%s exited with status %s (maybe isort is missing?)"
|
(error "%s exited with status %s (maybe isort is missing?)"
|
||||||
python-interpreter status))
|
python-interpreter status))
|
||||||
(replace-buffer-contents temp)
|
(replace-region-contents (point-min) (point-max) temp)
|
||||||
(not (eq tick (buffer-chars-modified-tick)))))))))
|
(not (eq tick (buffer-chars-modified-tick)))))))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
|
||||||
|
|
@ -1970,7 +1970,7 @@ of NEW (without destroying existing markers), swapping their text
|
||||||
objects, and finally killing buffer ORIGINAL."
|
objects, and finally killing buffer ORIGINAL."
|
||||||
(with-current-buffer original
|
(with-current-buffer original
|
||||||
(let ((inhibit-read-only t))
|
(let ((inhibit-read-only t))
|
||||||
(replace-buffer-contents new)))
|
(replace-region-contents (point-min) (point-max) new)))
|
||||||
(with-current-buffer new
|
(with-current-buffer new
|
||||||
(buffer-swap-text original))
|
(buffer-swap-text original))
|
||||||
(kill-buffer original))
|
(kill-buffer original))
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue