core: Move reader and posix functions from mes.c
[mes.git] / reader.c
index 55afd7d4b203f76dd9a49539a7e76b25ab6ac0a7..864d5b7a6bb56df763b927775e040879dd7d89ab 100644 (file)
--- a/reader.c
+++ b/reader.c
  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+
+SCM
+read_input_file_env_ (SCM e, SCM a)
+{
+  if (e == cell_nil) return e;
+  return cons (e, read_input_file_env_ (read_env (a), a));
+}
+
+SCM
+read_input_file_env (SCM a)
+{
+  r0 = a;
+  if (assq_ref_cache (cell_symbol_read_input_file, r0) != cell_undefined)
+    return apply_env (cell_symbol_read_input_file, cell_nil, r0);
+  return read_input_file_env_ (read_env (r0), r0);
+}
+
 int
 read_line_comment (int c)
 {