* source/compiler/harbour.c
* Exported: hb_compFieldGetPos() and hb_compMemvarGetPos()
* source/compiler/harbour.sly
! Changed __GET() support to be parameter compatible with Clipper
* include/hberrors.h
* source/compiler/hbgenerr.c
+ Added Error: "GET contains complex macro"
* source/pp/pptable.c
- Removed bSetGet from rule of GET, PP output now Clipper compatible.
* source/vm/memvars.c
+ Added HB_FUNC( __ISMV ) // Return .T. if passed string as a Memory Variable.
* source/rtl/tgetint.prg
! Fixed __GET() to be 100% parameter compatible with Clipper.
! When 1st parameter (bSetGet) is NIL the bSetGet will be built internaly,
not using macro in most cases, even if the Get Variable itslef is a macro :-)
/* Ryszard, this will further break Flex support for GET, but makes __GET() 100% Clipper compatible as you suggested.
Please note, that Clipper does *NOT* pass a bSetGet *only* when the Get Var is a *simple* *non* declared Variable.
Declared Variables in this context are: MEMVAR, FIELD, LOCAL, and STATIC. For all of those, bSetGet *is* generated!
Clipper also generates bSetGet for "Complex Variables", i.e. Aliased Variables, Object Data, etc.! */
* include/hbset.h
* include/set.ch
* source/pp/pptable.c
+ Added _SET_IDLEREPEAT = 101
* source/rtl/set.c
+ Added suport for SET( _SET_IDLEREPEAT ) - Default is .T.
* source/rtl/idle.c
- Removed HB_IDLE_RESET()
* Changed handling of Idle Process to default to REPEAT.
* tests/onidle.prg
- Removed call to HB_IDLE_RESET()
+ tests/testidle.prg
+ New test of Idle Blocks in default (REPEAT) mode and optional NON REPEAT mode.
* source/rtl/idle.c
+ Added HB_IDLE_RESET() and logic to reset Idle Processing upon such explicit request.
! If reoccuring processing of Idle Blocks is requested, hb_releaseCPU() is execusted upon completion of each cycle.
* tests/onidle.prg
+ Added HB_IDLE_RESET() to demonstrate explicit request for reoccuring processing of Idle Blocks.
* source/rtl/idle.c
* source/rtl/inkey.c
! Improved granularity of Idle Processing:
- GC is called only once per Wait Session.
- Single Idle Task is performed for each itteration of hb_idleState() but never more than once per Wait Session.
- ReleaseCPU() is guaranteed to be the only code executing for the remainder of every Wait Session.
/* Maurilio, Ryszard, Victor, could you please review and comment... */
* source/pp/ppcomp.c
* Corrected 1 compiler warning.
* source/pp/ppcore.c
+ Added s_bArray support logic to WorkDefine()
* source/rtl/idle.c
* Revered order of hb_gcCollectAll() and hb_releaseCPU();
* contrib/dot/pp.prg
! Corrected few pre-processor bugs.
! Corrected DOT multi-line support.
* contrib/dot/rp_dot.ch
+ Added Clipper and Harbour support for GET
* source/pp/ppcore.c
! Removed redundant line in md_strAt() whiched caused bug with tanslating within [] bracket expressions.