在1.4和最新主版本上
user> (defn ten () 10)
'user/ten
user> (doall (pmap #(with-redefs (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
不确定这是否是真正的错误,但文档中没有提到并发安全性不足,我的预期是指在任意交错序列的with-redefs调用之后,原始值总是被恢复。