Admin/ProofGeneral/4.1/interface
author wenzelm
Sun, 30 Jan 2011 13:02:18 +0100
changeset 41648 6d736d983d5c
parent 41641 f7efeb18c07e
permissions -rwxr-xr-x
clarified example settings for Proof General;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     1
#!/usr/bin/env bash
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     2
#
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     3
# Proof General interface wrapper for Isabelle.
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     4
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     5
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     6
## self references
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     7
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     8
THIS="$(cd "$(dirname "$0")"; pwd)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
     9
SUPER="$(cd "$THIS/.."; pwd)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    10
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    11
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    12
## diagnostics
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    13
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    14
usage()
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    15
{
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    16
  echo
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    17
  echo "Usage: isabelle emacs [OPTIONS] [FILES ...]"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    18
  echo
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    19
  echo "  Options are:"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    20
  echo "    -L NAME      abbreviates -l NAME -k NAME"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    21
  echo "    -U BOOL      enable UTF-8 communication (default true)"
41641
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    22
  echo "    -f FONT      specify Emacs font"
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    23
  echo "    -g GEOMETRY  specify Emacs geometry"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    24
  echo "    -k NAME      use specific isar-keywords for named logic"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    25
  echo "    -l NAME      logic image name (default \$ISABELLE_LOGIC=$ISABELLE_LOGIC)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    26
  echo "    -m MODE      add print mode for output"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    27
  echo "    -p NAME      Emacs program name (default emacs)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    28
  echo "    -u BOOL      use personal .emacs file (default true)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    29
  echo "    -w BOOL      use window system (default true)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    30
  echo "    -x BOOL      render Isabelle symbols via Unicode (default false)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    31
  echo
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    32
  echo "Starts Proof General for Isabelle with theory and proof FILES"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    33
  echo "(default Scratch.thy)."
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    34
  echo
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    35
  echo "  PROOFGENERAL_OPTIONS=$PROOFGENERAL_OPTIONS"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    36
  echo
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    37
  exit 1
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    38
}
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    39
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    40
fail()
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    41
{
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    42
  echo "$1" >&2
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    43
  exit 2
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    44
}
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    45
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    46
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    47
## process command line
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    48
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    49
# options
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    50
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    51
ISABELLE_OPTIONS=""
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    52
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    53
KEYWORDS=""
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    54
LOGIC="$ISABELLE_LOGIC"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    55
UNICODE=""
41641
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    56
FONT=""
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    57
GEOMETRY=""
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    58
PROGNAME="emacs"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    59
INITFILE="true"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    60
WINDOWSYSTEM="true"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    61
UNICODE_SYMBOLS=""
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    62
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    63
getoptions()
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    64
{
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    65
  OPTIND=1
41641
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    66
  while getopts "L:U:f:g:k:l:m:p:u:w:x:" OPT
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    67
  do
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    68
    case "$OPT" in
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    69
      L)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    70
        KEYWORDS="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    71
        LOGIC="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    72
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    73
      U)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    74
        UNICODE="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    75
        ;;
41641
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    76
      f)
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    77
        FONT="$OPTARG"
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
    78
        ;;
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    79
      g)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    80
        GEOMETRY="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    81
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    82
      k)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    83
        KEYWORDS="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    84
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    85
      l)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    86
        LOGIC="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    87
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    88
      m)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    89
        if [ -z "$ISABELLE_OPTIONS" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    90
          ISABELLE_OPTIONS="-m $OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    91
        else
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    92
          ISABELLE_OPTIONS="$ISABELLE_OPTIONS -m $OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    93
        fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    94
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    95
      p)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    96
        PROGNAME="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    97
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    98
      u)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
    99
        INITFILE="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   100
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   101
      w)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   102
        WINDOWSYSTEM="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   103
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   104
      x)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   105
        UNICODE_SYMBOLS="$OPTARG"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   106
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   107
      \?)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   108
        usage
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   109
        ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   110
    esac
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   111
  done
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   112
}
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   113
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   114
eval "OPTIONS=($PROOFGENERAL_OPTIONS)"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   115
getoptions "${OPTIONS[@]}"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   116
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   117
getoptions "$@"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   118
shift $(($OPTIND - 1))
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   119
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   120
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   121
# args
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   122
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   123
declare -a FILES=()
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   124
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   125
if [ "$#" -eq 0 ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   126
  FILES["${#FILES[@]}"]="Scratch.thy"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   127
else
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   128
  while [ "$#" -gt 0 ]; do
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   129
    FILES["${#FILES[@]}"]="$1"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   130
    shift
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   131
  done
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   132
fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   133
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   134
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   135
## main
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   136
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   137
declare -a ARGS=()
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   138
41641
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
   139
if [ -n "$FONT" ]; then
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
   140
  ARGS["${#ARGS[@]}"]="-fn"
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
   141
  ARGS["${#ARGS[@]}"]="$FONT"
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
   142
fi
f7efeb18c07e added option -f FONT;
wenzelm
parents: 41640
diff changeset
   143
41640
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   144
if [ -n "$GEOMETRY" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   145
  ARGS["${#ARGS[@]}"]="-geometry"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   146
  ARGS["${#ARGS[@]}"]="$GEOMETRY"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   147
fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   148
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   149
[ "$INITFILE" = false ] && ARGS["${#ARGS[@]}"]="-q"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   150
[ "$WINDOWSYSTEM" = false ] && ARGS["${#ARGS[@]}"]="-nw"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   151
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   152
ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   153
ARGS["${#ARGS[@]}"]="$SUPER/isar/interface-setup.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   154
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   155
if [ -n "$KEYWORDS" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   156
  if [ -f "$ISABELLE_HOME_USER/etc/isar-keywords-$KEYWORDS.el" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   157
    ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   158
    ARGS["${#ARGS[@]}"]="$ISABELLE_HOME_USER/etc/isar-keywords-$KEYWORDS.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   159
  elif [ -f "$ISABELLE_HOME/etc/isar-keywords-$KEYWORDS.el" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   160
    ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   161
    ARGS["${#ARGS[@]}"]="$ISABELLE_HOME/etc/isar-keywords-$KEYWORDS.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   162
  else
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   163
    fail "No isar-keywords file for '$KEYWORDS'"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   164
  fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   165
elif [ -f "$ISABELLE_HOME_USER/etc/isar-keywords.el" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   166
  ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   167
  ARGS["${#ARGS[@]}"]="$ISABELLE_HOME_USER/etc/isar-keywords.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   168
elif [ -f "$ISABELLE_HOME/etc/isar-keywords.el" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   169
  ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   170
  ARGS["${#ARGS[@]}"]="$ISABELLE_HOME/etc/isar-keywords.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   171
fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   172
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   173
for FILE in "$ISABELLE_HOME/etc/proofgeneral-settings.el" \
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   174
    "$ISABELLE_HOME_USER/etc/proofgeneral-settings.el"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   175
do
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   176
  if [ -f "$FILE" ]; then
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   177
    ARGS["${#ARGS[@]}"]="-l"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   178
    ARGS["${#ARGS[@]}"]="$FILE"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   179
  fi
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   180
done
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   181
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   182
case "$LOGIC" in
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   183
  /*)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   184
    ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   185
  */*)
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   186
    LOGIC="$(pwd -P)/$LOGIC"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   187
    ;;
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   188
esac
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   189
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   190
export PROOFGENERAL_HOME="$SUPER"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   191
export PROOFGENERAL_ASSISTANTS="isar"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   192
export PROOFGENERAL_LOGIC="$LOGIC"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   193
export PROOFGENERAL_UNICODE="$UNICODE"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   194
export PROOFGENERAL_UNICODE_SYMBOLS="$UNICODE_SYMBOLS"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   195
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   196
export ISABELLE_OPTIONS
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   197
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   198
# Isabelle2008 compatibility
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   199
[ -z "$ISABELLE_PROCESS" ] && export ISABELLE_PROCESS="$ISABELLE"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   200
[ -z "$ISABELLE_TOOL" ] && export ISABELLE_TOOL="$ISATOOL"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   201
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   202
exec "$PROGNAME" "${ARGS[@]}" "${FILES[@]}"
3f473f9f82bb Proof General 4.x interface wrapper;
wenzelm
parents:
diff changeset
   203