1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-28 19:19:53 +00:00

Merge pull request #642 from pyrmont/feature.run-context-location

Allow source location in run-context to be updated
This commit is contained in:
Calvin Rose 2021-02-26 16:36:03 -06:00 committed by GitHub
commit b795d13f61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2104,7 +2104,7 @@
:on-parse-error on-parse-error
:fiber-flags guard
:evaluator evaluator
:source where
:source default-where
:parser parser
:read read
:expander expand} opts)
@ -2114,9 +2114,11 @@
(default on-compile-error bad-compile)
(default on-parse-error bad-parse)
(default evaluator (fn evaluate [x &] (x)))
(default where "<anonymous>")
(default default-where "<anonymous>")
(default guard :ydt)
(var where default-where)
# Evaluate 1 source form in a protected manner
(defn eval1 [source &opt l c]
(def source (if expand (expand source) source))
@ -2169,11 +2171,18 @@
(while parser-not-done
(if (env :exit) (break))
(buffer/clear buf)
(if (= (chunks buf p) :cancel)
(match (= (chunks buf p))
:cancel
(do
# A :cancel chunk represents a cancelled form in the REPL, so reset.
(:flush p)
(buffer/clear buf))
[:source new-where]
(if (string? new-where)
(set where new-where)
(set where default-where))
(do
(var pindex 0)
(var pstatus nil)