bin/isabelle
changeset 42077 96c50a4210a2
parent 33915 44a10fe6bd10
child 42124 7519c7c33017
--- a/bin/isabelle	Wed Mar 23 16:42:09 2011 +0100
+++ b/bin/isabelle	Wed Mar 23 20:51:36 2011 +0100
@@ -17,8 +17,6 @@
 ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"
 source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2
 
-splitarray ":" "$ISABELLE_TOOLS"; TOOLS=("${SPLITARRAY[@]}")
-
 
 ## diagnostics
 
@@ -30,19 +28,7 @@
   echo "  Start Isabelle tool NAME with ARGS; pass \"-?\" for tool specific help."
   echo
   echo "  Available tools are:"
-  for DIR in "${TOOLS[@]}"
-  do
-    if [ -d "$DIR" ]; then
-      for TOOL in "$DIR"/*
-      do
-        if [ -f "$TOOL" -a -x "$TOOL" ]; then
-          NAME="$(basename "$TOOL")"
-          DESCRLINE="$(fgrep DESCRIPTION: "$TOOL" | sed -e 's/^.*DESCRIPTION: *//')"
-          echo "    $NAME - $DESCRLINE"
-        fi
-      done
-    fi
-  done
+  perl -w "$ISABELLE_HOME/lib/scripts/tools.pl"
   exit 1
 }
 
@@ -63,10 +49,15 @@
 
 ## main
 
+splitarray ":" "$ISABELLE_TOOLS"; TOOLS=("${SPLITARRAY[@]}")
+
 for DIR in "${TOOLS[@]}"
 do
   TOOL="$DIR/$TOOLNAME"
-  [ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@"
+  case "$TOOL" in
+    *~) ;;
+    *) [ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@" ;;
+  esac
 done
 
 fail "Unknown Isabelle tool: $TOOLNAME"