Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into invalid-fn-name
Browse files Browse the repository at this point in the history
  • Loading branch information
tomdl89 committed Dec 15, 2023
2 parents 6dac281 + 233d1d2 commit 249bad7
Show file tree
Hide file tree
Showing 51 changed files with 354 additions and 78 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,8 @@ corpus/namespace_config/.clj-kondo/inline-configs
corpus/.clj-kondo/inline-configs
tmp
.eastwood

# Calva
.calva
corpus/issue-2223/.clj-kondo
corpus/issue-2239/.clj-kondo/.cache
2 changes: 1 addition & 1 deletion .pre-commit-hooks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
- id: clj-kondo-docker
name: clj-kondo (via docker)
description: '`clj-kondo` is a command-line utility for enforcing style consistency across Clojure projects.'
entry: cljkondo/clj-kondo:2023.10.20
entry: cljkondo/clj-kondo:2023.12.15
args: [clj-kondo, --lint]
language: docker_image
types: [clojure]
17 changes: 15 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,22 @@ For a list of breaking changes, check [here](#breaking-changes).
## Unreleased

- [#2159](https://github.com/clj-kondo/clj-kondo/issues/2159): New linter, `:invalid-fn-name`
- [#1753](https://github.com/clj-kondo/clj-kondo/issues/1753): new linter `:underscore-in-namespace`

## 2023.12.15

- [#1990](https://github.com/clj-kondo/clj-kondo/issues/1990): Specify `:min-clj-kondo-version` in config.edn and warn when current version is too low ([@snasphysicist](https://github.com/snasphysicist))
- [#1753](https://github.com/clj-kondo/clj-kondo/issues/1753): New linter `:underscore-in-namespace` ([@cosineblast](https://github.com/cosineblast))
- [#2207](https://github.com/clj-kondo/clj-kondo/issues/2207): New `:condition-always-true` linter, see [docs](doc/linters.md)
- [#2013](https://github.com/clj-kondo/clj-kondo/issues/2013): Fix NPE and similar errors when linting an import with an illegal token
- [#2235](https://github.com/clj-kondo/clj-kondo/issues/2235): New
`:multiple-async-in-deftest` linter: warn on multiple async blocks in
`cljs.test/deftest`, since only the first will run.
- [#2013](https://github.com/clj-kondo/clj-kondo/issues/2013): Fix NPE and similar errors when linting an import with an illegal token ([@cosineblast](https://github.com/cosineblast))
- [#2215](https://github.com/clj-kondo/clj-kondo/issues/2215): Passthrough hook should not affect linting
- [#2232](https://github.com/clj-kondo/clj-kondo/issues/2232): Bump analysis for clojure 1.12 (partitionv, etc)
- [#2223](https://github.com/clj-kondo/clj-kondo/issues/2223): Do not consider classes created with `deftype` a var that is referred with `:refer :all`
- [#2236](https://github.com/clj-kondo/clj-kondo/issues/2236): `:line-length` warnings cannot be `:clj-kondo/ignore`d
- [#2224](https://github.com/clj-kondo/clj-kondo/issues/2224): Give `#'foo/foo` and `(var foo/foo)` the same treatment with respect to private calls
- [#2239](https://github.com/clj-kondo/clj-kondo/issues/2239): Fix printing of unresolved var when going through `:macroexpand` hook

## 2023.10.20

Expand Down
1 change: 1 addition & 0 deletions corpus/issue-2215/.clj-kondo/config.edn
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{:hooks {:analyze-call {clojure.test/deftest hooks.clojure.test/deftest}}}
5 changes: 5 additions & 0 deletions corpus/issue-2215/.clj-kondo/hooks/clojure/test.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
(ns hooks.clojure.test)

(defn deftest [arg]
;; do nothing, just return arg
arg)
7 changes: 7 additions & 0 deletions corpus/issue-2215/fail.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
(ns fail
(:require [clojure.test :refer [deftest]]))

(deftest my-test
(let [x 1]
(let [y 2]
(assert (not= x y)))))
3 changes: 3 additions & 0 deletions corpus/issue-2223/a.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(ns a)

(deftype Foo [])
6 changes: 6 additions & 0 deletions corpus/issue-2223/b.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
(ns b (:require [a :refer :all])
(:import [a Foo]))

(defn dude [^Foo x]
(.-y x))

1 change: 1 addition & 0 deletions corpus/issue-2239/.clj-kondo/config.edn
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{:hooks {:macroexpand {a/my-macro hooks.a/my-macro}}}
4 changes: 4 additions & 0 deletions corpus/issue-2239/.clj-kondo/hooks/a.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
(ns hooks.a)

(defmacro my-macro [& body]
`(do ~@body))
9 changes: 9 additions & 0 deletions corpus/issue-2239/a.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
(ns a)

(defmacro unknown-macro [name value]
`(def ~name ~value))

(unknown-macro x 2)

(defmacro my-macro [& body]
`(do ~@body))
6 changes: 6 additions & 0 deletions corpus/issue-2239/b.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
(ns b
(:require
[a :refer [my-macro]]))

(defn looses-name []
(my-macro (println a/x)))
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
io.replikativ/datalog-parser {:mvn/version "0.2.25"}
cheshire/cheshire {:mvn/version "5.11.0"}
nrepl/bencode {:mvn/version "1.1.0"}
org.babashka/sci {:mvn/version "0.7.38"}
org.babashka/sci {:mvn/version "0.8.41"}
babashka/fs {:mvn/version "0.2.16"}
org.ow2.asm/asm {:mvn/version "9.4"}
com.github.javaparser/javaparser-core {:mvn/version "3.25.3"}}
Expand Down
2 changes: 1 addition & 1 deletion doc/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ Namespace groups can be used in the following configurations:
- In the `:discouraged-namespace` linter: `{foo-group {:message "..."}}`
- In `:config-in-ns`: `{foo-group {:linters {:unresolved-symbol {:level :off}}}}`
- In the `:unresolved-namespace` linter
- In `:hooks: `:analyze-call` and `:macroexpand`
- In `:hooks`: `:analyze-call` and `:macroexpand`

Namespace groups can be extended to more linters. Please make an issue to request this.

Expand Down
8 changes: 4 additions & 4 deletions doc/linters.md
Original file line number Diff line number Diff line change
Expand Up @@ -992,7 +992,7 @@ To exclude lines that matches a pattern via `re-find`, use: `:exclude-pattern ";

*Default level:* `:off`.

*Example trigger:* `(let [{:keys [:a]} {:a 1}] a)`.
*Example trigger:* `(let [{:keys [a]} {:a 1}] a)`.

*Example message:* `Keyword binding should be a symbol: :a`

Expand Down Expand Up @@ -1457,7 +1457,7 @@ You can add or override type annotations. See

*Default level:* `:warning`.

*Example trigger:* `(let [{:keys [:i] :or {i 2 j 3}} {}] i)`
*Example trigger:* `(let [{:keys [i] :or {i 2 j 3}} {}] i)`

*Example message:* `j is not bound in this destructuring form`.

Expand Down Expand Up @@ -1511,7 +1511,7 @@ To exclude warnings about key-destructured function arguments, use:
This will disable warnings for the following example:

``` clojure
(defn f [{:keys [:a :b :c]} d])
(defn f [{:keys [a b c]} d])
```

To disable warnings about `:as` bindings (which can be useful for
Expand Down Expand Up @@ -1740,7 +1740,7 @@ You can report duplicate warnings using:

#### :exclude-patterns

Since v2023.04.??+ (to be released) you can use `:exclude-patterns` to suppress symbols by regex patterns (as strings, processed via `re-find`):
Since v2023.04.14 you can use `:exclude-patterns` to suppress symbols by regex patterns (as strings, processed via `re-find`):

``` clojure
(ns scratch)
Expand Down
22 changes: 18 additions & 4 deletions doc/types.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ right {1 {:ret #{:vector :nil}}}
lefts {1 {:ret :seq}}
xml-zip {1 {:ret :vector}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.repl.deps.transit.json ===

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.core.server.transit.json ===
thread {:varargs {:min-arity 2, :args (:nilable/string nil nil nil)}}
ex->data {2 {:ret :associative}}
Expand Down Expand Up @@ -80,6 +82,8 @@ run-tests {0 {:ret :associative}, :varargs {:ret :associative, :min-arity 0}}
=== resources/clj_kondo/impl/cache/built_in/clj/clojure.datafy.transit.json ===
sortmap {1 {:ret :sorted-map}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.tools.deps.interop.transit.json ===

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.java.shell.transit.json ===
parse-args {1 {:ret :vector}}

Expand Down Expand Up @@ -223,6 +227,8 @@ read-instant-calendar {1 {:args (:nilable/char-sequence)}}
read-instant-date {1 {:args (:nilable/char-sequence)}}
parse-timestamp {2 {:args (nil :nilable/char-sequence)}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.java.basis.transit.json ===

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.tools.reader.transit.json ===
unquote-splicing? {1 {:ret #{:nil :boolean}}}
starting-line-col-info {1 {:ret #{:vector :nil}}}
Expand Down Expand Up @@ -270,12 +276,17 @@ write-string {3 {:args (:nilable/char-sequence nil nil)}}
write-float {3 {:args (#{:double :int :float :nil} nil nil)}}
read-decimal {2 {:args (:nilable/string nil)}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.java.process.transit.json ===
ok? {1 {:ret :boolean}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.xml.transit.json ===

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.core.reducers.transit.json ===
cat {1 {:ret :fn}}
monoid {2 {:ret :fn}}

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.java.basis.impl.transit.json ===

=== resources/clj_kondo/impl/cache/built_in/clj/clojure.reflect.transit.json ===
access-flag {1 {:ret {:type :map, :val {:name {:row 57, :end-row 57, :col 10, :end-col 14}, :flag {:row 57, :end-row 57, :col 21, :end-col 25}, :contexts {:row 57, :end-row 57, :col 36, :end-col 64}}}}}
declared-constructors {1 {:ret :set}}
Expand Down Expand Up @@ -304,6 +315,7 @@ take-nth {1 {:ret :fn}, 2 {:ret :seq}}
newline {0 {:ret :nil}}
dedupe {0 {:ret :fn}}
pr-on {2 {:ret :nil}}
splitv-at {2 {:ret :vector}}
mk-bound-fn {3 {:ret :fn}}
pr {0 {:ret :nil}, 1 {:ret :nil}}
= {1 {:ret :boolean}}
Expand All @@ -315,7 +327,7 @@ map {1 {:ret :fn}, 2 {:ret :seq}, 3 {:ret :seq}, 4 {:ret :seq}, :varargs {:ret :
juxt {1 {:ret :fn}, 2 {:ret :fn}, 3 {:ret :fn}, :varargs {:ret :fn, :min-arity 3}}
< {1 {:ret :boolean}}
NaN? {1 {:args (#{:double :int :float})}}
make-hierarchy {0 {:ret {:type :map, :val {:parents {:row 5557, :end-row 5557, :col 16, :end-col 18, :tag {:type :map, :val {}}}, :descendants {:row 5557, :end-row 5557, :col 32, :end-col 34, :tag {:type :map, :val {}}}, :ancestors {:row 5557, :end-row 5557, :col 46, :end-col 48, :tag {:type :map, :val {}}}}}}}
make-hierarchy {0 {:ret {:type :map, :val {:parents {:row 5571, :end-row 5571, :col 16, :end-col 18, :tag {:type :map, :val {}}}, :descendants {:row 5571, :end-row 5571, :col 32, :end-col 34, :tag {:type :map, :val {}}}, :ancestors {:row 5571, :end-row 5571, :col 46, :end-col 48, :tag {:type :map, :val {}}}}}}}
keep {1 {:ret :fn}, 2 {:ret :seq}}
unchecked-long {1 {:args (:nilable/number)}}
some? {1 {:ret :boolean}}
Expand All @@ -328,6 +340,7 @@ generate-class {1 {:ret :vector}}
map-indexed {1 {:ret :fn}}
comp {2 {:ret :fn}}
simple-symbol? {1 {:ret #{:nil :boolean}}}
partitionv {2 {:ret :seq}, 3 {:ret :seq}, 4 {:ret :seq}}
fnil {2 {:ret :fn}, 3 {:ret :fn}, 4 {:ret :fn}}
unchecked-float {1 {:args (:nilable/number)}}
pmap {2 {:ret :seq}, :varargs {:ret :seq, :min-arity 2}}
Expand All @@ -354,7 +367,7 @@ method-sig {1 {:ret :vector}}
hash-ordered-coll {1 {:ret :int}}
deref-as-map {1 {:ret {:type :map, :val {:status {:row 445, :end-row 455, :col 6, :end-col 14, :tag #{{:tag :keyword, :row 452, :col 7, :end-row 452, :end-col 15} {:tag :keyword, :row 455, :col 7, :end-row 455, :end-col 13} {:tag :keyword, :row 449, :col 7, :end-row 449, :end-col 14}}}, :val {:row 457, :end-row 457, :col 11, :end-col 14}}, :row 444, :col 5, :end-row 457, :end-col 15}}}
seque {1 {:ret :seq}, 2 {:ret :seq}}
empty? {1 {:ret :boolean}}
empty? {1 {:ret #{:boolean}}}
short {1 {:args (:nilable/number)}}
pref {0 {:ret :nil}}
add-tap {1 {:ret :nil}}
Expand Down Expand Up @@ -384,7 +397,7 @@ memoize {1 {:ret :fn}}
simple-keyword? {1 {:ret #{:nil :boolean}}}
nnext {1 {:ret :seq}}
neg-int? {1 {:ret #{:nil :boolean}}}
drop {1 {:ret :fn}, 2 {:ret :seq}}
drop {1 {:ret :fn}}
split-at {2 {:ret :vector}}
random-sample {1 {:ret :transducer}, 2 {:ret :seq}}
update {3 {:ret :associative}, 4 {:ret :associative}, 5 {:ret :associative}, 6 {:ret :associative}, :varargs {:ret :associative, :min-arity 6}}
Expand Down Expand Up @@ -414,6 +427,7 @@ infinite? {1 {:args (#{:double :int :float})}}
partition-all {1 {:ret :fn, :args (:int)}, 2 {:ret :seq}, 3 {:ret :seq}}
partition-by {1 {:ret :fn}, 2 {:ret :seq}}
derive {2 {:ret :nil}}
partitionv-all {1 {:ret :transducer}, 2 {:ret :seq}, 3 {:ret :seq}}
special-symbol? {1 {:ret :boolean}}
prep-hashes {4 {:ret #{:vector}}}
subseq {5 {:ret #{:nil :seq}}}
Expand Down Expand Up @@ -443,7 +457,7 @@ underive {2 {:ret :nil}}
Throwable->map {1 {:ret :nilable/map}}
some-fn {1 {:ret :fn}, 2 {:ret :fn}, 3 {:ret :fn}, :varargs {:ret :fn, :min-arity 3}}
simple-ident? {1 {:ret #{:nil :boolean}}}
parse-uuid {1 {:args (:string)}}
parse-uuid {1 {:args (:nilable/string)}}
generate-interface {1 {:ret :vector}}
xml-seq {1 {:ret :seq}}
byte {1 {:args (:nilable/number)}}
Expand Down
3 changes: 2 additions & 1 deletion extract/clj_kondo/impl/extract_var_info.clj
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@
(edn/read-string (slurp (io/resource "var-info.edn"))))

(defn public? [[k v]]
(when (-> v :private not)
(when (not (or (:private v)
(:class v)))
k))

(defn extract-clojure-core-vars
Expand Down
4 changes: 2 additions & 2 deletions project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
;; To change dependencies, update deps.edn and run script/update-project.clj.
;; To change other things, edit project.template.clj and run script/update-project.clj.

(defproject clj-kondo "2023.10.21-SNAPSHOT"
(defproject clj-kondo "2023.12.16-SNAPSHOT"
:description "A linter for Clojure that sparks joy."
:url "https://github.com/clj-kondo/clj-kondo"
:scm {:name "git"
Expand All @@ -15,7 +15,7 @@
[io.replikativ/datalog-parser "0.2.25"]
[cheshire/cheshire "5.11.0"]
[nrepl/bencode "1.1.0"]
[org.babashka/sci "0.7.38"]
[org.babashka/sci "0.8.41"]
[babashka/fs "0.2.16"]
[org.ow2.asm/asm "9.4"]
[com.github.javaparser/javaparser-core "3.25.3"]]
Expand Down
2 changes: 1 addition & 1 deletion resources/CLJ_KONDO_RELEASED_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2023.10.20
2023.12.15
2 changes: 1 addition & 1 deletion resources/CLJ_KONDO_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2023.10.21-SNAPSHOT
2023.12.16-SNAPSHOT
Original file line number Diff line number Diff line change
@@ -1 +1 @@
["^ ","~$accept-connection",["^ ","~:row",57,"~:col",1,"~:private",true,"~:fixed-arities",["~#set",[8]],"~:name","^0","~:ns","~$clojure.core.server","~:top-ns","^8","~:type","~:fn"],"~$validate-opts",["^ ","^1",50,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^<","^7","^8","^9","^8","^:","^;"],"~$lock",["^ ","^1",26,"^2",1,"^3",true,"^6","^=","^7","^8","^9","^8"],"~$required",["^ ","^1",44,"^2",1,"^3",true,"^4",["^5",[2]],"^6","^>","^7","^8","^9","^8","^:","^;"],"~$with-lock",["^ ","^1",29,"^2",1,"~:macro",true,"^3",true,"~:varargs-min-arity",1,"^6","^?","^7","^8","^9","^8"],"~$stop-server",["^ ","^1",125,"^2",1,"^4",["^5",[0,1]],"^6","^B","^7","^8","^9","^8","^:","^;"],"~$repl-init",["^ ","^1",163,"^2",1,"^4",["^5",[0]],"^6","^C","^7","^8","^9","^8","^:","^;"],"~$start-server",["^ ","^1",84,"^2",1,"^4",["^5",[1]],"^6","^D","^7","^8","^9","^8","^:","^;"],"~$start-servers",["^ ","^1",157,"^2",1,"^4",["^5",[1]],"^6","^E","^7","^8","^9","^8","^:","^;"],"~$stop-servers",["^ ","^1",139,"^2",1,"^4",["^5",[0]],"^6","^F","^7","^8","^9","^8","^:","^;"],"~$repl-read",["^ ","^1",169,"^2",1,"^4",["^5",[2]],"^6","^G","^7","^8","^9","^8","^:","^;"],"~:filename","clojure/core/server.clj","~$resolve-fn",["^ ","^1",263,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^I","^7","^8","^9","^8","^:","^;"],"~$*session*",["^ ","^1",23,"^2",1,"^6","^J","^7","^8","^9","^8"],"~$io-prepl",["^ ","^1",272,"^2",1,"^A",0,"^6","^K","^7","^8","^9","^8","^:","^;"],"~$prepl",["^ ","^1",191,"^2",1,"^A",2,"^6","^L","^7","^8","^9","^8","^:","^;"],"~$thread",["^ ","^1",38,"^2",1,"^@",true,"^3",true,"^A",2,"^6","^M","^7","^8","^9","^8","~:arities",["^ ","~:varargs",["^ ","~:min-arity",2,"~:args",["~#list",["~:nilable/string",null,null,null]]]]],"~$servers",["^ ","^1",27,"^2",1,"^3",true,"^6","^T","^7","^8","^9","^8"],"~$ex->data",["^ ","^1",187,"^2",1,"^3",true,"^4",["^5",[2]],"^6","^U","^7","^8","^9","^8","^N",["^ ","~i2",["^ ","~:ret","~:associative"]],"^:","^;"],"~$repl",["^ ","^1",180,"^2",1,"^4",["^5",[0]],"^6","^X","^7","^8","^9","^8","^:","^;"],"~$remote-prepl",["^ ","^1",295,"^2",1,"^A",4,"^6","^Y","^7","^8","^9","^8","^N",["^ ","^O",["^ ","^P",4,"^Q",["^R",["^S",null,null,null,null,null]]]],"^:","^;"],"~$parse-props",["^ ","^1",146,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^Z","^7","^8","^9","^8","^:","^;"]]
["^ ","~$accept-connection",["^ ","~:row",58,"~:col",1,"~:private",true,"~:fixed-arities",["~#set",[8]],"~:name","^0","~:ns","~$clojure.core.server","~:top-ns","^8","~:type","~:fn"],"~$validate-opts",["^ ","^1",51,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^<","^7","^8","^9","^8","^:","^;"],"~$lock",["^ ","^1",27,"^2",1,"^3",true,"^6","^=","^7","^8","^9","^8"],"~$required",["^ ","^1",45,"^2",1,"^3",true,"^4",["^5",[2]],"^6","^>","^7","^8","^9","^8","^:","^;"],"~$with-lock",["^ ","^1",30,"^2",1,"~:macro",true,"^3",true,"~:varargs-min-arity",1,"^6","^?","^7","^8","^9","^8"],"~$stop-server",["^ ","^1",126,"^2",1,"^4",["^5",[0,1]],"^6","^B","^7","^8","^9","^8","^:","^;"],"~$repl-init",["^ ","^1",166,"^2",1,"^4",["^5",[0]],"^6","^C","^7","^8","^9","^8","^:","^;"],"~$start-server",["^ ","^1",85,"^2",1,"^4",["^5",[1]],"^6","^D","^7","^8","^9","^8","^:","^;"],"~$start-servers",["^ ","^1",160,"^2",1,"^4",["^5",[1]],"^6","^E","^7","^8","^9","^8","^:","^;"],"~$stop-servers",["^ ","^1",140,"^2",1,"^4",["^5",[0]],"^6","^F","^7","^8","^9","^8","^:","^;"],"~$repl-read",["^ ","^1",172,"^2",1,"^4",["^5",[2]],"^6","^G","^7","^8","^9","^8","^:","^;"],"~:filename","clojure/core/server.clj","~$resolve-fn",["^ ","^1",266,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^I","^7","^8","^9","^8","^:","^;"],"~$*session*",["^ ","^1",24,"^2",1,"^6","^J","^7","^8","^9","^8"],"~$io-prepl",["^ ","^1",275,"^2",1,"^A",0,"^6","^K","^7","^8","^9","^8","^:","^;"],"~$prepl",["^ ","^1",194,"^2",1,"^A",2,"^6","^L","^7","^8","^9","^8","^:","^;"],"~$thread",["^ ","^1",39,"^2",1,"^@",true,"^3",true,"^A",2,"^6","^M","^7","^8","^9","^8","~:arities",["^ ","~:varargs",["^ ","~:min-arity",2,"~:args",["~#list",["~:nilable/string",null,null,null]]]]],"~$servers",["^ ","^1",28,"^2",1,"^3",true,"^6","^T","^7","^8","^9","^8"],"~$ex->data",["^ ","^1",190,"^2",1,"^3",true,"^4",["^5",[2]],"^6","^U","^7","^8","^9","^8","^N",["^ ","~i2",["^ ","~:ret","~:associative"]],"^:","^;"],"~$repl",["^ ","^1",183,"^2",1,"^4",["^5",[0]],"^6","^X","^7","^8","^9","^8","^:","^;"],"~$remote-prepl",["^ ","^1",298,"^2",1,"^A",4,"^6","^Y","^7","^8","^9","^8","^N",["^ ","^O",["^ ","^P",4,"^Q",["^R",["^S",null,null,null,null,null]]]],"^:","^;"],"~$parse-props",["^ ","^1",147,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^Z","^7","^8","^9","^8","^:","^;"]]

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["^ ","~$read-edn",["^ ","~:row",18,"~:col",1,"~:private",true,"~:fixed-arities",["~#set",[1]],"~:name","^0","~:ns","~$clojure.java.basis.impl","~:top-ns","^8","~:type","~:fn"],"~$read-basis",["^ ","^1",33,"^2",1,"^3",true,"^4",["^5",[1]],"^6","^<","^7","^8","^9","^8","^:","^;"],"~$init-basis",["^ ","^1",41,"^2",1,"^6","^=","^7","^8","^9","^8"],"~$the-basis",["^ ","^1",45,"^2",1,"^6","^>","^7","^8","^9","^8"],"~$update-basis!",["^ ","^1",48,"^2",1,"~:varargs-min-arity",1,"^6","^?","^7","^8","^9","^8","^:","^;"],"~:filename","clojure/java/basis/impl.clj"]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["^ ","~$initial-basis",["^ ","~:row",37,"~:col",1,"~:fixed-arities",["~#set",[0]],"~:name","^0","~:ns","~$clojure.java.basis","~:top-ns","^7","~:type","~:fn"],"~$current-basis",["^ ","^1",43,"^2",1,"^3",["^4",[0]],"^5","^;","^6","^7","^8","^7","^9","^:"],"~:filename","clojure/java/basis.clj"]
Loading

0 comments on commit 249bad7

Please sign in to comment.