/* $DOC$ $TEMPLATE$ Document $NAME$ Macro compiler $CATEGORY$ Document $SUBCATEGORY$ Compiler $ONELINER$ Macro compiler $DESCRIPTION$ Invoking the macro compiler: ============================== &variable or &( expression ) or &variable.text $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ hb_SetMacro() $CATEGORY$ API $SUBCATEGORY$ Macro $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 CA-Cl*pper. Enabling/disabling some of them allows to keep strict CA-Cl*pper 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$ H $PLATFORMS$ All $FILES$ Header file is set.ch Library is core $SEEALSO$ Macro compiler $END$ */