/* $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$
*/