/* * $Id$ */ /* $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 macro * $SEEALSO$ * Macro compiler * $END$ */