diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f63524244d..5ad890720d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,15 @@ +20000207-00:25 GMT+1 Victor Szakats + * source/vm/cmdarg.c + * Format of build info slightly modified. + + Added maximum symbol length to build info. + * source/rtl/mouse/mousedos.c + ! Several fixes. + ! Formatting. + % Some variables optimized out. + * Mousereg renamed to regs. + * Makefile + ! Formatting fix. + 20000206-20:35 GMT -3 Luiz Rafael Culik *Makefile *Added ngdoc dir to the normal build @@ -11,6 +23,7 @@ * Added support for djgpp compiler *source/tools/html.prg *small changes + 20000206-16:55 GMT+1 Victor Szakats * source/vm/cmdarg.c ! Mistyped #ifdef fixed in //BUILD functionality (mentioned by Jose) @@ -31,7 +44,6 @@ * added note about incompatibility with Clipper in handling of local variables during static variable initialization - 20000206-10:12 GMT+1 Antonio Linares * source/debug/debugger.prg * Mouse support to select pulldown top items (just that for now) diff --git a/harbour/Makefile b/harbour/Makefile index 3ed66d9c03..ca5be2e2cd 100644 --- a/harbour/Makefile +++ b/harbour/Makefile @@ -9,7 +9,7 @@ DIRS=\ source \ obj \ tests \ - ngdoc \ + ngdoc \ # samples \ include $(ROOT)config/dir.cf diff --git a/harbour/source/rtl/mouse/mousedos.c b/harbour/source/rtl/mouse/mousedos.c index eb10e70ba6..98a478250d 100644 --- a/harbour/source/rtl/mouse/mousedos.c +++ b/harbour/source/rtl/mouse/mousedos.c @@ -35,9 +35,10 @@ */ /* TOFIX: Change this to something better */ -/*#define BORLANDC */ -#define MOUSE_INTERRUPT 0x33 +/* #define BORLANDC */ + #if defined(__DJGPP__) || defined(__BORLANDC__) + #define MOUSE_INTERRUPT 0x33 #include #endif @@ -57,19 +58,22 @@ void hb_mouse_Init( void ) /* TODO: */ #if defined(__DJGPP__) || defined(__BORLANDC__) - union REGS Mousereg; - Mousereg.x.ax=0; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - s_bPresent=Mousereg.x.ax; - s_iButtons= Mousereg.x.bx; + { + union REGS regs; + + regs.x.ax = 0; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + s_bPresent = regs.x.ax; + s_iButtons = regs.x.bx; + } +#endif + if( s_bPresent ) { s_iInitCol = hb_mouse_Col(); s_iInitRow = hb_mouse_Row(); } - -#endif - } void hb_mouse_Exit( void ) @@ -89,11 +93,13 @@ void hb_mouse_Show( void ) if( s_bPresent ) { -#if defined(__DJGPP__) ||defined(__BORLANDC__) - union REGS Mousereg; - Mousereg.x.ax=1; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - s_iCursorVisible = TRUE; +#if defined(__DJGPP__) || defined(__BORLANDC__) + union REGS regs; + + regs.x.ax = 1; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + s_iCursorVisible = TRUE; #endif } @@ -105,11 +111,13 @@ void hb_mouse_Hide( void ) if( s_bPresent ) { -#if defined(__DJGPP__)||defined(__BORLANDC__) - union REGS Mousereg; - Mousereg.x.ax=2; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - s_iCursorVisible = FALSE; +#if defined(__DJGPP__)|| defined(__BORLANDC__) + union REGS regs; + + regs.x.ax = 2; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + s_iCursorVisible = FALSE; #endif } } @@ -120,14 +128,13 @@ int hb_mouse_Col( void ) if( s_bPresent ) { +#if defined(__DJGPP__)|| defined(__BORLANDC__) + union REGS regs; - int iCol; -#if defined(__DJGPP__)||defined(__BORLANDC__) - union REGS Mousereg; - Mousereg.x.ax=3; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - iCol=Mousereg.x.cx; - return iCol / 8; + regs.x.ax = 3; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + return regs.x.cx / 8; #else return 0; #endif @@ -140,12 +147,13 @@ int hb_mouse_Row( void ) { if( s_bPresent ) { - int iRow; -#if defined(__DJGPP__)||defined(__BORLANDC__) - union REGS Mousereg; - Mousereg.x.ax=3; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - iRow=Mousereg.x.dx; +#if defined(__DJGPP__)|| defined(__BORLANDC__) + union REGS regs; + + regs.x.ax = 3; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + return regs.x.dx / 8; #else return 0; #endif @@ -160,12 +168,12 @@ void hb_mouse_SetPos( int iRow, int iCol ) if( s_bPresent ) { - union REGS Mousereg; - Mousereg.x.ax=4; - Mousereg.x.cx=iRow*8; - Mousereg.x.dx=iCol*8; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); + union REGS regs; + regs.x.ax = 4; + regs.x.cx = iRow * 8; + regs.x.dx = iCol * 8; + int86( MOUSE_INTERRUPT, ®s, ®s ); } } @@ -175,16 +183,14 @@ BOOL hb_mouse_IsButtonPressed( int iButton ) if( s_bPresent ) { +#if defined(__DJGPP__) || defined(__BORLANDC__) + union REGS regs; - int iReturn = 0; -#if defined(__DJGPP__) ||defined(__BORLANDC__) + regs.x.ax = 5; + regs.x.bx = iButton; + int86( MOUSE_INTERRUPT, ®s, ®s ); - union REGS Mousereg; - Mousereg.x.ax=5; - Mousereg.x.bx=iButton; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - iReturn=Mousereg.x.bx; - return ( iReturn); + return regs.x.bx; #else return FALSE; #endif @@ -197,20 +203,19 @@ int hb_mouse_CountButton( void ) { /* TODO: */ - int iButton = 0; - if( s_bPresent ) { #if defined(__DJGPP__) || defined(__BORLANDC__) + union REGS regs; - union REGS Mousereg; - Mousereg.x.ax=3; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - iButton=Mousereg.x.bx; + regs.x.ax = 3; + int86( MOUSE_INTERRUPT, ®s, ®s ); + + return regs.x.bx; #endif } - return iButton; + return 0; } void hb_mouse_SetBounds( int iTop, int iLeft, int iBottom, int iRight ) @@ -220,24 +225,23 @@ void hb_mouse_SetBounds( int iTop, int iLeft, int iBottom, int iRight ) if( s_bPresent ) { #if defined(__DJGPP__) ||defined(__BORLANDC__) - union REGS Mousereg; + union REGS regs; iLeft *= 8; iRight *= 8; - Mousereg.x.ax=7; - Mousereg.x.cx=iLeft; - Mousereg.x.dx=iRight; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); - iTop *= 8; - iBottom *= 8; - - Mousereg.x.ax=8; - Mousereg.x.cx=iTop; - Mousereg.x.dx=iBottom; - int86(MOUSE_INTERRUPT,&Mousereg,&Mousereg); + regs.x.ax = 7; + regs.x.cx = iLeft; + regs.x.dx = iRight; + int86( MOUSE_INTERRUPT, ®s, ®s ); + iTop *= 8; + iBottom *= 8; + regs.x.ax = 8; + regs.x.cx = iTop; + regs.x.dx = iBottom; + int86( MOUSE_INTERRUPT, ®s, ®s ); #endif } } diff --git a/harbour/source/vm/cmdarg.c b/harbour/source/vm/cmdarg.c index f8dddd038a..0b3ebe7ccc 100644 --- a/harbour/source/vm/cmdarg.c +++ b/harbour/source/vm/cmdarg.c @@ -290,79 +290,92 @@ void hb_cmdargProcessVM( void ) { hb_outerr( "Harbour Compiler Build Info", 0 ); hb_outerr( hb_consoleGetNewLine(), 0 ); -/* hb_outerr( "---------------------------", 0 ); hb_outerr( hb_consoleGetNewLine(), 0 ); -*/ + + hb_outerr( "Strict CA-Clipper compatibility: ", 0 ); #if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY ) - hb_outerr( "* Strict CA-Clipper compatibility: Yes", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); + hb_outerr( "Yes", 0 ); #else - hb_outerr( "* Strict CA-Clipper compatibility: No", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); + hb_outerr( "No", 0 ); #endif - -#if defined( HB_COMPAT_C53 ) || defined( HB_COMPAT_XPP ) || defined( HB_COMPAT_VO ) - hb_outerr( " With some support for:", 0 ); hb_outerr( hb_consoleGetNewLine(), 0 ); + hb_outerr( "CA-Clipper 5.3x extensions: ", 0 ); #if defined( HB_COMPAT_C53 ) - hb_outerr( " CA-Clipper 5.3[a,b]", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); -#endif - -#if defined( HB_COMPAT_XPP ) - hb_outerr( " Alaska XBase++", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); -#endif - -#if defined( HB_COMPAT_VO ) - hb_outerr( " CA-Visual Objects", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); -#endif - -#endif - -#if defined( HARBOUR_USE_GTAPI ) - hb_outerr( "* GT API: ", 0 ); -#if defined( HARBOUR_USE_STD_GTAPI ) - hb_outerr( "Standard", 0 ); -#elif defined( HARBOUR_USE_DOS_GTAPI ) - hb_outerr( "DOS", 0 ); -#elif defined( HARBOUR_USE_OS2_GTAPI ) - hb_outerr( "OS/2", 0 ); -#elif defined( HARBOUR_USE_WIN_GTAPI ) - hb_outerr( "Windows", 0 ); -#elif defined( HARBOUR_USE_CRS_GTAPI ) - hb_outerr( "Unix Curses", 0 ); -#elif defined( HARBOUR_USE_SLN_GTAPI ) - hb_outerr( "Unix Slang", 0 ); -#endif - + hb_outerr( "Yes", 0 ); #else - hb_outerr( "* GT API: No", 0 ); + hb_outerr( "No", 0 ); #endif hb_outerr( hb_consoleGetNewLine(), 0 ); + hb_outerr( "Alaska XBase++ extensions: ", 0 ); +#if defined( HB_COMPAT_XPP ) + hb_outerr( "Yes", 0 ); +#else + hb_outerr( "No", 0 ); +#endif + hb_outerr( hb_consoleGetNewLine(), 0 ); + + hb_outerr( "CA-Visual Objects extensions: ", 0 ); +#if defined( HB_COMPAT_VO ) + hb_outerr( "Yes", 0 ); +#else + hb_outerr( "No", 0 ); +#endif + hb_outerr( hb_consoleGetNewLine(), 0 ); + + hb_outerr( "GT API support: ", 0 ); +#if defined( HARBOUR_USE_GTAPI ) + hb_outerr( "Yes ", 0 ); +#if defined( HARBOUR_USE_STD_GTAPI ) + hb_outerr( "(Standard)", 0 ); +#elif defined( HARBOUR_USE_DOS_GTAPI ) + hb_outerr( "(DOS)", 0 ); +#elif defined( HARBOUR_USE_OS2_GTAPI ) + hb_outerr( "(OS/2)", 0 ); +#elif defined( HARBOUR_USE_WIN_GTAPI ) + hb_outerr( "(Windows)", 0 ); +#elif defined( HARBOUR_USE_CRS_GTAPI ) + hb_outerr( "(Unix Curses)", 0 ); +#elif defined( HARBOUR_USE_SLN_GTAPI ) + hb_outerr( "(Unix Slang)", 0 ); +#endif +#else + hb_outerr( "No", 0 ); +#endif + hb_outerr( hb_consoleGetNewLine(), 0 ); + + hb_outerr( "Object file generation support: ", 0 ); #if defined( HARBOUR_OBJ_GENERATION ) - hb_outerr( "With object file generation", 0 ); - hb_outerr( hb_consoleGetNewLine(), 0 ); + hb_outerr( "Yes", 0 ); +#else + hb_outerr( "No", 0 ); #endif + hb_outerr( hb_consoleGetNewLine(), 0 ); - hb_outerr( "* ANSI C: ", 0 ); + hb_outerr( "ANSI C usage: ", 0 ); #if defined( HARBOUR_STRICT_ANSI_C ) hb_outerr( "Strict", 0 ); #else - hb_outerr( "Non Strict", 0 ); + hb_outerr( "Non strict", 0 ); #endif hb_outerr( hb_consoleGetNewLine(), 0 ); - hb_outerr( "* Debug mode: ", 0 ); + hb_outerr( "Compiler YACC debug mode: ", 0 ); #if defined( HARBOUR_YYDEBUG ) hb_outerr( "On", 0 ); #else hb_outerr( "Off", 0 ); #endif hb_outerr( hb_consoleGetNewLine(), 0 ); + + { + char buffer[ 20 ]; + + sprintf( buffer, "Maximum symbol name length: %i", HB_SYMBOL_NAME_LEN ); + hb_outerr( buffer, 0 ); + hb_outerr( hb_consoleGetNewLine(), 0 ); + } } }