diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1bd848b978..7631b683a3 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -10,6 +10,14 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2012-11-26 14:43 UTC+0100 Viktor Szakats (harbour syenar.net) + * contrib/xhb/xhberr.prg + % optimized hb_macroBlock() calls to __dynsN2Sym() calls. + Thanks Przemek for the tip. + + * src/rdd/hbsix/sxcompat.prg + % sx_VFGet(): restored macro evaluation, for speed + 2012-11-26 12:20 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbwin/hbwin.ch ! added HB_ prefix to win defines diff --git a/harbour/contrib/xhb/xhberr.prg b/harbour/contrib/xhb/xhberr.prg index bc3a17a5a6..b25446b2dd 100644 --- a/harbour/contrib/xhb/xhberr.prg +++ b/harbour/contrib/xhb/xhberr.prg @@ -481,25 +481,25 @@ STATIC FUNCTION LogError( oerr ) hb_WAEval( {|| IF hb_IsFunction( "Select" ) - FWriteLine( nHandle, "Work Area No ......: " + strvalue( Eval( hb_macroBlock( "Select()" ) ) ) ) + FWriteLine( nHandle, "Work Area No ......: " + strvalue( Eval( __dynsN2Sym( "Select" ) ) ) ) ENDIF IF hb_IsFunction( "Alias" ) - FWriteLine( nHandle, "Alias .............: " + Eval( hb_macroBlock( "Alias()" ) ) ) + FWriteLine( nHandle, "Alias .............: " + Eval( __dynsN2Sym( "Alias" ) ) ) ENDIF IF hb_IsFunction( "RecNo" ) - FWriteLine( nHandle, "Current Recno .....: " + strvalue( Eval( hb_macroBlock( "RecNo()" ) ) ) ) + FWriteLine( nHandle, "Current Recno .....: " + strvalue( Eval( __dynsN2Sym( "RecNo" ) ) ) ) ENDIF - IF hb_IsFunction( "DbFilter" ) - FWriteLine( nHandle, "Current Filter ....: " + Eval( hb_macroBlock( "dbFilter()" ) ) ) + IF hb_IsFunction( "dbFilter" ) + FWriteLine( nHandle, "Current Filter ....: " + Eval( __dynsN2Sym( "dbFilter" ) ) ) ENDIF - IF hb_IsFunction( "DbRelation" ) - FWriteLine( nHandle, "Relation Exp. .....: " + Eval( hb_macroBlock( "dbRelation()" ) ) ) + IF hb_IsFunction( "dbRelation" ) + FWriteLine( nHandle, "Relation Exp. .....: " + Eval( __dynsN2Sym( "dbRelation" ) ) ) ENDIF IF hb_IsFunction( "IndexOrd" ) - FWriteLine( nHandle, "Index Order .......: " + strvalue( Eval( hb_macroBlock( "IndexOrd(0)" ) ) ) ) + FWriteLine( nHandle, "Index Order .......: " + strvalue( Eval( __dynsN2Sym( "IndexOrd" ) ) ) ) ENDIF IF hb_IsFunction( "IndexKey" ) - FWriteLine( nHandle, "Active Key ........: " + strvalue( Eval( hb_macroBlock( "IndexKey(0)" ) ) ) ) + FWriteLine( nHandle, "Active Key ........: " + strvalue( Eval( hb_macroBlock( "IndexKey( 0 )" ) ) ) ) ENDIF FWriteLine( nHandle, "" ) RETURN .T. diff --git a/harbour/src/rdd/hbsix/sxcompat.prg b/harbour/src/rdd/hbsix/sxcompat.prg index e4d5bd5911..a6e5c87ef0 100644 --- a/harbour/src/rdd/hbsix/sxcompat.prg +++ b/harbour/src/rdd/hbsix/sxcompat.prg @@ -527,7 +527,7 @@ FUNCTION sx_VFGet( cExpr, nLen ) * we can simply evaluate given expression */ IF Used() .AND. PCount() == 2 - RETURN PadR( Eval( hb_macroBlock( cExpr ) ), nLen ) + RETURN PadR( &cExpr, nLen ) /* NOTE: Macro operator! */ ENDIF RETURN NIL