Refactor reader.
[mes.git] / posix.c
diff --git a/posix.c b/posix.c
index 5a95ec7e5de8f2d13c32422b6a26018e728958ac..19197dd611129921f4131e59ab9cad7b4e71b907 100644 (file)
--- a/posix.c
+++ b/posix.c
@@ -82,8 +82,10 @@ write_byte (SCM x) ///((arity . n))
 SCM
 stderr_ (SCM x)
 {
-  SCM display;
-  if ((display = assq_ref_cache (cell_symbol_display, r0)) != cell_undefined)
+  SCM write;
+  if (TYPE (x) == STRING)
+    fprintf (stderr, string_to_cstring (x));
+  else if ((write = assq_ref_cache (cell_symbol_write, r0)) != cell_undefined)
     apply_env (assq_ref_cache (cell_symbol_display, r0), cons (x, cons (MAKE_NUMBER (2), cell_nil)), r0);
   else if (TYPE (x) == SPECIAL || TYPE (x) == STRING || TYPE (x) == SYMBOL)
     fprintf (stderr, string_to_cstring (x));