- if (String (output_global_ch) == "scm")
- {
- static SCM port = 0;
-
- // urg
- if (!port)
- {
- int fd = 1;
- ofstream * of = dynamic_cast<ofstream*> (outstream_l_->os);
- if (of)
- fd = of->rdbuf()->fd();
- FILE *file = fdopen (fd, "a");
- port = scm_standard_stream_to_port (file, "a", "");
- scm_display (gh_str02scm ("(load 'lily.scm)\n"), port);
- }
-
- scm_display (gh_str02scm ("("), port);
- scm_write (scm, port);
- scm_display (gh_str02scm (")\n"),port);
- scm_fflush (port);
- }
- else
- {
- SCM result = scm_eval (scm);
- char *c=gh_scm2newstr (result, NULL);
-
- *outstream_l_ << c;
- free (c);
- }