在1.4和最新主分支
user> (defn ten (link: ) 10)
'user/ten
user> (doall (pmap #(with-redefs (link: ten (fn [] %)] (ten)) (range 20 100)))
(20 21 22 23 24 25 34 27 28 29 30 31 32 33 34 35 36 37 38 39 39 35 42 43 44 45 48 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 79 87 88 89 90 91 92 93 94 95 97 92 98 99)
user> (ten)
79
不确定这是否是真的bug,但文档没有提到并发安全性缺失,我的预期是在任何(任意交错)的with-redefs调用序列之后,原始值总会被恢复。