Skip to content

Commit 2b782a6

Browse files
authored
Merge pull request #66 from clojerl/65-make-repl-vars-available
[#65] Make REPL vars available
2 parents 2cfa344 + c58bf04 commit 2b782a6

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/try_clojerl/repl.clje

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@
5656
(require '[clojure.repl :refer (source apropos dir pst doc find-doc)])
5757
(require '[clojure.pprint :refer (pp pprint)])
5858
(require '[try-clojerl.tutorial :as tutorial :refer (next-step prev-step)])
59+
(push-thread-bindings {#'*1 nil
60+
#'*2 nil
61+
#'*3 nil
62+
#'*e nil
63+
#'*stacktrace nil})
5964
(tutorial/init)))
6065

6166
(defn eval-string [s]
@@ -66,8 +71,14 @@
6671
(let [group-leader (erlang/group_leader)
6772
res (try
6873
(erlang/group_leader (maps/get :pid out) (erlang/self))
69-
(-> s read-string eval pr-str)
70-
(catch _ e
74+
(let [value (-> s read-string eval)]
75+
(set! *3 *2)
76+
(set! *2 *1)
77+
(set! *1 value)
78+
(pr-str value))
79+
(catch _ e :stack st
80+
(set! *e e)
81+
(set! *stacktrace st)
7182
(.write *err* (str "Error: " (pr-str e)))
7283
"")
7384
(finally

0 commit comments

Comments
 (0)