ref: 12bbec6bce0c96374d58f0f79e50d71ed64db94b
parent: a7baf31416fe2312be003319092a1c0783726022
author: Matthew Flatt <mflatt@racket-lang.org>
date: Sat Sep 24 02:19:49 CDT 2022
Zuo: allow symbol module paths in `zuo_ext_eval_module` A symbol module path needs quoting in the constructed expression, and quoting is also fine for path-string module paths. Closes #4
--- a/zuo.c
+++ b/zuo.c
@@ -4785,7 +4785,7 @@
static zuo_t *zuo_eval_module(zuo_t *module_path, zuo_t *input_str) {
/* This is a convenience function to be used only to start evaluation */
- zuo_t *lang, *read_and_eval, *mod;
+ zuo_t *lang, *read_and_eval, *mod, *quoted_module_path;
zuo_int_t post;
zuo_log_module_start(module_path);
@@ -4808,10 +4808,14 @@
Z.o_stash = _zuo_cdr(Z.o_stash);
module_path = _zuo_car(Z.o_stash);
+ quoted_module_path = zuo_cons(zuo_symbol("quote"),
+ zuo_cons(module_path,
+ z.o_null));
+
mod = zuo_kernel_eval(zuo_cons(read_and_eval,
zuo_cons(input_str,
zuo_cons(zuo_integer(post),
- zuo_cons(module_path,
+ zuo_cons(quoted_module_path,
z.o_null)))));
module_path = _zuo_car(Z.o_stash);