summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-09-03 07:16:31 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-09-03 07:16:31 -0700
commitee19313e53e3a98321e1a405e41c8a0489fc68ca (patch)
tree1c7fe8328b23ff504aff992ebf3f865ee9ed87f6
parentd95b3fe00773e46e54543170cda62c2a7ea6ff49 (diff)
downloadtxr-ee19313e53e3a98321e1a405e41c8a0489fc68ca.tar.gz
txr-ee19313e53e3a98321e1a405e41c8a0489fc68ca.tar.bz2
txr-ee19313e53e3a98321e1a405e41c8a0489fc68ca.zip
lookup_var: don't pass dyn_env explicitly.
Since lookup_var(nil, ...) skips the environment and goes for dyn_env, there is no need to pass dyn_env explicitly; it's a bit of an anti-pattern. The argument is intended for lexical scopes. * eval.c (eval_exception, expand_eval, load): Pass nil to lookup_var instead of the current dynamic environment. * match.c (v_load): Likewise. * parser.c (txr_parse, read_eval_ret_last): Likewise.
-rw-r--r--eval.c6
-rw-r--r--match.c2
-rw-r--r--parser.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/eval.c b/eval.c
index 487df9d7..e1580641 100644
--- a/eval.c
+++ b/eval.c
@@ -311,7 +311,7 @@ static void eval_exception(val sym, val ctx, val fmt, int ex_time, va_list vl)
msg = get_string_from_stream(stream);
if (ex_time) {
- val loading = cdr(lookup_var(dyn_env, load_recursive_s));
+ val loading = cdr(lookup_var(nil, load_recursive_s));
val error_caught = uw_find_frame(error_s, catch_frame_s);
if (loading && !error_caught) {
@@ -1557,7 +1557,7 @@ static val expand_eval(val form, val env, val menv)
val lfe_save = last_form_evaled;
val form_ex = (last_form_evaled = nil,
expand(form, menv));
- val loading = cdr(lookup_var(dyn_env, load_recursive_s));
+ val loading = cdr(lookup_var(nil, load_recursive_s));
val ret = ((void) (loading || uw_release_deferred_warnings()),
eval(form_ex, default_null_arg(env), form));
last_form_evaled = lfe_save;
@@ -4629,7 +4629,7 @@ val load(val target)
val txr_lisp_p = t;
val saved_dyn_env = dyn_env;
val load_dyn_env = make_env(nil, nil, dyn_env);
- val rec = cdr(lookup_var(saved_dyn_env, load_recursive_s));
+ val rec = cdr(lookup_var(nil, load_recursive_s));
open_txr_file(path, &txr_lisp_p, &name, &stream, self);
diff --git a/match.c b/match.c
index d5b76fb2..de7e6186 100644
--- a/match.c
+++ b/match.c
@@ -4377,7 +4377,7 @@ static val v_load(match_files_ctx *c)
val ret = nil;
val saved_dyn_env = dyn_env;
val load_dyn_env = make_env(nil, nil, dyn_env);
- val rec = cdr(lookup_var(saved_dyn_env, load_recursive_s));
+ val rec = cdr(lookup_var(nil, load_recursive_s));
open_txr_file(path, &txr_lisp_p, &name, &stream, self);
diff --git a/parser.c b/parser.c
index 4a85fa1c..527b94c3 100644
--- a/parser.c
+++ b/parser.c
@@ -827,7 +827,7 @@ val txr_parse(val source_in, val error_stream,
val saved_dyn = dyn_env;
val parser_obj = ensure_parser(input_stream, name);
parser_t *pi = parser_get_impl(self, parser_obj);
- val loading = cdr(lookup_var(dyn_env, load_recursive_s));
+ val loading = cdr(lookup_var(nil, load_recursive_s));
uw_simple_catch_begin;
@@ -1173,7 +1173,7 @@ static val read_eval_ret_last(val env, val counter,
val error_val = gensym(nil);
val name = format(nil, lit("paste-~a"), counter, nao);
val value = nil;
- val loading = cdr(lookup_var(dyn_env, load_recursive_s));
+ val loading = cdr(lookup_var(nil, load_recursive_s));
val saved_dyn_env = set_dyn_env(make_env(nil, nil, dyn_env));
env_vbind(dyn_env, load_recursive_s, t);