core: Move dump, load, bload to lib.c.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 24 Dec 2016 13:05:33 +0000 (14:05 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 24 Dec 2016 13:05:33 +0000 (14:05 +0100)
* lib.c (dump, load, bload): Move from mes.c
* mes.c (dump, load, bload): Remove.

lib.c
mes.c

diff --git a/lib.c b/lib.c
index ae14245cdbfa5f0ad9d45f9c5d41d41242104130..5ed69a6f4d5ca8d6f0bc668d9c43fa9dedaa7e9f 100644 (file)
--- a/lib.c
+++ b/lib.c
@@ -124,3 +124,61 @@ check_apply (SCM f, SCM e)
     }
   return cell_unspecified;
 }
+
+FILE *g_stdin;
+int
+dump ()
+{
+  r1 = g_symbols;
+  SCM frame = cons (r1, cons (r2, cons (r3, cons (r0, cell_nil))));
+  stack = cons (frame, stack);
+  stack = gc (stack);
+  gc_frame (stack);
+  char *p = (char*)g_cells;
+  fputc ('M', stdout);
+  fputc ('E', stdout);
+  fputc ('S', stdout);
+  fputc (stack >> 8, stdout);
+  fputc (stack % 256, stdout);
+  for (int i=0; i<g_free.value * sizeof(scm); i++)
+    fputc (*p++, stdout);
+  return 0;
+}
+
+SCM
+load_env (SCM a) ///((internal))
+{
+  r0 =a;
+  g_stdin = fopen ("module/mes/read-0.mes", "r");
+  g_stdin = g_stdin ? g_stdin : fopen (PREFIX "module/mes/read-0.mes", "r");
+  if (!g_function) r0 = mes_builtins (r0);
+  r3 = read_input_file_env (r0);
+  g_stdin = stdin;
+  return r3;
+}
+
+SCM
+bload_env (SCM a) ///((internal))
+{
+  g_stdin = fopen ("module/mes/read-0.mo", "r");
+  g_stdin = g_stdin ? g_stdin : fopen (PREFIX "module/mes/read-0.mo", "r");
+  char *p = (char*)g_cells;
+  assert (getchar () == 'M');
+  assert (getchar () == 'E');
+  assert (getchar () == 'S');
+  stack = getchar () << 8;
+  stack += getchar ();
+  int c = getchar ();
+  while (c != EOF)
+    {
+      *p++ = c;
+      c = getchar ();
+    }
+  g_free.value = (p-(char*)g_cells) / sizeof (scm);
+  gc_frame (stack);
+  g_symbols = r1;
+  g_stdin = stdin;
+
+  r0 = mes_builtins (r0);
+  return r3;
+}
diff --git a/mes.c b/mes.c
index f6d22cceba2fff49d7761b0461439ca94165aab6..6c692c23df76fd697cfa4144a1c60fe4095e2ad5 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -1014,63 +1014,6 @@ lookup_macro (SCM x, SCM a)
 }
 
 FILE *g_stdin;
-SCM
-load_env (SCM a) ///((internal))
-{
-  r0 =a;
-  g_stdin = fopen ("module/mes/read-0.mes", "r");
-  g_stdin = g_stdin ? g_stdin : fopen (PREFIX "module/mes/read-0.mes", "r");
-  if (!g_function) r0 = mes_builtins (r0);
-  r3 = read_input_file_env (r0);
-  g_stdin = stdin;
-  return r3;
-}
-
-SCM
-bload_env (SCM a) ///((internal))
-{
-  g_stdin = fopen ("module/mes/read-0.mo", "r");
-  g_stdin = g_stdin ? g_stdin : fopen (PREFIX "module/mes/read-0.mo", "r");
-  char *p = (char*)g_cells;
-  assert (getchar () == 'M');
-  assert (getchar () == 'E');
-  assert (getchar () == 'S');
-  stack = getchar () << 8;
-  stack += getchar ();
-  int c = getchar ();
-  while (c != EOF)
-    {
-      *p++ = c;
-      c = getchar ();
-    }
-  g_free.value = (p-(char*)g_cells) / sizeof (scm);
-  gc_frame (stack);
-  g_symbols = r1;
-  g_stdin = stdin;
-
-  r0 = mes_builtins (r0);
-  return r3;
-}
-
-int
-dump ()
-{
-  r1 = g_symbols;
-  SCM frame = cons (r1, cons (r2, cons (r3, cons (r0, cell_nil))));
-  stack = cons (frame, stack);
-  stack = gc (stack);
-  gc_frame (stack);
-  char *p = (char*)g_cells;
-  fputc ('M', stdout);
-  fputc ('E', stdout);
-  fputc ('S', stdout);
-  fputc (stack >> 8, stdout);
-  fputc (stack % 256, stdout);
-  for (int i=0; i<g_free.value * sizeof(scm); i++)
-    fputc (*p++, stdout);
-  return 0;
-}
-
 #include "lib.c"
 #include "math.c"
 #include "posix.c"