* source/compiler/harbour.slx
* Changed storing of MACROTEXT from hb_compIdentifierNew() to hb_strdup().
* tests/tstasort.prg
! Fixed R/T Error resulting from comparing unrelated types in sorting codeblock.
* contrib/dot/rp_run.ch
* contrib/dot/pp.prg
% Optimozed and improved handling of IF [ELSEIF] [ELSE] ENDIF in Interpreter mode.
% Optimozed and improved handling of DO CASE [CASE] [OTHERWISE] END[CASE] in Interpreter mode.
+ Added support for FOR [LOOP] [EXIT] NEXT to Interpreter mode.
+ Added support for [DO] WHILE [LOOP] [EXIT] END[DO] to Interpreter mode.
+ Added support for file statics to Interpreter mode.
+ Added supprt for Command-Line Parameters to Interpreter mode.
/* PP "FileName Param1 ParamN" -r */
* tests/stripem.prg
! Resolved missing Default() and ToChar()
* source/vm/hvm.c
* Modified error messages in hb_vmSend() to report class name of native types (including NIL) along with missing method name.
+ Added default implementation of ClassName() method of native types.
/* J.F. Can you please check why hb_objGetClsName() was not working correctly when called from hb_vmSend() ?
It was returning empty string ("") on my BCC55 latest build. */
* tests/clasname.prg
+ Added Arrays to types checked.
* source/compiler/harbour.l
* source/compiler/harbour.slx
+ Added logic to ignore, rest of line after //
content of /**/ comments
content of strings and char constants
escape codes within strings and char constants
* tests/inline_c.prg
+ Added sample comments and strings containing { and \".
* include/hberrors.h
* source/compiler/hbgenerr.c
+ Added: "Unterminated inline block in function: \'%s\'" and "Too many inline blocks"
* include/hbcomp.h
* source/compiler/harbour.c
+ Added hb_compInlineNew(), hb_compInlineAdd(), and hb_compInlineFind()
* source/pp/ppcomp.c
* source/compiler/harbour.slx
* source/compiler/genc.c
+ Added support for inline C code blocks.
+ tests/inline_c.prg
+ Added new test to demonstrate new inline C support.
* source/compiler/harbour.sly
! Optimized __GETA() support, and changed it to be implementated identical to Clipper.
/* Clipper passed a bGet Block which refrences the Base Array Variable and not the Variable itself.
Clipper passes NIL instead of bGet block if the Base Array is MACROVAR or MACROTEXT.
Clipper does not optimize "&Macro" to Macro, but Harbour does! */
* source/rtl/tgetint.prg
* __GETA() Changed 1st parameter aVar to bGetArray and logic to get the Base Array if bGetArray is NIL
/* Optimized to not use macro if possible (most cases) even if the GetArray is a macro. */
* tests/testget.prg
+ Added additional test.