38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
/*****************************************************************************
|
|
ExeEY()
|
|
This function executes an EY command.
|
|
*****************************************************************************/
|
|
#include "zport.h" /* define portability identifiers */
|
|
#include "tecoc.h" /* define general identifiers */
|
|
#include "defext.h" /* define external global variables */
|
|
DEFAULT ExeEY() /* execute an EY command */
|
|
{
|
|
BOOLEAN ColonMod;
|
|
DBGFEN(1,"ExeEY",NULL);
|
|
ColonMod = (CmdMod & COLON); /* is it :EY ? */
|
|
CmdMod &= ~COLON; /* clear modifiers flags */
|
|
GapBeg = EBfBeg; /* clear the... */
|
|
GapEnd = EBfEnd; /* ...edit buffer */
|
|
if (IsEofI[CurInp]) { /* if at end-of-file */
|
|
if (ColonMod) { /* if it's :EY */
|
|
DBGFEX(1,DbgFNm,"PushEx(0)");
|
|
return PushEx(0L, OPERAND);
|
|
} else {
|
|
EStTop = EStBot; /* clear expression stack */
|
|
DBGFEX(1,DbgFNm,"SUCCESS");
|
|
return SUCCESS;
|
|
}
|
|
}
|
|
if (RdPage() == FAILURE) { /* read a page */
|
|
DBGFEX(1,DbgFNm,"FAILURE");
|
|
return FAILURE;
|
|
}
|
|
if (ColonMod) { /* if it's :EY */
|
|
DBGFEX(1,DbgFNm,"PushEx(-1)");
|
|
return PushEx(-1L, OPERAND);
|
|
}
|
|
EStTop = EStBot; /* clear expression stack */
|
|
DBGFEX(1,DbgFNm,"SUCCESS");
|
|
return SUCCESS;
|
|
}
|