* source/vm/macro.c
* include/hbcomp.h
* include/hbexprb.c
* include/hbexprc.c
* include/hbmacro.h
* include/hbmsetup.h
* include/set.ch
* source/compiler/cmdcheck.c
* source/compiler/genc.c
* source/compiler/harbour.c
* source/compiler/hbpcode.c
* source/rdd/dblist.prg
* source/vm/hvm.c
- Removed support for syncing of macro setting with main module.
- Removed support for -ks which is replaced with -kr.
+ Added default logic to auto symchronize all macro activations with the compile time switches of each respective module.
+ Added -kr to disable auto synching, thus allowing Run-Time setting by means of HB_SETMACRO().
+ include/hbmsetup.h
* include/hbmacro.h
* Moved #defines of HB_SM_* to new file hbmsetup.h
* source/compiler/harbour.c
* source/vm/macro.c
* source/compiler/genc.c
+ Added logic to automatically synchronize HB_SETMACRO() level with the -k option supplied to compiler.
/* HB_SETMACRO() may still be called explictly, but now specifying any -k option to harbour will automatically provide same
level of functionalty in macro compiler. Example:
harbour test -kc
will restrict the compiler to the Clipper level mode, and will automatically disable extended macro support in that module
without requiring:
HB_SETMACRO( HB_SM_HARBOUR, .F. )
HB_SETMACRO( HB_SM_XBASE, .F. )
By default all harbour extensions are enabled - you can use -kc, -kx -ki, etc., to disable any unwanted feature.
We should still review the need to have -ki which I find absolutley redundant and unproductive.
*/
* include/hbmacro.h
* source/macro/macro.y
* source/vm/macro.c
! Renamed hb_compParse() to hb_macroYYParse(). We already have hb_macroParse() and hcompparse()
* source/compiler/harbour.y
* Added token GET (not used) just so that harboury.h is compatible with harbour.sly
* source/rtl/tgetint.prg
* Reverted to use _1 and == NIL to not break Clipper compatibility.
/* Ryszard, if you want to re-introduce PCount() and HB_PVALUE(), I'll ask (since I wrote this original code)
that you protect it with #ifdef FLEX etc. If you do I would suggest you further protect it with #ifdef STRICT...
becuase this will defintly break strict compatability. */