From 2999d1709145010d5347d553eb4209cc01d44a7b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 22 Jun 2012 17:25:37 +0000 Subject: [PATCH] 2012-06-22 19:25 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.hbp * utils/hbmk2/hbmk2.prg * utils/hbmk2/Makefile * minor changes to do not require std.ch + enabled -u option for hbmk2 source code. --- harbour/ChangeLog | 7 +++ harbour/utils/hbmk2/Makefile | 2 + harbour/utils/hbmk2/hbmk2.hbp | 2 +- harbour/utils/hbmk2/hbmk2.prg | 96 +++++++++++++++++++---------------- 4 files changed, 62 insertions(+), 45 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 70b8e13319..1bbb33c6be 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,13 @@ The license applies to all entries newer than 2009-04-28. */ +2012-06-22 19:25 UTC+0200 Viktor Szakats (harbour syenar.net) + * utils/hbmk2/hbmk2.hbp + * utils/hbmk2/hbmk2.prg + * utils/hbmk2/Makefile + * minor changes to do not require std.ch + + enabled -u option for hbmk2 source code. + 2012-06-22 19:17 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * avoiding some language elements/minor optimizations diff --git a/harbour/utils/hbmk2/Makefile b/harbour/utils/hbmk2/Makefile index 1bcb0c3fd4..fc117cf68e 100644 --- a/harbour/utils/hbmk2/Makefile +++ b/harbour/utils/hbmk2/Makefile @@ -16,6 +16,8 @@ PRG_MAIN := hbmk2.prg LIBS = $(HB_LIBS_MT_RDD) +HB_PRGFLAGS += -u + ifneq ($(HB_HAS_GPM),) HB_PRGFLAGS += -DHB_HAS_GPM endif diff --git a/harbour/utils/hbmk2/hbmk2.hbp b/harbour/utils/hbmk2/hbmk2.hbp index fa3127d530..29e427d0ef 100644 --- a/harbour/utils/hbmk2/hbmk2.hbp +++ b/harbour/utils/hbmk2/hbmk2.hbp @@ -2,7 +2,7 @@ # $Id$ # --q0 -w3 -es2 -kmo -l +-q0 -w3 -es2 -kmo -l -u {HB_HAS_GPM}-prgflag=-DHB_HAS_GPM {HB_HAS_WATT}-prgflag=-DHB_HAS_WATT diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 2710069a44..78665c5e03 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -78,7 +78,7 @@ #include "directry.ch" #include "error.ch" #include "fileio.ch" -#include "set.ch" +#include "set.ch" /* needed for -u */ #include "simpleio.ch" /* Don't delete this, it's useful for development. */ #include "hbgtinfo.ch" @@ -143,25 +143,33 @@ #include "hbextcdp.ch" +/* For -u support we use 'WHILE' instead of 'DO WHILE', + 'EXTERNAL' instead of 'REQUEST' + 'END' instead of 'END SEQUENCE' */ + ANNOUNCE HB_GTSYS -REQUEST HB_GT_CGI_DEFAULT +EXTERNAL HB_GT_CGI_DEFAULT /* Include these for -pause support. */ #if defined( __PLATFORM__WINCE ) - REQUEST HB_GT_WVT + EXTERNAL HB_GT_WVT #elif defined( __PLATFORM__WINDOWS ) - REQUEST HB_GT_WIN + EXTERNAL HB_GT_WIN #elif defined( __PLATFORM__DOS ) - REQUEST HB_GT_DOS + EXTERNAL HB_GT_DOS #elif defined( __PLATFORM__OS2 ) - REQUEST HB_GT_OS2 + EXTERNAL HB_GT_OS2 #elif defined( __PLATFORM__UNIX ) .AND. ! defined( __PLATFORM__VXWORKS ) .AND. ! defined( __PLATFORM__SYMBIAN ) - REQUEST HB_GT_TRM + EXTERNAL HB_GT_TRM #endif #endif -REQUEST hbmk_KEYW +EXTERNAL hbmk_KEYW + +/* needed for -u */ +#undef HB_SYMBOL_UNUSED +#define HB_SYMBOL_UNUSED( symbol ) ( ( symbol ) ) #define _SELF_NAME_ "hbmk2" @@ -520,31 +528,31 @@ REQUEST hbmk_KEYW #define PathMakeAbsolute( cPathR, cPathA ) hb_PathJoin( cPathA, cPathR ) /* Request for runner and shell */ -REQUEST __HB_EXTERN__ +EXTERNAL __HB_EXTERN__ /* Request some functions for plugins */ -REQUEST HBCLASS -REQUEST __CLSLOCKDEF -REQUEST __HBDOC_LOADDIR -REQUEST __HBDOC_TOSOURCE -REQUEST __HBDOC_SAVEHBD -REQUEST HB_REGEX -REQUEST HB_SHA1 -REQUEST HB_SHA256 -REQUEST HB_SHA512 -REQUEST HB_MD5 -REQUEST HB_CRC32 -REQUEST HB_BLOWFISHKEY -REQUEST HB_BLOWFISHENCRYPT -REQUEST HB_JSONENCODE -REQUEST HB_JSONDECODE -REQUEST HB_LIBEXT -REQUEST HB_HKEYAT -REQUEST HB_HDELAT -REQUEST HB_HKEYS -REQUEST HB_HKEEPORDER -REQUEST HB_FGETATTR -REQUEST HB_FSETATTR +EXTERNAL HBCLASS +EXTERNAL __CLSLOCKDEF +EXTERNAL __HBDOC_LOADDIR +EXTERNAL __HBDOC_TOSOURCE +EXTERNAL __HBDOC_SAVEHBD +EXTERNAL HB_REGEX +EXTERNAL HB_SHA1 +EXTERNAL HB_SHA256 +EXTERNAL HB_SHA512 +EXTERNAL HB_MD5 +EXTERNAL HB_CRC32 +EXTERNAL HB_BLOWFISHKEY +EXTERNAL HB_BLOWFISHENCRYPT +EXTERNAL HB_JSONENCODE +EXTERNAL HB_JSONDECODE +EXTERNAL HB_LIBEXT +EXTERNAL HB_HKEYAT +EXTERNAL HB_HDELAT +EXTERNAL HB_HKEYS +EXTERNAL HB_HKEEPORDER +EXTERNAL HB_FGETATTR +EXTERNAL HB_FSETATTR /* For hbshell */ STATIC s_cDirBase_hbshell @@ -658,7 +666,7 @@ PROCEDURE _APPMAIN( ... ) hb_FSetDevMode( hb_gtInfo( HB_GTI_ERRORFD ), FD_TEXT ) nTargetTO_DO := 1 - DO WHILE .T. + WHILE .T. aArgsTarget := {} nTarget := 0 @@ -8666,7 +8674,7 @@ STATIC PROCEDURE PlugIn_Load( hbmk, cFileName ) hrb := hb_hrbLoad( HB_HRB_BIND_FORCELOCAL, cFile ) cType := I_( "(compiled)" ) lOK := .T. - END SEQUENCE + END ENDIF IF ! lOK .AND. !( Lower( cExt ) == ".hrb" ) /* Optimization: Don't try to load it as .prg if the extension is .hrb */ cType := I_( "(source)" ) @@ -8923,7 +8931,7 @@ STATIC FUNCTION PlugIn_call_low( hbmk, cName, hrb, ctx ) IF ! hbmk[ _HBMK_lQuiet ] _hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Executing plugin: %1$s at %3$s(%4$d)\n'%2$s'" ), cName, hbmk_ErrorMessage( oError ), oError:cargo[ 1 ], oError:cargo[ 2 ] ) ) ENDIF - END SEQUENCE + END RETURN lSuccess @@ -9438,7 +9446,7 @@ STATIC FUNCTION FNameNameGetNoExt( cFileName ) hb_FNameSplit( cFileName,, @cName ) - DO WHILE ! Empty( cName ) .AND. ! Empty( hb_FNameExt( cName ) ) + WHILE ! Empty( cName ) .AND. ! Empty( hb_FNameExt( cName ) ) hb_FNameSplit( cName,, @cName ) ENDDO @@ -10278,7 +10286,7 @@ STATIC FUNCTION ArchCompFilter( hbmk, cItem, cFileName ) LOCAL tmp nEnd := 1 - DO WHILE .T. + WHILE .T. IF ( nStart := hb_At( _MACRO_OPEN, cItem, nEnd ) ) == 0 EXIT ENDIF @@ -10383,7 +10391,7 @@ STATIC FUNCTION ArchCompFilter( hbmk, cItem, cFileName ) IF ! hbmk[ _HBMK_lQuiet ] _hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Error in filter expression: '%1$s'" ), cFilterSrc ) ) ENDIF - END SEQUENCE + END RETURN cRetVal ENDIF @@ -10400,7 +10408,7 @@ STATIC FUNCTION MacroProc( hbmk, cString, cFileName, cMacroPrefix ) LOCAL cStdOut - DO WHILE ( nStart := At( cStart, cString ) ) > 0 .AND. ; + WHILE ( nStart := At( cStart, cString ) ) > 0 .AND. ; ( nEnd := hb_At( _MACRO_CLOSE, cString, nStart + Len( cStart ) ) ) > 0 cMacro := MacroGet( hbmk, SubStr( cString, nStart + Len( cStart ), nEnd - nStart - Len( cStart ) ), cFileName ) @@ -10408,7 +10416,7 @@ STATIC FUNCTION MacroProc( hbmk, cString, cFileName, cMacroPrefix ) cString := Left( cString, nStart - 1 ) + cMacro + SubStr( cString, nEnd + Len( _MACRO_CLOSE ) ) ENDDO - DO WHILE ( nStart := At( _CMDSUBST_OPEN, cString ) ) > 0 .AND. ; + WHILE ( nStart := At( _CMDSUBST_OPEN, cString ) ) > 0 .AND. ; ( nEnd := hb_At( _CMDSUBST_CLOSE, cString, nStart + Len( _CMDSUBST_OPEN ) ) ) > 0 cMacro := SubStr( cString, nStart + Len( _CMDSUBST_OPEN ), nEnd - nStart - Len( _CMDSUBST_OPEN ) ) cStdOut := "" @@ -10582,7 +10590,7 @@ STATIC FUNCTION getFirstFunc( hbmk, cFile ) cLine := AllTrim( cLine ) IF LEFTEQUAL( cLine, '{ "' ) .AND. "HB_FS_FIRST" $ cLine .AND. !( "HB_FS_STATIC" $ cLine ) n := 4 - DO WHILE ( c := SubStr( cLine, n++, 1 ) ) != '"' + WHILE ( c := SubStr( cLine, n++, 1 ) ) != '"' cFuncName += c ENDDO EXIT @@ -10603,7 +10611,7 @@ STATIC FUNCTION getFirstFunc( hbmk, cFile ) n += 11 ENDIF IF n != 0 - DO WHILE ( c := SubStr( cFuncList, n++, 1 ) ) == "_" .OR. ; + WHILE ( c := SubStr( cFuncList, n++, 1 ) ) == "_" .OR. ; hb_asciiIsDigit( c ) .OR. hb_asciiIsAlpha( c ) IF c == "x" .AND. IsHexDigit( SubStr( cFuncList, n, 1 ) ) .AND. ; IsHexDigit( SubStr( cFuncList, n + 1, 1 ) ) @@ -12649,7 +12657,7 @@ STATIC FUNCTION __hbshell_plugins_load( hPlugins, aParams ) RECOVER USING oError plugin[ _PLUGIN_hHRB ] := NIL OutErr( hb_StrFormat( I_( "Error: Loading shell plugin: %1$s\n'%2$s'" ), cFile:__enumKey(), hbmk_ErrorMessage( oError ) ) + _OUT_EOL ) - END SEQUENCE + END ENDIF IF ! Empty( plugin[ _PLUGIN_hHRB ] ) @@ -12771,7 +12779,7 @@ STATIC PROCEDURE __hbshell_prompt( aParams, cCommand ) plugins := __hbshell_plugins_load( __hbshell_plugins(), aParams ) - DO WHILE .T. + WHILE .T. IF cLine == NIL cLine := Space( HB_LINE_LEN ) @@ -12979,7 +12987,7 @@ STATIC PROCEDURE __hbshell_Exec( cCommand ) ENDIF ENDIF - END SEQUENCE + END s_nRow := Row() s_nCol := Col()