1#!/bin/sh
2#
3# newsyntax -- update a screenrc file from 3.2 to 3.3 syntax
4#
5# please check all comments after running this script and watch out 
6# for funny passages.
7#
8if [ $# != 1 ]; then
9  echo "usage $0 screenrcfile"
10  exit 1;
11fi
12
13#Ultrix 4.2 /bin/sh does not handle "read a < $1" 
14#Dean Gaudet <dgaudet@watdragon.uwaterloo.ca>
15exec < $1
16read a
17
18if [ ."$a" = '.#3.3' ]; then
19  echo "$1 already updated"
20  exit 0
21fi
22
23cp $1 $1.old
24echo "#3.3" > $1
25echo "# Do not remove the above line. This screen rc file was updated" >> $1
26echo "# by the newsyntax script." >> $1
27sed < $1.old >> $1 \
28-e 's/\([	 #]\)flow/\1defflow/g' \
29-e 's/^flow/defflow/g' \
30-e 's/\([	 #]\)set[ 	]*defflow/\1flow/g' \
31-e 's/^set[ 	]*defflow/flow/g' \
32-e 's/\([	 #]\)mode/\1defmode/g' \
33-e 's/^mode/defmode/g' \
34-e 's/\([	 #]\)set[ 	]*defmode/\1defmode/g' \
35-e 's/^set[ 	]*defmode/defmode/g' \
36-e 's/\([	 #]\)monitor/\1defmonitor/g' \
37-e 's/^monitor/defmonitor/g' \
38-e 's/\([	 #]\)set[	 ]*defmonitor/\1monitor/g' \
39-e 's/^set[	 ]*defmonitor/monitor/g' \
40-e 's/\([	 #]\)login/\1deflogin/g' \
41-e 's/^login/deflogin/g' \
42-e 's/\([	 #]\)set[	 ]*deflogin/\1login/g' \
43-e 's/^set[	 ]*deflogin/login/g' \
44-e 's/\([	 #]\)wrap/\1defwrap/g' \
45-e 's/^wrap/defwrap/g' \
46-e 's/\([	 #]\)set[	 ]*defwrap/\1wrap/g' \
47-e 's/^set[	 ]*defwrap/wrap/g' \
48-e 's/\([	 #]\)scrollback/\1defscrollback/g' \
49-e 's/^scrollback/defscrollback/g' \
50-e 's/\([	 #]\)set[	 ]*defscrollback/\1scrollback/g' \
51-e 's/^set[	 ]*defscrollback/scrollback/g' \
52-e 's/\([	 #]\)refresh/\1allPARtial/g' \
53-e 's/^refresh/allPARtial/g' \
54-e 's/\([	 #]\)redraw/\1allPARtial/g' \
55-e 's/^redraw/allPARtial/g' \
56-e 's/\([	 #]\)set[	 ]*allPARtial/\1PARtial/g' \
57-e 's/^set[	 ]*allPARtial/PARtial/g' \
58-e 's/\([	 #]\)visualbell/\1vbell/g' \
59-e 's/^visualbell/vbell/g' \
60-e 's/PARtial\([ 	]*\)on/partial\1off/g' \
61-e 's/PARtial\([ 	]*\)off/partial\1on/g' \
62-e 's/allPARtial/refresh/g' \
63-e 's/^set[ 	]//g'
64
65