Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - c/kcc5/exec.mod
There are no other files named exec.mod in the archive.
18-Sep-87 00:59:30-PDT,2811;000000000001
Return-Path: <WANCHO@SIMTEL20.ARPA>
Received: from SIMTEL20.ARPA by SRI-NIC.ARPA with TCP; Fri 18 Sep 87 00:59:25-PDT
Date: Fri, 18 Sep 87 01:58:55 MDT
From: Frank J. Wancho <WANCHO@SIMTEL20.ARPA>
Subject: EXEC RSCAN Feature
To: KLH@SRI-NIC.ARPA
cc: WANCHO@SIMTEL20.ARPA
In-Reply-To: <12335524465.21.KLH@SRI-NIC.ARPA>
Message-ID: <12335535249.9.WANCHO@SIMTEL20.ARPA>

The following changes, delimited by the IFN SNLSW conditional, to the
5.1 EXEC cause the EXEC to check and read its RSCAN buffer.

In EXEC0.MAC:

CMDIN1:
IFN SNLSW,<
	MOVEI A,.RSINI		;[039] MAKE INPUT AVAILABLE
	RSCAN			;[039] GET THE INPUT
	 JRST NORSCN		;[039] NOTHING THERE
	JUMPE A,NORSCN		;[039] NOTHING THERE EITHER
	HRROI A,0		;[039] INITIALIZE COMAND STUFF
	CALL READ1		;[039]
	MOVEI B,[FLDDB. .CMKEY,,[1,,1
				[ASCIZ /EXEC/],,0]] ;[039] LOOK FOR THIS
	CALL FLDSKP		;[039] TRY TO PARSE OUR NAME
	 JRST NORSCN		;[039] FORGET IT THEN
	MOVEI B,[FLDDB. .CMCFM]	;[039] WAS IT FOLLOWED BY A CRLF
	CALL FLDSKP		;[039] TAKE A LOOK
	 SKIPA			;[039] NO, THEN SET THE RIGHT FLAGS
	JRST NORSCN		;[039] YES, ACT NORMALLY
	SETOM FILINI		;[039] SET DID COMAND.CMD FILE
	SETZM MESMSF		;[039] SET DID "YOU HAVE MAIL" MESSAGE
	SETOM PCCURC		;[039] SO SETSN WON'T BE DONE
	SETOM RSCANF		;[039] RSCAN FOUND SOMETHING
	JRST CMDIN2		;[039] AND SKIP HEARLDS
NORSCN:
>;IFN SNLSW

Later in EXEC0.MAC, just before CIN0:

	CALL RLJFNS		;RELEASE ANY JFNS USED IN PREVIOUS COMMAND
				;NOTE:  RLJFNS CALLED HERE RATHER THAN EARLIER
				;TO FLUSH JFN USED BY MWATCH.  THIS IS NECESSARY
				;SO THAT "COPY TTY:$" DOESN'T TYPE "MAIL"!
;CM156	SETZM CIPF		;SAY NO COMMAND IN PROGRESS
	SETOM CLF		;SAY WE'RE AT COMMAND LEVEL
IFN SNLSW,<
	SKIPE RSCANF		;[039] IF DOING RESCAN ONLY
	 SKIPL RSCNCD		;[039] AND HAVE DONE COMMANDS ONCE
	  SKIPA			;[039]
	   JRST QUIT2		;[039] MEET POP CODE TO TERMINATE
	SKIPL RSCANF		;[039] IF RSCAN FLAG, THEN DON'T INIT
	 JRST NLGIN1		;[039] ONLY IF NOT DOING RESCAN
	SETOM RSCNCD		;[039] SO WE ONLY DO THIS ONCE
	SKIPA			;[039]
NLGIN1:
>
	CALL READY		;INITIALIZE FOR COMND JSYS
	MOVEI A,RERET		;REGULAR ERROR RETURN ADDRESS
	MOVEM A,CERET		;SAY WHERE TO GO AFTER PRINTING ERR MSG

;CLEAR SOME FLAGS

	MOVEI Z,0		;CLEAR FLAGS

;BEGIN INPUTTING AND DECODING A COMMAND
;**;[1002]	ADD LABEL CIN0 AT CIN1-1
CIN0::	CALL COMSET		;[1002]SET UP THINGS FOR COMMAND INPUT


In EXEC1.MAC, make QUIT2: global (QUIT2::).


In EXECPR.MAC, add:

IFN SNLSW,<
RSCANF::Z			;[039] RSCAN FLAG, NONZERO IF RSCANING
RSCNCD::Z			;[039] FLAG FOR SINGLE CMD TERMINATION
>;IFN SNLSW

CSZ4==:.-1			;END OF AREA TO ZERO AT STARTUP (BEGINS AT CSZ1)
XPGD==.-1			;END OF NON-PAGE DATA


Finally, in EXECGL.MAC, add:

;[039] RSCAN VARIABLES
QEXT <RSCANF,RSCNCD,QUIT2>
-------