* source/compiler/cmdcheck.c
+ Added missing type cast to resolve gcc warning.
* source/pp/ppcore.c
+ Added missing type cast to resolve gcc warning.
- Removed 4 redundant #includes already included by included hbcomp.h
* contrib/dot/pp.prg
* Changed PP_Main() to STATIC Main() to have a Main procedure for build that require a MAIN yet avoid conflict if linked with a prg including a MAIN.
* contrib/dot/pp_harb.ch
* Wrapped a Windows specific code within #ifdef WIN.
/* Thanks to input from Toma Zupan. */
* source/pp/ppcore.c
! Added a BOOL 2nd parameter to isExpres() to flag a LIST MP. This fixes problem with matching a list exp with an empty component.
* source/pp/ppcore.c
+ Added logic for new Idenitifier Match Marker <!AnyId!> which will only match Identifiers.
+ Added static BOOL IsIdentifier( char *szProspect )
* include/hbclass.ch
! Changed <name> to <!name!> in 3 VO OO compatibility rules, where regular match marker was TOO generic.
! Reinstated default #define HB_CLS_VO
* contrib/dot/pp.prg
* Added support fort '|' as a continuation token (as in Clipper).
* include/hbclass.ch
- Commented out 3 rules used for VO OO compatibility that are TOO generic, and match unexpected input.
* source/pp/ppcore.c
- Recommented out test for continuation token at the end of an Expression in isExpres() (after correcting cause for prior reinstatment).
* source/pp/ppcore.c
* Reinstated test for continuation token at the end of an Expression in isExpress()
/* Clipper does not validate extracted expression like that, but Harbour PP has internal dependancy due to matching logic.
Alexander, Clipper stops an expression when encountering the Anchor of the next NON optional Match Marker.
Clipper accepts that expression even if it ends with continuation token (like '*').
*/
* source/pp/ppcore.c
* Commented out test for continuation token at the end of an Expression in isExpress()
/* Clipper does not validate extracted expression like that. This solves problem with:
SAVE ALL LIKE Patt* TO File
*/
* contrib/dot/pp.prg
* Few corrections to NextToken() and CompileRule() to match Clipper behaviour regrding decimal point, and decimal numbers.
* source/pp/ppcore.c
- Removed unused variable as per compiler warning.
* source/vm/hvm.c
! Fixed HB_P_POPFIELD and HB_P_POPVARIABLE to NOT pop top stack element pre-maturely.
Item is now pop only after assignment took place. This fixes problem where the FieldPut rutine had to use the stack,
thus overriding the assigned item.
* include/hbclass.ch
! Fixed declaration support for OnError() METHODS
! Fixed support for Methods having space prefixing the "( ... )" in the method implementation.
+ Refined #error messages to report the Class Name .
* source/pp/ppcore.c
* Removed recently added but not required support of #define expansion in #error directive.
* include/hbclass.ch
+ Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking.
* source/pp/ppcore.c
* Temporarily disabled support of #define expansion in #error directive.
* source/pp/ppcore.c
! Corrected minor bug with test for valid string prefixs
+ Added missing valid string prefix (.) (except macro terminator) in getExpReal()
* source/pp/ppcore.c
! Fixed NextName() to skip over .AND., .NOT. and .OR.
* config/w32/mingw32.cf
+ Added rules to use script files for long command lines, but commented out because @scripts did not work.
* 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. */
* 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.