From 75ebef1fad9480df560ea9fc5474ac7e672a3310 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 16 Sep 2007 10:54:46 +0000 Subject: [PATCH] 2007-09-16 12:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libct/makefile.vc * Some alignment. * source/rtl/listbox.prg ! Using manifest constant. * source/rtl/tbrowse.prg ! Some final fixes for full color compatibility. * source/common/hbver.c + Added NOTE about what CA-Cl*ppers are returning for Version(). --- harbour/ChangeLog | 16 +++- harbour/contrib/libct/makefile.vc | 132 +++++++++++++++--------------- harbour/source/common/hbver.c | 5 ++ harbour/source/rtl/listbox.prg | 2 +- harbour/source/rtl/tbrowse.prg | 11 +-- 5 files changed, 90 insertions(+), 76 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index cf950ff569..e81172804f 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,20 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-09-16 12:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/libct/makefile.vc + * Some alignment. + + * source/rtl/listbox.prg + ! Using manifest constant. + + * source/rtl/tbrowse.prg + ! Some final fixes for full color compatibility. + + * source/common/hbver.c + + Added NOTE about what CA-Cl*ppers are returning + for Version(). + 2007-09-15 22:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h + HB_ISFIRSTIDCHAR() and HB_ISNEXTIDCHAR() macros @@ -27,7 +41,7 @@ ! Color handling made fully C5.x compatible. Pls test. + One C5.3 bug replicated where no special header/footer colors are being used if there is not header/footer separator - sepcified. + specified. ! Fixed compile error (because of unused var warning) when HB_COMPAT_C53 is not defined. ! Fixed recently introduced vertical header aligning. diff --git a/harbour/contrib/libct/makefile.vc b/harbour/contrib/libct/makefile.vc index faaf8b617f..39bf4a1e01 100644 --- a/harbour/contrib/libct/makefile.vc +++ b/harbour/contrib/libct/makefile.vc @@ -214,94 +214,94 @@ all: \ CLEAN: -@if exist $(OBJ_DIR)\addascii.* del $(OBJ_DIR)\addascii.* -@if exist $(OBJ_DIR)\asciisum.* del $(OBJ_DIR)\asciisum.* - -@if exist $(OBJ_DIR)\ascpos.* del $(OBJ_DIR)\ascpos.* + -@if exist $(OBJ_DIR)\ascpos.* del $(OBJ_DIR)\ascpos.* -@if exist $(OBJ_DIR)\atadjust.* del $(OBJ_DIR)\atadjust.* - -@if exist $(OBJ_DIR)\atnum.* del $(OBJ_DIR)\atnum.* - -@if exist $(OBJ_DIR)\atrepl.* del $(OBJ_DIR)\atrepl.* - -@if exist $(OBJ_DIR)\bitnum.* del $(OBJ_DIR)\bitnum.* + -@if exist $(OBJ_DIR)\atnum.* del $(OBJ_DIR)\atnum.* + -@if exist $(OBJ_DIR)\atrepl.* del $(OBJ_DIR)\atrepl.* + -@if exist $(OBJ_DIR)\bitnum.* del $(OBJ_DIR)\bitnum.* -@if exist $(OBJ_DIR)\charevod.* del $(OBJ_DIR)\charevod.* -@if exist $(OBJ_DIR)\charlist.* del $(OBJ_DIR)\charlist.* -@if exist $(OBJ_DIR)\charmirr.* del $(OBJ_DIR)\charmirr.* - -@if exist $(OBJ_DIR)\charmix.* del $(OBJ_DIR)\charmix.* - -@if exist $(OBJ_DIR)\charone.* del $(OBJ_DIR)\charone.* + -@if exist $(OBJ_DIR)\charmix.* del $(OBJ_DIR)\charmix.* + -@if exist $(OBJ_DIR)\charone.* del $(OBJ_DIR)\charone.* -@if exist $(OBJ_DIR)\charonly.* del $(OBJ_DIR)\charonly.* - -@if exist $(OBJ_DIR)\charop.* del $(OBJ_DIR)\charop.* + -@if exist $(OBJ_DIR)\charop.* del $(OBJ_DIR)\charop.* -@if exist $(OBJ_DIR)\charrepl.* del $(OBJ_DIR)\charrepl.* -@if exist $(OBJ_DIR)\charsort.* del $(OBJ_DIR)\charsort.* -@if exist $(OBJ_DIR)\charsprd.* del $(OBJ_DIR)\charsprd.* -@if exist $(OBJ_DIR)\charswap.* del $(OBJ_DIR)\charswap.* - -@if exist $(OBJ_DIR)\color.* del $(OBJ_DIR)\color.* - -@if exist $(OBJ_DIR)\count.* del $(OBJ_DIR)\count.* - -@if exist $(OBJ_DIR)\ctc.* del $(OBJ_DIR)\ctc.* + -@if exist $(OBJ_DIR)\color.* del $(OBJ_DIR)\color.* + -@if exist $(OBJ_DIR)\count.* del $(OBJ_DIR)\count.* + -@if exist $(OBJ_DIR)\ctc.* del $(OBJ_DIR)\ctc.* -@if exist $(OBJ_DIR)\ctchksum.* del $(OBJ_DIR)\ctchksum.* - -@if exist $(OBJ_DIR)\ctcrypt.* del $(OBJ_DIR)\ctcrypt.* - -@if exist $(OBJ_DIR)\ctmath.* del $(OBJ_DIR)\ctmath.* - -@if exist $(OBJ_DIR)\ctmath2.* del $(OBJ_DIR)\ctmath2.* - -@if exist $(OBJ_DIR)\ctnet.* del $(OBJ_DIR)\ctnet.* - -@if exist $(OBJ_DIR)\ctpad.* del $(OBJ_DIR)\ctpad.* - -@if exist $(OBJ_DIR)\ctset.* del $(OBJ_DIR)\ctset.* - -@if exist $(OBJ_DIR)\ctstr.* del $(OBJ_DIR)\ctstr.* + -@if exist $(OBJ_DIR)\ctcrypt.* del $(OBJ_DIR)\ctcrypt.* + -@if exist $(OBJ_DIR)\ctmath.* del $(OBJ_DIR)\ctmath.* + -@if exist $(OBJ_DIR)\ctmath2.* del $(OBJ_DIR)\ctmath2.* + -@if exist $(OBJ_DIR)\ctnet.* del $(OBJ_DIR)\ctnet.* + -@if exist $(OBJ_DIR)\ctpad.* del $(OBJ_DIR)\ctpad.* + -@if exist $(OBJ_DIR)\ctset.* del $(OBJ_DIR)\ctset.* + -@if exist $(OBJ_DIR)\ctstr.* del $(OBJ_DIR)\ctstr.* -@if exist $(OBJ_DIR)\ctstrfil.* del $(OBJ_DIR)\ctstrfil.* - -@if exist $(OBJ_DIR)\ctwfunc.* del $(OBJ_DIR)\ctwfunc.* - -@if exist $(OBJ_DIR)\ctwin.* del $(OBJ_DIR)\ctwin.* - -@if exist $(OBJ_DIR)\cursor.* del $(OBJ_DIR)\cursor.* + -@if exist $(OBJ_DIR)\ctwfunc.* del $(OBJ_DIR)\ctwfunc.* + -@if exist $(OBJ_DIR)\ctwin.* del $(OBJ_DIR)\ctwin.* + -@if exist $(OBJ_DIR)\cursor.* del $(OBJ_DIR)\cursor.* -@if exist $(OBJ_DIR)\datetime.* del $(OBJ_DIR)\datetime.* -@if exist $(OBJ_DIR)\dattime2.* del $(OBJ_DIR)\dattime2.* -@if exist $(OBJ_DIR)\dattime3.* del $(OBJ_DIR)\dattime3.* -@if exist $(OBJ_DIR)\dbftools.* del $(OBJ_DIR)\dbftools.* - -@if exist $(OBJ_DIR)\disk.* del $(OBJ_DIR)\disk.* - -@if exist $(OBJ_DIR)\expand.* del $(OBJ_DIR)\expand.* + -@if exist $(OBJ_DIR)\disk.* del $(OBJ_DIR)\disk.* + -@if exist $(OBJ_DIR)\expand.* del $(OBJ_DIR)\expand.* -@if exist $(OBJ_DIR)\exponent.* del $(OBJ_DIR)\exponent.* - -@if exist $(OBJ_DIR)\files.* del $(OBJ_DIR)\files.* - -@if exist $(OBJ_DIR)\finan.* del $(OBJ_DIR)\finan.* - -@if exist $(OBJ_DIR)\ftoc.* del $(OBJ_DIR)\ftoc.* - -@if exist $(OBJ_DIR)\justify.* del $(OBJ_DIR)\justify.* - -@if exist $(OBJ_DIR)\keyset.* del $(OBJ_DIR)\keyset.* - -@if exist $(OBJ_DIR)\like.* del $(OBJ_DIR)\like.* - -@if exist $(OBJ_DIR)\lton.* del $(OBJ_DIR)\lton.* - -@if exist $(OBJ_DIR)\maxline.* del $(OBJ_DIR)\maxline.* - -@if exist $(OBJ_DIR)\misc1.* del $(OBJ_DIR)\misc1.* - -@if exist $(OBJ_DIR)\misc2.* del $(OBJ_DIR)\misc2.* - -@if exist $(OBJ_DIR)\misc3.* del $(OBJ_DIR)\misc3.* - -@if exist $(OBJ_DIR)\num1.* del $(OBJ_DIR)\num1.* - -@if exist $(OBJ_DIR)\numat.* del $(OBJ_DIR)\numat.* + -@if exist $(OBJ_DIR)\files.* del $(OBJ_DIR)\files.* + -@if exist $(OBJ_DIR)\finan.* del $(OBJ_DIR)\finan.* + -@if exist $(OBJ_DIR)\ftoc.* del $(OBJ_DIR)\ftoc.* + -@if exist $(OBJ_DIR)\justify.* del $(OBJ_DIR)\justify.* + -@if exist $(OBJ_DIR)\keyset.* del $(OBJ_DIR)\keyset.* + -@if exist $(OBJ_DIR)\like.* del $(OBJ_DIR)\like.* + -@if exist $(OBJ_DIR)\lton.* del $(OBJ_DIR)\lton.* + -@if exist $(OBJ_DIR)\maxline.* del $(OBJ_DIR)\maxline.* + -@if exist $(OBJ_DIR)\misc1.* del $(OBJ_DIR)\misc1.* + -@if exist $(OBJ_DIR)\misc2.* del $(OBJ_DIR)\misc2.* + -@if exist $(OBJ_DIR)\misc3.* del $(OBJ_DIR)\misc3.* + -@if exist $(OBJ_DIR)\num1.* del $(OBJ_DIR)\num1.* + -@if exist $(OBJ_DIR)\numat.* del $(OBJ_DIR)\numat.* -@if exist $(OBJ_DIR)\numcount.* del $(OBJ_DIR)\numcount.* - -@if exist $(OBJ_DIR)\numline.* del $(OBJ_DIR)\numline.* - -@if exist $(OBJ_DIR)\pack.* del $(OBJ_DIR)\pack.* - -@if exist $(OBJ_DIR)\pos1.* del $(OBJ_DIR)\pos1.* - -@if exist $(OBJ_DIR)\pos2.* del $(OBJ_DIR)\pos2.* - -@if exist $(OBJ_DIR)\posdiff.* del $(OBJ_DIR)\posdiff.* - -@if exist $(OBJ_DIR)\print.* del $(OBJ_DIR)\print.* - -@if exist $(OBJ_DIR)\range.* del $(OBJ_DIR)\range.* + -@if exist $(OBJ_DIR)\numline.* del $(OBJ_DIR)\numline.* + -@if exist $(OBJ_DIR)\pack.* del $(OBJ_DIR)\pack.* + -@if exist $(OBJ_DIR)\pos1.* del $(OBJ_DIR)\pos1.* + -@if exist $(OBJ_DIR)\pos2.* del $(OBJ_DIR)\pos2.* + -@if exist $(OBJ_DIR)\posdiff.* del $(OBJ_DIR)\posdiff.* + -@if exist $(OBJ_DIR)\print.* del $(OBJ_DIR)\print.* + -@if exist $(OBJ_DIR)\range.* del $(OBJ_DIR)\range.* -@if exist $(OBJ_DIR)\relation.* del $(OBJ_DIR)\relation.* - -@if exist $(OBJ_DIR)\remove.* del $(OBJ_DIR)\remove.* - -@if exist $(OBJ_DIR)\replace.* del $(OBJ_DIR)\replace.* - -@if exist $(OBJ_DIR)\screen1.* del $(OBJ_DIR)\screen1.* - -@if exist $(OBJ_DIR)\screen2.* del $(OBJ_DIR)\screen2.* - -@if exist $(OBJ_DIR)\setlast.* del $(OBJ_DIR)\setlast.* - -@if exist $(OBJ_DIR)\strdiff.* del $(OBJ_DIR)\strdiff.* - -@if exist $(OBJ_DIR)\strswap.* del $(OBJ_DIR)\strswap.* - -@if exist $(OBJ_DIR)\tab.* del $(OBJ_DIR)\tab.* - -@if exist $(OBJ_DIR)\token1.* del $(OBJ_DIR)\token1.* - -@if exist $(OBJ_DIR)\token2.* del $(OBJ_DIR)\token2.* - -@if exist $(OBJ_DIR)\trig.* del $(OBJ_DIR)\trig.* - -@if exist $(OBJ_DIR)\video.* del $(OBJ_DIR)\video.* + -@if exist $(OBJ_DIR)\remove.* del $(OBJ_DIR)\remove.* + -@if exist $(OBJ_DIR)\replace.* del $(OBJ_DIR)\replace.* + -@if exist $(OBJ_DIR)\screen1.* del $(OBJ_DIR)\screen1.* + -@if exist $(OBJ_DIR)\screen2.* del $(OBJ_DIR)\screen2.* + -@if exist $(OBJ_DIR)\setlast.* del $(OBJ_DIR)\setlast.* + -@if exist $(OBJ_DIR)\strdiff.* del $(OBJ_DIR)\strdiff.* + -@if exist $(OBJ_DIR)\strswap.* del $(OBJ_DIR)\strswap.* + -@if exist $(OBJ_DIR)\tab.* del $(OBJ_DIR)\tab.* + -@if exist $(OBJ_DIR)\token1.* del $(OBJ_DIR)\token1.* + -@if exist $(OBJ_DIR)\token2.* del $(OBJ_DIR)\token2.* + -@if exist $(OBJ_DIR)\trig.* del $(OBJ_DIR)\trig.* + -@if exist $(OBJ_DIR)\video.* del $(OBJ_DIR)\video.* -@if exist $(OBJ_DIR)\wordrepl.* del $(OBJ_DIR)\wordrepl.* -@if exist $(OBJ_DIR)\wordtoch.* del $(OBJ_DIR)\wordtoch.* - -@if exist $(OBJ_DIR)\blank.* del $(OBJ_DIR)\blank.* - -@if exist $(OBJ_DIR)\ct.* del $(OBJ_DIR)\ct.* - -@if exist $(OBJ_DIR)\ctmisc.* del $(OBJ_DIR)\ctmisc.* - -@if exist $(OBJ_DIR)\cttime.* del $(OBJ_DIR)\cttime.* - -@if exist $(OBJ_DIR)\fcopy.* del $(OBJ_DIR)\fcopy.* - -@if exist $(OBJ_DIR)\getinfo.* del $(OBJ_DIR)\getinfo.* + -@if exist $(OBJ_DIR)\blank.* del $(OBJ_DIR)\blank.* + -@if exist $(OBJ_DIR)\ct.* del $(OBJ_DIR)\ct.* + -@if exist $(OBJ_DIR)\ctmisc.* del $(OBJ_DIR)\ctmisc.* + -@if exist $(OBJ_DIR)\cttime.* del $(OBJ_DIR)\cttime.* + -@if exist $(OBJ_DIR)\fcopy.* del $(OBJ_DIR)\fcopy.* + -@if exist $(OBJ_DIR)\getinfo.* del $(OBJ_DIR)\getinfo.* -@if exist $(OBJ_DIR)\getinput.* del $(OBJ_DIR)\getinput.* -@if exist $(OBJ_DIR)\getsecrt.* del $(OBJ_DIR)\getsecrt.* - -@if exist $(OBJ_DIR)\keysave.* del $(OBJ_DIR)\keysave.* - -@if exist $(OBJ_DIR)\keysec.* del $(OBJ_DIR)\keysec.* - -@if exist $(OBJ_DIR)\keytime.* del $(OBJ_DIR)\keytime.* - -@if exist $(OBJ_DIR)\numconv.* del $(OBJ_DIR)\numconv.* - -@if exist $(OBJ_DIR)\screen3.* del $(OBJ_DIR)\screen3.* - -@if exist $(OBJ_DIR)\scrmark.* del $(OBJ_DIR)\scrmark.* + -@if exist $(OBJ_DIR)\keysave.* del $(OBJ_DIR)\keysave.* + -@if exist $(OBJ_DIR)\keysec.* del $(OBJ_DIR)\keysec.* + -@if exist $(OBJ_DIR)\keytime.* del $(OBJ_DIR)\keytime.* + -@if exist $(OBJ_DIR)\numconv.* del $(OBJ_DIR)\numconv.* + -@if exist $(OBJ_DIR)\screen3.* del $(OBJ_DIR)\screen3.* + -@if exist $(OBJ_DIR)\scrmark.* del $(OBJ_DIR)\scrmark.* -@if exist $(OBJ_DIR)\showtime.* del $(OBJ_DIR)\showtime.* -@if exist $(TOOLS_LIB) del $(TOOLS_LIB) diff --git a/harbour/source/common/hbver.c b/harbour/source/common/hbver.c index c46167cc19..5df14d8a4f 100644 --- a/harbour/source/common/hbver.c +++ b/harbour/source/common/hbver.c @@ -527,6 +527,11 @@ char * hb_verHarbour( void ) pszVersion = ( char * ) hb_xgrab( 80 ); + /* NOTE: + CA-Clipper 5.2e returns: "Clipper (R) 5.2e Intl. (x216) (1995.02.07)" + CA-Clipper 5.3b returns: "Clipper (R) 5.3b Intl. (Rev. 338) (1997.04.25)" + */ + snprintf( pszVersion, 80, "Harbour %s build %d.%d-%d Intl.", HB_VER_STATUS, HB_VER_MAJOR, HB_VER_MINOR, HB_VER_REVISION ); diff --git a/harbour/source/rtl/listbox.prg b/harbour/source/rtl/listbox.prg index df483b3eb6..d87fa0c11d 100644 --- a/harbour/source/rtl/listbox.prg +++ b/harbour/source/rtl/listbox.prg @@ -1142,7 +1142,7 @@ FUNCTION _LISTBOX_( nTop, nLeft, nBottom, nRight, nSelect, aItems, cCaption,; IF ISLOGICAL( lDropDown ) .AND. lDropDown nTop++ ENDIF - o:VScroll := ScrollBar( nTop + 1, nBottom - 1, nRight,, 1 ) + o:VScroll := ScrollBar( nTop + 1, nBottom - 1, nRight,, SCROLL_VERTICAL ) ENDIF IF ISCHARACTER( cBitmap ) diff --git a/harbour/source/rtl/tbrowse.prg b/harbour/source/rtl/tbrowse.prg index 23a8b77759..eb9c2e658a 100644 --- a/harbour/source/rtl/tbrowse.prg +++ b/harbour/source/rtl/tbrowse.prg @@ -2151,11 +2151,6 @@ STATIC FUNCTION tbr_CookColor( cColorSpec ) /* NOTE: nMode can be 1/2 or 1/2/3/4 when compiled with HB_COMPAT_C53 (default) [vszakats] */ STATIC FUNCTION tbr_GetColor( aColorSpec, aDefColor, nMode ) - /* NOTE: This is what C5.x does when the specified index is out of range - in the color items sepcified in ::cColorSpec. See in tbr_CookColor() - that we always have at least two color items. [vszakats] */ - #define _COLORPOS_COOK( nPos ) iif( nPos > Len( aColorSpec ), 2 - ( nPos % 2 ), nPos ) - if !ISARRAY( aDefColor ) /* NOTE: This fits both C5.2 and C5.3. In C5.2 nMode is 1 or 2. [vszakats] */ return aColorSpec[ { 1, 2, 1, 1 }[ nMode ] ] @@ -2166,12 +2161,12 @@ STATIC FUNCTION tbr_GetColor( aColorSpec, aDefColor, nMode ) switch nMode case TBC_CLR_STANDARD ; return aColorSpec[ 1 ] case TBC_CLR_ENHANCED ; return aColorSpec[ 2 ] - case TBC_CLR_HEADING ; return aColorSpec[ iif( Len( aDefColor ) >= 1, _COLORPOS_COOK( aDefColor[ 1 ] ), 1 ) ] - case TBC_CLR_FOOTING ; return aColorSpec[ iif( Len( aDefColor ) >= 1, _COLORPOS_COOK( aDefColor[ 1 ] ), 1 ) ] + case TBC_CLR_HEADING ; return aColorSpec[ iif( Len( aDefColor ) >= 1 .AND. aDefColor[ 1 ] <= Len( aColorSpec ), aDefColor[ 1 ], 1 ) ] + case TBC_CLR_FOOTING ; return aColorSpec[ iif( Len( aDefColor ) >= 1 .AND. aDefColor[ 1 ] <= Len( aColorSpec ), aDefColor[ 1 ], 1 ) ] endswitch endif - return aColorSpec[ _COLORPOS_COOK( aDefColor[ nMode ] ) ] + return aColorSpec[ iif( aDefColor[ nMode ] <= Len( aColorSpec ), aDefColor[ nMode ], { 1, 2, 1, 1 }[ nMode ] ) ] STATIC FUNCTION tbr_CalcWidth( xValue, cType, cPicture )