]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/el-search/el-search.el
Use `pp-to-string' to print replacement expression
[gnu-emacs-elpa] / packages / el-search / el-search.el
index 4afcd910782bfc8ca010c4e73c289b90cd1c4e60..eba4a5df12889aba5d7c5536e354cf41010b2a33 100644 (file)
@@ -292,11 +292,10 @@ error."
                             case-fold-search)))
     (string-match-p regexp string)))
 
-(defun el-search--print (expr)
-  (let ((print-quoted t)
-        (print-length nil)
+(defun el-search--pp-to-string (expr)
+  (let ((print-length nil)
         (print-level nil))
-    (prin1-to-string expr)))
+    (pp-to-string expr)))
 
 (defvar el-search-read-expression-map
   (let ((map (make-sparse-keymap)))
@@ -518,8 +517,8 @@ return nil (no error)."
           (with-temp-buffer
             (emacs-lisp-mode)
             (insert (if splice
-                        (mapconcat #'el-search--print replacement " ")
-                      (el-search--print replacement)))
+                        (mapconcat #'el-search--pp-to-string replacement " ")
+                      (el-search--pp-to-string replacement)))
             (goto-char 1)
             (let (start this-sexp end orig-match-start orig-match-end done)
               (while (and (< (point) (point-max))
@@ -756,7 +755,7 @@ matches any of these expressions:
                                  "argument not a string or vector")
   `(pred (el-search--match-key-sequence ,key-sequence)))
 
-(defun el-search--s (expr)
+(defun el-search--transform-nontrivial-lpat (expr)
   (cond
    ((symbolp expr) `(or (symbol ,(symbol-name expr))
                         (,'\` (,'quote    (,'\, (symbol ,(symbol-name expr)))))
@@ -807,7 +806,7 @@ could use this pattern:
                     ('_ '`(,_))
                     ('_? '(or '() `(,_))) ;FIXME: useful - document? or should we provide a (? PAT)
                                           ;thing?
-                    (_ `(,'\` ((,'\, ,(el-search--s elt)))))))
+                    (_ `(,'\` ((,'\, ,(el-search--transform-nontrivial-lpat elt)))))))
                 lpats)
              ,@(if match-end '() '(_)))))