GENMENUX 3.0
Written By Andrew Ross MacNeill

New Features in GENMENUX 3.0
*:FONT <Expr>,<SizeN> [STYLE <styleC>]
	Directive that adds the FONT clause to the DEFINE xxx statement.

*:CLAUSE <exprC>
	Directive that allows user to identify whatever clauses is necessary to the menu DEFINE statement
	
*:SKIP_REDIRECT <exprC>
	Directive that places all of the SET SKIP statements into a separate procedure in the MPR file
	This procedure handles all of the SET SKIP statements _much_ faster than it tasks for FoxPro
	to do it.
	The <exprC> may be left empty. In that case, the procedure defaults to SETSKIP.
	
*:SKIP_AUTO
	Directive that automatically calls the SKIP_REDIRECT procedure right after the menu is defined.
	
*:NOLOC
	Setup Directive that REMOVES the LOCFILE statement automatically generated by GENMENU.

*:KEYLAB
	Identifies a variable to replace the KEY LABEL setting.

*:AUTOVERSION
	Setup directive that makes the first menu bar into a constantly incrementing number and the MPR
	file simply runs the procedure identified in the Menu bar. This is based on Matt Peirse's AUTO_VER
	routine for GENMENU. Always increments - no more version renumbering!
	
*:DEFCOMMAND_ALWAYS
*:DEFCOMMAND_INCLUDE
	Special directives that update a command statement to be whatever the DEFCOMMAND statement is.
	_ALWAYS means that any existing command statement is overwritten.
	_INCLUDE means that only empty commands are overwriten. These directives are done in conjuction with
	an EVLTXT so you can write really cool DEFCOMMAND statements.
	
_BASEHDR
	CONFIG.FP directive to identify a standard program that holds all of your Setup directives.
	
	
	
GENERAL
	Visual FoxPro 3.0 Compabitility

New Features in GENMENUX 2.0a
*:VARIABLE <exprC>
	Directive that replaces a menu prompt with a variable setting
	This works by replacing the prompt with a close quote and then the variable.
	Because GENMENU only supports double quotes as a delimiter.
	
Bug Fixes in GENMENUX 2.0a
*:CASE 
	CASE statement previously had problems with complex menu designs
	
GENERAL
	Fixes to support EXCLUSIVE setting turned on when dealing with menus
	Fixes to deal with empty menus
	Fixes to allow CONFIG.FP drivers to work properly
	Fix to provide warning if the file m.genmenu is not present

New Features in GENMENUX 2.0
*:CASE <exprC>
	Directive that places all menu definition statements matching logical
	condition in a CASE statement at the end of the menu definition.
	This is useful for Grouping IF statements, which would make menu processing
	run slightly faster.
	
*:REFPRG <exprC>
	Directive that identifies a file that will be created when the menu is 
	generated that contains the necessary code to refresh the menu bars and
	prompts that use the CASE and ARRAY statement. 
	This cuts down having to recall the MPR file.
	
*:MNXDRV0
	New driver that appends the driver to the GENMENU file. This allows 
	a driver to include functions with the same names as normal GENMENU
	functions that provide additional functionality.

*:BEFORE <exprC> | <exprN>
*:AFTER <exprC> | <exprN>
	New directives that allow you to identify where each PAD will be 
	placed on a menu bar. You can use these clauses with Character 
	expressions	for menu pads or numeric expressions for menu bars.

*:MENUCOLOR <exprC>
	Adds clause to DEFINE MENU statement to control menu color setting
	
Additional functions from GENSCRNX 2.0 :
	WORDSTUFF
	INSREC
	DUPREC
	
Enhancements in GENMENUX 2.0
*:COLOR <cExpr>
	Now offers color keywords so user doesn't have to remember RGB settings
	for popular color settings.
	Available color settings are :
		Red
		Green
		White
		Grey
		Maroon
		Aqua
		Royal Blue
		Burgundy
		Light Green
		Khaki
		Baby Blue
		Blue
		Black
		Violet
		Yellow
		Dark Grey
	Passing one of these clauses as a parameter to *:COLOR will tell GENMENUX
	to use the appropriate RGB setting for the menu bar.

*:IF statement now puts brackets around entire statement to work properly with
	multiple logical statements such as 
		*:IF item=.T. AND lang='E'
		now becomes 
		IF (item=.T. AND lang='E')
		
GENMENUX is now more-environment aware

*:ARRAY now handles multi-dimension arrays more efficiently.

All drivers except for MNXDRV5 may be called more than once in a single menu.
This allows multiple GENMENUX drivers to be called from a single menu.

Updates from GENSCRNX 2.0:
	WARNING
	ERRORHNDL
	ESC_CHECK
	WORDSEARCH

Bug Fixes in GENMENUX 2.0

*:IF clause now works properly with a RETURN statement in the Menu Procedure 
	statement.
	
Record level MNX Drivers (2 and 4) now stop if they are at the end of the 
	file when the driver returns control.Previously they continued over
	and over again.
	

GENMENUX 1.1a
Written by Andrew Ross MacNeill
Issued to the PUBLIC DOMAIN

New Features in GENMENUX 1.1a

*:NOACT
	Removes the ACTIVATE MENU clause that is automatically generated by
	GENMENUX.
Keyword Support for IF statement
Keywords allow GENMENUX to put in the names of the PROMPTS, levels, barnames, 
	and numbers	in the IF clause without the developer having to know what each 
	value may be. Keywords supported in 1.1a are :
	*PROMPT*	- Returns Prompt of Menu Object
	*ITEMNUM*	- Returns Item Number of Menu Object
	*LEVEL*		- Returns Level Name of Menu Object
	*NAME*		- Returns Pad Name of Menu Object
	Using the IF statement with keywords works like this :
	*:IF chk_sec("*PROMPT*","*ITEMNUM*")
Enhanced support for the FOUNDATION directive so that any clauses
	you add to it are added to the READ. The FOUNDATION simply issues
	a READ statement that you can add WHEN VALID or whatever clauses to.
Enhanced support for the {{}} clauses by performing an EVLTXT
	on the CONFIG.FP, Setup Snippet, Procedure Snippet and each
	Comment Snippet before reordering.

Bug Fixes in GENMENUX 1.1a

On Line 443, changed code so menu name would be properly displayed.
Updated ERRHNDLR to reflect Ken Levy's changes from GENSCRNX 1.7a
Ensured that directives were CASE-INSENSITIVE
Updated Re-ordering routine to accomodate popups with similar or same names.
Fixed problem with SELECTBAR that was causing invalid syntax in the MPR file.
Enhanced IF processing to speed it up (thanks to MS)
Provided better support for Escape key during menu generation. (it now works!)

New Features in GEMENUX 1.1

*:ARRAY <cArray>
	Adds a loop for a popup that allows the BARS of the popup to be defined
	based on the array. If the Array is two dimensions, the ON SELECT BAR
	statement calls the command identified in the second column of the array.

*:AUTOACT
	AUTOACT will automatically Activate the menu in the Cleanup snippet.
	This is useful if you use the MENUNAME directive and do not place
	the ACTIVATE MENU clause in your code.
	
*:AUTOPOS
	AUTOPOS will allow the user to click on the Line where the menu is
	to start on. This results in a *:LINE directive being added to the
	setup snippet.
	
*:BARHOT
	BARHOT will create hot keys for all menu bar items in the same way
	AUTOHOT creates hot keys for Menu Pads. This directive can only be 
	called in the Comment snippet. However, if it is called at the top
	pad of a menu, all of the items in the submenu will be updated
	accordingly.
	
*:COLOR <cColorPair>
	COLOR allows the definition of an entire Color Pair setting to an
	individual menu pad or item. This allows individual menu items to use
	different color pairs.

*:COLORSET <cExpr>
	ColorSET allows you to define a color scheme for an individual menu 
	pad or item. This allows individual items to use different schemes.
	
*:DELOBJ
	DELOBJ will remove a menu item after GENMENUX has completed directive
	processing but BEFORE it reorders the menu.

*:FOUNDATION <cExpr>
	FOUNDATION will place a READ VALID <cExpr> statement in your Cleanup
	snippet to assist in the creation of a FOUNDATION READ. If you do
	not provide a <cExpr>, the READ will automatically exit when the 
	Prompt is either "EXIT" or "QUIT".
	
*:HIDE
	HIDE will hide the menu bar during the running of the MPR file and 
	show it at the end. This is useful if you use a lot of *:IF statements
	and don't want the user to see a lot of menu activity.
	
*:INSCX <cWinName>  [SAVE [MODAL]]
	INSCX will place a DO MENU.MPR in the SCX specified by cWinName. If there
	are no clauses, INSCX will place the statement at the bottom of the
	Screen Setup Code. If SAVE is specified, INSCX will place a PUSH MENU
	and POPMENU in the Setup and Cleanup code. If MODAL is also specified,
	INSCX will place the DO command in the When Clause for the screen and the
	POP MENU _MSYSMENU clause in the Deactivate snippet.
	
*:LOCATION <cExpr>,<cExpr2>
	LOCATION will update the location of the menu based on <cExpr>.
	cExpr can either be "REPLACE","APPEND","BEFORE", or "AFTER" (just
	like the Menu options.) If cExpr is BEFORE or AFTER, cExpr2 should
	contain either the system menu prompt or pad name that the menu
	is before. This is a SETUP directive only.
	
*:NOXTHERM | _NOXTHERM='ON'
	Tells GENMENUX to use FoxPro's standard thermometer instead of the
	GENMENUX Extended one.
	
*:PADNAME <cExpr>
	Ensures that the current pad's name is <cExpr>. COMMENT Snippet.
	
*:PADPOS | 	POPPOS <nRow>,<nCol>
	PADPOP and POPPOS will place the PAD or Popup at the Row and Column
	specified by nRow and nCol. This is useful for moving your menu 
	around the screen in different locations for your various popups.
	POPPOS must occur within a Submenu.
	
*:POPME <cExpr>
	POPME will make the actual DEFINE POPUP statement conditional on whether
	or not it already exists. The DEFINE POPUP statement is rather slow so
	this directive will place an IF...ENDIF statement around it so the 
	definition is conditional, making the MPR run faster.

*:POPNAME <cExpr>
	Ensures that the current popup's name is <cExpr>. COMMENT Snippet.
	If POPNAME is called on a System Level Pad, it changes the popup
	of the menu below it.
	
*:POPPRECOMMAND <cExpr>
	Allows for a command or function to be called BEFORE a Popup is defined.
	This currently only works when using POPFILES or POPFIELD.
	This allows you to open up a table to use the POPFIELD directive with
	more easily. You are responsible for closing any opened tables.
	
*:POPTITLE <cExpr>
	POPTITLE will define the popup in which the directive is called with
	a title of <cExpr>. This is kind of handy if you want to have titles
	on any of your popups.

*:SELECTBAR
	Currently GENMENU places an ON BAR statement for activating popups.
	Using SELECTBAR will change the ON BAR statements to read
	ON SELECTION BAR which will change the behaviour of activating menu popups.
	This works best when moving the popups in different locations on the
	screen.
	
*:SELECTPAD
	Currently GENMENU places an ON PAD statement for activating popups.
	Using SELECTPAD will change the ON PAD statements to read
	ON SELECTION PAD which will change the behaviour of activating menus.
	This works best when moving the menus in different locations on the
	screen.

*:SYSPOP
	SYSPOP is a directive that wraps the Procedure statement with
	PUSH MENU _MSYSMENU / SET SYSMENU OFF
	POP MENU _MSYSMENU
	It can be defined in either the CONFIG.FP, Setup or Procedure snippets.
	
*:TRNTXT <cExpr>||<cExpr2>
	Replaces all occurences of <cExpr> with <cExpr2> in the procedure 
	snippet.	

*:VERTICAL <nStartRow>,<nSkipRow>
	VERTICAL will cause the entire menu to be created vertically instead of
	horizontally.  You specify the starting row with nStartRow and define
	how many rows are between menus options using nSkipRow.
	
*:WINDOW <cExpr1> [CLAUSES <cExpr2>]
	WINDOW will now automatically create a window named <cExpr1>. You
	may specify additional clauses for the DEFINE WINDOW statement in 
	<cExpr2>. If you do not specify a FROM clause, WINDOW will allow you
	to Size and Place it during compilation by displaying a Window on 
	the screen.
	

*:INSOBJ <cLibrary>.<cObject>
*:DEFOBJ <cLibrary>.<cObject>
*:INCLIB <cLibrary>
*:DEFLIB <cLibrary>
*:FOXMNX <cFileName> / _FOXMNX
	Started the creation of Template Menu Programming using the four above
	directives. The DEF directives will add the menu object to the FOXMNX
	template file with the Library as identified by cLibrary. If cLibrary
	is not identified with the DEFOBJ command, it uses the DEFLIB setting.
	
	
Fixes in Version 1.1.

*:AUTOHOT	Wasn't checking for duplicates when creating hot keys.

General		GENMENUX wouldn't work properly if menu was in a directory
			that was not above the current directory.

General		GENMENUX wasn't creating the temporary menu file properly
			when SHARE was loaded.
			
General		GENMENUX now attempts to cleans up remaining temporary files.

General		GENMENUX now declares PRIVATE ALL LIKE j*, l* and other 
			required variables.

*:AUTOHOT	Wasn't working properly with drivers that change the names
			of the menu prompts.
			
GENMENUX 1.1 Version History

*{ 10/12/93 Added *:SYSPOP option that wraps Procedure with PUSH/POP SET SYSMENU
*{			SYSPOP is a CONFIG.FP, Setup and Procedure Directive.
*{ 10/12/93 Allowed all MNX Drivers and GENMENUX to be memvars with _ during compilation.
*{			These will not override menu defaults but act as additional
*{			substitutes.
*{ 10/12/93 Created BARHOT directive that creates hot keys for Menu Bar items.
*{			This directive can be called for a single Menu Bar or for every
*{			single item.  It will only work if the menu bar is for a 
*{			Command/Procedure or Bar #. It will not work for submenus.
*{			However, if you place BARHOT at the top pad of a menu, it will
*{			ensure that BARHOT is active for all bars in that menu.
*{			This allows you to only use BARHOT on certain Menu Popups
*{ 10/12/93 Fixed an option with AUTOHOT that didn't check for duplicates
*{			when creating the menu bar hot keys.
*{ 10/14/93 Started working on Menu Template options using directives
*{			INSBAR and DEFBAR.
*{ 10/15/93 Added HIDE directive that hides the menu bar while it's being
*{			generated.  If you use the HIDE directive, GENMENUX automatically
*{			calls the NOAUTO directive to properly hide the menu.
*{ 10/19/93 Added support for InsObj and defObj directive. These directives
*{			provide complete menu copy/paste handling across menu template files.
*{ 10/19/93 Added AUTOWIN directive that will create a window and place the 
*{			the menu inside the window and activate the window, etc - all automatically
*{			This is an ER from SB instead of having to call *:WINDOW and define
*{			the Window yourself. AUTOWIN allows you to place and size the Window
*{			during Menu Generation.
*{ 10/19/93 Added AUTOPOS directive that will allow the user to click on the
*{			desired location of the Menu during generation. Perhaps the name
*{			of this directive will change in the near future. 
*{ 10/19/93 When using the MENUNAME directive, you need to activate the menu
*{			after DEFINing it since SET SYSMENU AUTOMATIC won't do it. Instead
*{			of automatically doing it, use the directive AUTOACT. This directive
*{			will also automatically ACTIVATE _MSYSMENU if used.
*{ 10/19/93 Added FOUNDATION directive that creates a Foundation read
*{			clause at the bottom of the menu file. This foundation read
*{			will perform a VALID clause based on the directive's clause.
*{			If there is no directive clause, the FOUNDATION READ is performed
*{			on whether the Prompt is "EXIT" or "QUIT"
*{ 10/19/93 Added *:PADPOS and POPPOS directives that places Pads at Row and Column
*{			specified by PadPOS.
*{ 10/19/93 Added *:SELECTPAD directive that forces you to actively press
*{			Enter when highlighting a PAD to see the Popup.
*{			When using the SELECT directives, you should place positions
*{			on the Popups to work properly.
*{ 10/19/93 Added *:VERTICAL directive that makes the menu a vertical menu
*{			instead of the standard horizontal menu
*{			VERTICAL has two parameters the line to begin at and the lines
*{			to skip between the two.
*{ 10/19/93 Added *:SELECTBAR directive that forces you to actively press
*{			Enter when highlighting a BAR to see the Popup.
*{			When using the SELECT directives, you should place positions
*{			on the Popups to work properly.
*{ 10/19/93 Added *:POPTITLE as a popup directive that places a title
*{			on a popup.
*{ 10/20/93 Added directive to make definition of PAD and/or popup optional
*{			by verifying existence of PAD before Defining Popup.
*{			Since the actual DEFINE POPUP takes time, the IF statement
*{			will make the calling of the menu quicker. Currently it's called
*{			*:POPME and can be called in the submenu popup or passed the
*{			parameter of the popup to Quick Pop
*{			This directive is based on a driver by MicroMega
*{ 10/20/93 New Directive that allows you to define the menu as one of the
*{			four options (Append,Replace,Before,After) *:LOCATION
*{			This directive takes one of the above statements as a parameter
*{			In addition BEFORE and AFTER take the name of the menu pad
*{			or menu name to replace as a parameter.
*{			If it knows the PAD NAME based on the parameter, it uses it
*{			otherwise it defaults to the passed parameter
*{ 10/20/93 Directive to identify PADNAME *:PADNAME and POPUP Name *:POPNAME
*{ 10/20/93 Added support for *:TRNTXT directive.
*{ 10/20/93 Fixed problem that occurs under Windows where the project file
*{			contains double backslashes and it shouldn't.
*{ 10/21/93 Added new wordSearch by Ken Levy (JPL) from GENSCRNX 1.7a
*{ 10/22/93 Addition of qualFile from Steve Sawyer to fix bug with relative paths
*{			While Steve's fix didn't completely work, this has been fixed
*{			using stuff found in GENMENU.
*{ 10/22/93 Creation of *:ARRAY directive that will place a Loop for the
*{			the length of the array to create menu items.
*{ 10/23/93 Renamed all TEMPLATE objects into GENSCRNX Style directives.
*{			Removed INSBAR and DEFBAR directives. Doing this changes
*{			the structure of the FOXMNX file slightly.
*{			WHILE GENMENUX will support INSOBJ and DEFOBJ, it doesn't
*{			yet support BASOBJ and its work.
*{ 10/23/93 Added support for DELOBJ which deletes an Object AFTER
*{			menu pre-processing has been done (ie After MNXDRV2)
*{ 10/23/93 Added support for COLOR PAIR with *:COLOR and COLOR SET with *:COLORSET
*{ 10/23/93 Added support for AUTOWIN to allow users to DEFINE WINDOW
*{			with additional clauses by themselves.
*{ 10/23/93 Made POPME accept a clause so the user can define the
*{			IF condition.
*{ 10/24/93 Addition of INSCX directive (from a suggestion by Mike Feltman)
*{			this directive places the DO MPR clause in the SCX file
*{			specified. If specified with a SAVE option, INSCX will add
*{			PUSH MENU _MSYSMENU to the Code.
*{ 10/25/93 AUTOWIN has been removed in favour of adding additional clauses
*{			to the WINDOW directive.
*{ 10/25/93 Setup directives may also be called in the Top level menu Procedure snippet.
*{ 10/26/93 Included evltxt from GENSCRNX 1.7a.
*{ 10/27/93 GENMENUX now calls CLEANUP to ensure files are closed and removed properly.
*{ 10/27/93 Fixed temporary project to correctly reference temporary menu file
*{ 10/28/93 Ensures variables are defined as PRIVATE or #DEFINEd
*{ 10/30/93 The following changes are all due to ERs from Ken Levy (JPL)
*{			All PUBLIC Statements have been removed from GENMENUX.
*{ 			GENMENUX now uses uniqueFlnm to come up with Unique File Names
*{ 			A Mismatched IF...ENDIF was cleaned up. Wasn't causing problems.
*{			A new directive *:NOTHERM causes GENMENUX to use FoxPro's
*{				normal looking Thermometer instead of the advanced thermometer.
*{			GENMENUX no longer includes my name as part of the comment.
*{ 10/30/93 Cleaned up Thermometer for messages.
*{ 11/01/93 Fixed problem with AUTOHOT that was sometimes making a non
*{			alpha character the hot key.
*{ 11/01/93 Implementation of the POPPRECOMMAND which allows you to
*{ 			run a command before a popup is defined.
*{ 11/01/93 Cleaned up the calling of the POP Commands to work if called
*{			from within a top level menu.
*{***************************
*{ RELEASE OF VERSION 1.1
*{***************************
*{ 11/12/93 On Line 443, changed code so jcOutFile wouldn't get changed.
*{ 11/12/93 Updated ERRHNDLR to reflect Ken Levy's changes.
*{ 11/16/93 Ensured that directives were CASE-INSENSITIVE
*{ 11/16/93 Added NOACT directive that removes the ACTIVATE MENU option
*{			automatically performed by GENMENUX.
*{ 11/19/93 Updated Re-ordering routine to accomodate popups with similar
*{			or same names.
*{ 11/19/93 Fixed problem with SELECTBAR that was causing invalid syntax
*{			in the MPR file.
*{ 11/19/93 Enhanced IF processing to speed it up (thanks to MS)
*{ 11/20/93 Added the support of Keywords to be used in the *:IF statement
*{			at present (to be expanded later) that allows GENMENUX to put
*{			in the names of the PROMPTS, levels, barnames, and numbers
*{			when highlighted with * as in *PROMPT*
*{ 11/20/93 Enhanced support for the FOUNDATION directive so that any clauses
*{			you add to it are added to the READ.
*{ 11/20/93 Enhanced support for the {{}} clauses by performing an EVLTXT
*{			on the CONFIG.FP, Setup Snippet, Procedure Snippet and each
*{			Comment Snippet before reordering.
*{ 11/20/93 Provided better support for Escape during menu generation.
*{***************************
*{ RELEASE OF VERSION 1.1a
*{***************************
*{ 11/27/93 Put in code that verified type of driver being run ie if MNXDRV2 acted
*{			like a Full MNX driver, then it wouldn't be rerun over and over.
*{			Also message was placed on thermometer for MNXDRV2.
*{ 11/27/93	Verified UPDTHERM procedures so thermometer messages were properly wiped out
*{			under Windows. Previously, they weren't being completely cleared.
*{ 12/6/93	Addition of MNXDRV0 which copies genmenu to a temporary file and
*{			appends functions into it.
*{ 1/5/94	Updates from GENSCRNX to make GENMENUX more environment aware
*{			ER From KL
*{ 1/6/94	Updates from GENSCRNX for better warnings, etc 
*{			ER from SMB
*{ 1/28/94	Fixed Problem with Environment Reset (wasn't resetting environment)
*{ 1/28/94 	Inserted insRec, and dupRec records from GENSCRNX 1.8 b2
*{			This is cautious because the USER is responsible for making any changes
*{			to the Menu Number, etc.
*{			INSREC is not included because the nature of GENMENU is slightly
*{			different than the nature of GENSCRN.
*{ 1/28/94	Added support for MENUCOLOR directive that adds the COLOR line to the DEFINE
*{			Menu command. This is also supported by the MENUSCHEME directive which provides
*{			SCHEME Support. These items will only work if you have changed the name of the
*{			Menu name. This has not yet been implemented.
*{ 3/19/94	Changed *:ARRAY to not force you to implement the ON SELECTION BAR statement.
*{			Previously, you had to place the action in the array itself.
*{ 03/23/94	Added ccNoPad to comment out the DEFINE PAD statement that overlaps badly when
*{			using the *:IF statement with menu pads.
*{ 04/02/94	Various fixed from ERs and bug reports from Colin Keeler concerning
*{			various syntax errors (whoops! <g>) and using GENMENUX Exclusively
*{ 04/02/94	Fix for *:IF that was only putting the *:IF clause at the very end of the Procedure even if
*{			a return clause was there.  Thanks for Eldor for pointing this one out!
*{ 04/02/94	Another fix for *:IF that puts parentheses around the whole *:IF statement to ensure that
*{			the entire clause is used with the IF NOT statement. Thanks for Randy P. for pointing this out!
*{ 04/02/94	Fix by Paul Bienick regarding use of quotations with the POPCOMMAND statement (thanks Paul)
*{ 04/02/94	Laid in basics for a new directive *:CASE that will create a CASE statement for all of the DEFINE
*{			statements for each specific item. If a CASE statement is used, it will create a specific menu 
*{			file 
*{ 04/02/94	The CASE directive will place all of the items without a CASE statement 
*{			at the bottom of the CASE statement so they are used regardless of the logical statement.
*{ 04/04/94	Updated any messages to being calls to the GENSCRNX Warning function
*{			ER from SMB.
*{ 04/06/94	Fixed CASE statement to work properly with Popups and ON PAD statements.
*{			Moved final CASE statement to after the regular menu setups.
*{ 04/06/94	Added *:BEFORE and *:AFTER pads for popups and bars
*{			This directive may be passed with either a numeric or character 
*{			(for Bars and Pads respectively) to reorder the appropriate placement
*{			of the menu pads. This is especially useful when using the
*{			CASE statement for individual items
*{ 04/06/94	Added clauses to *:COLOR directives that allow users to identify
*{			the special color settings for Windows. 
*{			The clauses are RED, AQUA, GREY, MAROON, GREEN, ROYAL BLUE, 
*{				BURGUNDY, LIGHT GREEN, BABY BLUE, BLUE, VIOLET, YELLOW,
*{				DARK GREY
*{ 04/08/94	Added WORDSTUFF, ERROR_HND and ESC_CHECK FROM GENSCRNX 2.0
*{ 04/14/94	Added REFPRG setup directive. This directive will create a separate program
*{			that will refresh any of the menu options with the *:CASE statements
*{			without having to recall the MPR file.
*{			This is done by identifying the BAR where the menu pad is.
*{			This directive makes it easier to refresh the menu bar. A good place
*{			to put it is inside the Foundation Read loop
*{ 04/14/94	Fixed error handler to display proper table name
*{ 04/15/94	Started Beta Testing
*{ 04/16/94	Changed Version No to 2.0 to match with all other GENX Products. Request from SB
*{ 04/21/94	Added New wordsearch and wordstuff functions from GENSCRNX
*{ 04/21/94	Changed all prompts for GENSCRNX to GENMENUX 
*{ 04/21/94 Fixed bug with NOXGEN directive
*{ 04/21/94	Allowed IGNORE to properly ignore additional directives
*{ 04/21/94	Sped up *:CASE directive processing
*{ 04/23/94	Added new dfltfld required for wordsearch
*{ 04/23/94	Changed path directives to be more Mac friendly
*{ 04/30/94	Allowed multiple drivers to be called at each level
*{ 04/30/94	Improved ARRAY directive's handling of arrays
*{ 05/03/94	Fixed problem with multiple drivers at MPRlevel 1 and 2
*{ 05/03/94	CASE statement no longer bombs if only one case statement
*{ 05/03/94	PUKE Color statement revised to Khaki (Puke still works tho)
*{ 05/06/94	*:COLOR Keywords now only works with Windows
*{ 05/07/94	Changed DupRec and InsBlank to work properly
*{***************************
*{ RELEASE OF VERSION 2.0
*{***************************
*{ 07/27/94	Fixes for CASE statement to work properly with menus
*{ 07/27/94	Fixes to support EXCLUSIVE setting turned on when dealing with menus
*{ 07/27/94	Fixes to deal with empty menus
*{ 09/01/94	Fixes to allow CONFIG.FP drivers to work properly
*{ 09/15/94	Fix to provide warning if the file m.genmenu is not present
*{ 09/15/94	Created directive called *:VARIABLE which allows menu bar/pad
*{			to be variable driven. Gets called near the end of the process
*{			Thanks to Andy Neil asking for it!
*{***************************
*{ RELEASE OF VERSION 2.0a
*{***************************
