Commit eda58d7e6daabe70eb079c2f6639b88c6443b3d1

Thomas de Grivel 2024-01-30T15:49:29

wip env_eval_quote

diff --git a/libc3/env.c b/libc3/env.c
index ad006cf..46d15f0 100644
--- a/libc3/env.c
+++ b/libc3/env.c
@@ -662,8 +662,16 @@ bool env_eval_quote (s_env *env, const s_quote *quote, s_tag *dest)
   assert(env);
   assert(quote);
   assert(dest);
+  return env_eval_quote_tag(env, quote->tag, dest);
+}
+
+bool env_eval_quote_tag (s_env *env, const s_tag *tag, s_tag *dest)
+{
+  assert(env);
+  assert(tag);
+  assert(dest);
   (void) env;
-  if (! tag_init_copy(dest, quote->tag))
+  if (! tag_init_copy(dest, tag))
     return false;
   return true;
 }
diff --git a/libc3/env.h b/libc3/env.h
index 4e13a06..39976c8 100644
--- a/libc3/env.h
+++ b/libc3/env.h
@@ -57,6 +57,8 @@ bool          env_eval_progn (s_env *env, const s_list *program,
                               s_tag *dest);
 bool          env_eval_quote (s_env *env, const s_quote *quote,
                               s_tag *dest);
+bool          env_eval_quote_tag (s_env *env, const s_tag *tag,
+                                  s_tag *dest);
 bool          env_eval_struct (s_env *env, const s_struct *s,
                                s_tag *dest);
 bool          env_eval_tag (s_env *env, const s_tag *tag,