/****************************************************************************
** PROJECT  **                           HELPPC                            **
*****************************************************************************
** FUNCTION ** THIS MACRO WILL INVOKE HELPPC WITH THE TOPIC PASSED TO IT   **
**          ** AS A PARAMETER. IF NO TOPIC WAS PASSED, THE STRING UNDER    **
**          ** THE CURSOR IS PICKED UP AND PASSED.                         **
*****************************************************************************
**  AUTHOR  ** WARREN D HUMPHREYS                                          **
*****************************************************************************
**   DATE   ** MONDAY 2ND SEPTEMBER 1991                                   **
*****************************************************************************
** COMMENTS ** RECOMMENDED KEY ASSOCIATIONS ARE :- <Ctrl-h> HelpPC         **
*****************************************************************************
**                          MODIFICATION HISTORY                           **
*****************************************************************************
**   DATE   ** WHO **                     CHANGED WHAT                     **
*****************************************************************************
**          **     **                                                      **
****************************************************************************/

/****************************************************************************
**                           FUNCTION PROTOTYPES                           **
****************************************************************************/

void		HelpPC(string ~);
string	_GetHelpPCTopic(void);

/****************************************************************************
**                            GLOBAL VARIABLES                             **
****************************************************************************/

/****************************************************************************
**                            ACTUAL FUNCTIONS                             **
****************************************************************************/

void		HelpPC(string ~)
{
	string	CommandLine,
					Topic;

	if (!get_parm(0,Topic))
		Topic=_GetHelpPCTopic();

	sprintf(CommandLine,"HELPPC %s",Topic);
	dos(CommandLine);
}


string	_GetHelpPCTopic(void)
{
	int			TopicLen;

	string	Topic;

	save_position();

	search_back("<|[~_$a-zA-Z0-9][_$a-zA-Z]",1);

	if ((TopicLen=search_fwd("[_$a-zA-Z0-9]+",-1) - 1) > 0)
		Topic=read(TopicLen);

	restore_position();

	returns(Topic);
}
