diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a5ba23..6ee0c1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ## Fixed +- Resolved reflection in `lambdaisland.clj-diff.optimizations` + ## Changed # 1.4.78 (2022-11-25 / 2c3cae0) @@ -39,4 +41,4 @@ # 1.1.55 (2020-08-19 / 77da754) -First release of the lambdaisland/clj-diff fork of clj-diff. \ No newline at end of file +First release of the lambdaisland/clj-diff fork of clj-diff. diff --git a/bin/kaocha b/bin/kaocha index 4a31cbf..5abf841 100755 --- a/bin/kaocha +++ b/bin/kaocha @@ -1,2 +1,2 @@ #!/usr/bin/env bash -clojure -A:dev:test -m kaocha.runner "$@" +clojure -M:dev:test -m kaocha.runner "$@" diff --git a/src/clj/lambdaisland/clj_diff/optimizations.clj b/src/clj/lambdaisland/clj_diff/optimizations.clj index c8ba1ea..abe1fbe 100644 --- a/src/clj/lambdaisland/clj_diff/optimizations.clj +++ b/src/clj/lambdaisland/clj_diff/optimizations.clj @@ -3,6 +3,8 @@ See http://neil.fraser.name/writing/diff/." (:import lambdaisland.clj_diff.FastStringOps)) +(set! *warn-on-reflection* true) + (defn common-prefix [^String a ^String b] (let [i (FastStringOps/commonPrefix a b)] [i (.substring a i) (.substring b i)])) @@ -17,7 +19,7 @@ "Return a diff if the shorter sequence exists in the longer one. No need to use the expensive diff algorithm for this." [^String a ^String b ^Integer ca ^Integer cb] - (let [[short long] (if (> ca cb) [b a] [a b]) + (let [[^String short ^String long] (if (> ca cb) [b a] [a b]) i (int (.indexOf long short))] (if (= i -1) nil