home: hub: zuo

Download patch

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);