1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00

* lisp/replace.el (query-replace-read-from): Use minibuffer-with-setup-hook

to set minibuffer-local value of text-property-default-nonsticky.
(Bug#23418, bug#23127)
This commit is contained in:
Juri Linkov 2016-05-04 23:05:33 +03:00
parent 0932b94897
commit 3fe3510728

View File

@ -191,18 +191,15 @@ wants to replace FROM with TO."
;; a region in order to specify the minibuffer input.
;; That should not clobber the region for the query-replace itself.
(save-excursion
;; The `with-current-buffer' ensures that the binding
;; for `text-property-default-nonsticky' isn't a buffer
;; local binding in the current buffer, which
;; `read-from-minibuffer' wouldn't see.
(with-current-buffer (window-buffer (minibuffer-window))
(let ((text-property-default-nonsticky
(cons '(separator . t) text-property-default-nonsticky)))
(if regexp-flag
(read-regexp prompt nil 'query-replace-from-to-history)
(read-from-minibuffer
prompt nil nil nil 'query-replace-from-to-history
(car (if regexp-flag regexp-search-ring search-ring)) t))))))
(minibuffer-with-setup-hook
(lambda ()
(setq-local text-property-default-nonsticky
(cons '(separator . t) text-property-default-nonsticky)))
(if regexp-flag
(read-regexp prompt nil 'query-replace-from-to-history)
(read-from-minibuffer
prompt nil nil nil 'query-replace-from-to-history
(car (if regexp-flag regexp-search-ring search-ring)) t)))))
(to))
(if (and (zerop (length from)) query-replace-defaults)
(cons (caar query-replace-defaults)