summaryrefslogtreecommitdiff
path: root/test-suite/standalone/test-language
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/standalone/test-language')
-rwxr-xr-xtest-suite/standalone/test-language27
1 files changed, 27 insertions, 0 deletions
diff --git a/test-suite/standalone/test-language b/test-suite/standalone/test-language
new file mode 100755
index 000000000..d67d36129
--- /dev/null
+++ b/test-suite/standalone/test-language
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+# Make sure that code passed as `-c' or `-l' is evaluted using the
+# right language.
+
+# The default language in effect until `--language' is encountered is
+# Scheme.
+guile -c "(exit (= 3 (apply + '(1 2))))" --language=elisp
+
+if guile -c "(= (funcall (symbol-function '+) 1 2) 3)" 2> /dev/null
+then false; else true; fi
+
+guile --language=elisp -c "(= (funcall (symbol-function '+) 1 2) 3)"
+guile --language=ecmascript -c '(function (x) { return x * x; })(2);'
+
+# Same with `-l'.
+guile --no-auto-compile -l "$top_srcdir/module/ice-9/q.scm" -c 1
+guile --no-auto-compile \
+ -l "$top_srcdir/module/ice-9/q.scm" \
+ --language=elisp \
+ -l "$srcdir/test-language.el" \
+ --language=ecmascript \
+ -l "$srcdir/test-language.js" \
+ --language=scheme \
+ -c 1