mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-24 06:20:43 -08:00
Prevent 'string-pixel-width' from deactivating the region
* lisp/emacs-lisp/subr-x.el (work-buffer--release) (string-pixel-width): Bind 'deactivate-mark' around buffer modifications, to avoid deactivating the region as side effect of calling this function. (Bug#74091)
This commit is contained in:
parent
1bf1753d79
commit
57fe24961f
1 changed files with 6 additions and 2 deletions
|
|
@ -357,7 +357,9 @@ automatically killed, which means that in a such case
|
||||||
;; Flush BUFFER before making it available again, i.e. clear
|
;; Flush BUFFER before making it available again, i.e. clear
|
||||||
;; its contents, remove all overlays and buffer-local
|
;; its contents, remove all overlays and buffer-local
|
||||||
;; variables. Is it enough to safely reuse the buffer?
|
;; variables. Is it enough to safely reuse the buffer?
|
||||||
(let ((inhibit-read-only t))
|
(let ((inhibit-read-only t)
|
||||||
|
;; Avoid deactivating the region as side effect.
|
||||||
|
deactivate-mark)
|
||||||
(erase-buffer))
|
(erase-buffer))
|
||||||
(delete-all-overlays)
|
(delete-all-overlays)
|
||||||
(let (change-major-mode-hook)
|
(let (change-major-mode-hook)
|
||||||
|
|
@ -409,7 +411,9 @@ substring that does not include newlines."
|
||||||
(with-current-buffer buffer
|
(with-current-buffer buffer
|
||||||
face-remapping-alist))
|
face-remapping-alist))
|
||||||
(kill-local-variable 'face-remapping-alist))
|
(kill-local-variable 'face-remapping-alist))
|
||||||
(insert string)
|
;; Avoid deactivating the region as side effect.
|
||||||
|
(let (deactivate-mark)
|
||||||
|
(insert string))
|
||||||
;; Prefer `remove-text-properties' to `propertize' to avoid
|
;; Prefer `remove-text-properties' to `propertize' to avoid
|
||||||
;; creating a new string on each call.
|
;; creating a new string on each call.
|
||||||
(remove-text-properties
|
(remove-text-properties
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue