FSE 
.PROC,FSE*I,\ 
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMXOPL 
*CALL COMPROC 
. 
  
* FSE - FULL SCREEN EDITOR. 
*CALL     PSRLEV
* 
  
.*****  FSE 
.*      INSTALLATION INSTRUCTIONS:  
  
.***    INVOCATION
.*      BEGIN,FSE,INSTALL.
  
.***    INPUT.
.*         OPL_PSROUT. (NOS2999)  NOS COMPOSITE OPL.
  
.***    OUTPUT: 
.*         BINARIES ADDED TO FILE *PRODUCT*.
  
.***    DEPENDENCIES: 
.*         BUILD OSTEXT FIRST.
.*         BUILD *SYMPL* AND *SRVLIB* FIRST.
  
  
  
.*
.*  START FSE VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,FSE,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        FSE. 
EXIT. 
REVERT(ABORT)  FSE. 
  
  
.DATA,ZZZPROC 
.PROC,FSE.
*CALL     PSRLEV
BEGIN(MODIFYX,INSTALL)    MAKE PROPER MODIFY1 PROC LOCAL
BEGIN(PRDAUX,INSTALL,PRDNAME=OPL,#PNO=PN99,#PRO=PR99) 
RENAME(OPL=AUXPL) 
  
BEGIN(GETULIB,INSTALL,SYSLIB,SRVLIB,SYMLIB,SFLIB) 
  
NOTE(MODIR,NR)+*EDIT,FSELIB,VDTSUBS 
BEGIN(,MODIFY1) 
COMPASS(A,I,B=LGO1,S=NOSTEXT,S=PSSTEXT,L=LIST)
REWIND,LGO1.
LIBGEN,F=LGO1,P=FSELIB,NX=1.
REWIND,LGO1.
  
NOTE(MODIR,NR)+*IDENT DUMMY 
NOTE(MODIR,NR)+*DEFINE,SINGLE 
NOTE(MODIR,NR)+*DEFINE,EDITOR 
NOTE(MODIR,NR)+*EDIT,FSEEX,FSEDATA,FSETABL
NOTE(MODIR,NR)+*EDIT,FSESUBS,FSEFILE,FSEFORM,FSESCRN
NOTE(MODIR,NR)+*EDIT,FSECMDS,FSEEDIT,FSEWORK,FSEMAIN
NOTE(MODIR,NR)+*EDIT,VIRTERM,TERMIO 
BEGIN(,MODIFY1) 
SYMPL(ET=T,I,B=LGO1,LXR=LIST) 
  
NOTE(MODIR,NR)+*EDIT,FSEBUFF
BEGIN(,MODIFY1) 
COMPASS(A,I,B=LGO2,L=LIST)
  
REWIND,LGO1,LGO2. 
  
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=FSELIB/SRVLIB/SYMLIB/SYSLIB/SFLIB)
LOAD(LGO1)
SATISFY.
LOAD(LGO2)
NOGO(LGO,FSEEX,FSE,$RFL=$,$SSJ=$) 
  
REWIND,LGO1,LGO2. 
  
NOTE(MODIR,NR)+*IDENT DUMMY 
NOTE(MODIR,NR)+*DEFINE,MULTI
NOTE(MODIR,NR)+*DEFINE,EDITOR 
NOTE(MODIR,NR)+*EDIT,SMFEX,FSESUBS,FSEFORM,FSESCRN,FSEEDIT,FSEWORK
NOTE(MODIR,NR)+*EDIT,VIRTERM,TERMIO 
BEGIN(,MODIFY1) 
SYMPL(ET=T,I,B=LGO1,LXR=LIST) 
  
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=FSELIB/SRVLIB/SYMLIB/SYSLIB/SFLIB)
LOAD(LGO1)
NOGO(LGO,SMFEX) 
  
NOTE(MODIR,NR)+*EDIT,SMF+*NOSEQ 
NOTE(MODIR,NR)+*EDIT,EOR1,FSEHELP,FSTEACH,FSEPROC,SMFSTAT 
BEGIN(,MODIFY1) 
PURGE(FSEHELP/NA) 
RETURN(SMF,FSEHELP,FSTEACH,FSEPROC,SMFSTAT) 
DEFINE(FSEHELP) 
COPYBR(COMPILE,SMF) 
COPYBR(COMPILE,FSEHELP) 
COPYBR(COMPILE,FSTEACH) 
COPYBR(COMPILE,FSEPROC) 
COPYBR(COMPILE,SMFSTAT) 
REPLACE(SMF,FSTEACH,FSEPROC,SMFSTAT)
BEGIN(PFGOUT,INSTALL,PRDNAME=FSE1,LFN=COMPILE)
  
.IF, ( R1G .NE. 0 ) ,GENPL. 
RETURN,NEWPL. 
GTR(OPL,ZZZ)OPLC/COPYRT,OPLC/COMFDS1-OPL/SMF
LIBEDIT(P=ZZZ,N=NEWPL,B=0,Z)/*BUILD FSE 
RETURN,ZZZ. 
BEGIN(PRDOUT,INSTALL,PRDNAME=FSE1,#PNO=PN99,#PRO=PR99)
.ENDIF(GENPL) 
  
BEGIN(GENDIR,INSTALL,LIB=26)
BEGIN(SAVELGO,INSTALL,PRDNAME=FSE1) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.        FSE ******************************** 
EXIT. 
REVERT(ABORT)  FSE ******************************** 
*WEOR 
