emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master bf25456: Update a variable when splicing mode is toggled


From: Michael Heerdegen
Subject: [elpa] master bf25456: Update a variable when splicing mode is toggled
Date: Sat, 17 Feb 2018 13:11:16 -0500 (EST)

branch: master
commit bf25456189710d54dedc4c85ee79622bd6c3a0be
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    Update a variable when splicing mode is toggled
    
    * packages/el-search/el-search.el
    (el-search--search-and-replace-pattern): Recompute
    `replacement-contains-another-match' when user toggles splicing-mode.
---
 packages/el-search/el-search.el | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 483b899..2e698f3 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -3216,16 +3216,19 @@ Thanks!"))))
                                (lambda () (el-search--format-replacement
                                       new-expr original-text to-input-string 
splice)))
                               (to-insert (funcall get-replacement-string))
+                              (replacement-contains-another-match-p
+                               (lambda ()
+                                 (with-temp-buffer
+                                   (emacs-lisp-mode)
+                                   (insert to-insert)
+                                   (goto-char 1)
+                                   (el-search--skip-expression new-expr)
+                                   (condition-case nil
+                                       (progn (el-search--ensure-sexp-start)
+                                              (el-search--search-pattern-1 
matcher 'noerror))
+                                     (end-of-buffer nil)))))
                               (replacement-contains-another-match
-                               (with-temp-buffer
-                                 (emacs-lisp-mode)
-                                 (insert to-insert)
-                                 (goto-char 1)
-                                 (el-search--skip-expression new-expr)
-                                 (condition-case nil
-                                     (progn (el-search--ensure-sexp-start)
-                                            (el-search--search-pattern-1 
matcher 'noerror))
-                                   (end-of-buffer nil))))
+                               (funcall replacement-contains-another-match-p))
                               (do-replace
                                (lambda ()
                                  (save-excursion
@@ -3296,9 +3299,12 @@ Toggle splicing mode (\\[describe-function] 
el-search-query-replace for details)
                                              t)
                                          (?d (call-interactively 
#'el-search-skip-directory)
                                              t)
-                                         (?s (cl-callf not splice)
-                                             (setq to-insert (funcall 
get-replacement-string))
-                                             nil)
+                                         (?s
+                                          (setq splice    (not splice)
+                                                to-insert (funcall 
get-replacement-string)
+                                                
replacement-contains-another-match
+                                                (funcall 
replacement-contains-another-match-p))
+                                          nil)
                                          (?o
                                           ;; FIXME: Should we allow to edit 
the replacement?
                                           (let* ((buffer (get-buffer-create



reply via email to

[Prev in Thread] Current Thread [Next in Thread]