Correction of compile-r7rs

Issue #269 resolved
Marc Nieper-Wißkirchen created an issue

Please take a look at this diff file:

diff --git a/script/compile-sagittarius b/script/compile-sagittarius
index 020ac6a..ae2e1b1 100755
--- a/script/compile-sagittarius
+++ b/script/compile-sagittarius
@@ -43,7 +43,7 @@ DONT_TRANSLATE=${DONT_TRANSLATE:-""}

 ME=$(basename $0)

-while getopts :A:D:I:o name
+while getopts :A:D:I:o: name
 do
     case $name in
        A) LOADPATH="$LOADPATH -A $OPTARG" ;;
@@ -64,8 +64,10 @@ if [ -z "$1" ]; then
     exit 1
 fi

+set +e
 SCHEME2C=`which sagittarius-scheme2c`
 if [ $? -ne 0 -o x"$DONT_TRANSLATE" != x"" ]; then
+    set -e
     INVOKE_OPTION="-t"

     if [ x"$ME" = x"compile-r7rs" ]; then
@@ -81,6 +83,7 @@ EOF
     cat "$1" >>"$OUTPUT"
     chmod a+x "$OUTPUT"
 else
+    set -e
     TMPFILE=$(mktemp /tmp/scheme2c.XXXXXX.c)
     $SCHEME2C -o $TMPFILE $LOADPATH -e $1
     COMPILER_FLAGS=`sagittarius-config -L -I -l --c-flags`

It corrects two issues. One is that in the original version, the option “-o” couldn’t take a value. The second is that the check for SCHEME2C does not work with the “set -e” setting, which causes the shell to abort execution of the script as soon as one command has a non-zero exit status.

Comments (2)

  1. Log in to comment