From a1692214f65d10d9a1961cfc0e52b1b6f3689289 Mon Sep 17 00:00:00 2001 From: teo3300 Date: Wed, 23 Jul 2025 09:55:21 +0900 Subject: [PATCH] Fixed *ARGV* Arguments are now srings (were symbols previously) --- src/parse_tools.rs | 13 ++++++++++++- test.mal | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 test.mal diff --git a/src/parse_tools.rs b/src/parse_tools.rs index 92ada30..842a83b 100644 --- a/src/parse_tools.rs +++ b/src/parse_tools.rs @@ -71,7 +71,18 @@ use rustyline::error::ReadlineError; use rustyline::DefaultEditor; pub fn pre_load(argv: &Vec, env: &Env) { - eval_str(format!("(def! *ARGV* '({}))", argv[1..].iter().map(|x| x.to_string() + " ").collect::()).as_str(), &env).unwrap(); + eval_str( + format!( + "(def! *ARGV* '({}))", + argv[1..] + .iter() + .map(|x| "\"".to_string() + x + "\" ") + .collect::() + ) + .as_str(), + &env, + ) + .unwrap(); } pub fn interactive(env: Env) { diff --git a/test.mal b/test.mal new file mode 100644 index 0000000..78ba0bf --- /dev/null +++ b/test.mal @@ -0,0 +1 @@ +(println *ARGV*)