[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/el-search 7c099aa 225/332: Small improvements to el-sea
From: |
Stefan Monnier |
Subject: |
[elpa] externals/el-search 7c099aa 225/332: Small improvements to el-search--search-and-replace-pattern |
Date: |
Tue, 1 Dec 2020 15:48:50 -0500 (EST) |
branch: externals/el-search
commit 7c099aadd2ca0b7d9f4863c963c995f15ca9616d
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>
Small improvements to el-search--search-and-replace-pattern
* packages/el-search/el-search.el
(el-search--search-and-replace-pattern): In particular, unite the
"replace all in this buffer" and "replace all in this and all
following buffers" answer using a second prompt when
appropriate (i.e. when in a multi-buffer session).
---
el-search.el | 46 +++++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/el-search.el b/el-search.el
index 5b4cb5d..7592f68 100644
--- a/el-search.el
+++ b/el-search.el
@@ -3186,8 +3186,8 @@ Thanks!"))))
(kill-buffer orig-buffer)))))
(defun el-search--search-and-replace-pattern
- (pattern replacement &optional splice to-input-string multiple)
- (unless multiple
+ (pattern replacement &optional splice to-input-string use-current-search)
+ (unless use-current-search
(el-search-setup-search-1 pattern
(let ((current-buffer (current-buffer)))
(lambda () (stream (list current-buffer))))
@@ -3223,11 +3223,12 @@ Thanks!"))))
(unless replace-all
(el-search-hl-other-matches matcher)
(add-hook 'window-scroll-functions
#'el-search--after-scroll t t)
- (let ((head (el-search-object-head
el-search--current-search)))
- (el-search--message-no-log "%s..."
- (or (el-search-head-file
head)
- (el-search-head-buffer
head)))
- (sit-for 1.)))
+ (when use-current-search
+ (let ((head (el-search-object-head
el-search--current-search)))
+ (el-search--message-no-log "%s..."
+ (or (el-search-head-file
head)
+
(el-search-head-buffer head)))
+ (sit-for 1.))))
(while (el-search--search-pattern-1 matcher t nil
heuristic-matcher)
(setq opoint (point))
@@ -3293,8 +3294,6 @@ Thanks!"))))
(and (not replaced-this)
'(?r "r" "Replace this match
but don't move"))
'(?! "all" "Replace all remaining
matches in this buffer")
- (and multiple
- '(?A "All" "Replace all
remaining matches in all buffers"))
'(?b "skip buf"
"Skip this buffer and any
remaining matches in it")
(and buffer-file-name
@@ -3317,15 +3316,24 @@ Toggle splicing mode (\\[describe-function]
el-search-query-replace for details)
(?n
(unless replaced-this (cl-incf
nbr-skipped))
t)
- (?! (unless replaced-this
- (funcall do-replace))
- (setq replace-all t)
- t)
- (?A (unless replaced-this
- (funcall do-replace))
- (setq replace-all t)
- (setq replace-all-and-following t)
- t)
+ (?!
+ (when (and use-current-search
+ (not (alist-get
'is-single-buffer
+
(el-search-object-properties
+
el-search--current-search)))
+ (eq (car
(read-multiple-choice
+ "Replace in all
following buffers?"
+ '((?! "Only
this"
+ "\
+Replace only remaining matches in this buffer")
+ (?A "All
buffers"
+ "\
+Replace all matches in all buffers"))))
+ ?A))
+ (setq replace-all-and-following t))
+ (setq replace-all t)
+ (unless replaced-this (funcall
do-replace))
+ t)
(?b (goto-char (point-max))
(message "Skipping this buffer")
(sit-for 1)
@@ -3435,7 +3443,7 @@ Don't save this buffer and all following buffers; don't
ask again"))))
(?N (cdr (setq save-all-answered (cons t
nil)))))))
(_ t))
(save-buffer)))
- (unless multiple
+ (unless use-current-search
(message "Replaced %d matches%s"
nbr-replaced
(if (zerop nbr-skipped) ""
- [elpa] externals/el-search d1706eb 190/332: Display match count for *El Occur* buffers, (continued)
- [elpa] externals/el-search d1706eb 190/332: Display match count for *El Occur* buffers, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 97626ac 192/332: Use local binding of `post-command-hook' to reset wrap flag, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 16a5f70 193/332: * el-search/el-search.el: Shorten the query-replace prompt, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 224f384 196/332: ; * el-search/el-search.el: Mention Emacs Bug#29857 in the header, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 1175d21 200/332: Allow `string' and `symbol' el-search patterns to set match data, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search b88b65a 204/332: Declare any search started with `el-search-this-sexp' single-buffer, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 6b01504 210/332: Add command `el-search-ibuffer-marked-buffers', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search d869368 211/332: Implement `cl-print-object' for el-search-objects, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 6251577 213/332: * el-search/el-search.el: Add `el-search-edit-search-description', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 48103e3 221/332: * el-search/el-search.el: Fix handling of void replacements, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 7c099aa 225/332: Small improvements to el-search--search-and-replace-pattern,
Stefan Monnier <=
- [elpa] externals/el-search da7857b 227/332: * el-search/el-search.el: Add `el-search-looking-at', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 9f400b4 234/332: * el-search/el-search.el: Fix infloop in el-search--flatten-tree, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 3bb5b76 236/332: * el-search/el-search.el: Prefer adverb "backward" in names and text, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 41e0251 224/332: * el-search/el-search.el: Bump version to 1.6; some minor tweaks, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search c4eeae5 223/332: * el-search/el-search.el: Fix single buffer query-replace, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search bd67d58 239/332: [el-search] Raise user-error when replacement contains gensyms, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 96b7423 245/332: [el-search] Special case 'el-search-make-matcher' for '_', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search eef5de0 243/332: [el-search] Save two 'eval' calls, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 427afa8 253/332: [el-search] Bump version to 1.7.1, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 0907a21 248/332: [el-search] Bump version to 1.7, Stefan Monnier, 2020/12/01