* 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/pp/ppcore.c
! Fixed compilation and parsing of #command of single and bi-char operators
! Removed prior hack in hb_pp_RdStr() related to @[&-].
* source/pp/pptable.c
! Fixed compilation of #command ?? [ <list,...> ] => QQOut( <list> )
/* This [should] finally resolve all prior issues regarding @ and many other problems, of operators as command keys. */
* 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/hbcomp.h
* source/compiler/harbour.c
+ Added members szFileName and iLine to structure INLINE, set to originating PRG name and line number.
* source/compiler/genc.c
+ Added #line directive to INLINE generations, so C compile warnings/errors will report source file and line number in PRG.
* source/compiler/harbour.l
* source/compiler/harbour.slx
+ Added Error message if inline C is used with non C output.
+ Added support for {} on same line
* Minor optimization
* include/hberrors.h
* source/compiler/hbgenerr.c
+ Added: "Inline C requires C output generartion, use -gc[n]"
* 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/vm/eval.c
* Minor formatting.
* source/vm/hvm.c
* Added derefferncing of Block Vars in hb_vmPushLocal()
/* Ryszard can you please review this change. */
* source/rtl/memoedit.prg
+ Added all missing functionalities. Should be 100% compatible (tested very little)
* source/rtl/teditor.prg
* little changes to make it work better with memoedit.prg. Removed cUdF parameter from
::New() method.
* source/vm/eval.c
+ Corrected support for block passed by reference.
/* Ryszard, is there any reason to use hb_stackItemFromBase(1) instead of pItem? */
* source/rtl/tbrowse.prg
- removed hidden: clause inside class definition (it doesn't work right now)
* source/rtl/tclass.prg
- commented out line 255 (gives infinite loop)
* utils/hbmake/*.prg
+ hbdocdef.ch needs relative path ("..\hbdoc\") to be compiled by gcc system
* source/rtl/tbrowse.prg
! I've fixed all known (to me) issues with latest TBrowse code.
::HitTop/Bottom were set back to .F. if a ::RefreshAll() was issued. This is wrong since only
movement keys can reset them.
Issuing a long sequence of K_UP/K_DN (or CTRL_...) resulted on wrong movement of datasource (you could
even go backward using K_DN :-O)
You could get an out of bounds moving around inside tbrowse.
* Note that original Clipper TBrowse caches displayed rows, so moving left or right does not require
calling ::Skipblock to refresh screen. Present implementation of TBrowse has not such a cache so
a lot more of skipping around is needed.