]> code.delx.au - gnu-emacs/commitdiff
* lisp/replace.el (query-replace-read-from): Use minibuffer-with-setup-hook
authorJuri Linkov <juri@linkov.net>
Wed, 4 May 2016 20:05:33 +0000 (23:05 +0300)
committerJuri Linkov <juri@linkov.net>
Wed, 4 May 2016 20:05:33 +0000 (23:05 +0300)
to set minibuffer-local value of text-property-default-nonsticky.
(Bug#23418, bug#23127)

lisp/replace.el

index 801c6058f74aa7fd1600731998a6166968f6d8d3..26e5875dc08860d665ef8b23b62b916efc952227 100644 (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)