(Arne Babenhauserheide)
2013-07-24: basic wisp reading with emacs works. stdin + interactive does not basic wisp reading with emacs works. stdin + interactive does not work yet.
diff --git a/wisp-multiline.sh b/wisp-multiline.sh
--- a/wisp-multiline.sh
+++ b/wisp-multiline.sh
@@ -79,8 +79,9 @@ done
# Provide help output
if [[ $HELP == "yes" ]]; then
- echo "$0 [-h] [-l] [-v] [-i] [SCRIPT ...]
+ echo "$0 [-h] [-l] [-v] [-i] [[- | SCRIPT] ...]
Run multiline commands through wisp or execute the SCRIPT.
+ If you use - as script, it reads the script from standard input.
-h | --help) This help output.
-l | --lisp) Select the Lisp interpreter to call.
@@ -90,7 +91,8 @@ if [[ $HELP == "yes" ]]; then
-o | --output) Save the executed wisp code to this file.
-w | --wisp) Select the wisp preprocessor to use.
-v | --verbose) Provide verbose output.
- -i | --interactive) Run interactive commands after reading scripts.
+ -i | --interactive) Run interactive commands after reading scripts.
+ Does not work with reading from a pipe.
--version) Print the version string of this script.
"
exit 0
@@ -129,8 +131,8 @@ if [ $# -gt 0 ]; then
done
# if we do not need additional interactive commands, we only need to
# execute the lisp.
- if [[ x"$INTERACTIVE" == x"no" ]]; then
- if [[ x"$LISP" == x"emacs" ]]; then
+ if [[ x"${INTERACTIVE}" == x"no" ]]; then
+ if [[ x"${LISP}" == x"emacs" ]]; then
emacs -Q --batch --eval "${lispcode}"
else
echo "${lispcode}" | eval "${INTERPRETER}"
@@ -164,7 +166,7 @@ lispcode="${lispcode}
# now run the code
-if [[ x"$LISP" == x"emacs" ]]; then
+if [[ x"${LISP}" == x"emacs" ]]; then
emacs -Q --batch --eval "${lispcode}"
else
echo "${lispcode}" | eval "${INTERPRETER}"