diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ee497d6247..034ad20caf 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -7,6 +7,15 @@ For example: 2002-12-01 13:30 UTC+0100 Foo Bar */ + + * harbour/source/rtl/padc.c + * harbour/source/rtl/padl.c + * harbour/source/rtl/padr.c + * harbour/source/rtl/substr.c + * some minor optimizations to avoid new string item creation when + it's not necessary + + * harbour/source/vm/classes.c * harbour/source/vm/extend.c diff --git a/harbour/source/compiler/harbour.c b/harbour/source/compiler/harbour.c index 3eb2513048..500cb911ce 100644 --- a/harbour/source/compiler/harbour.c +++ b/harbour/source/compiler/harbour.c @@ -4855,7 +4855,7 @@ int hb_compCompile( char * szPrg, int argc, char * argv[] ) /* Generate the starting procedure frame */ if( hb_comp_bStartProc ) { - hb_compFunctionAdd( hb_strupr( hb_compIdentifierNew( hb_comp_pFileName->szName, TRUE ) ), HB_FS_PUBLIC, FUN_PROCEDURE ); + hb_compFunctionAdd( hb_compIdentifierNew( hb_strupr( hb_strdup( hb_comp_pFileName->szName ) ), FALSE ), HB_FS_PUBLIC, FUN_PROCEDURE ); } else { diff --git a/harbour/source/pp/ppcore.c b/harbour/source/pp/ppcore.c index 140b1886c6..c6607ae199 100644 --- a/harbour/source/pp/ppcore.c +++ b/harbour/source/pp/ppcore.c @@ -1219,6 +1219,12 @@ static void ConvertPatterns( char *mpatt, int mlen, char *rpatt, int rlen ) if( *( mpatt + i ) == '<' ) { + if( i && mpatt[ i-1 ] == '\\' ) + { + i++; + continue; + } + /* Drag match marker, determine it type */ explen = 0; ipos = i;