GET "LIBHDR"

GET "evheader"

LET ExtractFromEventBuffer(b) = VALOF
$( LET p = b!evb.Extraction;
   IF p=b!evb.Insertion THEN RESULTIS FALSE;
   result2 := b!(evb.Buffer+p);
   p := p+1;
   IF p>b!evb.BufferEnd THEN p := 0;
   b!evb.Extraction := p
   RESULTIS TRUE
$)

LET start() BE
$( LET flag = FALSE;
   SetEventHandler(ev.EscapeFlag, @flag, evh.SetFlag);
   WHILE ~flag DO LOOP;
   flag := FALSE;
   $( LET c = ?;
      WHILE ~flag DO c := rdch()
   $)
$)
