Translate run-medley from csh to POSIX sh.
This is just a first step: a direct translation for compatibility with non-csh shells. The only change that I made in the logic was to conform to the directory structure of this branch (`initfiles/local-init` -> `greetfiles/LOCAL-INIT`).
This commit is contained in:
parent
ce4eae736e
commit
ba65225017
339
run-medley
Normal file → Executable file
339
run-medley
Normal file → Executable file
@ -1,4 +1,4 @@
|
||||
#!/bin/tcsh -f
|
||||
#!/bin/sh
|
||||
#
|
||||
# Run Medley
|
||||
#
|
||||
@ -14,213 +14,210 @@
|
||||
# -noxns means suppress Lisp xns.
|
||||
|
||||
# LDESRCESYSOUT
|
||||
# LDESOURCESYSOUT SYSOUT full-file name you want to run
|
||||
# LDESOURCESYSOUT SYSOUT full-file name you want to run
|
||||
|
||||
# LDEDESTSYSOUT SYSOUT name for destination of SAVEVM/LOGOUT
|
||||
# LDEDESTSYSOUT SYSOUT name for destination of SAVEVM/LOGOUT
|
||||
|
||||
# LDEKBDTYPE
|
||||
# type2
|
||||
# type3
|
||||
# type4
|
||||
# jle
|
||||
# as3000j
|
||||
# type2
|
||||
# type3
|
||||
# type4
|
||||
# jle
|
||||
# as3000j
|
||||
# LDEFILETIMEOUT
|
||||
|
||||
|
||||
setenv HOSTNAME `hostname`
|
||||
setenv OSVERSION `uname -r`
|
||||
export HOSTNAME=`hostname`
|
||||
export OSVERSION=`uname -r`
|
||||
|
||||
# Directory variables are accessible from Lisp via UNIX-GETENV
|
||||
|
||||
if (! $?MEDLEYDIR ) setenv MEDLEYDIR `pwd`
|
||||
if (! -d $MEDLEYDIR/loadups ) then
|
||||
if [ -z "$MEDLEYDIR" ] ; then export MEDLEYDIR=`pwd`; fi
|
||||
if [ ! -d $MEDLEYDIR/loadups ] ; then
|
||||
echo MEDLEYDIR not found: "$MEDLEYDIR"
|
||||
exit 1
|
||||
endif
|
||||
fi
|
||||
|
||||
if (! $?MAIKODIR ) then
|
||||
setenv MAIKODIR $MEDLEYDIR/../maiko
|
||||
if (! -d "$MAIKODIR"/bin ) then
|
||||
if [ -z "$MAIKODIR" ] ; then
|
||||
export MAIKODIR="$MEDLEYDIR/../maiko"
|
||||
if [ ! -d "$MAIKODIR"/bin ] ; then
|
||||
echo "MAIKODIR not found: $MAIKODIR"
|
||||
exit 1
|
||||
endif
|
||||
endif
|
||||
fi
|
||||
fi
|
||||
|
||||
setenv LDEINIT "$MEDLEYDIR/initfiles/local-init"
|
||||
export LDEINIT="$MEDLEYDIR/greetfiles/LOCAL-INIT"
|
||||
|
||||
|
||||
set mem="-m 256" # Default, has to be set
|
||||
#set geometry="-g 1060x790"
|
||||
mem="-m 256" # Default, has to be set
|
||||
#geometry="-g 1060x790"
|
||||
# MBA screensize
|
||||
set geometry="-g 1440x900"
|
||||
set screensize="-sc 1440x900"
|
||||
setenv LDEKBDTYPE x
|
||||
set ICONSPEC=" "
|
||||
geometry="-g 1440x900"
|
||||
screensize="-sc 1440x900"
|
||||
export LDEKBDTYPE=x
|
||||
ICONSPEC=" "
|
||||
|
||||
setenv LDEFILETIMEOUT 60
|
||||
setenv TAKEXNSDOWN 0
|
||||
setenv LDELISPXNS 0
|
||||
export LDEFILETIMEOUT=60
|
||||
export TAKEXNSDOWN=0
|
||||
export LDELISPXNS=0
|
||||
#default is no lispxns
|
||||
|
||||
if ($#argv != 0) then
|
||||
while ("$1" != "")
|
||||
switch ($1)
|
||||
case "-m":
|
||||
set mem="-m $2"
|
||||
shift
|
||||
breaksw
|
||||
case "-xlisp":
|
||||
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/xlisp.sysout"
|
||||
breaksw
|
||||
case "-lisp":
|
||||
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/lisp.sysout"
|
||||
breaksw
|
||||
case "-xfull35":
|
||||
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/xfull35.sysout"
|
||||
breaksw
|
||||
case "-full":
|
||||
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/full.sysout"
|
||||
breaksw
|
||||
case "-lfg":
|
||||
case "-lfg35":
|
||||
case "-xlfg35":
|
||||
setenv LDESRCESYSOUT "$LFGPARSERDIR/release/lfg35.sysout"
|
||||
set ICONSPEC = "-iconbitmap $LFGPARSERDIR/release/lfg.xbm -icontitle Xerox"
|
||||
breaksw
|
||||
case "-nogreet":
|
||||
setenv LDEINIT ""
|
||||
breaksw
|
||||
case "-greet"
|
||||
setenv LDEINIT "$2"
|
||||
shift
|
||||
breaksw
|
||||
case "-xns":
|
||||
setenv TAKEXNSDOWN 1
|
||||
setenv LDELISPXNS 1
|
||||
breaksw
|
||||
case "-noxns":
|
||||
setenv TAKEXNSDOWN 0
|
||||
setenv LDELISPXNS 0
|
||||
breaksw
|
||||
case "-raw":
|
||||
unsetenv DISPLAY
|
||||
breaksw
|
||||
case "-geometry":
|
||||
set geometry="-g $2"
|
||||
shift
|
||||
breaksw
|
||||
case "-screensize":
|
||||
set screensize="-sc $2"
|
||||
shift
|
||||
breaksw
|
||||
case "-display":
|
||||
setenv DISPLAY $2
|
||||
shift
|
||||
breaksw
|
||||
case "-t":
|
||||
set xtimeout=$2
|
||||
shift
|
||||
breaksw
|
||||
case "-prog":
|
||||
set progparam=$2
|
||||
shift
|
||||
breaksw
|
||||
case "-vmem":
|
||||
setenv LDEDESTSYSOUT $2
|
||||
shift
|
||||
breaksw
|
||||
case "-kbd":
|
||||
setenv LDEKBDTYPE $2
|
||||
shift
|
||||
breaksw
|
||||
|
||||
default:
|
||||
# anything else is a public sysout name
|
||||
if (`expr index "$1" "[-]"` == 1) then
|
||||
set name=`expr substr $1 2 999`
|
||||
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/${name}.sysout"
|
||||
else # not an option so must be a sysout name
|
||||
0 setenv LDESRCESYSOUT $1
|
||||
endif
|
||||
breaksw
|
||||
endsw
|
||||
shift
|
||||
end
|
||||
else
|
||||
# no options specified
|
||||
endif
|
||||
while [ "$#" -ne 0 ]; do
|
||||
case "$1" in
|
||||
"-m")
|
||||
mem="-m $2"
|
||||
shift
|
||||
;;
|
||||
"-xlisp")
|
||||
export LDESRCESYSOUT="$MEDLEYDIR/loadups/xlisp.sysout"
|
||||
;;
|
||||
"-lisp")
|
||||
export LDESRCESYSOUT="$MEDLEYDIR/loadups/lisp.sysout"
|
||||
;;
|
||||
"-xfull35")
|
||||
export LDESRCESYSOUT="$MEDLEYDIR/loadups/xfull35.sysout"
|
||||
;;
|
||||
"-full")
|
||||
export LDESRCESYSOUT="$MEDLEYDIR/loadups/full.sysout"
|
||||
;;
|
||||
"-lfg" | "-lfg35" | "-xlfg35")
|
||||
export LDESRCESYSOUT="$LFGPARSERDIR/release/lfg35.sysout"
|
||||
ICONSPEC="-iconbitmap $LFGPARSERDIR/release/lfg.xbm -icontitle Xerox"
|
||||
;;
|
||||
"-nogreet")
|
||||
export LDEINIT=""
|
||||
;;
|
||||
"-greet")
|
||||
export LDEINIT="$2"
|
||||
shift
|
||||
;;
|
||||
"-xns")
|
||||
export TAKEXNSDOWN=1
|
||||
export LDELISPXNS=1
|
||||
;;
|
||||
"-noxns")
|
||||
export TAKEXNSDOWN=0
|
||||
export LDELISPXNS=0
|
||||
;;
|
||||
"-raw")
|
||||
unset DISPLAY
|
||||
;;
|
||||
"-geometry")
|
||||
geometry="-g $2"
|
||||
shift
|
||||
;;
|
||||
"-screensize")
|
||||
screensize="-sc $2"
|
||||
shift
|
||||
;;
|
||||
"-display")
|
||||
export DISPLAY=$2
|
||||
shift
|
||||
;;
|
||||
"-t")
|
||||
xtimeout=$2
|
||||
shift
|
||||
;;
|
||||
"-prog")
|
||||
progparam=$2
|
||||
shift
|
||||
;;
|
||||
"-vmem")
|
||||
export LDEDESTSYSOUT=$2
|
||||
shift
|
||||
;;
|
||||
"-kbd")
|
||||
export LDEKBDTYPE=$2
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
# anything else is a public sysout name
|
||||
case "$1" in
|
||||
"-"*)
|
||||
name=`expr substr $1 2 999`
|
||||
export LDESRCESYSOUT="$MEDLEYDIR/loadups/${name}.sysout"
|
||||
;;
|
||||
*) # not an option so must be a sysout name
|
||||
export LDESRCESYSOUT=$1 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if ($?LDEDESTSYSOUT) then
|
||||
if (-f /$HOSTNAME/$LOGNAME/lisp.virtualmem) then
|
||||
setenv LDEDESTSYSOUT /$HOSTNAME/$LOGNAME/lisp.virtualmem
|
||||
else if (-f ~/lisp.virtualmem) then
|
||||
setenv LDEDESTSYSOUT ~/lisp.virtualmem
|
||||
else if (-d /$HOSTNAME/$LOGNAME) then
|
||||
setenv LDEDESTSYSOUT /$HOSTNAME/$LOGNAME/lisp.virtualmem
|
||||
endif
|
||||
endif
|
||||
if [ -z "$LDEDESTSYSOUT" ] ; then
|
||||
if [ -f /$HOSTNAME/$LOGNAME/lisp.virtualmem ]; then
|
||||
export LDEDESTSYSOUT=/$HOSTNAME/$LOGNAME/lisp.virtualmem
|
||||
elif [ -f ~/lisp.virtualmem ]; then
|
||||
export LDEDESTSYSOUT=~/lisp.virtualmem
|
||||
elif [ -d /$HOSTNAME/$LOGNAME ]; then
|
||||
export LDEDESTSYSOUT=/$HOSTNAME/$LOGNAME/lisp.virtualmem
|
||||
fi
|
||||
fi
|
||||
|
||||
if (! $?LDESRCESYSOUT) then
|
||||
setenv LDESRCESYSOUT $LDEDESTSYSOUT
|
||||
endif
|
||||
if [ -z "$LDESRCESYSOUT" ] ; then
|
||||
export LDESRCESYSOUT="$LDEDESTSYSOUT"
|
||||
fi
|
||||
|
||||
|
||||
if (! $?LDEKBDTYPE) then
|
||||
# switch (`/usr/bin/hostinfo keyboardtype`)
|
||||
# endsw
|
||||
endif
|
||||
# if [ ! -z "$LDEKBDTYPE" ] ; then
|
||||
# # switch (`/usr/bin/hostinfo keyboardtype`)
|
||||
# # endsw
|
||||
# fi
|
||||
echo "keyboard type is " $LDEKBDTYPE
|
||||
|
||||
setenv INMEDLEY 1
|
||||
export INMEDLEY=1
|
||||
echo "sysout is " $LDESRCESYSOUT
|
||||
#set version = `medley-lisp-version $LDESRCESYSOUT`
|
||||
set version = "35010"
|
||||
if ($status) exit
|
||||
#version = `medley-lisp-version $LDESRCESYSOUT`
|
||||
version="35010"
|
||||
|
||||
if ($LDELISPXNS) then
|
||||
set prog="ldeether"
|
||||
else
|
||||
set prog="lde"
|
||||
echo "running without xns protocols"
|
||||
endif
|
||||
switch ("$version")
|
||||
case "35000":
|
||||
set version = "3.5"
|
||||
breaksw
|
||||
case "35010":
|
||||
set version = "3.501"
|
||||
breaksw
|
||||
default:
|
||||
set version = "3.5"
|
||||
endsw
|
||||
if [ "$LDELISPXNS" -ne "0" ] ; then
|
||||
prog="ldeether"
|
||||
else
|
||||
prog="lde"
|
||||
echo "running without xns protocols"
|
||||
fi
|
||||
case "$version" in
|
||||
"35000")
|
||||
version="3.5"
|
||||
;;
|
||||
"35010")
|
||||
version="3.501"
|
||||
;;
|
||||
*)
|
||||
version="3.5"
|
||||
;;
|
||||
esac
|
||||
echo "using emulator version $version"
|
||||
|
||||
switch ("$version")
|
||||
case "3.5":
|
||||
case "3.501":
|
||||
|
||||
setenv PATH .:"$PATH"
|
||||
pushd "$MAIKODIR"/bin
|
||||
setenv PATH $MAIKODIR/`osversion`.`machinetype`:"$PATH"
|
||||
popd
|
||||
case "$version" in
|
||||
"3.5"|"3.501")
|
||||
|
||||
# if ${?DISPLAY} then # we are running under X
|
||||
$prog $mem $geometry $screensize $ICONSPEC
|
||||
# else $prog $mem
|
||||
endif
|
||||
breaksw
|
||||
export PATH=.:"$PATH"
|
||||
old_wd=`pwd`
|
||||
cd "$MAIKODIR"/bin
|
||||
export PATH=$MAIKODIR/`osversion`.`machinetype`:"$PATH"
|
||||
cd $old_wd
|
||||
|
||||
# if ${?DISPLAY} then # we are running under X
|
||||
$prog $mem $geometry $screensize $ICONSPEC
|
||||
# else $prog $mem
|
||||
# endif
|
||||
;;
|
||||
|
||||
*) echo HMM
|
||||
|
||||
esac
|
||||
|
||||
endsw
|
||||
#
|
||||
# Now we are done, so clean up after ourselves
|
||||
#
|
||||
cleanup:
|
||||
|
||||
if ${?DISPLAY} then
|
||||
# do X cleanup
|
||||
else
|
||||
# reset
|
||||
endif
|
||||
# if ${?DISPLAY} then
|
||||
# # do X cleanup
|
||||
# else
|
||||
# # reset
|
||||
# endif
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user