From 7b60dd6694854713aae329b83cad514e470b717c Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 25 May 2009 21:07:11 +0000 Subject: [PATCH] 2009-05-25 23:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/wvgsink.c ! Fixed warning. * Some formatting, minor cleanup. * source/rtl/hbi18n2.prg + __I18N_POTARRAYSAVE() got logical flag to suppress Harbour version number in saved file comment. + __I18N_POTARRAYSAVE() got logical flag to suppress source reference information in save file. This way it's possible to lessen the number of .po file updates and to avoid the growth caused by texts moving around while files are being edited. * utils/hbmk2/hbmk2.prg + Added option to save .po files in a version repository friendly way, this means no Harbour version number and no source file references in .po files. You can activate this using -minipo option. --- harbour/ChangeLog | 19 +++++++ harbour/contrib/gtwvg/wvgsink.c | 94 ++++++++++++++++----------------- harbour/source/rtl/hbi18n2.prg | 9 ++-- harbour/utils/hbmk2/hbmk2.prg | 34 +++++++----- 4 files changed, 90 insertions(+), 66 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a40a5de6e5..52a7d94ee3 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,25 @@ past entries belonging to these authors: Viktor Szakats. */ +2009-05-25 23:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/gtwvg/wvgsink.c + ! Fixed warning. + * Some formatting, minor cleanup. + + * source/rtl/hbi18n2.prg + + __I18N_POTARRAYSAVE() got logical flag to suppress Harbour version + number in saved file comment. + + __I18N_POTARRAYSAVE() got logical flag to suppress source + reference information in save file. This way it's possible to + lessen the number of .po file updates and to avoid the growth + caused by texts moving around while files are being edited. + + * utils/hbmk2/hbmk2.prg + + Added option to save .po files in a version repository friendly + way, this means no Harbour version number and no source file + references in .po files. You can activate this using -minipo + option. + 2009-05-25 23:29 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/gtwvg/wvgsink.c ! fixed, cleaned C++ compilation diff --git a/harbour/contrib/gtwvg/wvgsink.c b/harbour/contrib/gtwvg/wvgsink.c index e4cc403d3d..53b2071462 100644 --- a/harbour/contrib/gtwvg/wvgsink.c +++ b/harbour/contrib/gtwvg/wvgsink.c @@ -313,34 +313,34 @@ static HRESULT STDMETHODCALLTYPE QueryInterface( IEventHandler *self, REFIID vTa * IDispatch GUID, then we'll return the IExample3, since it can masquerade * as an IDispatch too */ - if ( IsEqualIID( vTableGuid, HB_ID_REF( IID_IUnknown ) ) ) + if( IsEqualIID( vTableGuid, HB_ID_REF( IID_IUnknown ) ) ) { *ppv = ( IUnknown * ) self; /* Increment the count of callers who have an outstanding pointer to self object */ #ifdef __HBTOOUT__ -hb_ToOutDebug( ".................................if ( IsEqualIID( vTableGuid, HB_ID_REF( IID_IUnknown ) ) )" ); +hb_ToOutDebug( ".................................if( IsEqualIID( vTableGuid, HB_ID_REF( IID_IUnknown ) ) )" ); #endif HB_VTBL( self )->AddRef( HB_THIS( self ) ); return S_OK; } - if ( IsEqualIID( vTableGuid, HB_ID_REF( IID_IDispatch ) ) ) + if( IsEqualIID( vTableGuid, HB_ID_REF( IID_IDispatch ) ) ) { *ppv = ( IDispatch * ) self; #ifdef __HBTOOUT__ -hb_ToOutDebug( ".................................if ( IsEqualIID( vTableGuid, HB_ID_REF( IID_IDispatch ) ) )" ); +hb_ToOutDebug( ".................................if( IsEqualIID( vTableGuid, HB_ID_REF( IID_IDispatch ) ) )" ); #endif HB_VTBL( self )->AddRef( HB_THIS( self ) ); return S_OK; } - if ( IsEqualIID( vTableGuid, HB_ID_REF( ( ( MyRealIEventHandler * ) self )->device_event_interface_iid ) ) ) + if( IsEqualIID( vTableGuid, HB_ID_REF( ( ( MyRealIEventHandler * ) self )->device_event_interface_iid ) ) ) { if( ++( ( ( MyRealIEventHandler * ) self )->iID_riid ) == 1 ) { *ppv = ( IDispatch* ) self; #ifdef __HBTOOUT__ -hb_ToOutDebug( ".................................if ( IsEqualIID( vTableGuid, HB_ID_REF( ( ( MyRealIEventHandler * ) self )->device_event_interface_iid ) ) )" ); +hb_ToOutDebug( ".................................if( IsEqualIID( vTableGuid, HB_ID_REF( ( ( MyRealIEventHandler * ) self )->device_event_interface_iid ) ) )" ); #endif HB_VTBL( self )->AddRef( HB_THIS( self ) ); } @@ -379,7 +379,7 @@ static ULONG STDMETHODCALLTYPE Release( IEventHandler *self ) hb_ToOutDebug( "static ULONG STDMETHODCALLTYPE Release( IEventHandler *self )->count = %i", ( ( MyRealIEventHandler * ) self )->count - 1 ); #endif - if ( --( ( MyRealIEventHandler * ) self )->count == 0 ) + if( --( ( MyRealIEventHandler * ) self )->count == 0 ) { if( ( ( MyRealIEventHandler * ) self)->pSelf ) { @@ -455,7 +455,7 @@ static HRESULT STDMETHODCALLTYPE Invoke( IEventHandler *self, DISPID dispid, REF #endif /* We implement only a "default" interface */ - if ( !IsEqualIID( riid, HB_ID_REF( IID_NULL ) ) ) + if( !IsEqualIID( riid, HB_ID_REF( IID_NULL ) ) ) { return( ( HRESULT ) DISP_E_UNKNOWNINTERFACE ); } @@ -466,12 +466,12 @@ static HRESULT STDMETHODCALLTYPE Invoke( IEventHandler *self, DISPID dispid, REF HB_SYMBOL_UNUSED( puArgErr ); Key = hb_itemNew( NULL ); - if ( hb_hashScan( ( ( MyRealIEventHandler * ) self )->pEvents, hb_itemPutNL( Key, dispid ), &ulPos ) ) + if( hb_hashScan( ( ( MyRealIEventHandler * ) self )->pEvents, hb_itemPutNL( Key, dispid ), &ulPos ) ) { PHB_ITEM pArray = hb_hashGetValueAt( ( ( MyRealIEventHandler * ) self )->pEvents, ulPos ); PHB_ITEM pExec = hb_arrayGetItemPtr( pArray, 1 ); - if ( pExec ) + if( pExec ) { hb_vmPushState(); @@ -487,7 +487,7 @@ static HRESULT STDMETHODCALLTYPE Invoke( IEventHandler *self, DISPID dispid, REF PHB_ITEM pObject = hb_arrayGetItemPtr( pArray, 3 ); hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( hb_itemGetCPtr( pExec ) ) ) ); - if ( HB_IS_OBJECT( pObject ) ) + if( HB_IS_OBJECT( pObject ) ) hb_vmPush( pObject ); else hb_vmPushNil(); @@ -516,23 +516,19 @@ static HRESULT STDMETHODCALLTYPE Invoke( IEventHandler *self, DISPID dispid, REF } /* execute */ - hb_vmDo( iArg ); + hb_vmDo( ( USHORT ) iArg ); - for( i=iArg; i > 0; i-- ) + for( i = iArg; i > 0; i-- ) { if( HB_IS_BYREF( pItemArray[ iArg-i ] ) ) - { hb_oleItemToVariant( &( params->rgvarg[ iArg-i ] ), pItemArray[ iArg-i ] ); - } } /* Pritpal */ - if ( iArg ) + if( iArg ) { - for( i=iArg; i > 0; i-- ) - { + for( i = iArg; i > 0; i-- ) hb_itemRelease( pItemArray[ i-1 ] ); - } } hb_vmPopState(); } @@ -597,13 +593,13 @@ static HRESULT SetupConnectionPoint( device_interface* pdevice_interface, REFIID ( ( MyRealIEventHandler * ) thisobj )->iID_riid = 0; hr = HB_VTBL( thisobj )->QueryInterface( HB_THIS_( thisobj ) HB_ID_REF( IID_IUnknown ), (void **) (void*) &pIUnknown ); - if (hr == S_OK && pIUnknown) + if(hr == S_OK && pIUnknown) { hr = HB_VTBL( pdevice_interface )->QueryInterface( HB_THIS_( pdevice_interface ) HB_ID_REF( IID_IConnectionPointContainer ), (void**) (void*) &pIConnectionPointContainerTemp); - if ( hr == S_OK && pIConnectionPointContainerTemp ) + if( hr == S_OK && pIConnectionPointContainerTemp ) { hr = HB_VTBL( pIConnectionPointContainerTemp )->EnumConnectionPoints( HB_THIS_( pIConnectionPointContainerTemp ) &m_pIEnumConnectionPoints ); - if ( hr == S_OK && m_pIEnumConnectionPoints ) + if( hr == S_OK && m_pIEnumConnectionPoints ) { do { @@ -611,7 +607,7 @@ static HRESULT SetupConnectionPoint( device_interface* pdevice_interface, REFIID if( hr == S_OK ) { hr = HB_VTBL( m_pIConnectionPoint )->GetConnectionInterface( HB_THIS_( m_pIConnectionPoint ) &rriid ); - if ( hr == S_OK ) + if( hr == S_OK ) { /************** This has to be review ******************* PellesC was generating GPF at this point @@ -622,7 +618,7 @@ static HRESULT SetupConnectionPoint( device_interface* pdevice_interface, REFIID #endif hr = HB_VTBL( m_pIConnectionPoint )->Advise( HB_THIS_( m_pIConnectionPoint ) pIUnknown, &dwCookie ); - if ( hr == S_OK ) + if( hr == S_OK ) { ( ( MyRealIEventHandler* ) thisobj )->pIConnectionPoint = m_pIConnectionPoint; ( ( MyRealIEventHandler* ) thisobj )->dwEventCookie = dwCookie; @@ -662,7 +658,7 @@ HB_FUNC( HB_AX_SHUTDOWNCONNECTIONPOINT ) hb_ToOutDebug( "---------------------------------------------" ); #endif #if 1 - if ( hSink && hSink->pIConnectionPoint ) + if( hSink && hSink->pIConnectionPoint ) { hSink->dwEventCookie = 0; HB_VTBL( hSink->pIConnectionPoint )->Release( HB_THIS( hSink->pIConnectionPoint ) ); @@ -773,9 +769,9 @@ HB_FUNC( HB_AX_ATLAXWININIT ) #else AtlAxWinInit = ( PATLAXWININIT ) GetProcAddress( hLib, "AtlAxWinInit" ); #endif - if ( AtlAxWinInit ) + if( AtlAxWinInit ) { - if ( ( AtlAxWinInit )() ) + if( ( AtlAxWinInit )() ) { bRet = TRUE; } @@ -837,7 +833,7 @@ HB_FUNC( HB_AX_ATLAXCREATECONTROL ) #else AtlAxCreateControl = ( PATLAXCREATECONTROL ) GetProcAddress( hLib, "AtlAxCreateControl" ); #endif - if ( AtlAxCreateControl ) + if( AtlAxCreateControl ) { LPTSTR cCaption = HB_TCHAR_CONVTO( Caption ); LPTSTR cClass = HB_TCHAR_CONVTO( szClass ); @@ -1100,8 +1096,8 @@ typedef struct { int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ { /*UINT nTypeInfoCount; - *m_hRet = m_pDisp->GetTypeInfoCount(&nTypeInfoCount); - *if(m_hRet!=S_OK||nTypeInfoCount==0) + *m_hRet = m_pDisp->GetTypeInfoCount( &nTypeInfoCount ); + *if( m_hRet != S_OK || nTypeInfoCount == 0 ) *{ * #ifdef XYDISPDRIVER_DEBUG * _tprintf(_T("GetTypeInfoCount failed or no type info: %x\n"),m_hRet); @@ -1111,7 +1107,7 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ ITypeInfo* pTypeInfo; TYPEATTR* pTypeAttr; HRESULT hr; - int i,j; + int i, j; unsigned int nCount; int m_nMethodCount; int m_nVarCount; @@ -1186,7 +1182,7 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ } pTypeInfo->lpVtbl->ReleaseTypeAttr( pTypeInfo, pTypeAttr ); - pTypeInfo->lpVtbl->Release(pTypeInfo); + pTypeInfo->lpVtbl->Release( pTypeInfo ); if( pTempAttr == NULL ) { @@ -1216,7 +1212,7 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ hb_ToOutDebug( "--------------- looping through methods ----------------"); - for( i=0; i < m_nMethodCount; i++ ) + for( i = 0; i < m_nMethodCount; i++ ) { FUNCDESC* pFuncDesc; hr = pTypeInfo->lpVtbl->GetFuncDesc( pTypeInfo, i, &pFuncDesc ); @@ -1268,7 +1264,7 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ VariantInit( m_pDispInfo[i].m_pOutput ); m_pDispInfo[i].m_vtOutputType = pFuncDesc->elemdescFunc.tdesc.vt; - if( m_pDispInfo[i].m_vtOutputType==VT_VOID||m_pDispInfo[i].m_vtOutputType==VT_NULL ) + if( m_pDispInfo[i].m_vtOutputType == VT_VOID || m_pDispInfo[i].m_vtOutputType == VT_NULL ) { m_pDispInfo[i].m_vtOutputType = VT_EMPTY; } @@ -1278,7 +1274,7 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ m_pDispInfo[i].m_bstrName, /* wide-character string */ -1, /* number of chars in string. */ cBuffer, /* buffer for new string */ - 128, /* size of buffer */ + sizeof( cBuffer ), /* size of buffer */ NULL, /* default for unmappable chars */ NULL /* set when default char used */ ); @@ -1294,11 +1290,11 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ m_pDispInfo[i].m_pParamTypes = (WORD*) hb_xgrab( sizeof(WORD) * (m_pDispInfo[i].m_nParamCount+1)); for( j=0; jlprgelemdescParam[j].tdesc.vt==VT_SAFEARRAY ) + if( pFuncDesc->lprgelemdescParam[j].tdesc.vt == VT_SAFEARRAY ) { m_pDispInfo[i].m_pParamTypes[j] = (pFuncDesc->lprgelemdescParam[j].tdesc.lptdesc->vt)|VT_ARRAY; } - else if( pFuncDesc->lprgelemdescParam[j].tdesc.vt==VT_PTR ) + else if( pFuncDesc->lprgelemdescParam[j].tdesc.vt == VT_PTR ) { m_pDispInfo[i].m_pParamTypes[j] = (pFuncDesc->lprgelemdescParam[j].tdesc.lptdesc->vt)|VT_BYREF; } @@ -1313,10 +1309,10 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ hb_ToOutDebug( "--------------- looping through var count -------------------"); - for( i=m_nMethodCount; ilpVtbl->GetVarDesc(pTypeInfo, i-m_nMethodCount, &pVarDesc); + hr = pTypeInfo->lpVtbl->GetVarDesc(pTypeInfo, i - m_nMethodCount, &pVarDesc); if( hr != S_OK ) { pTypeInfo->lpVtbl->ReleaseTypeAttr( pTypeInfo, pTypeAttr ); @@ -1328,12 +1324,12 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ m_pDispInfo[i].m_dispID = pVarDesc->memid; m_pDispInfo[i+m_nVarCount].m_dispID = m_pDispInfo[i].m_dispID; - hr = pTypeInfo->lpVtbl->GetNames( pTypeInfo, m_pDispInfo[i].m_dispID ,&m_pDispInfo[i].m_bstrName,1,&nCount ); + hr = pTypeInfo->lpVtbl->GetNames( pTypeInfo, m_pDispInfo[i].m_dispID, &m_pDispInfo[i].m_bstrName, 1, &nCount ); if( hr != S_OK ) { - pTypeInfo->lpVtbl->ReleaseVarDesc(pTypeInfo, pVarDesc); - pTypeInfo->lpVtbl->ReleaseTypeAttr(pTypeInfo, pTypeAttr); - pTypeInfo->lpVtbl->Release(pTypeInfo); + pTypeInfo->lpVtbl->ReleaseVarDesc( pTypeInfo, pVarDesc ); + pTypeInfo->lpVtbl->ReleaseTypeAttr( pTypeInfo, pTypeAttr ); + pTypeInfo->lpVtbl->Release( pTypeInfo ); /*m_nMethodCount = m_nVarCount = m_nDispInfoCount = 0; */ /* free memory */ return 0; @@ -1354,13 +1350,13 @@ int LoadTypeInformation( IDispatch* pDisp ) /* pass dispatch interface */ break; default: m_pDispInfo[i].m_wFlag = 0; - m_pDispInfo[i+m_nVarCount].m_wFlag = 0; + m_pDispInfo[i + m_nVarCount].m_wFlag = 0; break; } m_pDispInfo[i].m_pOutput = ( VARIANT* ) hb_xgrab( sizeof( VARIANT ) );/* new VARIANT; */ ::VariantInit( m_pDispInfo[i].m_pOutput ); m_pDispInfo[i+m_nVarCount].m_pOutput = ( VARIANT* ) hb_xgrab( sizeof( VARIANT ) ); /* new VARIANT; */ - VariantInit( m_pDispInfo[i+m_nVarCount].m_pOutput ); + VariantInit( m_pDispInfo[i + m_nVarCount].m_pOutput ); pTypeInfo->lpVtbl->ReleaseVarDesc( pTypeInfo, pVarDesc ); } @@ -1397,11 +1393,11 @@ HB_FUNC( HB_AX_ADVISEEVENTS ) bstrClassID = hb_oleAnsiToSysString( hb_parcx( 2 ) ); hr = IIDFromString( bstrClassID, ( LPIID ) &iid ); SysFreeString( bstrClassID ); - if ( hr == S_OK ) + if( hr == S_OK ) { hb_ToOutDebug( "<<<<<<<<<<<<<<< 1 >>>>>>>>>>>>" ); thisobj = ( IEventHandler * ) GlobalAlloc( GMEM_FIXED, sizeof(MyRealIEventHandler ) ); - if ( !( thisobj ) ) + if( !( thisobj ) ) { hr = E_OUTOFMEMORY; } @@ -1420,11 +1416,11 @@ hb_ToOutDebug( "<<<<<<<<<<<<<<< 3 >>>>>>>>>>>>"); { hb_ToOutDebug( "<<<<<<<<<<<<<<< 4 >>>>>>>>>>>>"); hr = pCPC->lpVtbl->FindConnectionPoint( pCPC, (REFIID)&iid, &pCP ); - if ( hr == S_OK ) + if( hr == S_OK ) { hb_ToOutDebug( "<<<<<<<<<<<<<<< 5 >>>>>>>>>>>>"); hr = pCP->lpVtbl->Advise( pCP, pIUnknown, &dwCookie ); - if ( hr == S_OK ) + if( hr == S_OK ) { hb_ToOutDebug( "<<<<<<<<<<<<<<< 6 >>>>>>>>>>>>"); ((MyRealIEventHandler *) thisobj)->device_event_interface_iid = iid; diff --git a/harbour/source/rtl/hbi18n2.prg b/harbour/source/rtl/hbi18n2.prg index 4e5fe4c389..6be2c0a575 100644 --- a/harbour/source/rtl/hbi18n2.prg +++ b/harbour/source/rtl/hbi18n2.prg @@ -294,21 +294,24 @@ FUNCTION __I18N_POTARRAYLOAD( cFile, cErrorMsg ) RETURN aTrans -FUNCTION __I18N_POTARRAYSAVE( cFile, aTrans, cErrorMsg ) +FUNCTION __I18N_POTARRAYSAVE( cFile, aTrans, cErrorMsg, lVersionNo, lSourceRef ) LOCAL aItem LOCAL hFile LOCAL lRet, lPlural LOCAL cEol, cPOT, cFlg LOCAL msg + DEFAULT lVersionNo TO .T. + DEFAULT lSourceRef TO .T. + lRet := .F. cEol := hb_osNewLine() cFlg := "#, c-format" + cEol cPOT := "#" + cEol + ; - "# This file is generated by " + hb_version() + cEol + ; + "# This file is generated by " + iif( lVersionNo, hb_version(), "Harbour" ) + cEol + ; "#" + cEol + cEol FOR EACH aItem IN aTrans - IF !Empty( aItem[ _I18N_SOURCE ] ) + IF lSourceRef .AND. !Empty( aItem[ _I18N_SOURCE ] ) cPOT += "#: " cPOT += aItem[ _I18N_SOURCE ] cPOT += cEol diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 81e910c87b..7875fe1edf 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -210,23 +210,24 @@ REQUEST hbmk_KEYW #define _HBMK_lRUN 38 #define _HBMK_lINC 39 #define _HBMK_lREBUILDPO 40 +#define _HBMK_lMINIPO 41 -#define _HBMK_aPO 41 -#define _HBMK_cHBI 42 -#define _HBMK_aLNG 43 -#define _HBMK_cPO 44 +#define _HBMK_aPO 42 +#define _HBMK_cHBI 43 +#define _HBMK_aLNG 44 +#define _HBMK_cPO 45 -#define _HBMK_lDEBUGTIME 45 -#define _HBMK_lDEBUGINC 46 -#define _HBMK_lDEBUGSTUB 47 -#define _HBMK_lDEBUGI18N 48 +#define _HBMK_lDEBUGTIME 46 +#define _HBMK_lDEBUGINC 47 +#define _HBMK_lDEBUGSTUB 48 +#define _HBMK_lDEBUGI18N 49 -#define _HBMK_cCCPATH 49 -#define _HBMK_cCCPREFIX 50 +#define _HBMK_cCCPATH 50 +#define _HBMK_cCCPREFIX 51 -#define _HBMK_lUTF8 51 +#define _HBMK_lUTF8 52 -#define _HBMK_MAX_ 51 +#define _HBMK_MAX_ 52 #ifndef _HBMK_EMBEDDED_ @@ -539,6 +540,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) hbmk[ _HBMK_lRUN ] := .F. hbmk[ _HBMK_lINC ] := .F. hbmk[ _HBMK_lREBUILDPO ] := .F. + hbmk[ _HBMK_lMINIPO ] := .F. hbmk[ _HBMK_lDEBUGTIME ] := .F. hbmk[ _HBMK_lDEBUGINC ] := .F. @@ -1257,6 +1259,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) cParamL == "-nobeep" ; s_lBEEP := .F. CASE cParamL == "-rebuild" ; hbmk[ _HBMK_lINC ] := .T. ; hbmk[ _HBMK_lREBUILD ] := .T. CASE cParamL == "-rebuildpo" ; hbmk[ _HBMK_lREBUILDPO ] := .T. + CASE cParamL == "-minipo" ; hbmk[ _HBMK_lMINIPO ] := .T. + CASE cParamL == "-minipo-" .OR. ; + cParamL == "-nominipo" ; hbmk[ _HBMK_lMINIPO ] := .F. CASE cParamL == "-clean" ; hbmk[ _HBMK_lINC ] := .T. ; s_lCLEAN := .T. CASE cParamL == "-inc" ; hbmk[ _HBMK_lINC ] := .T. CASE cParamL == "-inc-" .OR. ; @@ -5463,7 +5468,7 @@ STATIC PROCEDURE POTMerge( hbmk, aFiles, cFileBase, cFileOut ) LOCAL aTrans := LoadPOTFiles( hbmk, aFiles, cFileBase, .T. ) IF aTrans != NIL - IF !__i18n_potArraySave( cFileOut, aTrans, @cErrorMsg ) + IF !__i18n_potArraySave( cFileOut, aTrans, @cErrorMsg, ! hbmk[ _HBMK_lMINIPO ], ! hbmk[ _HBMK_lMINIPO ] ) hbmk_OutErr( hbmk, hb_StrFormat( I_( ".pot merge error: %1$s" ), cErrorMsg ) ) ENDIF ENDIF @@ -5475,7 +5480,7 @@ STATIC PROCEDURE AutoTrans( hbmk, cFileIn, aFiles, cFileOut ) IF !__I18N_potArraySave( cFileOut, ; __I18N_potArrayTrans( LoadPOTFiles( hbmk, {}, cFileIn, .F. ), ; - LoadPOTFilesAsHash( hbmk, aFiles ) ), @cErrorMsg ) + LoadPOTFilesAsHash( hbmk, aFiles ) ), @cErrorMsg, ! hbmk[ _HBMK_lMINIPO ], ! hbmk[ _HBMK_lMINIPO ] ) hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: %1$s" ), cErrorMsg ) ) ENDIF @@ -5789,6 +5794,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong ) { "-hbi[=]" , I_( "output .hbi filename. ${lng} macro is accepted in filename" ) },; { "-lng=" , I_( "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbi/.po filenames. Comma separared list:\n-lng=en-EN,hu-HU,de" ) },; { "-po=" , I_( "create/update .po file from source. Merge it with previous .po file of the same name" ) },; + { "-[no]minipo" , I_( "don't (or do) add Harbour version number and source file reference to .po (default: add them)" ) },; { "-rebuildpo" , I_( "recreate .po file, thus removing all obsolete entries in it" ) },; NIL,; { "-target=