aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/pcvs-util.el
diff options
context:
space:
mode:
authorNick Roberts <[email protected]>2007-07-08 06:49:02 +0000
committerNick Roberts <[email protected]>2007-07-08 06:49:02 +0000
commitd0b15d36793fd0ecb79f8dec78afb46b7e674af1 (patch)
treeba0505097bde3cc6c184c6c837bbff87aa08cb74 /lisp/pcvs-util.el
parenta80a334ec31740354c57622739c681431830ade4 (diff)
* pcvs-util.el (cvs-strings->string, cvs-string->strings):
Rename and move to... * subr.el (strings->string, string->strings): ...here.
Diffstat (limited to 'lisp/pcvs-util.el')
-rw-r--r--lisp/pcvs-util.el31
1 files changed, 1 insertions, 30 deletions
diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el
index 3945d7ba67..58c605a19d 100644
--- a/lisp/pcvs-util.el
+++ b/lisp/pcvs-util.el
@@ -186,35 +186,6 @@ arguments. If ARGS is not a list, no argument will be passed."
"Tell whether STR1 is a prefix of STR2."
(eq t (compare-strings str2 nil (length str1) str1 nil nil)))
-;; (string->strings (strings->string X)) == X
-(defun cvs-strings->string (strings &optional separator)
- "Concatenate the STRINGS, adding the SEPARATOR (default \" \").
-This tries to quote the strings to avoid ambiguity such that
- (cvs-string->strings (cvs-strings->string strs)) == strs
-Only some SEPARATORs will work properly."
- (let ((sep (or separator " ")))
- (mapconcat
- (lambda (str)
- (if (string-match "[\\\"]" str)
- (concat "\"" (replace-regexp-in-string "[\\\"]" "\\\\\\&" str) "\"")
- str))
- strings sep)))
-
-;; (string->strings (strings->string X)) == X
-(defun cvs-string->strings (string &optional separator)
- "Split the STRING into a list of strings.
-It understands elisp style quoting within STRING such that
- (cvs-string->strings (cvs-strings->string strs)) == strs
-The SEPARATOR regexp defaults to \"\\s-+\"."
- (let ((sep (or separator "\\s-+"))
- (i (string-match "[\"]" string)))
- (if (null i) (split-string string sep t) ; no quoting: easy
- (append (unless (eq i 0) (split-string (substring string 0 i) sep t))
- (let ((rfs (read-from-string string i)))
- (cons (car rfs)
- (cvs-string->strings (substring string (cdr rfs))
- sep)))))))
-
;;;;
;;;; file names
;;;;
@@ -240,7 +211,7 @@ The SEPARATOR regexp defaults to \"\\s-+\"."
(defconst cvs-qtypedesc-string1 (cvs-qtypedesc-create 'identity 'identity t))
(defconst cvs-qtypedesc-string (cvs-qtypedesc-create 'identity 'identity))
(defconst cvs-qtypedesc-strings
- (cvs-qtypedesc-create 'cvs-string->strings 'cvs-strings->string nil))
+ (cvs-qtypedesc-create 'string->strings 'strings->string nil))
(defun cvs-query-read (default prompt qtypedesc &optional hist-sym)
(let* ((qtypedesc (or qtypedesc cvs-qtypedesc-strings))