2010-02-20 04:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* include/hbsetup.ch
  * src/common/hbverdsp.c
    - Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
      From this point all Xbase++ compatibility functions and core
      classes are implemented in 'xpp' contrib library (name
      tentative). Add it to your lib list, if you need Xbase++
      compatible functions. IOW HB_COMPAT_XPP build time option
      got converted to a app link time option.

  * src/rtl/isprint.c
    - Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
      purely Clipper compatible in default build.
      INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
      (or HB_ISPRINTER() which is the exact same).

  * src/rtl/tobject.prg
  * src/rtl/transfrm.c
  * src/rtl/memoedit.prg
  * include/memoedit.ch
    * Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
      Which means we've endorsed these extensions in Harbour,
      and they are always enabled except in strict compatibility
      builds.

  * src/rdd/nulsys/nulsys.c
    - Deleted HB_COMPAT_XPP guarded function.

  * contrib/xhb/xhbver.prg
    * Always return .T. for _HB_COMPAT_XPP in version info.

  * include/box.ch
  * contrib/xpp/xpp.ch
    + Added Xbase++ compatibility box.ch constants from core box.ch.
      INCOMPATIBLE if you use B_THIN or B_FAT box style.

  * utils/hbtest/hbtest.prg
  * examples/hbdoc2/tmplates.prg
  * examples/hbdoc2/hbdoc2.prg
    - Deleted parts dealing with HB_COMPAT_XPP option.
This commit is contained in:
Viktor Szakats
2010-02-20 03:51:10 +00:00
parent 73aa1fd7d5
commit 2da1437ec6
15 changed files with 59 additions and 43 deletions

View File

@@ -17,6 +17,47 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-02-20 04:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
From this point all Xbase++ compatibility functions and core
classes are implemented in 'xpp' contrib library (name
tentative). Add it to your lib list, if you need Xbase++
compatible functions. IOW HB_COMPAT_XPP build time option
got converted to a app link time option.
* src/rtl/isprint.c
- Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
purely Clipper compatible in default build.
INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
(or HB_ISPRINTER() which is the exact same).
* src/rtl/tobject.prg
* src/rtl/transfrm.c
* src/rtl/memoedit.prg
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
* src/rdd/nulsys/nulsys.c
- Deleted HB_COMPAT_XPP guarded function.
* contrib/xhb/xhbver.prg
* Always return .T. for _HB_COMPAT_XPP in version info.
* include/box.ch
* contrib/xpp/xpp.ch
+ Added Xbase++ compatibility box.ch constants from core box.ch.
INCOMPATIBLE if you use B_THIN or B_FAT box style.
* utils/hbtest/hbtest.prg
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted parts dealing with HB_COMPAT_XPP option.
2010-02-20 04:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- src/rtl/browdbx.prg
- src/rtl/mousex.c
@@ -51,7 +92,7 @@
; NOTE: INCOMPATIBLE. If you use Xbase++ function, you should now link
xpp lib. (the name of the lib is not yet finalized)
; TODO: Clean remaining four HB_COMPAT_XPP guards and delete this
build-time option from core.
build-time option from core. [DONE]
2010-02-20 03:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- contrib/hbgt/doc/en

View File

@@ -89,11 +89,7 @@ FUNCTION hb_buildinfo( n )
#else
v[ _HB_COMPAT_C53 ] := .F.
#endif
#ifdef HB_COMPAT_XPP
v[ _HB_COMPAT_XPP ] := .T.
#else
v[ _HB_COMPAT_XPP ] := .F.
#endif
v[ _HB_COMPAT_XPP ] := .T. /* Converted to library in Harbour. */
#ifdef HB_COMPAT_VO
v[ _HB_COMPAT_VO ] := .T.
#else

View File

@@ -75,6 +75,14 @@
#xtranslate TBrowse() => xpp_TBrowse()
#xtranslate Get() => xpp_Get()
/* box.ch extensions */
#define B_THIN ( Chr( 219 ) + Chr( 223 ) + Chr( 219 ) + Chr( 219 ) + ;
Chr( 219 ) + Chr( 220 ) + Chr( 219 ) + Chr( 219 ) )
#define B_FAT ( Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + ;
Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + Chr( 219 ) )
/* NOTE: Several other Xbase++ function are currently implemented using
original Xbase++ names. */

View File

@@ -912,7 +912,6 @@ FUNCTION Decode( cType, hsBlock, cKey )
CASE cCode == "FS" ; RETURN "This a Flagship compatibility function and is only visible if source was compiled with the HB_COMPAT_FLAGSHIP flag"
CASE cCode == "H" ; RETURN "This is Harbour specific"
CASE cCode == "NA" ; RETURN "Not applicable"
CASE cCode == "XPP" ; RETURN "This an Xbase++ compatibility function and is only visible if source was compiled with the HB_COMPAT_XPP flag"
OTHERWISE ; RETURN "Unknown 'COMPLIANCE' code: '" + cCode + "'"
ENDCASE

View File

@@ -325,8 +325,7 @@ INIT PROCEDURE Templates()
{ "C53", "This is CA-Cl*pper v5.3 compliant and is only visible if source was compiled with the HB_COMPAT_C53 flag" }, ;
{ "FS", "This a Flagship compatibility function and is only visible if source was compiled with the HB_COMPAT_FLAGSHIP flag" }, ;
{ "H", "This is Harbour specific" }, ;
{ "NA", "Not applicable" }, ;
{ "XPP", "This an Xbase++ compatibility function and is only visible if source was compiled with the HB_COMPAT_XPP flag" } ;
{ "NA", "Not applicable" } ;
}
PUBLIC p_aPlatforms := { ;

View File

@@ -71,14 +71,4 @@
#define B_DOUBLE_SINGLE ( Chr( 213 ) + Chr( 205 ) + Chr( 184 ) + Chr( 179 ) + ;
Chr( 190 ) + Chr( 205 ) + Chr( 212 ) + Chr( 179 ) )
#ifdef HB_COMPAT_XPP
#define B_THIN ( Chr( 219 ) + Chr( 223 ) + Chr( 219 ) + Chr( 219 ) + ;
Chr( 219 ) + Chr( 220 ) + Chr( 219 ) + Chr( 219 ) )
#define B_FAT ( Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + ;
Chr( 219 ) + Chr( 219 ) + Chr( 219 ) + Chr( 219 ) )
#endif
#endif /* _BOX_CH */

View File

@@ -62,7 +62,6 @@
/* #define HB_CLP_STRICT */ /* Enable Cl*pper 5.2e/5.3x strict compatibility */
#define HB_CLP_UNDOC /* Enable Cl*pper 5.2e/5.3x undocumented features */
#define HB_COMPAT_C53 /* Enable Cl*pper 5.3x extensions */
#define HB_COMPAT_XPP /* Enable Xbase++ extensions */
#define HB_COMPAT_FLAGSHIP /* Enable Flagship extensions */
/* #define HB_COMPAT_VO */ /* Enable VO extensions */
/* #define HB_COMPAT_FOXPRO */ /* Enable FoxPro extensions */

View File

@@ -58,7 +58,7 @@
#define ME_UNKEY 1 /* Unknown key, memo unaltered */
#define ME_UNKEYX 2 /* Unknown key, memo altered */
#define ME_INIT 3 /* Initialization mode */
#ifdef HB_COMPAT_XPP
#ifndef HB_CLP_STRICT
#define ME_REQUEST 4 /* Memoedit requests an input from */
/* the user function, e.g. after */
/* ME_PASTE */ /* Xbase++ extension */

View File

@@ -163,9 +163,6 @@ void hb_verBuildInfo( void )
#if defined( HB_CLP_STRICT )
hb_conOutErr( "(Clipper 5.x strict) ", 0 );
#endif
#if defined( HB_COMPAT_XPP )
hb_conOutErr( "(Xbase++) ", 0 );
#endif
#if defined( HB_COMPAT_FLAGSHIP )
hb_conOutErr( "(Flagship) ", 0 );
#endif

View File

@@ -162,10 +162,6 @@ HB_FUNC( DBSEEK ) { hb_retl( HB_FALSE ); }
HB_FUNC( DBSKIP ) { hb_retni( 0 ); }
#ifdef HB_COMPAT_XPP
HB_FUNC( DBSKIPPER ) { hb_retni( 0 ); }
#endif
HB_FUNC( DBAPPEND ) {}
HB_FUNC( DBRECALL ) {}

View File

@@ -135,13 +135,7 @@ HB_FUNC( HB_ISPRINTER )
hb_retl( hb_printerIsReady( hb_parc( 1 ) ) );
}
/* NOTE: The parameter is an Xbase++ extension over CA-Cl*pper. [vszakats] */
HB_FUNC( ISPRINTER )
{
#ifdef HB_COMPAT_XPP
HB_FUNC_EXEC( HB_ISPRINTER );
#else
hb_retl( hb_printerIsReady( NULL ) );
#endif
}

View File

@@ -231,8 +231,8 @@ METHOD HandleUserKey( nKey, nUserKey ) CLASS HBMemoEditor
CASE nUserKey == ME_BOTTOMRIGHT
::MoveCursor( K_CTRL_END )
#ifdef HB_COMPAT_XPP
CASE nUserKey == ME_PASTE
#ifndef HB_CLP_STRICT
CASE nUserKey == ME_PASTE /* Xbase++ compatibility */
hb_gtInfo( HB_GTI_CLIPBOARDPASTE )
#endif

View File

@@ -91,9 +91,8 @@ FUNCTION HBObject()
/*oClass:AddInline( "CLASSSEL" , {| Self | __CLASSSEL( Self:CLASSH() ) }, HB_OO_CLSTP_EXPORTED ) */
/*oClass:AddInline( "EVAL" , {| Self | __EVAL( Self ) }, HB_OO_CLSTP_EXPORTED ) */
/* Xbase++ */
#ifdef HB_COMPAT_XPP
oClass:AddInline( "ISDERIVEDFROM" , {| Self, xPar1 | __ObjDerivedFrom( Self, xPar1 ) }, HB_OO_CLSTP_EXPORTED )
#ifndef HB_CLP_STRICT
oClass:AddInline( "ISDERIVEDFROM" , {| Self, xPar1 | __ObjDerivedFrom( Self, xPar1 ) }, HB_OO_CLSTP_EXPORTED ) /* Xbase++ compatibility */
#endif
/* Class(y) */
oClass:AddInline( "ISKINDOF" , {| Self, xPar1 | __ObjDerivedFrom( Self, xPar1 ) }, HB_OO_CLSTP_EXPORTED )

View File

@@ -145,7 +145,8 @@ HB_FUNC( TRANSFORM )
case ')':
uiPicFlags |= PF_PARNEGWOS;
break;
#if defined( HB_COMPAT_XPP ) || defined( HB_COMPAT_FOXPRO )
#ifndef HB_CLP_STRICT
/* Xbase++ and FoxPro compatibility */
case 'L':
case '0':
uiPicFlags |= PF_PADL; /* FoxPro/XPP extension */

View File

@@ -54,9 +54,6 @@
/* EMPTY() tests written by Eddie Runia <eddie@runia.com> */
/* :class* tests written by Dave Pearson <davep@hagbard.demon.co.uk> */
/* NOTE: The test suite will not work if the DTOS() function is not included
in Harbour (-DHB_COMPAT_XPP). */
/* NOTE: Always compile with /n switch */
/* NOTE: It's worth to make tests with and without the /z switch */
/* NOTE: Guard all Harbour extensions with __HARBOUR__ #ifdefs */