Files
harbour-core/doc/en/macro.txt
Viktor Szakats 03ac58b17b 2017-09-08 18:22 UTC Viktor Szakats (vszakats users.noreply.github.com)
* bin/commit.hb
  * config/detect.mk
  * config/detfun.mk
  * config/detplat.mk
  * config/dir.mk
  * config/dirsh.mk
  * config/global.mk
  * config/globsh.mk
  * config/instsh.mk
  * config/lang.hb
  * config/lang2po.hb
  * config/po2lang.hb
  * config/postinst.hb
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbformat/utils/hbformat.ini
  * contrib/hbmisc/hbedit.prg
  * contrib/hbmxml/tests/testmxml.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * contrib/hbnetio/utils/hbnetio/_winsvc.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/tests/ole.prg
  * contrib/hbwin/tests/oletst2.js
  * contrib/hbwin/tests/oletst2.vbs
  * contrib/hbxpp/doc/en/binnumx.txt
  * contrib/hbxpp/doc/en/dbcmdx.txt
  * contrib/xhb/htmutil.prg
  * contrib/xhb/tfile.prg
  * contrib/xhb/tframe.prg
  * contrib/xhb/thtm.prg
  * ChangeLog.txt
  * debian/copyright
  * doc/class_tp.txt
  * doc/hdr_tpl.txt
  * doc/xhb-diff.txt
  * LICENSE.txt
  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
  * package/mpkg_rpm.sh
  * package/mpkg_src.sh
  * package/mpkg_ver.sh
  * src/rtl/achoice.prg
  * src/rtl/getsys53.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenusys.prg
  * tests/hbdoc.prg
  * tests/langmsg.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  + doc/en/ati.txt
  + doc/en/dirdrive.txt
  + doc/en/hashfunc.txt
  + doc/en/hbtoken.txt
  + doc/en/left.txt
  + doc/en/proc.txt
  + doc/en/strtran.txt
  + doc/en/transfrm.txt
  + doc/en/typefile.txt
  * doc/en/*
    * more partial sync with 3.4 fork
2017-09-08 18:25:11 +00:00

86 lines
2.0 KiB
Plaintext

/* $DOC$
$TEMPLATE$
Document
$NAME$
Macro compiler
$CATEGORY$
Document
$SUBCATEGORY$
Compiler
$DESCRIPTION$
<b>Invoking the macro compiler:</b>
```
&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( <nOption>, [<lOnOff>] ) --> lOldSetting
$ARGUMENTS$
<nOption> One of the `HB_SM_*` constants defined in set.ch.
<lOnOff> .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: assignments to an instance variable
`HB_SM_XBASE` - enables other Xbase++ dialects extensions:
expanding of expressions lists
`HB_SM_SHORTCUTS` - enables optimized evaluation of
logical operators (`.AND.`, `.OR.`)
`HB_SM_PREPROC` - enables preprocessing of commands
This is meaningful if Harbour is compiled with
HB_MACRO_STATEMENTS flag
$EXAMPLES$
#include "hbmacro.ch"
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$
*/