File tree Expand file tree Collapse file tree 4 files changed +28
-8
lines changed
Expand file tree Collapse file tree 4 files changed +28
-8
lines changed Original file line number Diff line number Diff line change 8383 name# (or ~nm (:name m#))
8484 tag# (:tag m#)
8585 private# (:private m#)
86+ file# (:file m#)
87+ line# (:line m#)
8688 new-m# (cond-> {:doc (:doc m#)
8789 :name name#
8890 :arglists (:arglists m#)
8991 :ns ns#}
9092 tag# (assoc :tag tag#)
91- private# (assoc :private private#))]
93+ private# (assoc :private private#)
94+ file# (assoc :file file#)
95+ line# (assoc :line line#))]
9296 (cond (:dynamic m#)
9397 (new-dynamic-var name# val# new-m#)
9498 (or (:macro m#) (:sci/macro m#))
106110 macro (:macro m)
107111 private (:private m)
108112 tag (:tag m)
113+ file (:file m)
114+ line (:line m)
109115 new-m (cond-> {:ns sci-ns
110116 :name nm}
111117 macro (assoc :macro true )
112118 doc (assoc :doc doc)
113119 arglists (assoc :arglists arglists)
114120 dynamic (assoc :dynamic dynamic)
115121 private (assoc :private private)
116- tag (assoc :tag tag))]
122+ tag (assoc :tag tag)
123+ file (assoc :file file)
124+ line (assoc :line line))]
117125 (new-var nm @clojure-var new-m)))
118126
119127(macros/deftime
418426 :macro
419427 :sci/macro
420428 :doc
421- :dynamic ])
429+ :dynamic
430+ :file
431+ :line ])
422432 normalize-meta)))
423433
424434(macros/deftime
Original file line number Diff line number Diff line change 5757 dyn (:dynamic m)
5858 private (:private m)
5959 arglists (:arglists m)
60- tag (:tag m)]
60+ tag (:tag m)
61+ file (:file m)
62+ line (:line m)]
6163 (cond-> (if elide-vars {} {:doc (:doc m)})
6264 dyn (assoc :dynamic dyn)
6365 private (assoc :private private)
6466 (if elide-vars false arglists)
6567 (assoc :arglists (list 'quote (:arglists m)))
6668 tag (assoc :tag tag)
67- fast-path (assoc :sci.impl/fast-path (list 'quote sym))))
69+ fast-path (assoc :sci.impl/fast-path (list 'quote sym))
70+ (if elide-vars false file) (assoc :file file)
71+ (if elide-vars false line) (assoc :line line)))
6872 :cljs nil )
6973 :cljs (let [r (cljs-resolve &env fqsym)
7074 m (:meta r)
Original file line number Diff line number Diff line change 12191219(macros/usetime
12201220
12211221 (def clojure-core
1222+ (merge
12221223 (avoid-method-too-large
12231224 {:obj clojure-core-ns
12241225 '*ns* sci.impl.utils/current-ns
15691570 #?@(:cljs ['js-keys (copy-core-var js-keys)])
15701571 #?@(:cljs ['js-delete (copy-core-var js-delete)])
15711572 #?@(:cljs ['js-in (copy-var js-in clojure-core-ns {:copy-meta-from clojure.core/js-in})])
1572- 'juxt (copy-core-var juxt)
1573- 'keep (copy-core-var keep)
1573+ 'juxt (copy-core-var juxt)})
1574+ (avoid-method-too-large
1575+ {'keep (copy-core-var keep)
15741576 'keep-indexed (copy-core-var keep-indexed)
15751577 'key (copy-core-var key)
15761578 'keys (copy-core-var keys)
18621864 'ratio? (copy-core-var ratio?)
18631865 'rationalize (copy-core-var rationalize)
18641866 'seque (copy-core-var seque)
1865- 'xml-seq (copy-core-var xml-seq)])}))
1867+ 'xml-seq (copy-core-var xml-seq)])})))
18661868
18671869 (defn dir-fn
18681870 [ns ]
Original file line number Diff line number Diff line change 296296 (testing " metadata isn't evaluated on defn expression"
297297 (eval* " ^{:inverse-of foo} (defn bar [])" )))
298298
299+ (deftest source-fn-test
300+ (testing " source-fn on built-in var does not throw"
301+ (is (nil? (eval* " (clojure.repl/source-fn 'inc)" )))))
302+
299303(deftest defn-kwargs-test
300304 (is (= {:a 1 } (sci/eval-string " (defn foo [& {:keys [a]}] {:a a}) (foo :a 1)" )))
301305 (is (= {:a 1 } (sci/eval-string " (defn foo [& {:keys [a]}] {:a a}) (foo {:a 1})" ))))
You can’t perform that action at this time.
0 commit comments