/*****************************************************************************

	ExeCtY()

	This function executes a control-Y command.

*****************************************************************************/

#include "ZPort.h"		/* define portability identifiers */
#include "DefTeco.h"		/* define general identifiers */

extern	DEFAULT	PushEx();	/* push onto expression stack */

EXTERN	BYTE	CmdMod;		/* command modifiers flags for @, :, etc. */
EXTERN	char	*EBfBeg;	/* beginning of edit buffer */
EXTERN	char	*GapBeg;	/* beginning of edit buff gap */
EXTERN	LONG	MArgmt;		/* m part of m,n argument pair */
EXTERN	LONG	RefLen;		/* holds ^S value */


DEFAULT ExeCtY()				/* execute ^Y command */
{
#if DEBUGGING
DbgInd+=2;if(DbgLvl>=1){DbgMsg();DbgDBf("ExeCtY: called.\015\012");DbgROf();}
#endif

	MArgmt = (GapBeg-EBfBeg) + RefLen;	/* set m part of m,n pair */
	CmdMod |= MARGIS;			/* say that m part exists */
#if DEBUGGING
if(DbgLvl>=1)
{DbgMsg();DbgDBf("ExeCtY: returning PushEx().\015\012");DbgROf();}DbgInd-=2;
#endif
	return(PushEx(GapBeg-EBfBeg, OPERAND));	/* set n part of m,n pair */
}
