]> git.eshelyaron.com Git - emacs.git/commitdiff
(combine-and-quote-strings): Also quote strings that contain the separator.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Apr 2008 16:29:54 +0000 (16:29 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Apr 2008 16:29:54 +0000 (16:29 +0000)
lisp/ChangeLog
lisp/subr.el

index e7a74037af8c5b1c4c6f93a600c43cf18a77e9de..7518a3a71d373a068a6c2dbfe543210dedb5bb4d 100644 (file)
@@ -10,6 +10,9 @@
 
 2008-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * subr.el (combine-and-quote-strings): Also quote strings that contain
+       the separator.
+
        * pcvs-util.el (cvs-map): Avoid recursion :-(
 
 2008-04-07  Glenn Morris  <rgm@gnu.org>
index 94ee316f9f472117719b5f8b188f07e8e8bbff9e..eee59086419738f2d3288cf097318fda217eb700 100644 (file)
@@ -2987,10 +2987,11 @@ Modifies the match data; use `save-match-data' if necessary."
 This tries to quote the strings to avoid ambiguity such that
   (split-string-and-unquote (combine-and-quote-strings strs)) == strs
 Only some SEPARATORs will work properly."
-  (let ((sep (or separator " ")))
+  (let* ((sep (or separator " "))
+         (re (concat "[\\\"]" "\\|" (regexp-quote sep))))
     (mapconcat
      (lambda (str)
-       (if (string-match "[\\\"]" str)
+       (if (string-match re str)
           (concat "\"" (replace-regexp-in-string "[\\\"]" "\\\\\\&" str) "\"")
         str))
      strings sep)))