summaryrefslogtreecommitdiff
path: root/snd-xen.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-05-17 12:21:04 +0200
committerIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2016-05-17 12:21:04 +0200
commit248790aca5d5b6dc9a8edeea1abed0195ac1338e (patch)
treec473c68af2ab5d091d7035fa1b539cbaf2ac2e4f /snd-xen.c
parent110d59c341b8c50c04f30d90e85e9b8f6f329a0e (diff)
Imported Upstream version 16.5~dfsg
Diffstat (limited to 'snd-xen.c')
-rw-r--r--snd-xen.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/snd-xen.c b/snd-xen.c
index 130f80b..6fed1d5 100644
--- a/snd-xen.c
+++ b/snd-xen.c
@@ -1188,6 +1188,12 @@ void snd_eval_stdin_str(const char *buf)
str = gl_print(result);
string_to_stdout(str, NULL);
+ if (mus_strlen(stdin_prompt(ss)) > 0)
+ {
+ fprintf(stdout, "%s", stdin_prompt(ss));
+ fflush(stdout);
+ }
+
if (str) free(str);
snd_unprotect_at(loc);
}
@@ -1657,18 +1663,6 @@ static Xen g_dlinit(Xen handle, Xen func)
}
#endif
-#if HAVE_SCHEME
-static s7_pointer g_line_reader(s7_scheme *sc, s7_pointer args)
-{
- const char *str;
- Xen_check_type(Xen_is_string(s7_car(args)), s7_car(args), 1, "#__line__", "a string");
- str = s7_string(s7_car(args));
- if ((str) && (strcmp(str, "__line__") == 0))
- return(s7_make_integer(sc, s7_port_line_number(s7_current_input_port(sc))));
- return(Xen_false);
-}
-#endif
-
static Xen g_little_endian(void)
{
#if MUS_LITTLE_ENDIAN
@@ -2714,7 +2708,7 @@ Xen_wrap_1_arg(g_snd_warning_w, g_snd_warning)
void g_xen_initialize(void)
{
#if HAVE_SCHEME
- s7_pointer pl_dr, pl_dir, pl_ss, pl_b;
+ s7_pointer pl_dr, pl_dir, pl_ss, pl_b, pl_pr;
#if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
s7_pointer pl_pf;
#endif
@@ -2825,14 +2819,16 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
#if HAVE_SCHEME
{
- s7_pointer s, i, b, r, d;
+ s7_pointer s, i, b, r, d, p;
s = s7_make_symbol(s7, "string?");
i = s7_make_symbol(s7, "integer?");
b = s7_make_symbol(s7, "boolean?");
r = s7_make_symbol(s7, "real?");
d = s7_make_symbol(s7, "float?");
+ p = s7_make_symbol(s7, "pair?");
pl_ss = s7_make_signature(s7, 2, s, s);
pl_dr = s7_make_circular_signature(s7, 1, 2, d, r);
+ pl_pr = s7_make_signature(s7, 2, p, r);
pl_dir = s7_make_signature(s7, 3, d, i, r);
pl_b = s7_make_signature(s7, 1, b);
#if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
@@ -2871,7 +2867,7 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
Xen_define_typed_procedure(S_bes_kn, g_kn_w, 2, 0, 0, H_kn, pl_dir);
Xen_define_typed_procedure("gsl-ellipk", g_gsl_ellipk_w, 1, 0, 0, H_gsl_ellipk, pl_dr);
- Xen_define_typed_procedure("gsl-ellipj", g_gsl_ellipj_w, 2, 0, 0, H_gsl_ellipj, pl_dr);
+ Xen_define_typed_procedure("gsl-ellipj", g_gsl_ellipj_w, 2, 0, 0, H_gsl_ellipj, pl_pr);
#if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
Xen_define_typed_procedure("gsl-eigenvectors", g_gsl_eigenvectors_w, 1, 0, 0, "returns eigenvalues and eigenvectors", pl_pf);
@@ -2953,7 +2949,6 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
#if HAVE_SCHEME
Xen_define_procedure("_snd_s7_error_handler_", g_snd_s7_error_handler_w, 0, 0, 1, "internal error redirection for snd/s7");
- s7_define_safe_function(s7, "_snd-line-reader_", g_line_reader, 1, 0, false, "port-line-number reader");
Xen_eval_C_string("(define redo-edit redo)"); /* consistency with Ruby */
Xen_eval_C_string("(define undo-edit undo)");
@@ -3133,6 +3128,10 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
Xen_provide_feature("audio");
#endif
+#if ENABLE_WEBSERVER
+ Xen_provide_feature("webserver");
+#endif
+
#if HAVE_RUBY
Xen_provide_feature("snd-ruby");
/* we need to set up the search path so that load and require will work as in the program irb */