From 3231d532c7e6c3ed0a2e58574bec5518404a7f82 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Mon, 10 Sep 2012 01:15:24 +0300 Subject: [PATCH] * lisp/replace.el (replace-regexp-lax-whitespace): New defcustom. (replace-lax-whitespace, query-replace-regexp) (query-replace-regexp-eval, replace-regexp): Doc fix. (perform-replace, replace-highlight): Let-bind isearch-lax-whitespace to replace-lax-whitespace and isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. * lisp/isearch.el (isearch-query-replace): Let-bind replace-lax-whitespace to isearch-lax-whitespace and replace-regexp-lax-whitespace to isearch-regexp-lax-whitespace. Fixes: debbugs:10885 --- lisp/ChangeLog | 14 ++++++++++++++ lisp/isearch.el | 7 +++---- lisp/replace.el | 24 ++++++++++++++++-------- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f46fbdcc9ed..6ec52876d49 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,17 @@ +2012-09-09 Juri Linkov + + * replace.el (replace-regexp-lax-whitespace): New defcustom. + (replace-lax-whitespace, query-replace-regexp) + (query-replace-regexp-eval, replace-regexp): Doc fix. + (perform-replace, replace-highlight): Let-bind + isearch-lax-whitespace to replace-lax-whitespace and + isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace. + + * isearch.el (isearch-query-replace): Let-bind + replace-lax-whitespace to isearch-lax-whitespace and + replace-regexp-lax-whitespace to + isearch-regexp-lax-whitespace. (Bug#10885) + 2012-09-09 Stefan Monnier * eshell/em-unix.el (eshell/sudo): Explicitly drop return value. diff --git a/lisp/isearch.el b/lisp/isearch.el index 328e4eb447f..04f5a7acc2c 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1581,10 +1581,9 @@ way to run word replacements from Isearch is `M-s w ... M-%'." ;; `isearch-no-upper-case-p' in `perform-replace' (search-upper-case nil) (replace-lax-whitespace - (and search-whitespace-regexp - (if isearch-regexp - isearch-regexp-lax-whitespace - isearch-lax-whitespace))) + isearch-lax-whitespace) + (replace-regexp-lax-whitespace + isearch-regexp-lax-whitespace) ;; Set `isearch-recursive-edit' to nil to prevent calling ;; `exit-recursive-edit' in `isearch-done' that terminates ;; the execution of this command when it is non-nil. diff --git a/lisp/replace.el b/lisp/replace.el index b30b671122e..001f7d1a78d 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -35,7 +35,15 @@ (defcustom replace-lax-whitespace nil "Non-nil means `query-replace' matches a sequence of whitespace chars. -When you enter a space or spaces in the strings or regexps to be replaced, +When you enter a space or spaces in the strings to be replaced, +it will match any sequence matched by the regexp `search-whitespace-regexp'." + :type 'boolean + :group 'matching + :version "24.3") + +(defcustom replace-regexp-lax-whitespace nil + "Non-nil means `query-replace-regexp' matches a sequence of whitespace chars. +When you enter a space or spaces in the regexps to be replaced, it will match any sequence matched by the regexp `search-whitespace-regexp'." :type 'boolean :group 'matching @@ -282,7 +290,7 @@ pattern of the old text to the new text, if `case-replace' and all caps, or capitalized, then its replacement is upcased or capitalized.) -If `replace-lax-whitespace' is non-nil, a space or spaces in the regexp +If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp to be replaced will match a sequence of whitespace chars defined by the regexp in `search-whitespace-regexp'. @@ -362,7 +370,7 @@ minibuffer. Preserves case in each replacement if `case-replace' and `case-fold-search' are non-nil and REGEXP has no uppercase letters. -If `replace-lax-whitespace' is non-nil, a space or spaces in the regexp +If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp to be replaced will match a sequence of whitespace chars defined by the regexp in `search-whitespace-regexp'. @@ -499,7 +507,7 @@ and TO-STRING is also null.)" Preserve case in each match if `case-replace' and `case-fold-search' are non-nil and REGEXP has no uppercase letters. -If `replace-lax-whitespace' is non-nil, a space or spaces in the regexp +If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp to be replaced will match a sequence of whitespace chars defined by the regexp in `search-whitespace-regexp'. @@ -1803,9 +1811,9 @@ make, or the user didn't cancel the call." (let ((isearch-regexp regexp-flag) (isearch-word delimited-flag) (isearch-lax-whitespace - (and replace-lax-whitespace (not regexp-flag))) + replace-lax-whitespace) (isearch-regexp-lax-whitespace - (and replace-lax-whitespace regexp-flag)) + replace-regexp-lax-whitespace) (isearch-case-fold-search case-fold-search) (isearch-forward t)) (isearch-search-fun)))) @@ -2160,9 +2168,9 @@ make, or the user didn't cancel the call." (isearch-regexp regexp-flag) (isearch-word delimited-flag) (isearch-lax-whitespace - (and replace-lax-whitespace (not regexp-flag))) + replace-lax-whitespace) (isearch-regexp-lax-whitespace - (and replace-lax-whitespace regexp-flag)) + replace-regexp-lax-whitespace) (isearch-case-fold-search case-fold-search) (isearch-forward t) (isearch-error nil)) -- 2.39.2