diff -r 10bc73197a57 -r fc458f304f93 bin/isabelle-process --- a/bin/isabelle-process Fri May 17 18:50:55 2013 +0200 +++ b/bin/isabelle-process Fri May 17 19:04:52 2013 +0200 @@ -33,6 +33,7 @@ echo " -W IN:OUT startup process wrapper, with input/output fifos" echo " -e MLTEXT pass MLTEXT to the ML session" echo " -m MODE add print mode for output" + echo " -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME)" echo " -q non-interactive session" echo " -r open heap file read-only" echo " -w reset write permissions on OUTPUT" @@ -63,11 +64,12 @@ WRAPPER_FIFOS="" MLTEXT="" MODES="" +declare -a SYSTEM_OPTIONS=() TERMINATE="" READONLY="" NOWRITE="" -while getopts "IPST:W:e:m:qrw" OPT +while getopts "IPST:W:e:m:o:qrw" OPT do case "$OPT" in I) @@ -95,6 +97,9 @@ MODES="\"$OPTARG\", $MODES" fi ;; + o) + SYSTEM_OPTIONS["${#SYSTEM_OPTIONS[@]}"]="$OPTARG" + ;; q) TERMINATE=true ;; @@ -215,7 +220,8 @@ MLTEXT="$MLTEXT; Isabelle_Process.init_fifos \"${FIFOS[0]}\" \"${FIFOS[1]}\";" else ISABELLE_PROCESS_OPTIONS="$ISABELLE_TMP/options" - "$ISABELLE_TOOL" options -x "$ISABELLE_PROCESS_OPTIONS" || fail "Failed to retrieve options" + "$ISABELLE_TOOL" options -x "$ISABELLE_PROCESS_OPTIONS" -- "${SYSTEM_OPTIONS[@]}" || \ + fail "Failed to retrieve Isabelle system options" if [ "$INPUT" != RAW_ML_SYSTEM -a "$INPUT" != RAW ]; then MLTEXT="Options.load_default () handle _ => exit 2; $MLTEXT" fi