/*
* $Id$
*/
/* $DOC$
* $FUNCNAME$
* Macro compiler
* $CATEGORY$
* Document
* $ONELINER$
* Macro compiler
* $DESCRIPTION$
*
* Invoking the macro compiler:
* ==============================
*
* &variable
* or
* &( expression )
* or
* &variable.text
*
* $END$
*/
/* $DOC$
* $FUNCNAME$
* HB_SETMACRO()
* $CATEGORY$
* Macro compiler
* $ONELINER$
* Enable/disable the macro compiler runtime features.
* $SYNTAX$
* HB_SETMACRO( , [] ) -->
* $ARGUMENTS$
* One of the HB_SM_* constants defined in set.ch.
*
* .T. to enable or .F. to disable a feature
* $RETURNS$
* HB_SETMACRO() return the old state of requested feature.
* $DESCRIPTION$
* This function enables or disables some features of the macro
* compiler. The Harbour is extending the macro features compared
* to an original set available in Clipper. Enabling/disabling
* some of them allows to keep strict Clipper compatibility.
*
* Available features are:
* HB_SM_HARBOUR - enables harbour extensions:
* operators: ++, --, +=, -=, *=, /=, ^=
* objects: assigments to an instance variable
* HB_SM_XBASE - enables other xbase dialects extensions:
* expanding of expresions lists
* HB_SM_SHORTCUTS - enables optimized evaluation of
* logical operators (.and., .or.)
* HB_SM_PREPROC - enables preprocessing of commands
* This is meaningfull if Harbour is compiled with
* HB_MACRO_STATEMENTS flag
*
* $EXAMPLES$
* INIT PROCEDURE IWANTCLIPPER()
* HB_SETMACRO( HB_SM_HARBOUR, .F. )
* HB_SETMACRO( HB_SM_XBASE, .F. )
* RETURN
*
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is Harbour extension.
* $PLATFORMS$
* All
* $FILES$
* Header file is set.ch
* Library is macro
* $SEEALSO$
* Macro compiler
* $END$
*/