diff options
author | Stuart Halloway <stu@thinkrelevance.com> | 2010-06-02 17:02:38 -0400 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2010-06-03 21:21:00 -0400 |
commit | fc8af8cb67b2240dd3fd0f391fcd1f718f3d90e3 (patch) | |
tree | e2c420e4009c0e789648eb45f2a07139850f8258 | |
parent | 8c8fc400dac9ecdd01c47a3f462ece1e3822cdd5 (diff) |
minor fixes to #359:
- add clojure.string to build,
- make replace,replace-first use CharSequence in same way
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r-- | build.xml | 1 | ||||
-rw-r--r-- | src/clj/clojure/string.clj | 5 | ||||
-rw-r--r-- | test/clojure/test_clojure/string.clj | 1 |
3 files changed, 5 insertions, 2 deletions
@@ -111,6 +111,7 @@ <arg value="clojure.java.javadoc"/> <arg value="clojure.java.shell"/> <arg value="clojure.java.browse-ui"/> + <arg value="clojure.string"/> </java> </target> diff --git a/src/clj/clojure/string.clj b/src/clj/clojure/string.clj index 76ac2d6d..dc061631 100644 --- a/src/clj/clojure/string.clj +++ b/src/clj/clojure/string.clj @@ -64,8 +64,9 @@ clojure.string adheres to the following design principles: (cond (instance? Character match) (.replace s ^Character match ^Character replacement) (instance? CharSequence match) (.replace s ^CharSequence match ^CharSequence replacement) - (instance? Pattern match) (if (string? replacement) - (.replaceAll (re-matcher ^Pattern match s) ^CharSequence replacement) + (instance? Pattern match) (if (instance? CharSequence replacement) + (.replaceAll (re-matcher ^Pattern match s) + (.toString replacement)) (replace-by s match replacement)) :else (throw (IllegalArgumentException. (str "Invalid match arg: " match)))))) diff --git a/test/clojure/test_clojure/string.clj b/test/clojure/test_clojure/string.clj index bacaaa7f..ac5f5d1a 100644 --- a/test/clojure/test_clojure/string.clj +++ b/test/clojure/test_clojure/string.clj @@ -81,6 +81,7 @@ "paz" s/reverse ["zap"] "foo:bar" s/replace ["foo-bar" \- \:] "ABC" s/replace ["abc" #"\w" s/upper-case] + "faa" s/replace ["foo" #"o" (StringBuffer. "a")] "baz::quux" s/replace-first ["baz--quux" #"--" "::"] "baz::quux" s/replace-first ["baz--quux" (StringBuffer. "--") (StringBuffer. "::")] "zim-zam" s/replace-first ["zim zam" #" " (StringBuffer. "-")] |