perm filename EMAIN5.2[EAL,HE]1 blob
sn#674830 filedate 1982-09-27 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 {$NOMAIN Editor: Immediate-mode command getter }
C00005 00003 procedure eGetCommand (ch: ascii) external
C00007 ENDMK
Cā;
{$NOMAIN Editor: Immediate-mode command getter }
%include emain.hdr;
{ Externally defined routines from elsewhere: }
(* From EAUX1A *)
procedure out1Line(line,start,length: integer); external;
(* From EEXPED *)
function exprEditor(line,lstart,llength,estart: integer;
var elength: integer; off: integer): ascii; external;
(* From EAUX3A *)
procedure getEcmd; external;
(* From PP *)
procedure ppLine; external;
procedure ppOutNow; external;
procedure ppChar(ch: ascii); external;
procedure pp5(ch: c5str; length: integer); external;
procedure pp10(ch: cstring; length: integer); external;
procedure pp10L(ch: cstring; length: integer); external;
procedure pp20(ch: c20str; length: integer); external;
procedure pp20L(ch: c20str; length: integer); external;
procedure ppDelChar; external;
(* From DISP *)
procedure showCursor(line,col: integer); external;
procedure outLine(line,col,start,length: integer); external;
procedure eGetCommand (ch: ascii); external;
procedure eGetCommand ;
var i: integer; actch: char;
begin
ppDelChar;
ppLine;
listing[1] := ch;
if not smartTerminal then outline(dispHeight+ppOffset+1,1,1,1);
i := 1;
actch := exprEditor(dispHeight+ppOffset+1,1,1,1,i,1);
if smartTerminal then (* deboldify it *)
out1Line(dispHeight+ppOffset+1,1,maxchar);
for i := 1 to maxChar do ppBuf[i] := listing[i];
ppBufp := maxChar;
oppBufp := maxChar;
ppLine;
listing[1] := ppBuf[1]; (* fix things up for getToken *)
listing[maxChar+1] := ' ';
showCursor(cursorLine-topDline-firstDline+2,1);
getEcmd; (* see what we're being asked to do *)
end;