2011-09-20 13:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* src/rtl/teditor.prg
    ! fixed following issue: in MEMOEDIT() insert mode the word wrap inserts
      an additional, not typed space in the new line [when typing at EOL at the
      moment of word wrap - vszakats]. The space is inserted at the place, where
      the word wrap takes place.
      Report and patch provided by Dr.Claudia Neumann. Many thanks.
      (with my formatting: indenting, tab/EOL-space removal)

  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    ! fixed to avoid non-MT compatible strtok() C RTL call.
      Many thanks to Carlos Bacco for the patch.
      (with my minor formatting 'if (' -> 'if(', 'while (' -> 'while( ')

      NOTE: Please continue to avoid strtok() usage in any further Harbour patches,
            it is avoided for good reason.

  * INSTALL
    + added another (this is the 3rd!) mention to use unmodified ("vanilla")
      3rd party packages (especially to make implib generation to work).
    * minor updates

  * contrib/hbrun/hbrun.hbp
    + added another TOFIX to latest patch, about HB_HAS_ZLIB_LOCAL usage,
      which has to be eliminated.

  * ChangeLog
    + added UPDATE to previous ChangeLog entry
This commit is contained in:
Viktor Szakats
2011-09-20 11:58:11 +00:00
parent ad2ddba607
commit 2243ed5e92
5 changed files with 75 additions and 18 deletions

View File

@@ -16,6 +16,35 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-09-20 13:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/teditor.prg
! fixed following issue: in MEMOEDIT() insert mode the word wrap inserts
an additional, not typed space in the new line [when typing at EOL at the
moment of word wrap - vszakats]. The space is inserted at the place, where
the word wrap takes place.
Report and patch provided by Dr.Claudia Neumann. Many thanks.
(with my formatting: indenting, tab/EOL-space removal)
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! fixed to avoid non-MT compatible strtok() C RTL call.
Many thanks to Carlos Bacco for the patch.
(with my minor formatting 'if (' -> 'if(', 'while (' -> 'while( ')
NOTE: Please continue to avoid strtok() usage in any further Harbour patches,
it is avoided for good reason.
* INSTALL
+ added another (this is the 3rd!) mention to use unmodified ("vanilla")
3rd party packages (especially to make implib generation to work).
* minor updates
* contrib/hbrun/hbrun.hbp
+ added another TOFIX to latest patch, about HB_HAS_ZLIB_LOCAL usage,
which has to be eliminated.
* ChangeLog
+ added UPDATE to previous ChangeLog entry
2011-09-16 11:56 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
* ChangeLog
* minor formatting
@@ -24,6 +53,12 @@
* using macro HB_BUILD_DSO to state an linux env with ld DSO linking model
thanks to Viktor.
; TOFIX: export this functionality to other .hbc files in need of this
UPDATE: Before doing the above, it should be fixed to not use HB_HAS_ZLIB_LOCAL,
as it is Harbour core build specific and is not present when using .hbc
files outside this environment. Then this fix should be _moved_ to
respective .hbc files. Current location is wrong, as it's not a hbrun
problem to solve, even though the problem happens to show up when building
hbrun. [vszakats]
2011-09-15 23:47 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
* contrib/hbrun/hbrun.hbp
@@ -1353,7 +1388,7 @@
2011-06-19 11:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt_pointer.cpp
+ added TOFIX to strtok() calls
+ added TOFIX to strtok() calls [DONE]
2011-06-19 11:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbmk2_qt.hbs

View File

@@ -325,6 +325,13 @@ HARBOUR
on *nix which aren't available through official package managers
(ADS Client f.e.).
Note that Harbour is tuned to use 3rd party packages in their default,
unmodified ("vanilla") install layout created by their official/mainstream
install kits. If you manually move, rename, delete or add files
under the 3rd party packages' root directory, the default Harbour
build process (especially Windows implib generation) might not work
as expected.
You can set these environment variables before starting
the build. Make sure to adjust them to your own directories:
@@ -1235,8 +1242,8 @@ HARBOUR
2. Make sure to do a 'make clean' before doing a build after refreshing
the sources.
3. If that still fails, make sure to install fresh source tree in a new
local directory and start over. See HOW TO GET HARBOUR
section for instructions to get the source.
local directory and start over. See HOW TO GET HARBOUR section for
instructions to get the source.
4. If you are doing a cross-build, make sure to have rebuilt the native
Harbour executables for your host platform. See 'HB_HOST_BIN'
build messages to find their location.
@@ -1244,10 +1251,12 @@ HARBOUR
versions when building Harbour. The surest way to achieve this is to
leave only C compiler directory in PATH:
set PATH=C:\<compilerdir>
If you use Harbour official binary distro on Windows, even above is
unnecessary and not recommended.
6. Remove all old, unnecessary environment variables from your environment.
Use only those documented in this file.
Some environment variable settings which are commonly believed by
users to be useful, but which in reality are either not needed or
Follows some environment variable settings which are commonly believed
by users to be useful, but which in reality are either not needed or
not even used by Harbour build process and hbmk2.
You can delete them:
set HB_DIR=<Harbour root dir>
@@ -1266,7 +1275,7 @@ HARBOUR
8. Try to do no or only small modifications at once to command examples
included in this document. If it doesn't work, fall back to documented
examples as is.
9. If everything fails and you are to report a problem to the developers,
9. If everything fails and you are to report a problem to Harbour developers,
make sure to include your OS version/language/CPU architecture,
Harbour revision, C compiler name/release and version, environment
variables and verbose log output containing _both stderr and stdout in

View File

@@ -353,7 +353,7 @@ PHB_ITEM hbqt_defineClassBegin( const char * szClsName, PHB_ITEM s_oClass, const
{
static PHB_DYNS s___HBCLASS = NULL;
char * pszParentClsBuffer = hb_strdup( szParentClsStr );
char * szSingleClsNameBuf = ( char * ) hb_xgrab( strlen( szParentClsStr ) + 1 );
if( s___HBCLASS == NULL )
s___HBCLASS = hb_dynsymGetCase( "HBCLASS" );
@@ -364,26 +364,33 @@ PHB_ITEM hbqt_defineClassBegin( const char * szClsName, PHB_ITEM s_oClass, const
hb_itemPutC( pClsName, szClsName );
HB_SIZE nPos = 0;
HB_SIZE nStart = 0;
/* array with parent classes (at least ONE) */
hb_arrayNew( pSuper, 0 );
HB_TRACE( HB_TR_DEBUG, ("%s: dCB 3", szClsName ) );
while( szParentClsStr[ nPos++ ] )
{
char * szSingleClsName = strtok( pszParentClsBuffer, " ," ); /* TOFIX: strtok() is not MT safe */
PHB_ITEM pItem = hb_itemNew( NULL );
while( szSingleClsName != NULL )
if( ! szParentClsStr[ nPos ] || ( szParentClsStr[ nPos ] == ',' && szParentClsStr[ nPos + 1 ] == ' ' ) )
{
hb_itemPutC( pItem, szSingleClsName );
hb_arrayAdd( pSuper, hb_itemPutSymbol( pItem, hb_dynsymGetCase( szSingleClsName )->pSymbol ) );
szSingleClsName = strtok( NULL, " ," ); /* TOFIX: strtok() is not MT safe */
}
PHB_ITEM pItem = hb_itemNew( NULL );
hb_itemRelease( pItem );
memcpy( szSingleClsNameBuf, szParentClsStr + nStart, nPos - nStart );
szSingleClsNameBuf[ nPos - nStart ] = '\0';
hb_itemPutC( pItem, szSingleClsNameBuf );
hb_arrayAdd( pSuper, hb_itemPutSymbol( pItem, hb_dynsymGetCase( szSingleClsNameBuf )->pSymbol ) );
hb_itemRelease( pItem );
nStart = nPos + 2;
}
}
hb_xfree( pszParentClsBuffer );
hb_xfree( szSingleClsNameBuf );
hb_itemPutSymbol( pSym_ClsFunc, hb_dynsymGetCase( szClsName )->pSymbol );

View File

@@ -27,6 +27,8 @@ pullext.prg
# required by some recent Linux distros that are using the DSO linking model
# TOFIX: move these lines to the respective .hbc files actually needing them
# TOFIX: HB_HAS_ZLIB_LOCAL usage is wrong as it will only work when .hbp is
# built as part of Harbour core build process.
{HB_BUILD_DSO='yes'&linux}-lm
{HB_BUILD_DSO='yes'&linux&!HB_HAS_ZLIB_LOCAL}-lz

View File

@@ -366,7 +366,7 @@ METHOD SplitLine( nRow ) CLASS HBEditor
nStartRow := nRow
cLine := ::GetParagraph( nRow )
DO WHILE !Empty(cLine)
DO WHILE ! Empty( cLine )
IF Len( cLine ) > ::nWordWrapCol
nFirstSpace := ::nWordWrapCol
@@ -403,6 +403,10 @@ METHOD SplitLine( nRow ) CLASS HBEditor
FOR nI := 0 TO nPosInWord
::MoveCursor( K_LEFT )
NEXT
ELSE
IF Set( _SET_INSERT )
::MoveCursor( K_LEFT )
ENDIF
ENDIF
ELSE
::SetPos( nORow, nOCol )