added functor Linear_Set, based on former adhoc structures in document.ML;
Linear_Set.delete_after (ML): actually delete table entries;
Scala Linear_Set: clarified exceptions, according to ML version;
simplified Document.node using Linear_Set;
ML Document.edit: refer to start via NONE instead of no_id, according to Scala version;
#!/usr/bin/env bash
#
# Author: Makarius
#
# Generic Isabelle application wrapper.
if [ -L "$0" ]; then
TARGET="$(LC_ALL=C ls -l "$0" | sed 's/.* -> //')"
exec "$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd "$(dirname "$TARGET")"; pwd)/$(basename "$TARGET")" "$@"
fi
## settings
ISABELLE_HOME="$(cd "$(dirname "$0")"; pwd -P)"
source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2
unset ISABELLE_SETTINGS_PRESENT
unset ISABELLE_SITE_SETTINGS_PRESENT
## main
[ -e "$ISABELLE_HOME/Admin/build" ] && "$ISABELLE_HOME/Admin/build" jars
CLASSPATH="$(jvmpath "$CLASSPATH")"
exec "$ISABELLE_JAVA" \
"-Disabelle.home=$(jvmpath "$ISABELLE_HOME")" \
-jar "$(jvmpath "$ISABELLE_HOME/lib/classes/isabelle-scala.jar")" "$@"